ROS2 Lecture 0
Today’s Lecture
01 ROS History
02 Why ROS2
03 Prerequisites
04 Prepare the enviroment
0.1. ROS history
Let’s Start with some cool demos
AutoWare.auto Autonomus Driving Stack
https://www.youtube.com/watch?v=QcjUo7kcKxo
Publisher / Subscriber
Publisher Subscriber
Wheel /odom PID /motor_effort
Motor
Encoder Control
nav_msgs/Odometry std_msgs/Float64
ROS Middleware
• ROS Nodes
• ROS Messages
• ROS Topics
• Publisher
• Subscriber
Willow Garage
0.2. Why ROS2?
Why ROS2?
ROS was made for PR2 and guided by it’s use case
Why ROS2?
New use cases
• Small embedded platforms
• Real-time systems
• Non-ideal networks
• Production environments
• Teams of multiple robots
New technologies
• It is now possible to build a ROS-like middleware system using off-the-shelf open source libraries.
• maintain less code, especially non-robotics-specific code
• take advantage of features in those libraries that are beyond the scope of what we would build ourselves
• benefit from ongoing improvements that are made by others to those libraries
• can point to existing production systems that already rely on those libraries when people ask us whether
ROS is “ready for prime time”.
Data Distribution Service (DDS)
Noetic Ninjemys: The Last Official ROS 1 Release
0.3. Prerequisites
Prerequisites
ROS
0.4. Preparing the Environment
Installing ROS2
Ubuntu 18.04 -> Dashing Diademata
Ubuntu 20.04 -> Foxy Fitzroy
You can use docker -> docker pull osrf/ros:dashing-desktop
Lets Run the
Great Turtle
simulation
:~$ source /opt/ros/dashing/setup.bash
:~$ sudo apt update
:~$ sudo apt install ros-dashing-turtlesim
:~$ sudo apt install ros-dashing-rqt-*
:~$ source /opt/ros/dashing/setup.bash
:~$ ros2 run turtlesim turtlesim_node
:~$ source /opt/ros/dashing/setup.bash
:~$ ros2 run turtlesim turtle_teleop_key
Final Note.
Thank You