ROS
Contents
Introduction
The Robot Operating System ROS hosted and maintained by Willow Garage is a free meta operating system for mobile robots. This page describes the adaption of Robotino's REST-API to ROS. |
Package linksrobotino_rest_node - Contains the robotino_rest_node. |
---|
Overview
There are two nodes available for Robotino.
- robotino_node
- robotino_rest_node
robotino_node depends on the API2 package. robotino_node is a C++ node and needs to be compiled. robotino_rest_node is connecting to Robotino's restapid, which provides a RESTful API. robotino_rest_node is pure Python.
Installation
Your Robotino needs to be updated to at least image >= 4.0.0 from here. Make sure you updated to the latest robotino-daemons package. You need to install python-requests package.
Download the latest source and integrate it into your catkin workspace.
Test
Drive Robotino
Start the omnidrive script
rosrun robotino_rest_node omnidrive.py
The omnidrive script listens to the /cmd_vel topic. If no parameter is given the script sends received cmd_vel data to 127.0.0.1. If your ROS runs on a different machine than Robotino you need to specify Robotino's IP address.
rosrun robotino_rest_node omnidrive.py ROBOTINO_IP_ADDRESS
Publish to /cmd_vel to move Robotino forward with 0.1m/s. linear x,y is foward,sideward velocity and angular.z is rotational verlocity.
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.1, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'
Hardware
What you really need to use ROS in a meaningful way is a laser rangefinder for Robotino.
Documents
RWTH Aachen: Lab Course Model-Based Robotics Software Development Implementation Notes