Libraries for sampling and validating a humanoid biped with one or more fixed feet for stability constraints in MoveIt!
Libraries for sampling and validating a humanoid biped with one or more fixed feet for stability constraints in MoveIt! including:
Provides a wrapper for hrl_kinematics that allows the center of mass stability testing for robots based on KDL.
Developed by Dave Coleman and Shintaro Noda at JSK, University of Tokyo.
This package requires an experimental branch of moveit_core be installed. It might be a while until it is merged into the main distribution. See experimental_fake_base
Overall, making this work on your machine will be fairly complicated until a long list of pending MoveIt! pull requests are accepted. See Dave Coleman for more details.
Performs two course-grain checks and, if they pass, finally does full COM check:
It does not check for self collision or collision with environment, because that is accomplished by other components in MoveIt! automatically.
You can use the validator within a MoveIt! planning scene as a custom stability checker - see the function getStateFeasibilityFn()
for use with a planning scene by calling:
planning_scene_->setStateFeasibilityPredicate(humanoid_stability_->getStateFeasibilityFn());
The sampler first samples the fixed leg, performs some quick checks, then samples the rest of the body and performs exact checks.
You can use a custom constraint sampler plugin for MoveIt! by adding a "constraint_samplers" param to your move_group launch file, for example:
<node name="hrp2jsknt_moveit_demos" pkg="hrp2jsknt_moveit_demos" type="hrp2_demos">
<rosparam command="load" file="$(find moveit_humanoid_stability)/config/hrp2jsknt_stability.yaml"/>
<param name="constraint_samplers" value="moveit_humanoid_stability/HumanoidConstraintSamplerAllocator"/>
</node>
A yaml configuration file is required to load the settings for your robot. See config/hrp2jsknt_stability.yaml
N/A
Rviz markers are available on topic /humanoid_constraint_sample_markers
and the robot state is published on /humanoid_constraint_sample_robots