Gazebo | Ignition | Community
Ask Your Question

General Gazebo Questions before starting with a master thesis (robot control strategy, joint control, physics and dynamics, gazebo-ros-components)

asked 2013-04-07 10:06:19 -0500

Christoph gravatar image

Hi everyone!

Because I am planning to write my master thesis using Gazebo and ROS I have some basic questions concerning various topics.

The objective:
My goal is the simulation of a 5dof robot arm, its mobile plattform and some sensors (laser scanner, kinect camera etc.). Based on the existing ROS-modules of our real robot the plattform and the arm should be able to move. The simulation should be used as a hardware independent development environment for our real robot.

What do I have so far:
I got an sdf description file for the arm and its plattform. So far it looks fine. I only set the basic parameter (no physical parameters, no weights, no joint engines etc.). If I start the engine the robot arm falls to the ground observing the set collision (self collide) ranges, which I think is the expected behavior.

My Questions:
(I did some research before and maybe I overlooked something, but I just want to be sure about these things before I start the real work or maybe it becomes apparent that I made some wrong assumptions.)

  1. Do I need to provide all the physical / dynamic parameter of our robot?
    We don't need a completely perfect physical behavior in the first instance. The correct movement of the plattform and the arm would be sufficient. And I fear that we dont have all the parameters needed in our robot documentation. Maybe it is possible to limit the dynamic to a minimum.

  2. What is the best strategy to start the development and control of all related control- / bahavior- / ros-parts (to control the robot)?
    My plan was to work with a few sdf-files and then use a "main" gazebo-plugin for the rest. I know that I somehow have to use diffent gazebo-plugins for sensors and ros-components etc.. Everything needed would be called from that one plugin. Or what is the best way respectively your recommandation?

  3. How to best connect the existing ros-components / ros-logic of our real robot to the gazebo-simulation?
    Can I call them just through the "main" gazebo-plugin like in the question before?

  4. What is the best way to control the joints?
    Do I have to specify a pid-controller for every joint (problem with missing infos) or would it be enough / the better way to control the joints through the physics::JointController Classes / or similar?

  5. What about that realtime-controller everybody is talking?
    Do I need such a controller to control my robot in a reasonable way? Wouldn't the control just work over input for the plugins as there are ros-components for movement and grasping which only wait for e.g. target-coordinates.

Well I think thats it for the time being.

Thank you very much for your answers once before.

Kind regards


edit retag flag offensive close merge delete


What package is used to control the (real) arm?

SL Remy gravatar imageSL Remy ( 2013-04-07 13:24:11 -0500 )edit

Hardware specific packages (`metralabs_ros`) as the interface to the real hardware and `arm_navigation` (ros stack) for calculating the arm movement itself.

Christoph gravatar imageChristoph ( 2013-04-08 04:26:16 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-04-10 18:46:30 -0500

nkoenig gravatar image

I'll try to answer each of your questions in order.

  1. No, you don't need to specify all the physical properties. Gazebo will use default values in most situations.

  2. A good strategy is to look at some working code. I would recommend the DRCSim package:

  3. You can use ROS within a Gazebo plugin.

  4. Gazebo has a built-in PID class that you can use to control joints. You can also use more sophisticated ROS controllers.

  5. A real-time simulation is not mandatory to control a robot. Slower than real-time simulation just means that things more slow, your controller will be fine as long as you use simulation time.

edit flag offensive delete link more



Thanks for asking so brief question. I got the same problem.

skhan gravatar imageskhan ( 2013-04-11 10:37:35 -0500 )edit


How we can get that drcsim package? I installed drcsim using instructions and its running but how it can help us?

skhan gravatar imageskhan ( 2013-04-11 10:38:33 -0500 )edit

Look at the source code. There is a gazebo plugin called `AtlasPlugin.h` that demonstrates how to use ROS inside a Gazebo plugin.

nkoenig gravatar imagenkoenig ( 2013-04-11 12:31:51 -0500 )edit

Question Tools



Asked: 2013-04-07 10:06:19 -0500

Seen: 2,680 times

Last updated: Apr 10 '13