Home

Awesome

grasp-fsm-sample-controller

<div align="center"> <a href="https://youtu.be/7GmmAW5C20o"> <img src="https://img.youtube.com/vi/7GmmAW5C20o/maxresdefault.jpg" alt="Demo video" style="width:80%;"> </a> </div>

Notes

Assumes longtable and box objects are placed in the mujoco scene as follows:

objects:
  box:
    module: "box"
    init_pos:
      translation: [3.1, 0, 0.9]
      rotation: [0, 0, 0]
  longtable:
    module: "longtable"
    init_pos:
      translation: [3.5, 0, 0.8]
      rotation: [3.14, 0, 0]

There is no need to add these objects to mc-rtc.
You may need to apply the following patch to LIPM-Walking to set the desired target:

diff --git a/include/lipm_walking/PlanInterpolator.h b/include/lipm_walking/PlanInterpolator.h
index 8db8c9f..b8f6012 100644
--- a/include/lipm_walking/PlanInterpolator.h
+++ b/include/lipm_walking/PlanInterpolator.h
@@ -342,7 +342,7 @@ private:
   SE2d lastBackwardTarget_ = {-0.5, 0., 0.}; /**< Last target for a custom_backward plan */
   SE2d lastForwardTarget_ = {0.5, 0., 0.}; /**< Last target for a custom_forward plan */
   SE2d lastLateralTarget_ = {0.0, 0.3, 0.}; /**< Last target for a custom_lateral plan */
-  SE2d targetPose_ = {0.5, 0., 0.}; /**< Target SE2 transform in the horizontal plane */
+  SE2d targetPose_ = {2.5, 0., 0.}; /**< Target SE2 transform in the horizontal plane */
   bool startWithRightFootstep_ = true;
   double desiredStepAngle_ = 10. * M_PI / 180.; // [rad]
   double desiredStepLength_ = 0.2; // [m]

Build and Install

$ git clone --recursive git@github.com:rohanpsingh/grasp-fsm-sample-controller.git
$ cd mc_mujoco
$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
$ make install

Launch

Edit mc-rtc config file:

MainRobot: HRP5P
Enabled: GraspFSM
Timestep: 0.002

Fire up mc-mujoco (or any other interface):

$ mc_mujoco

All states and transitions should occur automatically.