Note: This tutorial assumes that you are comfortable with rosserial_arduino. |
Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
ROS RC Car
Description: controlling an a small robot base with rosserial_xbeeTutorial Level: BEGINNER
There a lot of times when as a roboticist, we just want to make a little robot drive around. If you are not using a robotics framework like ROS, you need to write the teleoperation code for keyboards and joysticks yourself, you need to set up the wireless communication, and you need to define the protocol that you are using to communicate with the robot. By using ROS with even your smallest robot creation, you can leverage the ROS infrastructure. In this tutorial we are going to cover controlling the most bare bones robot base possible. It will be based off of rosserial_arduino, rosserial_xbee, and the turtlebot teleop programs.
In the end, you will can have a little robot like the one below, that you can control via ROS.
Hardware
You need motors, wheels, an arduino, Xbees, a motor controller, and a chassis.
2 x Xbees
Motors- There are a lot of different, good choices for motors. I am a big fan of http://www.solarbotics.com/products/gmpw_deal/ Solarbotics GM9 with wheels combo.
- A chassis of your own design. If you would like, you can use the CAD model of the above robot. ADD LINK
Battery. Again. This choice is up to you. A good choice is a rechargable 9V battery. Li-ion 9V from Sparkfun and charger. If you start doing a lot of small robotics, RC plane lipo batteries are the best.
Arduino Code
Launch Files