ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Can we develop with ros/stage only in Python.

asked 2013-03-29 00:02:11 -0500

amine23 gravatar image

updated 2014-04-20 14:06:46 -0500

ngrennan gravatar image


I want to simulate in 2D a mobile robot with simple dynamics in a dynamic environment using Python.

1) Do you think that ROS/stage is a good choice for this.

2) How steep is the learning curve.

3) Can I develop everything in Python only.(I'n no c++)

4) If c++ is unavoidable, will it be sufficient to get the basics quickly.

5) What about Gazebo, will it be interesting or unnecessary to use in my case.

Thanks in advance!

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2013-03-29 00:30:40 -0500

1) Both are good choices. About the "dynamic", if you mean to support linear and angular acceleration and brake constraints, that it's not supported in the current brach of stage while it is supported in Gazebo. In any case I work with a modified version of stage which support dynamic constraints. You can take a look:

2) Using ROS fluently requires some time. However you'll be happy when you learn because you will be able to use tons of software and you will "speak" the same technical language that many developers and researchers.

3) Stage and Gazebo can be controlled using rostopics, rosservices and rosparameters. That means that you can use python to control such simulators. In other words you don't need to know the C++ APIs of Stage or Gazebo to work with them. You can just use python, topics, services and parameters.

4) If you are a beginer, start with Python. It is enough to try to learn ROS, learning c++ simultaneously may be horrible.

5) As I said, both are good choices.

edit flag offensive delete link more


Thanks! Actually, I meant environments involving moving obstacles, but the robot should also operate under dynamic constraints though.

amine23 gravatar image amine23  ( 2013-03-29 03:41:30 -0500 )edit

If you want to consider moving obstacles in stage you have to program manually more capabilities to stageros. That means to know c++ and the Stage API (I do that when I want to add more capabilities to the Stage). On the other hand you can handle moving obstacles in gazebo from ROS topics :-)

Pablo Iñigo Blasco gravatar image Pablo Iñigo Blasco  ( 2013-03-29 04:02:30 -0500 )edit

Stage is a good simulator, but beware: it tends to release incompatible API changes about once a year. Gazebo is more actively developed and supported right now.

joq gravatar image joq  ( 2013-03-29 12:46:47 -0500 )edit

That's right. But from the point of view of the stageros node interface the simulator is enough stable. The problem would appear if the stage package were not going to be mainained anymore.

Pablo Iñigo Blasco gravatar image Pablo Iñigo Blasco  ( 2013-03-30 01:13:32 -0500 )edit

Question Tools


Asked: 2013-03-29 00:02:11 -0500

Seen: 1,163 times

Last updated: Mar 29 '13