Giter Site home page Giter Site logo

jackstarred / kuka-lagsds-tasks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from epfl-lasa/kuka-lagsds-tasks

0.0 0.0 0.0 15.22 MB

This package contains motion planning code for LAGS-DS tasks from Nadia's IJRR (2019) paper using the DS-impedance controller for the KUKA LWR 4+ robot in simulation (gazebo) and real robot.

CMake 4.46% C++ 95.54%

kuka-lagsds-tasks's Introduction

kuka-lagsds-tasks

This package implements the LAGS-DS motion generator from [1] together with the passive-DS controller for the KUKA LWR 4+ robot in both simulation (gazebo) and with the real robot for the following tasks learned from demonstration:

  • Task 1: Letter Writing (from LASA-Dataset Angle-Shape)

  • Task 2: Letter Writing (from LASA-Dataset C-Shape)

  • Task 3: Letter Writing (from LASA-Dataset Khamesh-Shape)

  • Task 4: Inspection Line

Videos of the execution of these tasks on the real robot can be found here: robot-experiments

Dependencies

To run this package you must install the following dependencies:

  • kuka-lwr-ros checkout 'nadia' branch | Control Interface for Kuka LWR 4+
  • ds-motion-generator checkout 'nadia-lags' branch | DS motion generation nodes
  • lagsDS-lib | lpv-DS class used by ds-motion-generator
  • grasp-interface | To control the Robotiq S gripper from code (need for inspection task)

Simulation

  1. Bring up the kuka-lwr-ros controller and simulator:
$ roslaunch kuka_lagsds_tasks sim.launch force-interface:=true
  1. Run the planning-interface to send joint commands:
$ roslaunch kuka_lpvds_tasks planning_client.launch
$ roslaunch kuka_lpvds_tasks planning_console.launch

Default commands (go_home, go_left, go_right, go_candle) These commands are use to send the robot to a "good" initial joint configuration, generally you should go_home or go_right to test a learned ds-motion generator.

  1. Load DS motion generators and Task Planning Node
  • For Inspection Line Task
    $ roslaunch kuka_lpvds_tasks run_inspection_task.launch sim:=true
    
  • For Branding Line Task
    $ roslaunch kuka_lpvds_tasks run_branding_task.launch sim:=true
    
  • For Shelf Arranging Task
    $ roslaunch kuka_lpvds_tasks run_shelf_task.launch sim:=true
    

To apply external forces during the execution (to test the reactivity of the DS and impedance controller) you can define the force in the following topic:

/lwr/joint_controllers/passive_ds_external_force

the force will be applied by manipulating the boolean command:

/lwr/joint_controllers/passive_ds_apply_force

Real robot

To run the tasks on the real robot you should follow the same instructions above, except for

  1. Bring up the kuka-lwr-ros controller and console in different terminals:
$ roslaunch lwr_simple_example real.launch
$ roslaunch lwr_fri lwr_fri_console.launch

and for the 3. Load DS motion generators and Task Planning Node you should either set sim:=false or not set at all, as it is the default.

Additionally you should bring up the gripper grasp-interface:

$ roslaunch grasp_interface rs_gripper.launch

To modify the gripper state during execution you can launch the gripper voice controller from the demo-voice-control package:

roslaunch demo_voice_control gripper_voice_control.launch

References

[1] Figueroa, N. and Billard, A. (2019) "Locally Active Globally Stable Dynamical Systems: Theory, Learning and Experiments". International Journal of Robotics Research (IJRR). Under Review.

Contact: Nadia Figueroa (nadia.figueroafernandez AT epfl dot ch)

Acknowledgments This work was supported by the EU project Cogimon H2020-ICT-23-2014.

kuka-lagsds-tasks's People

Contributors

nbfigueroa 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.