squirrel-project / squirrel_robotino

This repository holds packages for hardware launch files and configuration, as well as the simulation model for starting up the basic layer for operating Robotino
3 stars 14 forks source link

Travis-CI: Build Status

squirrel_robotino

This repository holds packages for hardware launch files and configuration, as well as the simulation model for starting up the basic layer for operating Robotino

Technical Maintainer: ipa-nhg (Nadia Hammoudeh Garcia, Fraunhofer IPA) - nadia.hammoudeh.garcia@ipa.fraunhofer.de

Build status: [Travis Build Status] (https://magnum.travis-ci.com/squirrel-project/squirrel_robotino)

Contents

  1. Installation Requirements
  2. Execution
  3. Software architecture
  4. Dynamixel servos

1. Installation Requirements:

Debian packages

The robotino-api2 has to be installed to compile the robotino_driver package:

echo "deb http://doc.openrobotino.org/download/packages/amd64 ./" >> /etc/apt/sources.list
sudo apt-get update 
sudo apt-get install robotino-api2

Squirrel packages

This repository requires the repositories squirrel_common, and the private one squirrel_driver, in case you don't have access to our private repostitories you can clone squirrel_substitute

ROS packages

The ROS packages dependencies can be installed with the command:

rosdep install --from-path squirrel_robotino -i -y

2. Execution:

Real robot:

roslaunch robotino_bringup robot.launch robot:='robot_name'

Simulation:

roslaunch robotino_bringup_sim robot.launch robot:='robot_name'

Available robots:

  • alufr-robotino: robotino base + tilt axis
  • ipa-robotino: robotino base + tilt axis
  • robotino: robotino base + arm
  • tuw-robotino: robotino base + pan/tilt axis
  • tuw-robotino2: robotino base + pan/tilt axis + arm + hand
  • uibk-robotino: robotino base + pan/tilt axis
  • uibk-robotino2: robotino base + pan/tilt axis + arm + hand

3. Software architecture

robotino_node: robotino_node

robotino_simulation: robotino_simulation

4. Dynamixel servos

We are using Dynamixel servos in the pan/tilt unit. The ROS package for these is dynamixel_driver. To see if servos are connected, powered and generally ok, call info_dump with a specific baud rate (57142) and with the servo IDs, which should be 1 and 2. If you do not find the servos, you can try up to 254.

> rosrun dynamixel_driver info_dump.py -b 57142 1 2
Pinging motors:
1 ... done
    Motor 1 is connected:
        Freespin: False
        Model ------------------- MX-28 (firmware version: 36)
        Min Angle --------------- 0
        Max Angle --------------- 4095
        Current Position -------- 65
        Current Speed ----------- 0
        Current Temperature ----- 33°C
        Current Voltage --------- 11.7v
        Current Load ------------ 0
        Moving ------------------ False
...

If you get a new servo, its ID will be set to 1. Use change_id, e.g. to 2:

> rosrun dynamixel_driver change_id.py -b 57142 1 2
Changing motor id from 1 to 2...  done
Verifying new id... ERROR: The motor did not respond to a ping to its new id.

Never mind the error. Just call info_dump again to see that the servo now is set correctly.

top