Giter Club home page Giter Club logo

ahundt / grl Goto Github PK

View Code? Open in Web Editor NEW
153.0 22.0 72.0 39.94 MB

Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.

Home Page: https://ahundt.github.io/grl/

License: BSD 2-Clause "Simplified" License

CMake 6.10% C++ 77.86% C 0.54% Shell 0.20% Java 11.90% Makefile 0.03% Lua 3.19% Dockerfile 0.18%
robotics ros kuka iiwa driver vrep control optimization calibration kuka-lbr-iiwa

grl's Introduction

Generic Robotics Library

Build Status

The Generic Robotics Library (GRL) has a long term goal of implementing robotics algorithms using generic programming in C++11.

Currently GRL implements C++11 drivers for the new Kuka LBR iiwa arm and hardware integration with ROS and the V-REP robotics simulation software.

grl kuka control from linux over Java API demo

This demo video is of the KUKA iiwa robot following a path using GRL. What appears to be a "wobbling" motion is actually a highly precise pre-planned path consisting of tiny, nearly concentric circles relative to an object.

If you use GRL in research please consider providing a citation: DOI

License

Copyright (c) 2015-2016 Andrew Hundt

See COPYING file for license information.

Installation

See build and installation instructions given in the INSTALL file.

Documentation

Documentation Website

See the software manual for details on the software including a demonstration of how to apply the software tools provided by this package.

Package Content

Path Content description
BasisProject.cmake Meta-data used for the build configuration.
[CMakeLists.txt] 2 Root CMake configuration file.
[config/] 3 Package configuration files.
[data/] 4 Data files required by this software.
[doc/] 5 Documentation source files.
[example/] 6 Example files used for demonstration.
[include/] 7 Public header files.
[src/] 8 Source code files.
[test/] 9 Regression and unit tests.

grl's People

Contributors

ahundt avatar ashk-on avatar astrick3 avatar chunting avatar cpaxton avatar rkojcev avatar shahriarsefati avatar tdinesh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grl's Issues

Create separate optical tracker plugin for vrep

From @astrick3 on February 5, 2015 21:51

  • How much can we modify in real time via the C API?
  • integrate with main arm commanding loop in vrep
  • so bone is moved
  • arm optical tracker position is read
    originally titled: Integrate optical tracking data into cut file and arm commanding loops

Copied from original issue: ahundt/robone#23

Integrate path planning

From @astrick3 on February 5, 2015 21:45

Acceptance test:

First need to Command arm to a series of locations and have it move via the inverse kinematics using the included lua scripts.

Copied from original issue: ahundt/robone#7

Acquire optical tracker

From @astrick3 on February 5, 2015 21:50

I have the optical tracker, documentation and fiducials. As of writing documentation is in robone Google Drive folder under atracsys, and fiducials are in box with optical tracker.

Copied from original issue: ahundt/robone#20

Reaction time testing

From @astrick3 on February 5, 2015 21:52

Dump optical tracker, arm position, and arm command data into a file and copy it into excel, python or something, then graph it. Shake the optical tracker back and forth to get "peaks" and take the difference in time between the peaks to measure the reaction time.

Record the process and details as well as document everything thoroughly, also in the GRL library documentation for user reference of the performance of the system.

Copied from original issue: ahundt/robone#24

Read papers and produce analysis

From @ahundt on February 19, 2015 22:50

We need to read the papers from our list in the Robone Proposal from issue #44 and produce an analysis. Update this with more detail.

  • pick a couple relevant papers
  • present our findings
  • check last year student's presentation for how many need to be done

@ShahriarSefati added all the papers to the google drive already for us to read. Great job!

Copied from original issue: ahundt/robone#47

Milling Simulation of simple object

  • create a simple separate simulation that has an object in it and the kuka with a drill on the end, move arm to cut a small hole.
  • add the components to the main simulation (the reflexxes one)

make sure to commit and sync things

Question that we need to answer:

  • How to connect iiwa end effector to a path.
  • Can the path be attached to a non-world frame in v-rep?
  • Can we move the object to which the path is attached in the world?

Integrate components into working demo of arm following v-rep simulation

From @ahundt on February 19, 2015 23:29

Our current v-rep simulation demonstrates the arm cutting the ball joint from a bone and then milling the inside. To complete this issue we should demonstrate the real physical KUKA imitating the motion that is shown in the simulation.

Sub-issues include #11 #12 #15

Java

@astrick3 is responsible for this part
First complete sub-issue #12.

  • Implement integrated program
    • initializes FRI mode
    • reads goal points from the c++ plugin
    • commands the arm to move to that position (possibly with smartservo)?
  • Test pure Java program purely with c++ test software
  • Test Java Sunrise application program deployed on controller with c++ test software

C++

@ShahriarSefati steps:
First complete sub-issue #15

  • set up v-rep plugin
  • slow down speed of robone simulation motion to a realistic speed

@athundt Steps

  • add zeroMQ and FRI drivers to plugin
  • Test plugin independently of FRI
    • Feed fake data to FRI

Integration Testing

  • Deploy Java application to controller
  • Put arm in Automatic mode
  • Connect Laptop with 2 ethernet ports
    • KONI ethernet port
      • Robot IP Address:
      • Laptop IP address:
    • Sunrise programming ethernet port

Copied from original issue: ahundt/robone#49

Create and build starter v-rep plugin

From @ahundt on February 19, 2015 23:44

This plugin will expand to incorporate the other issues. It will just be demo code that compiles and runs in this repository, it doesn't need to actually do anything.

  • create the plugin in the source tree
  • figure out how to verify that it is detected and run correctly

Copied from original issue: ahundt/robone#50

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.