Skip to content
Wasim Sayyad edited this page Apr 8, 2026 · 7 revisions

Finite-State-Machine Wiki

This wiki documents the pick_place_fsm package in src/Finite-State-Machine.

The package currently contains:

  • the door_disassemble FSM
  • the pick_place FSM
  • the mock_perception_server test node
  • the screwdriver_pick helper node
  • the pose_capturer utility
  • the control_panel GUI launcher
  • error_handling for object slip detection

Start here

Package overview

Main source files:

FSM definition files:

ROS interfaces defined in this package:

External interface used by the door workflow:

  • my_robot_interfaces/action/RunVision

Main runtime flow

At a high level, door_disassemble does the following:

  1. waits in IDLE until the operator starts it
  2. checks TF, action servers, and services
  3. moves to view poses
  4. requests perception for object classes
  5. optionally requests subdoor and raster-scan results
  6. optionally runs the screwdriver helper
  7. picks one object at a time
  8. moves to the placement area
  9. drops the object
  10. repeats until all objects are handled

For the detailed state-machine view, see Door Disassemble FSM.

Clone this wiki locally