Lecture Slides
W3L1 - Lecture 5 - Transforms (OM) - Copy.pdf
W3L2 - Lecture 6 - KF & Sensor Fusion.pdf
ROS 1 vs. ROS 2
- ROS 2 has no master node—nodes independently discover each other on the same subnet without needing to start a ROS master.
- Messages can be published with configurable buffer sizes.
- Communication includes QoS (Quality of Service) options for reliability and durability.
- Launch files are now written in Python instead of XML.
rospy
is replaced by rclpy
, and roscpp
is replaced by rclcpp
.
- Specific node base class
catkin_make
is replaced by colcon build
- Some repositories worth checking out
Motivation for Transforms
Until now, we've used sensor data without transformation, assuming the sensor's coordinate frame matched the robot's frame. However, this approach has limitations:
- Different Coordinate Frames
- Sensors often use their own unique coordinate frames
- Each sensor may define directions ("forward", "x", "θ") differently
- Transformation Challenges
- Sensor data needs to be transformed into the robot's frame
- Multiple sensors increase complexity
- Combining data from different sensors is challenging
The Solution: A unified robot coordinate frame, typically called "base-link" or "base-footprint", serves as a common reference point for all sensor data.
Transformation Matrix
Sensor positions relative to the base link have 6 degrees of freedom.