This shows you the differences between two versions of the page.
|
rasb:lab:ros2 [2026/06/28 08:11] jan.vaduva [How to get started?] |
rasb:lab:ros2 [2026/06/28 08:13] (current) jan.vaduva [How to get started?] |
||
|---|---|---|---|
| Line 9: | Line 9: | ||
| ==== Key Concepts: ==== | ==== Key Concepts: ==== | ||
| - | Nodes: Think of nodes as small programs or modules that perform specific tasks, like controlling a motor or processing sensor data. | + | * Nodes: Think of nodes as small programs or modules that perform specific tasks, like controlling a motor or processing sensor data. |
| - | + | * Topics: Nodes communicate with each other by sending and receiving messages through topics, which are like channels for specific types of information. | |
| - | Topics: Nodes communicate with each other by sending and receiving messages through topics, which are like channels for specific types of information. | + | * Services: Besides passing messages, nodes can also request specific actions from each other using services, which is like making a phone call and asking for something to be done. |
| - | + | * Middleware: ROS 2 uses a middleware (DDS - Data Distribution Service) that helps with data transfer between nodes, even if they’re running on different machines or systems. | |
| - | Services: Besides passing messages, nodes can also request specific actions from each other using services, which is like making a phone call and asking for something to be done. | + | |
| - | + | ||
| - | Middleware: ROS 2 uses a middleware (DDS - Data Distribution Service) that helps with data transfer between nodes, even if they’re running on different machines or systems. | + | |
| ==== Why use ROS 2? ==== | ==== Why use ROS 2? ==== | ||
| Line 23: | Line 20: | ||
| ==== How to get started? ==== | ==== How to get started? ==== | ||
| - | Install ROS 2: Start by installing the ROS 2 distribution that fits your system. (We have done this for you on your Raspberry Pis already) | + | - Install ROS 2: Start by installing the ROS 2 distribution that fits your system. (We have done this for you on your Raspberry Pis already) |
| - | + | - Learn the Basics: Get familiar with basic concepts like nodes, topics, and services. The talker listener tutorial here https://docs.ros.org/en/foxy/Tutorials/Beginner-Client-Libraries/Writing-A-Simple-Py-Publisher-And-Subscriber.html will be a good introduction to how to use publishers and subscribers in ROS2. | |
| - | Learn the Basics: Get familiar with basic concepts like nodes, topics, and services. The talker listener tutorial here https://docs.ros.org/en/foxy/Tutorials/Beginner-Client-Libraries/Writing-A-Simple-Py-Publisher-And-Subscriber.html will be a good introduction to how to use publishers and subscribers in ROS2. | + | - Try it Out on the Robot: Pupper is fully controllable via ROS, so doing our labs and final project will help you get acquainted with ROS2 and be able to use it on any other robot you interface with. |
| - | + | ||
| - | Try it Out on the Robot: Pupper is fully controllable via ROS, so doing our labs and final project will help you get acquainted with ROS2 and be able to use it on any other robot you interface with. | + | |
| - | === Common ROS Commands === | + | ==== Common ROS Commands ==== |
| - ros2 launch <package> <launch_file>: Launches the nodes that are specified in the fields of the launch description in the python launch file | - ros2 launch <package> <launch_file>: Launches the nodes that are specified in the fields of the launch description in the python launch file | ||
| Line 43: | Line 38: | ||
| - source /opt/ros/<distro>/setup.bash: Sources the global ROS 2 setup file for a specific distribution. | - source /opt/ros/<distro>/setup.bash: Sources the global ROS 2 setup file for a specific distribution. | ||
| - | === ROS Debugging Tips === | + | ==== ROS Debugging Tips ==== |
| - ROS is unable to find new information from changes you just made: sourcing install/setup.bash or the .bashrc can often help | - ROS is unable to find new information from changes you just made: sourcing install/setup.bash or the .bashrc can often help | ||