How mogi-ros/week-1-8-cognitive-robotics works
This repository is a ROS 2 TurtleBot3 teaching project: it combines Gazebo worlds and robot launch configurations with classical and CNN-based line following, plus image capture and model training. The main user workflow is to launch a simulation or robot setup, provide camera frames to a line-follower node, and publish velocity commands; a separate learning workflow captures labeled images and trains a CNN. The graph shows relationships visible in the sampled launch and node code; unsampled wiring is omitted.
Main entry points: simulation_bringup_line_follow.launch.py Line-follow sim · simulation_bringup_navigation.launch.py Map navigation sim · simulation_bringup_slam.launch.py SLAM sim · simulation_bringup_navigation_with_slam.launch.py SLAM navigation sim
Components 26
Simulation assets
- Gazebo worlds
turtlebot3_mogi/worlds - Gazebo models
turtlebot3_mogi/gazebo_models - Map assets
turtlebot3_mogi/maps
Robot launch workflows
- Line-follow sim
turtlebot3_mogi/launch/simulation_bringup_line_follow.launch.py - SLAM sim
turtlebot3_mogi/launch/simulation_bringup_slam.launch.py - Map navigation sim
turtlebot3_mogi/launch/simulation_bringup_navigation.launch.py - SLAM navigation sim
turtlebot3_mogi/launch/simulation_bringup_navigation_with_slam.launch.py - Robot navigation
turtlebot3_mogi/launch/robot_navigation.launch.py - Robot mapping
turtlebot3_mogi/launch/robot_mapping.launch.py - Robot visualization
turtlebot3_mogi/launch/robot_visualization.launch.py
Vision and control
- Image line follower
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower.py - CNN line follower
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower_cnn.py - Robot CNN follower
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower_cnn_robot.py
Model learning
- Training image capture
turtlebot3_mogi_py/turtlebot3_mogi_py/save_training_images.py - Training images
turtlebot3_mogi_py/training_images - CNN trainer
turtlebot3_mogi_py/turtlebot3_mogi_py/train_network.py - Trained models
turtlebot3_mogi_py/network_model - Saved images
turtlebot3_mogi_py/saved_images
Other components
- Operator
- Gazebo simulator
- RViz
- SLAM Toolbox
- Nav2
- Trajectory server
- Robot camera
- TurtleBot3
Connections 33
- Operator → Line-follow sim: launches
turtlebot3_mogi/launch/simulation_bringup_line_follow.launch.py - Operator → SLAM sim: launches
turtlebot3_mogi/launch/simulation_bringup_slam.launch.py - Operator → Map navigation sim: launches
turtlebot3_mogi/launch/simulation_bringup_navigation.launch.py - Operator → SLAM navigation sim: launches
turtlebot3_mogi/launch/simulation_bringup_navigation_with_slam.launch.py - Line-follow sim → Gazebo simulator: includes simulator
turtlebot3_mogi/launch/simulation_bringup_line_follow.launch.py - Line-follow sim → Gazebo models: adds resource path
turtlebot3_mogi/launch/simulation_bringup_line_follow.launch.py - Line-follow sim → RViz: starts
turtlebot3_mogi/launch/simulation_bringup_line_follow.launch.py - Line-follow sim → Trajectory server: starts
turtlebot3_mogi/launch/simulation_bringup_line_follow.launch.py - SLAM sim → SLAM Toolbox: includes
turtlebot3_mogi/launch/simulation_bringup_slam.launch.py - SLAM sim → RViz: starts
turtlebot3_mogi/launch/simulation_bringup_slam.launch.py - SLAM sim → Trajectory server: starts
turtlebot3_mogi/launch/simulation_bringup_slam.launch.py - Map navigation sim → Gazebo simulator: includes simulator
turtlebot3_mogi/launch/simulation_bringup_navigation.launch.py - Map navigation sim → Map assets: loads map
turtlebot3_mogi/launch/simulation_bringup_navigation.launch.py - Map navigation sim → Nav2: includes
turtlebot3_mogi/launch/simulation_bringup_navigation.launch.py - Map navigation sim → RViz: starts
turtlebot3_mogi/launch/simulation_bringup_navigation.launch.py - Map navigation sim → Trajectory server: starts
turtlebot3_mogi/launch/simulation_bringup_navigation.launch.py - SLAM navigation sim → Gazebo simulator: includes simulator
turtlebot3_mogi/launch/simulation_bringup_navigation_with_slam.launch.py - SLAM navigation sim → SLAM Toolbox: includes
turtlebot3_mogi/launch/simulation_bringup_navigation_with_slam.launch.py - SLAM navigation sim → Nav2: includes
turtlebot3_mogi/launch/simulation_bringup_navigation_with_slam.launch.py - Robot navigation → SLAM Toolbox: includes
turtlebot3_mogi/launch/robot_navigation.launch.py - Robot navigation → Trajectory server: starts
turtlebot3_mogi/launch/robot_navigation.launch.py - Line-follow sim → Gazebo worlds: selects world
turtlebot3_mogi/launch/simulation_bringup_line_follow.launch.py - Robot camera → Image line follower: publishes frames
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower.py - Image line follower → TurtleBot3: publishes velocity
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower.py - Robot camera → CNN line follower: publishes frames
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower_cnn.py - CNN line follower → TurtleBot3: publishes velocity
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower_cnn.py - Robot camera → Robot CNN follower: publishes frames
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower_cnn_robot.py - Robot CNN follower → TurtleBot3: publishes velocity
turtlebot3_mogi_py/turtlebot3_mogi_py/line_follower_cnn_robot.py - Robot camera → Training image capture: publishes frames
turtlebot3_mogi_py/turtlebot3_mogi_py/save_training_images.py - Training image capture → Saved images: writes images
turtlebot3_mogi_py/turtlebot3_mogi_py/save_training_images.py - Operator → CNN trainer: runs training
- CNN trainer → Training images: uses training data
- CNN trainer → Trained models: saves checkpoints
turtlebot3_mogi_py/turtlebot3_mogi_py/train_network.py