ROS – Robot Operating System – Tracked Mobile Robot

How to use XBOT ROS Node

XBOT (crossbot) is a powerful and robust all-terrain skid-steering ATV tracked mobile robot which can be used both for rapid prototyping for robotics projects and for a large variety of applications and fields. Its adaptive electric differential locomotion system based on tracks offers a greater traction than wheeled robots especially on rough terrains and increases the reliability during heavy-duty applications.

This tutorial assume that you are comfortable with ROS.
Download the deb package of XBOT node:
Link 64 bit  |  Link 32 bit
Install the deb package with the  following command:

#if 32 bit
sudo dpkg -i ros-indigo-xbot_0.1.0-0trusty_i386.deb
#if 64 bit
sudo dpkg -i ros-indigo-xbot_0.1.0-0trusty_amd64.deb

The xbot ROS package contains a node for controlling and communicating with the XBOT, and launch file for system sensors, encoders, and velocity.
Control and communication node for XBOT.

Subscribed Topics
xbot/cmd_vel (geometry_msgs/Twist): Twist velocity command for XBOT. External node should publish to cmd_vel topic.

Published Topics
xbot/sys: System status: it exposed in this order: motors temperature, internal voltage and motors amps.
xbot/enc: Encoders information from XBOT.
xbot/velocity: Xbot velocities and travelled distances. It expose respectively: left distance, right distance, left velocity, right velocity, linear velocity and angular velocity.
xbot/io : This topic exposed (in this order) analog and individual digital inputs.

•    rate (float, default: 10.0): Frequency at which xbot_node publishes the topics.
•    sys (integer, default: 1): xbot/sys topic will be published if 1.
•    enc (integer, default: 1): xbot/enc topic will be published if 1.
•    io (integer, default: 1): xbot/io topic will be published if 1.
•    velocity (integer, default: 1): xbot/velocity topic will be published if 1.
•    port (string, default: /dev/ttyUSB0): Port to connect to XBOT.