How daniel-zhang2017/ros2-robotics-projects works
This repository is a collection of ROS 2 robotics projects rather than one application. The README’s clearest user workflows are camera-to-YOLO detection/person alerts, system-status display, and turtle velocity control. The tree also contains robot base/sensor drivers, speech synthesis, multiple SLAM implementations, and browser-oriented image streaming. The graph keeps these as separate capabilities; wiring for some unsampled packages is intentionally not inferred from filenames alone. SLAM and streaming components are represented at meaningful subsystem level where the tree supports them.
Main entry points: wheeltec_robot.cpp Wheeltec Base · detection_node.py YOLO Detection · usb_cam_node.cpp USB Camera · web_video_server.cpp Web Video Server
Components 22
Vision and Video
- USB Camera
usb_cam-ros2/src/usb_cam_node.cpp - YOLO Detection
ultralytics_ros2/ultralytics_ros2/detection_node.py - Person Alert
person_detector/person_detector/person_detector_node.py - Web Video Server
web_video_server-ros2/web_video_server-ros2/src/web_video_server.cpp
Robot and Control
- Circle Controller
topic_practice_ws/src/turtle_draw/turtle_draw/draw_circle.py - Turtlesim
- Wheeltec Base
turn_on_wheeltec_robot/src/wheeltec_robot.cpp - IMU Processor
turn_on_wheeltec_robot/src/ImuProcessor.cpp
Status Interface
- Status Publisher
topic_practice_ws/src/status_publisher/status_publisher/sys_status_pub.py - Status Display
topic_practice_ws/src/status_display/src/sys_status_display.cpp - Status Topics
SLAM and Mapping
- GMapping SLAM
wheeltec_robot_slam/slam_gmapping/src/slam_gmapping.cpp - Particle Mapping Core
wheeltec_robot_slam/openslam_gmapping/gridfastslam/gridslamprocessor.cpp - Scan Matcher
wheeltec_robot_slam/openslam_gmapping/scanmatcher/scanmatcher.cpp - LeGO-LOAM
wheeltec_robot_slam/LeGO-LOAM-SR-master/LeGO-LOAM/src/main.cpp - LIO-SAM Optimization
wheeltec_robot_slam/LIO-SAM-ROS2/src/mapOptmization.cpp - SLAM Launchers
wheeltec_robot_slam/LIO-SAM-ROS2/launch/run.launch.py
Speech
- Text Synthesis
tts_make_ros2/src/tts_make.cpp
Other components
- Operator
- Video Client
- Serial Controller
- iFlytek TTS SDK
Connections 25
- Operator → USB Camera: starts camera
- Operator → YOLO Detection: starts detection
- USB Camera → YOLO Detection: publishes images
- YOLO Detection → Person Alert: annotated images
- Operator → Person Alert: starts alert
- Operator → Web Video Server: starts streaming
- Web Video Server → Video Client: serves image streams
- Operator → Status Publisher: runs publisher
- Status Publisher → Status Topics: publishes status
- Status Topics → Status Display: delivers status
- Operator → Status Display: runs display
- Operator → Circle Controller: runs controller
- Circle Controller → Turtlesim: publishes velocity
- Operator → Wheeltec Base: starts robot driver
- Wheeltec Base → Serial Controller: sends commands
- Serial Controller → Wheeltec Base: returns telemetry
- Wheeltec Base → IMU Processor: robot sensor data
- Operator → Text Synthesis: requests synthesis
- Text Synthesis → iFlytek TTS SDK: synthesizes speech
- Operator → SLAM Launchers: launches mapping
- SLAM Launchers → GMapping SLAM: starts node
- GMapping SLAM → Particle Mapping Core: processes scans
- Particle Mapping Core → Scan Matcher: registers scans
- Operator → LeGO-LOAM: runs SLAM
- Operator → LIO-SAM Optimization: runs SLAM