Coder Social home page Coder Social logo

ocra-wbi-plugins's Introduction

#ocra-wbi-plugins

Plugins for communicating bewtween the whole body controllers developed at ISIR and the iCub Whole Body Interface (WBI) libraries.

#Usage notes for the ISIRWholeBodyController/gOcraController

These notes are written specifically for the iCubParis robots. Please be careful if you are implementing the controller on another platform.

##General

In order to run the controller wholeBodyDynamicsTree must be running to do torque estimation. Additionally, as of this writing, the jointTorqueControl module must be running for each part. This is generally accomplished by running codycomoddev --from jtc_[part].ini for each part.

##iCubParis02

###Setup

Right now the left leg is not working so it has been deactivated in robotInterface. Because of this we have to modify the .ini for wholeBodyDynamicsTree and yarpWholeBodyInterface. These modified files are in:

  • $CODYCO_SUPERBUILD_ROOT/main/codyco-modules/src/modules/wholeBodyDynamicsTree/app/robots/iCubParis02/wholeBodyDynamicsTree_no_left_leg.ini
  • $CODYCO_SUPERBUILD_ROOT/libraries/yarp-wholebodyinterface/app/robots/iCubParis02/yarpWholeBodyInterface_no_left_leg.ini

We also have to modify the .urdf used by these programs, such that the left leg joints are all fixed rather than revolute.

  • $CODYCO_SUPERBUILD_ROOT/libraries/yarp-wholebodyinterface/app/robots/iCubParis02/model_fixed_left_leg.urdf

Because the controller uses yarpWholeBodyInterface and jointTorqueControl we use an additional yarpWholeBodyInterface initialization file that ignores the left leg, and uses JTC. This is done in:

  • $CODYCO_SUPERBUILD_ROOT/libraries/yarp-wholebodyinterface/app/robots/iCubParis02/yarpWholeBodyInterface_no_left_leg_jtc.ini

where the actuator ports are prepended with /jtc/. Note that this assumes that JTC is running.

Once this is modified, the ISIRWholeBodyController.ini file must too be modified to call yarpWholeBodyInterface_no_left_leg_jtc.ini

Finally we need to calibrate the JTC gains and coeffs in the various .ini files located here:

  • $CODYCO_SUPERBUILD_ROOT/main/codyco-modules/src/devices/jointTorqueControl/app/robots/iCubParis02

###Launch

  1. Make sure all computers in the cluster are turned on including pc104.
  2. Open icub-cluster.py and start yarpserver and yarprun on the computers.
  3. Open yarpmanager.
  4. Under Applications go to WBD_JTC_Fixed_Base. Open the application.
  5. Click run (the green play button).
  6. Launch ISIRWholeBodyController with whatever task set or sequence desired.

###Lookout for...

  • The function getNominalPosture() tries to access joint indexes on the left leg so when running without the left leg, make sure the appropriate lines are commented out.
  • Some of the Cpp sequences work well in simulation but need much larger gains on the real robot. Additionally, many of them assume you are starting in the home posture and may cause collisions if starting from some other posture.
  • Make sure to recalibrate wholeBodyDynamicsTree every 15-30 minutes:
yarp rpc /wholeBodyDynamicsTree/rpc:i
calib all 400

ocra-wbi-plugins's People

Contributors

alexandrelheinen avatar darwinlau avatar rlober avatar traversaro avatar

Watchers

 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.