Skip to content
robEllenberg edited this page Sep 24, 2012 · 5 revisions

The OpenHubo is an OpenRAVE robot model based on KAIST's KHR-4 Hubo Humanoid.

To set up and use this model, you will need:

Table of Contents

Setup Instructions

Clone the repository to a convenient location:

 git clone --recursive git://github.com/daslrobotics/openHubo.git 

OpenHubo comes bundled with several useful plugins:

  • OpenMR, a servo controller for physics simulations
  • simForceSensor, a force sensor plugin that acts as a 6-DOF F/T sensor for force control and sensing.
  • CoMPS, a collection of plugins to do RRT-based trajectory planning, manipulation, and general-purpose inverse kinematics calculations.
All of these plugins can be downloaded and installed automatically using the included setup script:
 source setup-plugins.sh

This downloads the above plugins as git submodules, and builds/installs the plugins to a local folder. Once the plugins are built, you can verify that openrave can use them by listing available plugins:

 openrave --listplugins

Limitations of current version

Keep in mind when using this model that there are a few major limitations that are being addressed:

Joint Damping with ODE physics

Interaction physics between bodies is not quite realistic due to the limitations of ODE. There seems to be no damping applied to joints between bodies. This can be seen by running the Physics test:

 python testPhysics.py

Unfortunately, the limbs bounce around unrealistically long due to the aforementioned lack of damping.

Contact Friction

Realistic contact friction is not enabled in ODE/OpenRAVE by default, so an "Ice-Skating" effect is apparent if a robot is resting on the ground. A fix was patched in to OpenRAVE 0.8.0 recently that allows you to enable a "friction pyramid" model that approximates coulomb friction. In your environment XML file, add a section like this to specify the ode physics engine properties:

 <physicsengine type="ode">
  <odeproperties>
   <friction>.5</friction>
   <gravity>0 0 -9.8</gravity>
   <selfcollision>1</selfcollision>
   <erp>.5</erp>
   <cfm>.000001</cfm>
   <dcontactapprox>1</dcontactapprox>
  </odeproperties>
 </physicsengine>

The dcontactapprox flag specifies whether to enable this realistic approximate model.

Grasping and manipulation Planning

Update: Releases after 0.4.1 have individually articulated fingers. Note that the fully articulated behavior is not quite realistic to the Hubo2/Hubo+ hands. The physical hands are shape-adaptive, and have only 1 independent degree of freedom for each finger. This behavior could be simulated using torque limits on the joints, however.

Clone this wiki locally