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

Revision history [back]

I would advise you to:

  1. read the ROS "basic" tutorials as they cover the "technical" aspects,
  2. read the PR2 tutorials as they will cover high quality robotics components, some of them being reusable.

Then, look at widely used components such as urdf, rviz, image_pipeline stack and its associated packages.

Googling for ROS videos on YouTube may also help (but some of them may be a bit outdated).

Once you have been through that, it really depends on what you want to achieve with ROS.

As far as I am concerned, it went like this during my PhD:

  • learn basic ROS (roscpp, topics, services, etc.)
  • play with the image_pipeline to achieve image rectification and color space conversion (using camera1394, image_proc, image_calibration)
  • wrap the algorithms I were using at that time into a ROS node (aka the vision_visp stack for object tracking/robot localization and motion_analysis_mocap for integration with our motion capture system)
  • write an URDF model of my robot to have better rviz visualization
  • write a plug-in for our control framework so that I have input/output communication from our control framework to the external world. Useful to get the robot state (force sensor, IMU, encoders data) so that, for instance, rviz can display any information.
  • a bit of system administration to synchronize clocks between the two robot computers and the robot console running the GUIs. It allowed me to reuse robot_pose_ekf (all the sensor data were not acquired on the same board).

I would advise you to:

  1. read the ROS "basic" tutorials as they cover the "technical" aspects,
  2. read the PR2 tutorials as they will cover high quality robotics components, some of them being reusable.

Then, look at widely used components such as urdf, rviz, image_pipeline stack and its associated packages.packages. Be careful: the "tutorials" link is usually on the wiki on the right page of each package page and is not very easy to find.

Googling for ROS videos on YouTube may also help (but some of them may be a bit outdated).

Once you have been through that, it really depends on what you want to achieve with ROS.

As far as I am concerned, it went like this during my PhD:

  • learn basic ROS (roscpp, topics, services, etc.)
  • play with the image_pipeline to achieve image rectification and color space conversion (using camera1394, image_proc, image_calibration)
  • wrap the algorithms I were using at that time into a ROS node (aka the vision_visp stack for object tracking/robot localization and motion_analysis_mocap for integration with our motion capture system)
  • write an URDF model of my robot to have better rviz visualization
  • write a plug-in for our control framework so that I have input/output communication from our control framework to the external world. Useful to get the robot state (force sensor, IMU, encoders data) so that, for instance, rviz can display any information.
  • a bit of system administration to synchronize clocks between the two robot computers and the robot console running the GUIs. It allowed me to reuse robot_pose_ekf (all the sensor data were not acquired on the same board).

I don't know if our situations are similar but at least, there is a couple of interesting packages in the list you might want to look at.