-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Wasim Sayyad edited this page Apr 8, 2026
·
7 revisions
This wiki documents the pick_place_fsm package in src/Finite-State-Machine.
The package currently contains:
- the
door_disassembleFSM - the
pick_placeFSM - the
mock_perception_servertest node - the
screwdriver_pickhelper node - the
pose_capturerutility - the
control_panelGUI launcher -
error_handlingfor object slip detection
- Architecture
- Running the System
- Door Disassemble FSM
- Named Poses and Pose Capturer
- Mock Testing
- Screwdriver Pick Helper
- TF Collision Guardian
- Control Panel - Gui Launcher for FSM
- Object Slip Detection
Main source files:
src/door_disassemble.pysrc/control_panel.pysrc/mock_perception_server.pysrc/screwdriver_pick.pysrc/tf_collision_guardian.pyscripts/pose_capturer.pysrc/common.pysrc/error-handling.py
FSM definition files:
include/door_disassemble.fsminclude/fsm_door_disassemble.pyinclude/pick_place_py.fsminclude/fsm_pick_place.py
ROS interfaces defined in this package:
External interface used by the door workflow:
my_robot_interfaces/action/RunVision
At a high level, door_disassemble does the following:
- waits in
IDLEuntil the operator starts it - checks TF, action servers, and services
- moves to view poses
- requests perception for object classes
- optionally requests subdoor and raster-scan results
- optionally runs the screwdriver helper
- picks one object at a time
- moves to the placement area
- drops the object
- repeats until all objects are handled
For the detailed state-machine view, see Door Disassemble FSM.