📖 Scenario: You are setting up a new ROS project. To organize your ROS packages, you need to create a catkin workspace. This workspace will help you build and manage your ROS packages efficiently.
🎯 Goal: Build a basic catkin workspace with the correct directory structure and configuration files so you can start adding ROS packages.
📋 What You'll Learn
Create a directory named catkin_ws in your home folder
Inside catkin_ws, create a src folder
Initialize the catkin workspace with catkin_init_workspace
Build the workspace using catkin_make
💡 Why This Matters
🌍 Real World
ROS developers use catkin workspaces to organize and build their robot software packages efficiently.
💼 Career
Understanding catkin workspace setup is essential for robotics engineers and developers working with ROS-based projects.
Progress0 / 4 steps
1
Create the catkin workspace directory
Create a directory called catkin_ws inside your home directory using the command mkdir -p ~/catkin_ws/src. This will create the workspace folder and the src folder inside it.
ROS
Hint
Use mkdir -p to create nested directories in one command.
2
Initialize the catkin workspace
Navigate to the src folder inside catkin_ws using cd ~/catkin_ws/src. Then run catkin_init_workspace to initialize the workspace.
ROS
Hint
Make sure you are inside the src folder before running catkin_init_workspace.
3
Build the catkin workspace
Go back to the root of your workspace with cd ~/catkin_ws. Then run catkin_make to build the workspace and generate necessary setup files.
ROS
Hint
Run catkin_make from the root of the workspace, not inside src.
4
Source the workspace setup file
Source the setup file to overlay this workspace on your environment by running source ~/catkin_ws/devel/setup.bash. This makes ROS aware of your workspace packages.
ROS
Hint
Use source to apply the workspace environment to your current shell session.
Practice
(1/5)
1. What is the purpose of creating a catkin workspace in ROS?
easy
A. To organize and build your ROS packages in one place
B. To install ROS system-wide dependencies
C. To run ROS nodes without any packages
D. To update the ROS core automatically
Solution
Step 1: Understand what a catkin workspace is
A catkin workspace is a folder where you keep your ROS packages organized and build them together.
Step 2: Identify the purpose of the workspace
It helps you manage your own ROS projects, not system-wide installations or running nodes without packages.
Final Answer:
To organize and build your ROS packages in one place -> Option A
Quick Check:
Workspace = Organize & build packages [OK]
Hint: Workspace holds your ROS projects and builds them [OK]
Common Mistakes:
Confusing workspace with system installation
Thinking workspace runs nodes alone
Assuming workspace updates ROS core
2. Which command correctly creates the source folder inside a catkin workspace named catkin_ws in your home directory?
easy
A. catkin_make ~/catkin_ws/src
B. mkdir ~/catkin_ws/src
C. mkdir -p ~/catkin_ws/src
D. source ~/catkin_ws/src
Solution
Step 1: Understand the folder creation command
The mkdir -p command creates the full directory path, including parent folders if missing.
Step 2: Identify the correct command for creating src inside catkin_ws
mkdir -p ~/catkin_ws/src uses mkdir -p ~/catkin_ws/src, which creates both catkin_ws and src if needed.
Final Answer:
mkdir -p ~/catkin_ws/src -> Option C
Quick Check:
Use mkdir -p for nested folders [OK]
Hint: Use mkdir -p to create nested folders at once [OK]
Common Mistakes:
Using mkdir without -p and missing parent folder
Confusing catkin_make with mkdir
Trying to source a folder instead of creating it
3. After creating your catkin workspace folder and src directory, what is the output of running catkin_make inside ~/catkin_ws?
medium
A. Error: src folder missing
B. Build successful with devel and build folders created
C. No output, command ignored
D. Workspace deleted
Solution
Step 1: Understand what catkin_make does
It builds the packages inside the src folder and creates devel and build folders for development and build files.
Step 2: Predict output after running catkin_make in a valid workspace
Since src exists, it will build successfully and create those folders.
Final Answer:
Build successful with devel and build folders created -> Option B
Quick Check:
catkin_make builds workspace and creates folders [OK]
Hint: catkin_make builds and creates devel/build folders [OK]
Common Mistakes:
Expecting error if src exists
Thinking catkin_make deletes workspace
Assuming no output or ignored command
4. You created a catkin workspace but forgot to source the setup file. What problem will you face?
medium
A. catkin_make will fail with syntax errors
B. The workspace will delete itself automatically
C. Your system will crash
D. ROS commands and packages from your workspace won't be recognized
Solution
Step 1: Understand the role of sourcing the setup file
Sourcing devel/setup.bash sets environment variables so ROS can find your workspace packages.
Step 2: Identify the effect of not sourcing
Without sourcing, ROS commands won't find your workspace packages, so they won't be recognized.
Final Answer:
ROS commands and packages from your workspace won't be recognized -> Option D
Quick Check:
Source setup file to use workspace [OK]
Hint: Always source setup.bash to use your workspace [OK]
Common Mistakes:
Thinking workspace deletes itself
Expecting catkin_make syntax errors
Assuming system crashes
5. You want to create a new catkin workspace named my_ws in your home directory and build it. Which sequence of commands is correct?
hard
A. mkdir -p ~/my_ws/src && cd ~/my_ws && catkin_make && source devel/setup.bash
B. cd ~/my_ws && mkdir src && catkin_make && source ~/my_ws/devel/setup.bash
C. mkdir ~/my_ws && catkin_make ~/my_ws/src && source ~/my_ws/setup.bash
D. mkdir -p ~/my_ws/src && catkin_make src && source ~/my_ws/devel/setup.bash
Solution
Step 1: Create workspace and src folder correctly
Use mkdir -p ~/my_ws/src to create both folders at once.
Step 2: Navigate to workspace and build
Change directory to ~/my_ws and run catkin_make to build the workspace.
Step 3: Source the setup file
Source devel/setup.bash inside the workspace to use the built packages.
Final Answer:
mkdir -p ~/my_ws/src && cd ~/my_ws && catkin_make && source devel/setup.bash -> Option A
Quick Check:
Create src, build, source setup.bash [OK]
Hint: Create src, cd workspace, catkin_make, then source setup.bash [OK]
Common Mistakes:
Running catkin_make outside workspace folder
Not sourcing the correct setup file
Using wrong paths in commands
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.