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

Do not have any equipment

asked 2012-02-19 10:19:03 -0500

cassander gravatar image

updated 2012-02-20 07:49:51 -0500

kwc gravatar image

Hi. I am interested in using ROS for some of my projects, but at the moment I do not have any equipment to work with. The robots that ROS supports at the moment are a little beyond my budget. And to be honest, I want to be confident in my knowledge of ROS before I go about spending money on a robot to use with ROS.

So I was wondering if, it is possible to learn how to use ROS without access to any physical hardware other than a desktop computer? Like for example, would I be able to write programs in C++ or Python to control virtual robots and simulate them in ROS? That way, I can learn ROS and when I do eventually get access to physical hardware, I can transfer the code to it and control it..

I hope I haven't been too vague. Thanks.

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted

answered 2012-02-19 10:43:10 -0500

updated 2012-02-19 19:25:09 -0500

As @dornhege mentioned, you can use the PR2 in simulation, but being a complex robot, simulation might be rather slow and it can be hard to get a good overview. You might also want to have a look at the simulated turtlebot provided via the turtlebot_gazebo package, which provides a good example of a simpler robot, which still demonstrates a lot of concepts. You can directly launch the simulated turtlebot with the command

roslaunch turtlebot_gazebo  turtlebot_empty_world.launch

once you have the package (and all dependencies) installed. Another good starting point could be the erratic_robot stack, but I believe turtlebot is better documented and more widely used now.

You might also want to have a look at these related questions: 1, 2.

edit flag offensive delete link more


How is it possible to simulate a complex robot like the PR2, which has many different sensors and actuators? Is each and every sensor and actuator simulated independently? I know it is slow and the simulation might not be accurate but it is the next best thing compared to actually owning the robot.

cassander gravatar image cassander  ( 2012-02-19 20:07:44 -0500 )edit

Try running "roslaunch pr2_gazebo pr2_wg_world.launch", this launches the PR2 in the Willow Garage world. Sensors and actuators are simulated independently and the robot model is defined using the URDF format (you can look that up on the ROS wiki).

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2012-02-19 22:39:10 -0500 )edit

When you say the sensors and actuators are simulated independently, you mean to say that I can write code to send data or receive data from and to the virtual sensors and actuators? Ofcourse, in this case, I suppose the sensors will produce data about the virtual world.I will try the command. Thanks

cassander gravatar image cassander  ( 2012-02-20 04:18:23 -0500 )edit

Yes, ideally the simulated components have the same ROS API in simulation or real hardware and it's transparent to the user what is actually used. I recommend a look at the URDF tutorials:, especially the "gazebo extensions" section.

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2012-02-20 08:03:45 -0500 )edit

answered 2012-02-19 10:21:58 -0500

dornhege gravatar image

You are looking for this:

edit flag offensive delete link more

answered 2012-02-19 20:40:39 -0500

michikarg gravatar image


you can also take a look at the MORSE simulator:

It is still in development but you can use it to simulate virtual robots in realtime using ROS and even control a virtual human and interact with the world. It´s also open-source, so you can adapt it to your needs.

edit flag offensive delete link more

Question Tools


Asked: 2012-02-19 10:19:03 -0500

Seen: 507 times

Last updated: Feb 19 '12