ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

How to work with ROS in new hardware platform?

asked 2012-09-18 19:54:33 -0500

nzer0 gravatar image

updated 2014-01-28 17:13:41 -0500

ngrennan gravatar image

Hi~ all.

I am a little familiar with ROS and bundle packages but I have no idea with "How to port or install ROS into new robot"

Our lab has Darwin-Op robot and trying to use in ROS framework. I checked myself in ROS wiki that PR2, Nao and several other platforms are supported but Darwin-Op is not mentioned.

And I cannot find any guide for this (How to port ROS into other robots) in

Do you have any idea or information with this problem?

Thank you for reading.

edit retag flag offensive close merge delete



However you do it, if such a guide does not exist, it would be very useful to document your process in some sort of wiki so a guide can be created.

Loy gravatar image Loy  ( 2012-09-19 04:28:12 -0500 )edit

I got an email from a researcher and got this good implementation for Darwin (I've not yet tried though):

nzer0 gravatar image nzer0  ( 2012-09-23 19:14:03 -0500 )edit

4 Answers

Sort by ยป oldest newest most voted

answered 2012-09-18 23:35:12 -0500

dornhege gravatar image

updated 2012-09-18 23:40:39 -0500

The first steps would obviously be to google/search the wiki if someone has done this already. At least some parts are probably already done, for example laser or camera drivers. It looks like you already did that, so you'll need to port the robot on your own. Unfortunately, I am not aware of a generic "porting robots to ROS" guide. Here are (some) of the steps that you'll need to do for that, assuming that you not only want to use ROS for communication, but also want to utilize other packages like, e.g. navigation.

  • Setup a URDF description for your robot. You should have understood tf and read the following REPS:
  • Port your drivers to ROS, here it is very advisable to look for common ROS messages, that obvisouly depend on the hardware. Some examples:
    • geometry_msgs/Twist for controlling base movements
    • sensor_msgs/JointState for publishing joint states (angles) of articulated robots
    • sensor_msgs/LaserScan for lasers
  • Setup launch files that bring up your robot

This should leave you with a robot that runs, can be teleoperated, and where you can visualize everything in rviz.

More things to look into are diagnostics, navigation, arm navigation.

edit flag offensive delete link more


felix k gravatar image felix k  ( 2012-09-20 01:09:06 -0500 )edit

Thanks a lot for kind instructions

nzer0 gravatar image nzer0  ( 2012-09-23 19:14:57 -0500 )edit

answered 2012-09-19 04:18:36 -0500

arebgun gravatar image

Since Darwin OP is built from Dynamixel motors it might be worth looking at the dynamixel_motor stack. Once you have a URDF description of your robot you can define joint controllers (motor ids, min/max limits, baud rates, etc.) for the dynamixel_motor stack that will give you ability to control and monitor the state of single joints through ROS topics.

edit flag offensive delete link more


Thanks for information about Dynamixel stack

nzer0 gravatar image nzer0  ( 2012-09-23 19:15:59 -0500 )edit

answered 2012-09-24 06:04:59 -0500

SL Remy gravatar image

I know that the initial question is broader than the specific stated goal of using the Darwin-OP with ROS, but I think that the existing package for this robot would be an excellent starting point for the OP.

This package could be used as an aide to develop the generic how-to (and to learn more about ROS).

To be clear, I haven't used the package personally. From everything I've read and seen), there already is a urdf file. I also gather that simulations are also provided via webots.

edit flag offensive delete link more

answered 2012-09-23 23:46:29 -0500

felix k gravatar image

Actually there is on page every contributor should know about: the Get Involved page, which is also linked on the start page.

In that amongst others the ROS Developer's Guide and the ROS Best Practices are linked, the latter one mentions important REPs (like 103 and 105), too.

Not a driver oriented how to but a good start.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2012-09-18 19:54:33 -0500

Seen: 1,466 times

Last updated: Sep 24 '12