Basic RT components and utilities
315.15.0
|
This component is generate walking pattern and control Center Of Gravity (COG) for legged robots without sensor feedback.
This component modifies input joint angles to track reference COG position. This component receives reference joint angles from "qRef" inport. Then it solves Inverse Kinematics (or something) to track reference COG position, obtains jonint angles, and outputs the joint angles as "q" outport.
In this calculation, this component tracks reference XY COG position, reference Z base position, and reference base orientation.
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::AutoBalancerService::startAutoBalancer() are called in IDLE mode, it switches to controlling mode ("MODE_ABC"), in which it modifies joint angles. When OpenHRP::AutoBalancerService::stopAutoBalancer() are called in controlling mode, it switches to idle mode.
User can specify which end-effector is controlled by the argument of OpenHRP::AutoBalancerService::startAutoBalancer(). When OpenHRP::AutoBalancerService::startAutoBalancer() are called with ["rleg", "lleg"], it controlles reference end-effector position and orientation for "rleg" and "lleg". When OpenHRP::AutoBalancerService::startAutoBalancer() are called with ["rleg", "lleg", "rarm", "larm"], it controlles reference end-effector for "rleg", "lleg", "rarm", "larm". In this case, the robot seems to keep both feet and hands position and orientation.
This component has also the feature as walking pattern generation, named as GaitGenerator. When OpenHRP::AutoBalancerService::goPos(), OpenHRP::AutoBalancerService::goVelocity(), OpenHRP::AutoBalancerService::setFootSteps() are called, this component starts to use reference XY COG position from "GaitGenerator". For OpenHRP::AutoBalancerService::goPos() and OpenHRP::AutoBalancerService::setFootSteps(), this component stops to use it after completing walking command. After OpenHRP::AutoBalancerService::goVelocity() is called, this component continuously generates walking pattern. When OpenHRP::AutoBalancerService::goStop() are called in this case, this completing stops to use it after completing walking command.
Preview controller example, in which trajectories are displayed on graphs (COG, ZMP, ... etc).
GaitGenerator example, in which trajectories are displayed on graphs (COG, ZMP, foot trajectories ... etc).
Users can change test type (fwd-walking example, rotation-walking example, stair-walking, toe-heel example, ... etc).
Users can also change GaitGenerator parameters (step time, step height, orbit type, ... etc).
[test-type-option] is test type and [gg-parameters-options] are GaitGeneratorParameters. To learn test type, please execute testGaitGenerator without arguments.
AutoBalancerGaitGeneratorDocumentationSlide
implementation_id | AutoBalancer |
---|---|
category | example |
AutoBalancer can support toe joints. Toe joint is defined as end-link joint in the case that end-effector link != force-sensor link. Without toe joints, "end-effector link == force-sensor link" is assumed. With toe joints, "end-effector link != force-sensor link" is assumed.
In AutoBalancer, hands and arms has several functionality for two legs and two arms robot.
port name | data type | unit | description |
---|---|---|---|
qRef | RTC::TimedDoubleSeq | [rad] | Reference joint angles |
zmpIn | RTC::TimedPoint3D | [m] | Input ZMP in base frame |
basePosIn | RTC::TimedPoint3D | [m] | Input base position |
baseRpyIn | RTC::TimedOrientation3D | [rad] | Input base orientation (RPY) |
port name | data type | unit | description |
---|---|---|---|
q | RTC::TimedDoubleSeq | [rad] | Output reference joint angles |
zmpOut | RTC::TimedPoint3D | [m] | Output ZMP in base frame |
basePosOut | RTC::TimedPoint3D | [m] | Output base position |
baseRpyOut | RTC::TimedOrientation3D | [rad] | Output base orientation (RPY) |
baseTformOut | RTC::TimedDoubleSeq | [m], [rad] | Output base position and orientation (RPY) |
accRef | RTC::TimedAcceleration3D | [m/s^2] | Output attitude sensor's acceleration |
contactStates | RTC::TimedBooleanSeq | NA | Reference end-effector contact states (True=contact, False=no-contact) |
controlSwingSupportTime | RTC::TimedDouble | [s] | Time of swing phase |
port name | interface name | service type | IDL | description |
---|---|---|---|---|
AutoBalancerService | service0 | AutoBalancerService | OpenHRP::AutoBalancerService | AutoBalancerService |
N/A
name | type | unit | default value | description |
---|---|---|---|---|
debugLevel | int | 0 | debug level |
N/A