usnistgov / youbot

Robotic platform for industrial control systems cybersecurity research. We use the research-grade Youbot as the robotics platform for our research. The ROS framework is used for inter-process communication, and Python is the language used for application development.
26 stars 13 forks source link

Package: youbot

Author: Rick Candell
Contact: rick.candell@nist.gov
License: Public Domain

Overview

This repository contains many different ROS packages required to run the youbot in simulation and with the actual robot.

Package Contents

Installation

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ros-hydro-youbot* ros-hydro-controller-* ros-hydro-ros-control* ros-hydro-gazebo-* ros-hydro-joint-state-* ros-hydro-joint-trajectory-*  ros-hydro-moveit-full
cd ~/catkin_ws/src
git clone [this-repository-url]

Running the Apps

Using Gazebo

Open a terminal and execute the following command. This will launch gazebo and moveit.

roslaunch youbot_apps gazebo.launch

Open a new terminal and run:

roslaunch youbot_apps moveit.launch

Open a new terminal and run:

rosrun youbot_apps youbot_gazebo_exec.py

This will execute a series of poses specified in the python code. This script will only work with Gazebo. Some modification is required for interoperabililty with the Youbot hardware.

Youbot Robot (not Gazebo)

This is similar to the Gazebo configuration, but the internal messages are very different. The major difference between the gazebo implementation and the youbot implementation is that the Gazebo configuration uses the action server which employs a torque controller behind the scenes. Accurate trajectory following is possible with the gazebo model. Accuracy of the model to the real-world has yet to be ascertained.

The youbot-based controller uses the brics_actuator messages and a position/velocity controller hardware module in the youbot base link. A torque controller has not been developed by Kuka as of October 2014. Accuracy or repeatability testing would require a torque controller.

To run the demonstrations in the youbot apps, follow these instructions.

sudo bash
roslaunch youbot_apps youbot_one_arm.launch

or if using two arms

sudo
roslaunch youbot_apps youbot_two_arm.launch

Then in another terminal

roslaunch youbot_apps moveit.launch

Then in yet another terminal

rosrun youbot_apps selpose.py
rosrun youbot_apps two_arm_collab_demo.py
roslaunch youbot_apps circle_tap.launch

Running the Two Arm Cage

This is a little more complex and requires careful configuration of the user environment. Look for the README file under the twoarm_cage package.