Ask Your Question

Revision history [back]

For simple remote control you only need to be able to make your motors move from within a ROS node by sending commands to your motor controllers. I don't know what type of motor controllers you have, but you can ask around to see if a node already exists to talk to them. If no node exists, then you will have to write that yourself.

You can use the turtlebot_teleop package to send commands from a joystick or keyboard to your motor controller node. Install that with

sudo apt-get install ros-fuerte-turtlebot-apps

since turtlebot_teleop is a package in the turtlebot_apps stack. Modify that install command to replace fuerte if you are using a different version of ROS.

So the order of your nodes will look like the following (with the topics that connect your nodes inside the arrows):

turtlebot_teleop_joy (computer 1) --cmd_vel--> motor_controller_node (computer 2) --motor_controller_outputs--> motors

Note that you will have to set up your environment variables so that nodes running on two different computers can talk to each other.

To do teleoperation (remote control with cameras) you will have to try out the different camera driver packages (probably gscam since it is USB) to get images out and use RViz to view the image stream.

The pan/tilt mechanism would have to be another node, probably one that you write.