Skip to content

Wiki

Introduction to ROS

About 8 min read

Existing English translations were reused. 1 current source blocks remain in Simplified Chinese, without triggering paid translation.

1.Introduction to ROS

2.Relationship between ROS and ROS2

The last ROS1LTSrelease ****ROS Noetic officially provides binary installation files only on Ubuntu20.04 Focal and Debian 10 Buster, and will be completely discontinued in 2025. (There are third-party ways to deploy ROS Noetic on distributions such as Ubuntu 22.04 Jammy, Ubuntu 24.04 Noble, and Debian 12 Bookworm.)

ROS2 It improves some legacy issues from the early design of ROS1 and will become mainstream in the future, but ROS2 is purely for the future. It can be learned now, but it is almost impossible to apply, and there are few tutorials.

**ROS2目前主流的LTS版本如下:**ROS Humble官方仅在Ubuntu22.04 Jammy提供二进制安装文件,ROS Jazzy官方仅在Ubuntu24.04 Noble提供二进制安装文件。

3.ROS teaching materials

  1. Instructional video

https://www.bilibili.com/video/BV1Ci4y1L7ZZ/

https://www.bilibili.com/video/BV1Ub4y1a7PH

  1. Teaching document

http://www.autolabor.com.cn/book/ROSTutorials/

4.Install ROS1 Noetic

InstallationROS2For details, see:ROS2Robot Operating System Tutorial

ROS1 has already reached EOF, so let's move on to ROS2.

4.1.Official channels

  1. WikiInstall Home:

https://wiki.ros.org/cn/noetic/Installation

4.1.1.Binary package installation (only supports Ubuntu20.04 Focal and Debian10 Buster,this method is more recommended)
  1. Ubuntu 20.04 Focal

https://wiki.ros.org/noetic/Installation/Ubuntu

  1. Debian10 Buster

https://wiki.ros.org/noetic/Installation/Debian

4.1.2.Manually compile based on the official source code (this method is not recommended)
  1. Supported distributions:

https://www.ros.org/reps/rep-2000.html

  1. Tutorial

    1. Ubuntu 20.04 Focal and Debian 10 Buster (redundant: since binary packages are available for installation, there is no need to compile from source)

    https://wiki.ros.org/noetic/Installation/Source

    1. Arch Linux

    https://wiki.ros.org/noetic/Installation/ArchLinux

4.2.third-party channels

4.2.1.Binary package installation (More recommended)
  1. Ways to support Ubuntu 22.04 Jammy:

https://rcbbs.top/t/topic/559

https://github.com/ganyuanzhen/ROS-on-Jammy

sudo add-apt-repository ppa:ros-for-jammy/noetic
sudo apt update
sudo apt install ros-noetic-desktop-full
  1. Methods to support Ubuntu 24.04 Noble:

https://rcbbs.top/t/topic/559

https://github.com/ganyuanzhen/ROS-on-Jammy

sudo add-apt-repository ppa:ros-for-jammy/noble
sudo apt update
sudo apt install ros-noetic-desktop-full
  1. Ways to support Debian 12 Bookworm:

https://gist.github.com/vrbadev/ec168a0940d45f523bf050011d7dff75

Retrieve the key again from the key server : You can directly retrieve and save this key file from the key server to the correct location. First, use the following command to retrieve the key from the key server and save it as the .asc file:

sudo wget -O /etc/apt/trusted.gpg.d/ros.asc https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc

This Mavros-related part does not need to be considered; the flight controller is not needed.

4.2.2.Docker container (not recommended, available for those who need it)

Docker Tutorial

https://gitee.com/qinyinan/amber-ce-bookworm

4.2.3.Manually compile from source code (not recommended)
  1. Ubuntu

https://zhuanlan.zhihu.com/p/688413327?utm_psn=1805362924497268736

  1. Fedora

https://zhuanlan.zhihu.com/p/687755518?utm_psn=1823704798471520256

5.Test ROS1

  1. Configure the environment (only needs to be configured once)

# 打开文件并编辑
sudo vim ~/.bashrc
  1. Add the command below at the end (only needs to be configured once)
source /opt/ros/noetic/setup.bash
  1. Load the modified file in the current terminal (only needs to be configured once)

# 加载文件
source ~/.bashrc
  1. Test

Open a terminal, and type the following command to open Master

roscore

Open another terminal and open the Turtle graphical interface node.

rosrun turtlesim turtlesim_node

Open another terminal and open the control node, select it with the mouse and place it in that terminal, then press the keyboard to make the 🐢turtle guy🐢 move.

rosrun turtlesim turtle_teleop_key