Git Product home page Git Product logo

kuka-lpvds-tasks's Introduction

kuka-lpvds-tasks

This package implements the LPV-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: Inspection Line

  • Task 2: Branding Line

  • Task 3: Shelf-Arranging (top only)

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

  • Task 4: Letter Writing (from LASA-Dataset)

Dependencies

To run this package you must install the following dependencies:

Simulation

  1. Bring up the kuka-lwr-ros controller and simulator:
$ roslaunch kuka_lpvds_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. (2018) "A Physically-Consistent Bayesian Non-Parametric Mixture Model for Dynamical System Learning". Conference on Robot Learning (CoRL) - 2018 Edition. To Appear.

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

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

kuka-lpvds-tasks's People

Contributors

nbfigueroa avatar

Stargazers

summer avatar  avatar Vaibhav Wanere avatar Stevewen avatar Binghao_Huang avatar Yanwen Sun avatar Yihui Li avatar Nikita Ermolenko avatar nnboylhj avatar chagou avatar Michael avatar  avatar justiceli avatar

Watchers

 avatar James Cloos avatar Mahdi Khoramshahi avatar justiceli avatar Sina Mirrazavi avatar  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.