Basic RT components and utilities
315.12.1
|
This component is maintain full-body balance based on sensor feedback.
This component modifies input joint angles to control COG, ZMP, and so on. This component receives reference joint angles from "qRef" inport. Then it solves Inverse Kinematics (or something) based on sensor feedback, obtains jonint angles, and outputs the joint angles as "q" outport.
This component has modes and behaves as Finite State Machine. By default, this component is idle mode ("MODE_IDLE"), in which it do not modify input joint angles. When OpenHRP::StabilizerService::startStabilizer() are called in idle mode, it switches to controlling mode ("MODE_ST"), in which it modifies joint angles. When OpenHRP::StabilizerService::stopStabilizer() are called in controlling mode, it switches to idle mode. When this component is controlling mode and the robot is put off to the air, it switches to air mode ("MODE_AIR"), which is similar to idle mode. When this component was air mode and the robot is put on the ground, it switches to controlling mode.
ZMPDistributor example, in which distributed force and moment are displayed on graphs (COP, Ref-force, Ref-moment, ... etc).
testZMPDistributor # Non ROS environment rosrun hrpsys testZMPDistributor # ROS environment
implementation_id | Stabilizer |
---|---|
category | example |
Stabilizer algorithm is based on the following papers:
port name | data type | unit | description |
---|---|---|---|
qCurrent | RTC::TimedDoubleSeq | [rad] | Actual joint angles |
qRef | RTC::TimedDoubleSeq | [rad] | Reference joint angles |
rpy | RTC::TimedOrientation3D | [rad] | Actual attitude sensor's Roll-Pitch-Yaw angle |
forceL | RTC::TimedDoubleSeq | [N],[Nm] | 6D wrench vector for actual force and moment for left leg |
forceR | RTC::TimedDoubleSeq | [N],[Nm] | 6D wrench vector for actual force and moment for right leg |
zmpRef | RTC::TimedPoint3D | [m] | Reference ZMP in base frame |
basePosIn | RTC::TimedPoint3D | [m] | Reference base position |
baseRpyIn | RTC::TimedOrientation3D | [rad] | Reference base orientation (Roll-Pitch-Yaw) |
contactStates | RTC::TimedBooleanSeq | NA | Reference end-effector contact states (True=contact, False=no-contact) |
controlSwingSupportTime | RTC::TimedDouble | [s] | Time of swing phase |
port name | data type | unit | description |
---|---|---|---|
q | RTC::TimedDoubleSeq | [rad] | Output reference joint angles |
zmp | RTC::TimedPoint3D | [m] | Estimated actual ZMP in base frame |
port name | interface name | service type | IDL | description |
---|---|---|---|---|
StabilizerService | service0 | StabilizerService | OpenHRP::StabilizerService | StabilizerService |
N/A
name | type | unit | default value | description |
---|---|---|---|---|
debugLevel | int | 0 | debug level |
N/A