ROS

From RobotinoWiki

Introduction

Robotino ros icon 64.png 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 links

robotino_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