ROS 1 is the first version of the Robot Operating System, a flexible framework for writing robot software. It provides tools and libraries to help build robot applications.
Click to reveal answer
intermediate
What major improvement does ROS 2 have over ROS 1?
ROS 2 improves on ROS 1 by supporting real-time communication, better security, and multi-robot systems. It uses DDS (Data Distribution Service) for communication, making it more reliable and scalable.
Click to reveal answer
beginner
How does ROS 1 handle communication between nodes?
ROS 1 uses a centralized master node to manage communication between nodes. This means all nodes register with the master to find each other.
Click to reveal answer
intermediate
What communication model does ROS 2 use?
ROS 2 uses a decentralized communication model based on DDS, which allows nodes to communicate directly without a central master. This improves robustness and flexibility.
Click to reveal answer
intermediate
Why is ROS 2 better for real-time applications?
ROS 2 supports real-time systems by allowing deterministic communication and better control over timing, which ROS 1 lacks due to its design and communication methods.
Click to reveal answer
Which version of ROS uses a centralized master node for communication?
AROS 1
BROS 2
CBoth ROS 1 and ROS 2
DNeither ROS 1 nor ROS 2
✗ Incorrect
ROS 1 uses a centralized master node to manage communication between nodes.
What communication technology does ROS 2 use?
ATCP/IP only
BHTTP
CDDS (Data Distribution Service)
DMQTT
✗ Incorrect
ROS 2 uses DDS for decentralized and reliable communication.
Which ROS version is designed to better support real-time robotic applications?
AROS 1
BROS 2
CBoth equally
DNeither
✗ Incorrect
ROS 2 supports real-time systems with deterministic communication, unlike ROS 1.
Which ROS version is more suitable for multi-robot systems?
AROS 2
BROS 1
CBoth are equally suitable
DNeither
✗ Incorrect
ROS 2's decentralized communication and DDS support make it better for multi-robot systems.
What is a key limitation of ROS 1 compared to ROS 2?
ALack of a graphical interface
BNo support for Python
CNo support for sensors
DCentralized communication master node
✗ Incorrect
ROS 1 relies on a centralized master node, which can be a single point of failure.
Explain the main differences between ROS 1 and ROS 2 communication models.
Think about how nodes find and talk to each other in each version.
You got /4 concepts.
Describe why ROS 2 is better suited for real-time and multi-robot applications compared to ROS 1.
Focus on timing and communication technology differences.
You got /4 concepts.
Practice
(1/5)
1. Which statement best describes the main difference between ROS 1 and ROS 2?
easy
A. ROS 1 is older and simpler, while ROS 2 supports real-time and better scalability.
B. ROS 1 supports real-time better than ROS 2.
C. ROS 2 is older and less flexible than ROS 1.
D. ROS 1 and ROS 2 have the same features and design.
Solution
Step 1: Understand ROS 1 characteristics
ROS 1 is the original version, simpler but limited in real-time and scalability.
Step 2: Understand ROS 2 improvements
ROS 2 was designed to fix these limits, adding real-time support and better scalability.
Final Answer:
ROS 1 is older and simpler, while ROS 2 supports real-time and better scalability. -> Option A
Quick Check:
ROS 1 simpler, ROS 2 modern and scalable = A [OK]
Hint: Remember ROS 2 is the newer, more advanced version [OK]
Common Mistakes:
Thinking ROS 2 is older than ROS 1
Believing ROS 1 has better real-time support
Assuming both versions have identical features
2. Which of the following is a correct way to describe ROS 2's communication middleware?
easy
A. ROS 2 does not support middleware communication.
B. ROS 2 uses DDS (Data Distribution Service) for flexible communication.
C. ROS 2 uses TCP only for all communication.
D. ROS 2 uses HTTP protocol for message passing.
Solution
Step 1: Identify ROS 2 communication method
ROS 2 uses DDS, a middleware standard, for flexible and scalable communication.
Step 2: Check other options
TCP only or HTTP are not used as the main middleware in ROS 2.
Final Answer:
ROS 2 uses DDS (Data Distribution Service) for flexible communication. -> Option B
Quick Check:
ROS 2 middleware = DDS [OK]
Hint: DDS is the key middleware in ROS 2 communication [OK]
4. You try to run a ROS 2 node but get an error about missing rclcpp::init. What is the likely cause?
medium
A. The error means your topic name is invalid.
B. ROS 1 nodes require rclcpp::init but ROS 2 does not.
C. You forgot to initialize the ROS 2 client library before creating nodes.
D. You used ROS 1 syntax in a ROS 2 project.
Solution
Step 1: Understand ROS 2 initialization
ROS 2 requires calling rclcpp::init before creating nodes to set up communication.
Step 2: Check error cause
Missing rclcpp::init causes runtime errors when nodes try to start.
Final Answer:
You forgot to initialize the ROS 2 client library before creating nodes. -> Option C
Quick Check:
Missing rclcpp::init means no ROS 2 initialization [OK]
Hint: Always call rclcpp::init before node creation in ROS 2 [OK]
Common Mistakes:
Confusing ROS 1 and ROS 2 initialization steps
Assuming topic name causes this error
Ignoring the need for client library init
5. You want to build a robot system that requires real-time control and works on multiple platforms including Windows and Linux. Which ROS version should you choose and why?
hard
A. Choose ROS 2 because it supports real-time control and multi-platform compatibility.
B. Choose ROS 1 because it is simpler and supports all platforms equally.
C. Choose ROS 1 because ROS 2 does not support Windows.
D. Choose ROS 2 but only if you use Linux, not Windows.
Solution
Step 1: Identify real-time and platform needs
The project needs real-time control and multi-platform support including Windows and Linux.
Step 2: Match requirements to ROS versions
ROS 2 supports real-time features and runs on Windows and Linux, unlike ROS 1 which is limited.
Final Answer:
Choose ROS 2 because it supports real-time control and multi-platform compatibility. -> Option A
Quick Check:
Real-time + multi-platform = ROS 2 [OK]
Hint: ROS 2 is designed for real-time and multi-platform use [OK]
Common Mistakes:
Assuming ROS 1 supports Windows well
Thinking ROS 2 lacks real-time features
Believing ROS 2 only works on Linux
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.