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

Documentation on writing hardware drivers

asked 2011-06-07 15:29:15 -0600

israelfigueroa gravatar image

Good evening, I am working in the Biorobotics Lab at the National University of Mexico, my workmates and me are working with mobile domestic services robots made of custom hardware. I am getting interested in ROS as a tool to speed up robotics research, but our robots have hardware which is not covered in ROS. So I would like to know if there is any documentation on writing hardware drivers for ROS.

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2011-06-07 16:54:59 -0600

Bart gravatar image

updated 2015-05-14 16:11:02 -0600

tfoote gravatar image

There are quite a number of tutorials available for specific hardware (lasers, imu, Dynamixel servos) and general ROS message handling at .

Some of the stacks supplied by other organizations include complete examples of working ROS code including hardware drivers (PR2, wubble, erratic, turtlebot, Pioneer P2OS), .

There is a partially completed tutorial on writing a serial I/O hardware driver at , but that won't help.

If you provide some more information regarding what particular devices you are interfacing to, then others can likely point you to the particular ROS stacks that are applicable.

Additional information:

Chad Rocky presented a guide to writing Hardware Drivers at ROSCon 2012 program, slides, video

Melonee Wise presented a guide to ROSifying a robot at ROSCon 2013: program, slides, video

edit flag offensive delete link more

answered 2011-06-07 20:21:58 -0600

dornhege gravatar image

Usually it is quite simple writing a hardware driver for ROS as it mainly is producing a message interface, and possibly diagnostics. That is, given, that you can write/modify a hardware driver not specific to ROS.

For examples you can see the links provided by Bart. There might also be (non-ROS) sample code for your hardware that you can easily modify.

edit flag offensive delete link more

answered 2011-06-08 03:39:26 -0600

Bemfica gravatar image

updated 2011-06-08 06:26:30 -0600

An interest thing - just to complete the dornhege idea - is that you don't need to (re-)write everything in ROS to use ROS. If you already have the hardware driver you just need to publish that information to a topic (/cmd_vel, /odom).

Maybe you would see this and this video.

edit flag offensive delete link more

Question Tools


Asked: 2011-06-07 15:29:15 -0600

Seen: 5,240 times

Last updated: May 14 '15