lipm_walking_controller

Walking controller for humanoid robots based on inverted pendulum tracking

BSD-2-CLAUSE License

Stars
231
lipm_walking_controller - v1.6 Latest Release

Published by stephane-caron almost 5 years ago

This release brings in the footstep interpolator used last February in the Saint-Nazaire demonstrator:

image

The interactive walking target marker in the GUI can be manipulated while the robot is in the Standing state. Footstep interpolation is now the default behavior, with static configuration plans still available in the Footstep plan combo box.

Added

  • Footstep interpolator

Fixed

  • Terminology regarding pressure and foot force ratios
  • ZMP frame initialization
lipm_walking_controller - v1.5

Published by stephane-caron almost 5 years ago

The main addition of this version is the release of a fully functional Docker image where the controller can be tested on a Choreonoid simulation of the JVRC-1 robot model:

docker run -it --rm --user ayumi -e DISPLAY=${DISPLAY} -v /tmp/.X11-unix:/tmp/.X11-unix:rw \
    stephanecaron/lipm_walking_controller:1.5 lipm_walking --floor

image

The image includes source code and all libraries required to recompile, reproduce, tinker and have fun with the controller. Enjoy!

Added

  • Docker image with the complete controller environment
  • Documentation: write build instructions
  • Stabilizer: set wrench distribution QP weights from GUI

Fixed

  • Contact: read ankle transform from robot model (remove hard-coded values)
  • Improved solve time of wrench distribution QP from 200-400 us to 5-20 us
  • Sole dimensions for JVRC-1 model

Changed

  • Removed dependency on eigen-lssol
  • Stabilizer: switched solver of wrench distribution QP from LSSOL to QuadProg
lipm_walking_controller -

Published by stephane-caron almost 5 years ago

This release brings an important change in the stabilizer: the contact wrench is now distributed with respect to the measured rather than reference CoM.

lipm_walking_controller -

Published by stephane-caron almost 5 years ago

The main features of this release are the Doxygen API documentation and the integration of the JVRC-1 robot model. This model is free and reproduces in Choreonoid simulations all the walking and stair climbing patterns from the controller configuration:

jvrc1_stair_climbing

Added

  • Doxygen API documentation
  • JVRC-1 robot model configuration
  • ModelPredictiveControl: log ZMP and CoM velocity references
  • Stabilizer: alternative DCM gain tuning by pole placement under ZMP lag model

Fixed

  • Add EIGEN_MAKE_ALIGNED_OPERATOR_NEW to all structs
  • Anti-aliasing condition for EMA and LPF filters
  • Handle corner case where the DSP duration is zero
  • Initialization of realCom and realComd

Changed

  • Contact: removed t(), b() and n() shorthands
  • Moved torso pitch setting to "torso" dictionary of robot config
  • Moved world definitions to utils/world.h
  • Renamed ModelPredictiveControlSolution to Preview
  • Switch license to BSD 2-clause for compatibility with other mc_rtc projects
  • Updated dependencies
lipm_walking_controller -

Published by stephane-caron about 5 years ago

The main change in this release is the switch from ZMP to DCM derivative term in DCM tracking, following Biped locomotion control for uneven terrain with narrow support region (Morisawa et al., 2014). The DCM derivative is computed from DCM and ZMP measurements using a model-based estimator.

Added

  • Default footstep plans and settings for HRP-2Kai
  • Model-based DCM derivative estimator ("derivator")
  • Sample curved footstep plans
  • StationaryOffsetFilter class used by DCM derivator

Fixed

  • Initialization of reference pendulum ZMP
  • Stabilizer: damping term of foot force difference control
  • Stabilizer: formula of proportional term in desired CoM acceleration

Changed

  • Cleaned up legacy code
  • Footstep plans are now robot-specific
  • Removed legacy mass estimation phase
  • Stabilizer: switch from ZMP to DCM derivative term in DCM tracking
  • Updated CMake configuration
  • Updated copra and mc_rtc dependencies
lipm_walking_controller -

Published by stephane-caron over 5 years ago

This release corresponds to the stair climbing and walking control that ran in the final demonstrator of the COMANOID project:

Picture from the final demonstrator of the COMANOID project

lipm_walking_controller -

Published by stephane-caron over 5 years ago

This first release of the controller corresponds to the code running in the following experiment:

Stair climbing by the HRP-4 humanoid robot