Mujoco KDL Wrapper  0.2.2
MuJoCo + KDL bridge for robot kinematics and dynamics
Loading...
Searching...
No Matches
ex_table_pick_place Namespace Reference

Classes

class  ResetRequested
class  Phase

Functions

mjk.AttachmentSpec gripper_attachment (str gripper_path)
mjk.SceneObject table_object (str table_path)
mjk.SceneObject cube_object ()
tuple[mjk.Env, mjk.Robot] build_env ()
kdl.JntArray jnt (list[float] values)
list[float] as_list (kdl.JntArray q)
float clamp (float value, float low, float high)
float clamp_joint (float value, tuple[float, float] limit)
list[float] solve_position_ik (kdl.Chain chain, list[float] seed_values, kdl.Frame target, list[tuple[float, float]] joint_limits)
dict[str, list[float]] build_waypoints (mjk.Env env, mjk.Robot robot)
None apply_pd_gravity (mjk.Robot robot, list[float] target)
float max_abs_joint_err (mjk.Robot robot, list[float] target)
list[float] lerp (list[float] start, list[float] target, float alpha)
bool step_once (mjk.Env env, mjk.Robot robot, mjk.SimulateViewer|None viewer, dict state)
bool run_phase (mjk.Env env, mjk.Robot robot, Phase phase, mjk.SimulateViewer|None viewer, dict state)
int main ()

Variables

list HOME = [0.0, 0.2618, 3.1416, -2.2689, 0.0, 0.9599, 1.5708]
float SURFACE_Z = 0.70
float CUBE_HALF_SIZE = 0.02
float PICK_X = 0.40
float PICK_Y = 0.00
float PLACE_X = 0.40
float PLACE_Y = 0.24
list KP = [100.0, 200.0, 100.0, 200.0, 100.0, 200.0, 100.0]
list KD = [10.0, 20.0, 10.0, 20.0, 10.0, 20.0, 10.0]
list CUBE_START = [PICK_X, PICK_Y, SURFACE_Z + CUBE_HALF_SIZE]

Detailed Description

Table pick-place example ported from src/examples/ex_table_pick_place.cpp.

Picks a cube from one table location and places it at another using joint
impedance control. An Env on_reset hook re-homes the arm, re-poses the cube,
and opens the gripper so the simulate-UI reset replays the task.

Function Documentation

◆ apply_pd_gravity()

None ex_table_pick_place.apply_pd_gravity ( mjk.Robot robot,
list[float] target )

Definition at line 179 of file ex_table_pick_place.py.

Referenced by run_phase().

◆ as_list()

list[float] ex_table_pick_place.as_list ( kdl.JntArray q)

Definition at line 109 of file ex_table_pick_place.py.

Referenced by solve_position_ik().

◆ build_env()

tuple[mjk.Env, mjk.Robot] ex_table_pick_place.build_env ( )

Definition at line 74 of file ex_table_pick_place.py.

References cube_object(), gripper_attachment(), and table_object().

Referenced by main().

◆ build_waypoints()

dict[str, list[float]] ex_table_pick_place.build_waypoints ( mjk.Env env,
mjk.Robot robot )

Definition at line 154 of file ex_table_pick_place.py.

References solve_position_ik().

Referenced by main().

◆ clamp()

float ex_table_pick_place.clamp ( float value,
float low,
float high )

Definition at line 113 of file ex_table_pick_place.py.

Referenced by clamp_joint(), and run_phase().

◆ clamp_joint()

float ex_table_pick_place.clamp_joint ( float value,
tuple[float, float] limit )

Definition at line 117 of file ex_table_pick_place.py.

References clamp().

Referenced by solve_position_ik().

◆ cube_object()

mjk.SceneObject ex_table_pick_place.cube_object ( )

Definition at line 61 of file ex_table_pick_place.py.

Referenced by build_env().

◆ gripper_attachment()

mjk.AttachmentSpec ex_table_pick_place.gripper_attachment ( str gripper_path)

Definition at line 44 of file ex_table_pick_place.py.

Referenced by build_env().

◆ jnt()

kdl.JntArray ex_table_pick_place.jnt ( list[float] values)

Definition at line 102 of file ex_table_pick_place.py.

Referenced by solve_position_ik().

◆ lerp()

list[float] ex_table_pick_place.lerp ( list[float] start,
list[float] target,
float alpha )

Definition at line 192 of file ex_table_pick_place.py.

Referenced by run_phase().

◆ main()

int ex_table_pick_place.main ( )

Definition at line 239 of file ex_table_pick_place.py.

References build_env(), build_waypoints(), main(), and run_phase().

Referenced by main().

◆ max_abs_joint_err()

float ex_table_pick_place.max_abs_joint_err ( mjk.Robot robot,
list[float] target )

Definition at line 188 of file ex_table_pick_place.py.

Referenced by run_phase().

◆ run_phase()

bool ex_table_pick_place.run_phase ( mjk.Env env,
mjk.Robot robot,
Phase phase,
mjk.SimulateViewer | None viewer,
dict state )

Definition at line 210 of file ex_table_pick_place.py.

References apply_pd_gravity(), clamp(), lerp(), max_abs_joint_err(), and step_once().

Referenced by main().

◆ solve_position_ik()

list[float] ex_table_pick_place.solve_position_ik ( kdl.Chain chain,
list[float] seed_values,
kdl.Frame target,
list[tuple[float, float]] joint_limits )

Definition at line 124 of file ex_table_pick_place.py.

References as_list(), clamp_joint(), and jnt().

Referenced by build_waypoints().

◆ step_once()

bool ex_table_pick_place.step_once ( mjk.Env env,
mjk.Robot robot,
mjk.SimulateViewer | None viewer,
dict state )

Definition at line 196 of file ex_table_pick_place.py.

Referenced by run_phase().

◆ table_object()

mjk.SceneObject ex_table_pick_place.table_object ( str table_path)

Definition at line 52 of file ex_table_pick_place.py.

Referenced by build_env().

Variable Documentation

◆ CUBE_HALF_SIZE

float ex_table_pick_place.CUBE_HALF_SIZE = 0.02

Definition at line 20 of file ex_table_pick_place.py.

◆ CUBE_START

list ex_table_pick_place.CUBE_START = [PICK_X, PICK_Y, SURFACE_Z + CUBE_HALF_SIZE]

Definition at line 27 of file ex_table_pick_place.py.

◆ HOME

list ex_table_pick_place.HOME = [0.0, 0.2618, 3.1416, -2.2689, 0.0, 0.9599, 1.5708]

Definition at line 18 of file ex_table_pick_place.py.

◆ KD

list ex_table_pick_place.KD = [10.0, 20.0, 10.0, 20.0, 10.0, 20.0, 10.0]

Definition at line 26 of file ex_table_pick_place.py.

◆ KP

list ex_table_pick_place.KP = [100.0, 200.0, 100.0, 200.0, 100.0, 200.0, 100.0]

Definition at line 25 of file ex_table_pick_place.py.

◆ PICK_X

float ex_table_pick_place.PICK_X = 0.40

Definition at line 21 of file ex_table_pick_place.py.

◆ PICK_Y

float ex_table_pick_place.PICK_Y = 0.00

Definition at line 22 of file ex_table_pick_place.py.

◆ PLACE_X

float ex_table_pick_place.PLACE_X = 0.40

Definition at line 23 of file ex_table_pick_place.py.

◆ PLACE_Y

float ex_table_pick_place.PLACE_Y = 0.24

Definition at line 24 of file ex_table_pick_place.py.

◆ SURFACE_Z

float ex_table_pick_place.SURFACE_Z = 0.70

Definition at line 19 of file ex_table_pick_place.py.