Skip to content

Mock Testing

ashleshp edited this page Apr 7, 2026 · 2 revisions

Mock Testing

The repository includes a local mock perception implementation for testing the FSM without the real perception stack.

Mock perception server

File:

Run:

ros2 run pick_place_fsm mock_perception_server

Supported mock tasks

Current mock tasks:

  • subdoor_pose
  • car_objects
  • place_object
  • detect_screwdriver

Supported mock object classes

For car_objects, the mock supports:

  • unit
  • speaker
  • motor_grip

Typical local test setup

Use multiple terminals:

  1. simulated Eddie
  2. mock_perception_server
  3. screwdriver_pick
  4. raster_scanner if needed
  5. door_disassemble

Useful manual checks

List actions:

ros2 action list
ros2 action info /run_perception_pipeline

Manual subdoor request:

ros2 action send_goal /run_perception_pipeline my_robot_interfaces/action/RunVision "{task_name: subdoor_pose, object_class: '', time_duration: 0.0}"

Manual screwdriver request:

ros2 action send_goal /run_perception_pipeline my_robot_interfaces/action/RunVision "{task_name: detect_screwdriver, object_class: '', time_duration: 0.0}"

Clone this wiki locally