How jonahmccreadyparker/egh450-clean-up works
This ROS Noetic project supports an indoor search-and-rescue UAV: camera and localization inputs feed target detection and pose estimation; mission software plans movement; an operator monitors mission information; and payload controls can trigger a mid-air release. The README documents these capabilities, while the sampled source mainly covers DepthAI pipeline configuration and an example crop-control client. Consequently, links between project packages represent documented ROS data or control exchanges, not verified direct function calls; optional emulation is shown separately.
Main entry points: spar_node.cpp Flight control · dai_publisher.py DepthAI publisher · aruco_detector.py ArUco detection · breadcrumb_node.cpp Path planning
Components 18
Sensing
- DepthAI driver
catkin_ws_G6/src/depthai-ros/depthai_ros_driver/src/camera.cpp - DepthAI publisher
catkin_ws_G6/src/depthai_publisher/src/depthai_publisher/dai_publisher.py
Perception
- ArUco detection
catkin_ws_G6/src/egb349_group8_vision/src/egb349_group8_vision/aruco_detector.py - Image processing
catkin_ws_G6/src/egh450_image_processor/src/egh450_image_processor/image_processor.py - Target pose
catkin_ws_G6/src/egh450_target_solvepnp/src/egh450_target_solvepnp/pose_estimator.py
Mission
- Path planning
catkin_ws_G6/src/breadcrumb/src/breadcrumb_node.cpp - A-star search
catkin_ws_G6/src/breadcrumb/src/breadcrumb/AStar.cpp - Area map
catkin_ws_G6/src/qutas_lab_450/src/area_map_node.cpp - UAV emulator
catkin_ws_G6/src/uavasr_emulator/src/uavasr_emulator_node.cpp
Operator tools
- Mission HUD
catkin_ws_G6/src/rqt_generic_hud/src/rqt_generic_hud/generic_hud.py - MAVROS GUI
catkin_ws_G6/src/rqt_mavros_gui/src/rqt_mavros_gui/mavros_gui.py - RViz mission view
Flight and payload
- Flight control
catkin_ws_G6/src/spar/spar_node/src/spar_node.cpp - Payload control
catkin_ws_G6/src/egb349_group8_vision/src/egb349_group8_vision/payload_driver.py - Deployment scripts
catkin_ws_G6/src/egh450_payload_deploy/scripts/payload_driver.py
Other components
- UAV
- OAK-D camera
- Ground operator
Connections 21
- OAK-D camera → DepthAI driver: captures images
- DepthAI driver → DepthAI publisher: publishes streams
- DepthAI publisher → ArUco detection: image topics
- DepthAI publisher → Image processing: image topics
- ArUco detection → Target pose: marker observations
- Image processing → Target pose: image data
- Target pose → RViz mission view: target pose
- ArUco detection → RViz mission view: detected markers
- Path planning → A-star search: requests paths
- Area map → Path planning: map data
- Path planning → Flight control: flight goals
- UAV → Flight control: flight state
- Flight control → Mission HUD: telemetry
- Ground operator → MAVROS GUI: operator input
- MAVROS GUI → Flight control: flight commands
- Mission HUD → Ground operator: mission display
- RViz mission view → Ground operator: visualizes mission
- Ground operator → Payload control: release request
- Payload control → Deployment scripts: deployment control
- Deployment scripts → UAV: actuates servos
- UAV emulator → Flight control: simulated state