Introduction to ROS2
Автор: Aurora Robotics
Загружено: 2025-12-14
Просмотров: 12
Useful Links:
Resources, Slides and Guides: https://github.com/Bakel-Bakel/aurora...
Extra Study Material: https://github.com/Bakel-Bakel/aurora...
Workshop Practicals: https://github.com/Bakel-Bakel/aurora...
Workshop Practical Solutions: https://github.com/Bakel-Bakel/task-4...
Workshop Docs: https://github.com/Bakel-Bakel/roboti...
About Video:
The speaker began the video by acknowledging that the participants had reached the midpoint of the training and were finally moving on to ROS 2.
The speaker addressed a common question about whether to focus more on robotics theory or on learning ROS, stating that there is a finite amount of time but an infinite amount of knowledge. The speaker advised that ROS is just a tool, using the analogy of SolidWorks or CAD. An engineer with background knowledge is better equipped to use CAD than someone who only knows how to use the software, just as a robotics practitioner with theoretical knowledge is better equipped to use ROS. The speaker mentioned pausing their own ROS learning journey to focus on robotics theory, finding that when they returned to ROS later, "things looked far easier".
Key points about ROS 2:
ROS, which stands for Robot Operating System, is not an operating system, and this is considered one of its problematic aspects. To run ROS, a user must be running a flavor of Linux.
ROS is a middleware that facilitates robot communication.
The benefits of ROS 2 include its suitability for performance, reliability, and real-time robotics.
The speaker used a meme to illustrate that everything in robotics "looks pretty straightforward" until you get to ROS.
The speaker explained that a major goal of ROS is standardization, making it easy to ship code that can be run by someone else worldwide.
ROS 2 has tools for visualization (RViz2) and simulation (Gazebo, Nvidia Isaac Sim, MoveIt).
There are real-world applications of ROS, such as in the BlueROV, the UR5 robot, and autonomous labs. The speaker mentioned the example of the Golf Trolley by Bionics, which utilized an application of ROS.
ROS 2 evolved from "the old ROS," or ROS 1, due to issues encountered in the previous version. ROS 2 enables real-time robotics, whereas ROS 1 was "not real time".
The speaker then introduced the foundational concepts, or building blocks, of ROS 2, which are the numerous terminologies one must understand:
Node: A small executable program that performs a single task within the robot. Every sensor, motor controller, and AI module runs as its own node. Examples include a camera node, an arm planner, and a path planner.
Topic: A communication channel used for nodes to send or receive data. A node can publish data to a topic, and other nodes can subscribe to that topic and listen to the data.
Message: The actual data or "package of the data" being sent over a topic. These are structured like data types, which helps with strict type checking. Custom messages can be created.
Service: Used for request/response communication where one node waits for a response from another. A node sends a one-time request and waits for feedback to trigger the next action.
Action: A type of service used for long-running tasks that receives regular, predefined feedback. An example is an autonomous vehicle driving to a point, sending updates on its distance until it arrives and the action stops.
Parameter: Runtime configuration files used to store variables that might change, allowing users to tune behaviors easily without changing the code.
The speaker demonstrated the interaction between nodes and topics using two nodes: a talker and a listener.
Running the talker node publishes a string message ("hello world" followed by an incrementing number) every second.
The command ros 2 topic list showed the available topics, including chatter.
The command ros 2 topic echo chatter showed the messages being published to the chatter topic.
Running the listener node subscribed to the topic, and it began printing the same messages published by the talker.
The command ros 2 node list showed that only the listener and talker nodes were running.
Finally, the speaker introduced the first task, which involves creating a new ROS 2 workspace:
Create a directory for the workspace, which the speaker called ROS 2 class 1 WS (WS stands for workspace).
Change directory into the new workspace.
Clone an existing set of packages into a source folder using the git clone command with the --depth 1 flag to download only the latest copy without the full history.
Build the packages from source using colcon build. The speaker anticipated errors for participants who did not have the necessary prerequisites installed.
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: