Clopema smach

States

Trajectory and Robot Control States

  • TrajectoryVisualizeState
  • TrajectoryExecuteState
  • SetServoPowerOffState

Planning States

  • Plan1ToJointsState (input: goal, robot) (output: trajectory, error)
  • Plan2ToJointsState (input: goal_r1, robot_r2) (output: trajectory, error)
  • Plan1ToPoseState (input: goal, ik_link) (output: trajectory, error)
  • Plan2ToPoseState (input: goal_1, ik_link_1, goal_2, ik_link_2) (output: trajectory, error)
  • PlanToHomeState (input:) (output: trajectory, error)
  • GetRobotStateState (input:) (output: robot_1_state, robot_2_state, complete_state, robot_1_pose, robot_2_pose, ik_link_1, ik_link_2)
  • Interpolate1JointsState (input: robot, goals) (output: trajectory, error)
  • Interpolate1LinearState (input: ik_link, poses) (output: trajectory, error)
  • Interpolate2LinearState (input: ik_link_1, poses_1, ik_link_2, poses_2) (output: trajectory, error)

Utility states

  • PoseBufferState
  • CounterState

Utility machines

gensm_plan_vis_exec

Generates state machine that will plan using given planning state, visualize, ask user to continue and execute the trajectory.

gensm_plan_vis_exec(planning_state,
                    input_keys=[],
                    output_keys=[],
                    visualize = True,
                    confirm = True,
                    execute = True,
                    servo_off = False)

Example code:

sm = gensm_plan_vis_exec(PlanToHomeState())
sm.execute()

gensm_grippers

Generate concurrent state machine that will open or close grippers simultaneously.

sm = gensm_grippers(r1_state, r2_state)
sm.execute()