-
Notifications
You must be signed in to change notification settings - Fork 12
Home
OpenHubo is a collection of models of KAIST / Rainbow humanoid robots. As of release (0.6.0), the collection includes:
- Hubo2 (Torso-base)
- Hubo2 (Right-foot-base)
- Hubo+ (Torso-base)
- Hubo+ (Right-foot-base)
To set up and use this model, you will need:
- git
- Ubuntu 10.04 or 12.04 (others may work, but sometimes have weird issues with available packages and such)
- Openrave 0.6.6 (or at least 0.6.x) or later installed setup instructions
git clone git://github.com/robEllenberg/openrave.git
Follow the openrave instructions on compiling from sources to build and install.
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.
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
Keep in mind when using this model that there are a few major limitations that are being addressed:
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 testRagDoll.py
Unfortunately, the limbs bounce around unrealistically long due to the aforementioned lack of damping.
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.
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.