What is the role of the ROS Master in a ROS system?
The ROS Master acts like a phone book. It helps different parts of the robot (nodes) find and talk to each other by keeping track of who is publishing and subscribing to messages.
Click to reveal answer
beginner
What does the command roscore do?
roscore starts the ROS Master, the Parameter Server, and other essential parts needed for ROS nodes to communicate.
Click to reveal answer
beginner
Why do you need to run roscore before running other ROS nodes?
Because roscore starts the ROS Master, which is needed for nodes to find each other and exchange messages. Without it, nodes cannot communicate.
Click to reveal answer
intermediate
What happens if the ROS Master stops while nodes are running?
If the ROS Master stops, nodes lose the ability to find each other and communicate. Existing connections may break, and new connections cannot be made until the Master restarts.
Click to reveal answer
intermediate
How does the ROS Master help with topic communication between nodes?
The ROS Master keeps a list of which nodes publish or subscribe to which topics. When a node wants to communicate, it asks the Master for the address of the other nodes to connect directly.
Click to reveal answer
What is the main purpose of the ROS Master?
ATo control robot motors directly
BTo manage communication between nodes
CTo store sensor data permanently
DTo run robot navigation algorithms
✗ Incorrect
The ROS Master manages communication by helping nodes find each other and exchange messages.
Which command starts the ROS Master and essential services?
Aroscore
Broslaunch
Crosnode
Drosrun
✗ Incorrect
roscore starts the ROS Master and other essential services.
What happens if you try to run ROS nodes without running roscore first?
ANodes cannot communicate
BNodes will crash immediately
CNodes will automatically start <code>roscore</code>
DNodes will run normally
✗ Incorrect
Without roscore, the ROS Master is not running, so nodes cannot find each other or communicate.
What component does roscore NOT start?
AROS Master
BParameter Server
CRobot hardware drivers
DCommunication infrastructure
✗ Incorrect
roscore does not start hardware drivers; it starts the Master, Parameter Server, and communication infrastructure.
If the ROS Master stops, what is the immediate effect on running nodes?
ANodes automatically restart the Master
BNodes continue communicating without issues
CNodes lose all communication capabilities
DNodes lose ability to find new nodes but keep existing connections
✗ Incorrect
Nodes keep existing connections but cannot find new nodes without the Master.
Explain in your own words what the ROS Master does and why it is important.
Think of it like a phone book or directory for robot parts.
You got /3 concepts.
Describe what happens when you run the roscore command and why it must be running before other nodes.
It's like turning on the main control center before starting other robot parts.
You got /4 concepts.
Practice
(1/5)
1. What is the main role of the ROS master in a ROS system?
easy
A. It controls the robot's motors directly.
B. It helps different robot parts find and communicate with each other.
C. It stores sensor data permanently.
D. It provides a graphical user interface for robot control.
Solution
Step 1: Understand the function of ROS master
The ROS master acts as a central directory that helps nodes find each other to communicate.
Step 2: Compare options with this role
Only It helps different robot parts find and communicate with each other. describes this role correctly; others describe unrelated functions.
Final Answer:
It helps different robot parts find and communicate with each other. -> Option B
Quick Check:
ROS master = central communication helper [OK]
Hint: Remember ROS master is like a phone book for robot parts [OK]
Common Mistakes:
Thinking ROS master controls hardware directly
Confusing ROS master with data storage
Assuming ROS master provides UI
2. Which command do you run first to start the ROS master and essential services?
easy
A. rosnode start
B. rosrun master start
C. roslaunch master.launch
D. roscore
Solution
Step 1: Identify the command to start ROS master
The command roscore starts the ROS master and essential services.
Step 2: Check other commands
Other commands either don't exist or do not start the master service.
Final Answer:
roscore -> Option D
Quick Check:
Start ROS master with roscore [OK]
Hint: Always run roscore first to start ROS master [OK]
Common Mistakes:
Trying to start master with rosnode or rosrun
Confusing roslaunch with roscore
Assuming master starts automatically
3. What will happen if you try to run a ROS node before running roscore?
medium
A. The node will fail to communicate because the ROS master is not running.
B. The node will run normally and communicate with other nodes.
C. The node will start the ROS master automatically.
D. The node will run but only in offline mode.
Solution
Step 1: Understand the role of roscore
roscore must be running to provide the ROS master service for nodes to communicate.
Step 2: Analyze node behavior without roscore
If roscore is not running, nodes cannot register or find others, so communication fails.
Final Answer:
The node will fail to communicate because the ROS master is not running. -> Option A
Quick Check:
Node needs roscore running to communicate [OK]
Hint: No roscore means no communication for nodes [OK]
Common Mistakes:
Assuming nodes auto-start roscore
Thinking nodes run offline automatically
Believing nodes communicate without master
4. You ran roscore but your nodes still cannot communicate. What is a likely cause?
medium
A. You forgot to source the ROS setup file in your terminal.
B. You ran roscore twice.
C. Your robot hardware is turned off.
D. You used the wrong ROS version.
Solution
Step 1: Check environment setup
For nodes to find the ROS master, the terminal must source the ROS setup file to set environment variables.
Step 2: Evaluate other options
Running roscore twice causes errors but not communication failure; hardware off or wrong version may cause other issues but not this specific problem.
Final Answer:
You forgot to source the ROS setup file in your terminal. -> Option A
Quick Check:
Source setup file to connect nodes [OK]
Hint: Always source ROS setup before running nodes [OK]
Common Mistakes:
Ignoring environment setup
Assuming hardware affects communication directly
Thinking roscore can be run multiple times safely
5. You want to run multiple ROS nodes on different machines. What must you ensure about roscore and network settings?
hard
A. Run roscore on all machines but disable the network.
B. Run roscore separately on each machine with default settings.
C. Run roscore on one machine and set all machines to use its IP address for ROS master.
D. Run roscore only on the machine with the robot hardware.
Solution
Step 1: Understand ROS master role in multi-machine setup
Only one ROS master should run, and all nodes must connect to it using its IP address.
Step 2: Analyze network requirements
All machines must be networked so nodes can communicate via the ROS master IP.
Final Answer:
Run roscore on one machine and set all machines to use its IP address for ROS master. -> Option C
Quick Check:
One roscore, shared IP for multi-machine ROS [OK]
Hint: One roscore, share its IP with all machines [OK]