Coder Social home page Coder Social logo

msrathod / youbot_driver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from youbot/youbot_driver

0.0 1.0 0.0 2 MB

Drivers for the KUKA youBot robot.

Home Page: www.youbot-store.com

CMake 1.69% Roff 1.98% Makefile 0.14% C++ 72.49% Objective-C 0.32% C 23.39%

youbot_driver's Introduction

youBot API

API documentation

The basic idea of the youBot API is to represent a robot system as a combination of decoupled functional sub-systems. That is, this API represents manipulator arm and base platform as the combination of several joints. At the same time each joint is defined as a combination of a motor and a gearbox.

There are three main classes in the youBot API that a user should be aware of.

  • YouBotManipulator class that represents youBot arm as the aggregation of several joints and a gripper
  • YouBotBase class that represents youBot base platform
  • YouBotJoint class that represents joints which make up both the manipulator and the base

Installation

System requirements:

  • Linux
  • Ethernet adapter
  • Root access to the Ethernet adapter

These libraries are required by the youBot API:

Installation with rosmake:

Install a minimal installation of ROS. (see ros.org)

Clone the youBot API sources:

git clone git://github.com/youbot/youbot_driver.git

Add the repository folder to the ROS_PACKAGE_PATH environment variable.

Compile the youbot driver by typing:

rosmake youbot_driver --rosdep-install

Manual installation:

First, make sure that you have the gnu-make software available on your system (version 3.81 or later required), as well as a working C compiler chain. The console commands below are exemplary for a Ubuntu Linux. You will need a git version control software:

sudo apt-get install git git-core

Cmake a cross platform make is also necessary:

sudo apt-get install cmake

To download the youBot API sources type:

git clone git://github.com/youbot/youbot_driver.git

Install boost.

sudo apt-get install libboost-all-dev

Now you should be able to compile the youBot API.

cd <your_folder>/youbot_driver
mkdir build
cd build
cmake ..
make

The library will be generated in the folder ~/youbot_driver/lib.

Usage

The youBot API give you complete joint level access to the youBot joints. Every youBot joint is represented as a youbot::YouBotJoint class in the API. At this stage we make no difference if it is a base joint which powers a wheel or a manipulator joint.

By the classes youbot::YouBotBase and youbot::YouBotManipulator it is possible to get access to a youbot::YouBotJoint instance for a particular joint.

To set a setpoint or read some sensor values form the joints you have to use the youbot::JointData classes. Which could be for instance youbot::JointVelocitySetpoint or youbot::JointSensedCurrent.

To configure parameters of a joint, you have to use the youbot::JointParameter classes. Which could be for instance youbot::MaximumPositioningVelocity.

Example Programs

You can find example programs in the youbot_applications repository.

Documentation

For more detailed information on class and methods please refer to the API documentation.

To generate the documentation from the source code type:

sudo apt-get install doxygen
cd build
make doc 

Run without sudo

The youBot Driver needs access to the raw ethernet device. Under Linux a normal user does not have access to the raw ethernet device. You can grand this capability to a program by the tool setcap. To install setcap use:

sudo apt-get install libcap2-bin

To provide a program with raw access to a ethernet device use: (replace the ./YouBot_KeyboardRemoteControl with your program.)

sudo setcap cap_net_raw+ep ./YouBot_KeyboardRemoteControl

This have to be done whenever the executable is created or replaces e.g. after building.

License

This software is published under a dual-license: GNU Lesser General Public License LGPL 2.1 and BSD license. The dual-license implies that users of this code may choose which terms they prefer.

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.