How kadirakcn00/robotics-journey works
Robotics Journey combines ROS 2 communication exercises with a simulated UGV stack. The UGV workflow spans simulation and robot state, sensor perception/localization, course navigation or manual control, and evaluation. The README documents SLAM, Nav2, robot description, Gazebo bridging, and competition-course capabilities whose implementation files are absent from this tree; those remain distinct nodes with directory paths. Edges are limited to excerpted calls or explicit README relationships; unsampled launch wiring and runtime topic connections are not asserted.
Main entry points: ugv_gazebo Gazebo Simulation · launch System Launches · mission.py Mission Logic · sign_detector_node.py Camera Perception
Components 31
ROS 2 Basics
- Publisher
ros2-basics/src/py_pubsub/py_pubsub/publisher_node.py - Subscriber
ros2-basics/src/py_pubsub/py_pubsub/subscriber_node.py - Service Client
ros2-basics/src/py_srvcli/py_srvcli/client_node.py - Service Server
ros2-basics/src/py_srvcli/py_srvcli/server_node.py - Pub/Sub Launch
ros2-basics/src/py_pubsub/launch/pubsub.launch.py
UGV Simulation
- Robot Description
ugv-project/src/ugv_description - Gazebo Simulation
ugv-project/src/ugv_gazebo - Odometry
ugv-project/src/ugv_odometry/ugv_odometry/odom_node.py - System Launches
ugv-project/src/ugv_bringup/launch - ROS-Gazebo Bridge
ugv-project/src/ugv_gazebo
Autonomy and Navigation
- SLAM Mapping
ugv-project/src/ugv_slam - Nav2 Navigation
ugv-project/src/ugv_navigation - Mission Node
ugv-project/src/ugv_autonomy/ugv_autonomy/mission_node.py - Mission Logic
ugv-project/src/ugv_autonomy/ugv_autonomy/mission.py - Sensor Localizer
ugv-project/src/ugv_autonomy/ugv_autonomy/localization.py - Obstacle Analysis
ugv-project/src/ugv_autonomy/ugv_autonomy/obstacles.py - Path Follower
ugv-project/src/ugv_course/ugv_course/path_follower.py
Perception and Control
- Camera Perception
ugv-project/src/ugv_perception/ugv_perception/sign_detector_node.py - Sign Recognition
ugv-project/src/ugv_perception/ugv_perception/sign_detection.py - Target Detection
ugv-project/src/ugv_perception/ugv_perception/target_detection.py - Driver Station
ugv-project/src/ugv_teleop/ugv_teleop/driver_station.py - Drive Logic
ugv-project/src/ugv_teleop/ugv_teleop/drive_logic.py - LiDAR Avoidance
ugv-project/src/ugv_control/ugv_control/avoid_node.py - Remote Driver
ugv-project/src/ugv_teleop/ugv_teleop/driver_station.py
Course Operations
- Course Tester
ugv-project/src/ugv_course/ugv_course/course_tester_node.py - Water Physics
ugv-project/src/ugv_course/ugv_course/water.py - Course Geometry
ugv-project/src/ugv_course/ugv_course/geometry.py - Run Referee
ugv-project/src/ugv_course/ugv_course/referee.py - Moving Obstacle
ugv-project/src/ugv_course/ugv_course/sliding_obstacle_node.py - Course Models
ugv-project/src/ugv_course/scripts/make_teknofest_course.py
Other components
- Operator
Connections 30
- Operator → Publisher: publishes
- Publisher → Subscriber: topic message
- Operator → Service Client: requests
- Service Client → Service Server: sends request
- Service Server → Service Client: returns response
- Operator → Pub/Sub Launch: starts nodes
- Robot Description → Gazebo Simulation: defines robot
- Gazebo Simulation → ROS-Gazebo Bridge: simulates topics
- ROS-Gazebo Bridge → Odometry: provides state
- Odometry → SLAM Mapping: supplies odometry
- SLAM Mapping → Nav2 Navigation: provides map
- Operator → Nav2 Navigation: sets goal
- Mission Node → Mission Logic: runs mission
ugv-project/src/ugv_autonomy/ugv_autonomy/mission_node.py - Mission Logic → Sensor Localizer: uses localization
ugv-project/src/ugv_autonomy/ugv_autonomy/mission.py - Mission Logic → Obstacle Analysis: uses avoidance
ugv-project/src/ugv_autonomy/ugv_autonomy/mission.py - Mission Logic → Path Follower: uses path following
ugv-project/src/ugv_autonomy/ugv_autonomy/mission.py - Camera Perception → Sign Recognition: calls detector
ugv-project/src/ugv_perception/ugv_perception/sign_detector_node.py - Mission Node → Camera Perception: consumes detections
- Camera Perception → Target Detection: detects target
- Driver Station → Drive Logic: uses controls
ugv-project/src/ugv_teleop/ugv_teleop/driver_station.py - Remote Driver → Driver Station: operates
ugv-project/src/ugv_teleop/ugv_teleop/driver_station.py - Course Tester → Path Follower: uses follower
ugv-project/src/ugv_course/ugv_course/course_tester_node.py - Course Tester → Water Physics: uses water model
ugv-project/src/ugv_course/ugv_course/course_tester_node.py - Run Referee → Course Geometry: checks contacts
ugv-project/src/ugv_course/ugv_course/referee.py - Course Models → Gazebo Simulation: generates course
- System Launches → Gazebo Simulation: launches simulation
- System Launches → SLAM Mapping: launches mapping
- System Launches → Nav2 Navigation: launches navigation
- System Launches → Camera Perception: launches perception
ugv-project/src/ugv_bringup/launch/perception.launch.py - Moving Obstacle → Gazebo Simulation: animates obstacle