Quadruped Robots [omni.isaac.quadruped]
Quadruped Controller
- class A1QPController(name: str, _simulate_dt: float, waypoint_pose=None)
[summary]
A1 QP controller as a layer.
An implementation of the QP controller[1]
References
- [1] Bledt, Gerardo, et al. “MIT Cheetah 3: Design and control of a robust, dynamic quadruped robot.”
2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2018.
- advance(dt: float, measurement: omni.isaac.quadruped.utils.a1_classes.A1Measurement, path_follow=False, auto_start=True) numpy.array
[summary]
Perform torque command generation.
- Parameters
world. (dt {float} -- Timestep update in the) –
robot. (measurement {A1Measurement} -- Current measurement from) –
in (path_follow {bool} -- True if a waypoint is pathed) –
not (false if) –
automatically (auto_start {bool} -- True to start trotting after 1 second) –
pressed (False for start trotting after "Enter" is) –
- Returns
np.ndarray – The desired joint torques for the robot.
- ctrl_state_reset() None
[summary]
reset _ctrl_states and _ctrl_params to non-default values
- reset() numpy.ndarray
[summary]
Reset the ctrl states.
- set_target_command(base_command: Union[List[float], numpy.ndarray]) None
[summary]
Set target base velocity command from joystick
- Parameters
base_command{Union[List[float] –
robot (np.ndarray} -- velocity commands for the) –
- setup() None
[summary]
Reset the ctrl states.
- switch_mode()
[summary]
toggle between stationary/moving mode
- update(dt: float, measurement: omni.isaac.quadruped.utils.a1_classes.A1Measurement)
[summary]
Fill measurement into _ctrl_states :param dt {float} – Timestep update in the world.: :param measurement {A1Measurement} – Current measurement from robot.:
- class A1RobotControl
[summary]
The A1 robot controller This class uses A1CtrlStates to save data. The control joint torque is generated using a QP controller
- generate_ctrl(desired_states: omni.isaac.quadruped.utils.a1_desired_states.A1DesiredStates, input_states: omni.isaac.quadruped.utils.a1_ctrl_states.A1CtrlStates, input_params: omni.isaac.quadruped.utils.a1_ctrl_params.A1CtrlParams) None
[summary]
main function, generate foot ground reaction force using QP and calculate joint torques
- Parameters
states (input_states {A1CtrlStates} -- the control) –
states –
parameters (input_params {A1CtrlParams} -- the control) –
- update_plan(desired_states: omni.isaac.quadruped.utils.a1_desired_states.A1DesiredStates, input_states: omni.isaac.quadruped.utils.a1_ctrl_states.A1CtrlStates, input_params: omni.isaac.quadruped.utils.a1_ctrl_params.A1CtrlParams, dt: float) None
[summary]
update swing leg trajectory and several counters
- Parameters
states (input_states {A1CtrlStates} -- the control) –
states –
parameters (input_params {A1CtrlParams} -- the control) –
time-step. (dt {float} -- The simulation) –