Directory layout
The workspace is organized into four main directories:src directory
Thesrc/ directory contains all ROS2 package source code. This is where you develop and modify packages.
Default packages cloned during setup:
DynamixelSDK/- Motor control SDK for TurtleBot3 actuatorsturtlebot3/- Core TurtleBot3 packagesturtlebot3_msgs/- ROS2 message definitionsturtlebot3_simulations/- Gazebo simulation packages
build directory
Thebuild/ directory contains intermediate build artifacts generated by colcon. This includes:
- Compiled object files
- CMake cache files
- Build system metadata
install directory
Theinstall/ directory contains the final installed packages and binaries. Key contents:
setup.bash- Workspace environment setup script- Package executables and libraries
- Installed resources and configuration files
log directory
Thelog/ directory contains build logs and event files from colcon:
- Individual package build logs
- Error messages and warnings
- Build event timeline
Version control considerations
When using Git with your ROS2 workspace: Do commit:- Source code in
src/ - Configuration files
- Custom launch files
- Documentation
build/directoryinstall/directorylog/directory- Temporary files
.gitignore file.
Workspace permissions
Thepost-create.sh script ensures proper permissions: