Coder Social home page Coder Social logo

jacknlliu / youbot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from usnistgov/youbot

0.0 2.0 0.0 60.46 MB

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.

Shell 0.42% Python 93.76% CMake 5.82%

youbot's Introduction

Package: youbot

Author: Rick Candell
Contact: [email protected]
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

  • youbot_description This package contains all of the URDF and XACRO files that describe the build and kinematics of the robot. Some minor changes have been made from the original debian release.

  • youbot_moveit This package was created using the MoveIt! Setup Assistant.

  • youbot_msgs This package contains custom message definitions used by the youbot applications.

  • youbot_apps This package contains scripts and launch files to run the robot under gazebo or with the hardware. This package also contains a core python package for controlling multiple youbots using modules in the robot_proxy package.

  • twoarm_cage This package contains all scripts, launch files, and configuration required to run a two arm collaborative experimental platform in the NIST security lab. Robots under this configuraiton are controlled using independent PC's with a remote ROS master. Three computers are typically required under this configuration; although, with minor modifications, a single computer with a two-arm driver could be used.

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.

youbot's People

Contributors

rcandell avatar timzim-nist avatar frederickproctor avatar

Watchers

James Cloos avatar Jack Liu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.