Only released in EOL distros:  

Package Summary

Allows keyboard/joystick control of any robot by means of geometry_msgs::Twist messages

DOCUMENTATION IN PROGRESS

Overview

This package allows you to control any robot that accepts geometry_msgs::Twist messages (usually, in a cmd_vel topic). It can use either (or both) keyboard and joystick as input. Besides controlling the robot, the input sources generate events (universal_teleop/Event) which are user-defined text-based commands.

While this node allows you to tele-operate a robot, it is intended to be used together with other nodes that autonomously control the robot. The universal_teleop node is designed so that, by default, it will not control the robot unless specified. This is done by mapping a keyboard key or joystick button to a special "override" event. When this key/button is pressed, the universal_teleop node will then start sending geometry_msgs::Twist messages to the robot. At the same time, this "override" event should be received by node that controls the robot autonomously so that it can stop controlling the robot.

Keyboard/joystick mappings and linear/angular velocity scales can be configured by means of standard ROS parameters. Configuration can be simplified by writing all values directly in YAML in a separate file. Please check the supplied .launch and .yml files.

Nodes

universal_teleop

Subscribes to input sources and generates event and control messages

Subscribed Topics

joy (sensor_msgs/Joy)
  • button and axis messages used for generating events
keyboard/key_up (keyboard/Key)
  • key-presses used for generating events
keyboard/key_down (keyboard/Key)
  • ditto

Published Topics

robot/cmd_vel (geometry_msgs/Twist)
  • velocity commands sent to robot when "override" is enabled
events (universal_teleop/Event)
  • events generated when a key/button is pressed/de-pressed
controls (universal_teleop/Control)
  • control commands (joystick axis-motions)

Wiki: universal_teleop (last edited 2014-06-14 18:57:31 by v01d)