Only released in EOL distros:
Package Summary
Gathers tools providing useful computations when dealing with walking trajectory generation.
- Author: Thomas Moulard
- License: BSD
- Source: git https://github.com/laas/humanoid_walk.git (branch: master)
Package Summary
Gathers tools providing useful computations when dealing with walking trajectory generation.
- Author: Thomas Moulard
- License: BSD
- Source: git https://github.com/laas/humanoid_walk.git (branch: master)
Contents
ROS API
ZMP estimation from force sensors
The most widely used balance criterion is the (virtual) Zero Momentum Point. When this point exits the robot polygon support, the robot start falling.
It is therefore interesting to monitor this point while the robot is running to make sure that it stays near its planned position.
A method to estimate the ZMP position is to measure the force applied on both feet and deduce the ZMP position from it. This tool realizes this computation and makes the following assuption:
- the frame orientation of the force sensor data is the standard one (X forward, Y to the left and Z up),
two force sensors localized in the feet/ankles and synchronized data from them are available as geometry_msgs/WrenchStamped messages.
- the robot is biped.
zmp_estimator
ZMP estimation node from feet force sensorsSubscribed Topics
~left_foot_wrench (geometry_msgs/WrenchStamped)- Left foot wrench measure by a force sensor.
- Right foot wrench measure by a force sensor.
Published Topics
zmp_estimated (geometry_msgs/Vector3Stamped)- ZMP position estimation.
Parameters
left_foot_wrench (string, default: left_foot)- Left foot wrench topic name
- Right foot wrench topic name
- Minimum force to consider that the foot touched the ground. By default 10 Newton. We recommend 2% of the robot total mass.
- Maximum allowed offset between the left and right foot wrench messages.
- Subscriber queue size
- Id of the frame in which the foot positions are given.
- Left foot X position in reference frame.
- Left foot Y position in reference frame.
- Left foot Z position in reference frame.
- Right foot X position in reference frame.
- Right foot Y position in reference frame.
- Right foot Z position in reference frame.
For instance, you may run this script by typing:
1 rosrun walk_tools zmp_monitor _left_foot_wrench:=/force_0 _right_foot_wrench:=/force_1
Effort monitor
During movement execution, effort monitoring on each actuator prevents robot dammage.
This script regularly checks that the current torques reported by the joint_states topic are lower than the limit indicated in the robot URDF model. If the effort is higher that 85% of the limit, a warning is issued. Warning and errors are reported using the ROS diagnostics stack.
effort_monitor
Monitor efforts on joints.Subscribed Topics
joint_states (sensor_msgs/JointStates)- Current state of each joint. In particular, this structure contains the current efforts applied to the robot joints.
Published Topics
diagnosics (diagnostic_msgs/DiagnosticArray)- Diagnostic topic.
force_monitor
Monitor force applied to robot feet. The script makes the assumption that the reaction force is along the Z axis.Subscribed Topics
left_foot (geometry_msgs/WrenchStamped)- Force sensor output on left foot.
- Force sensor output on right foot.
Published Topics
diagnosics (diagnostic_msgs/DiagnosticArray)- Diagnostic topic.
Parameters
force_warning_threshold (Float64)- Maxmimum allowed force before warning the user.
- Maxmimum allowed force before reporting an error.