SAR Robot Translation is a ROS node that translates generic robot commands to platform-specific robot commands.
From the "sar_robot_translation/src" directory, execute the robot_translation_node.py file:
./robot_translation_node.py
or
python robot_translation_node.py
On startup, this program will read the configuration file located in the "sar_robot_translation/src/" directory. The file is written in JSON. The program expects the configuration file to be called "robot_translation_config.json". The configuration includes the following options:
- which_robot: This ROS node will translate the generic robot commands received into platform-specific robot commands for the robot indicated here. Available robot types include: JIBO, SPRITE, SIMULATED.
If roscore is not running, the program will print a message saying that it is unable to register with the master node, and will keep trying to connect.
The program subscribes to "/sar_robot_command_msgs/RobotCommand" on the ROS topic "/robot_command".
The program subscribes to "/sar_robot_command_msgs/RobotState" on the ROS topic "/robot_state".
See sar_robot_command_msgs for more info about these messages.
The program will publish and subscribe to robot-specific topics depending on which robot is set in the configuration file.
TODO: Determine message types and ROS topic names for each robot platform, and list here.
This program was built and tested with:
- Python 2.7.6
- ROS Indigo
- sar_robot_command_msgs 1.0.0
- Ubuntu 14.04 LTS (64-bit)
Please report all bugs and issues on the sar_robot_translation github issues page.
- Fill out functions to translate generic robot commands to platform-specific commands
- Check that robot command message data received is in a valid format before passing to platform-specific translators
- Fill out function for doing something useful with robot state information