Skip to main content

安装ROS1

准备工作

本教程使用Ubuntu20.04, ROS1(Noetic) 其实就是标准 Ubuntu 流程,ARM64 是官方支持的,可以直接装,不需要特殊适配

1. 先把 ROS 源加进去

添加软件源:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1.list'

添加公钥(这一步是为了让系统信任下载的内容):

sudo apt install curl -y
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

2. 刷新一下系统缓存

sudo apt update

3. 正式安装 ROS1 (Noetic)的直接链接")

推荐安装完整版,省得以后缺这少那的还得折腾:

sudo apt install ros-noetic-desktop-full -y

小贴士: 如果你底板存储空间实在紧巴巴的,也可以只装个基础版: sudo apt install ros-noetic-ros-base -y

4. 初始化 rosdep(关键一步)

sudo apt install python3-rosdep -y

sudo rosdep init
rosdep update

5. 别忘了配置环境变量

如果不配环境变量,系统每次重启都不知道 ROS 在哪儿。咱们直接把它塞进 .bashrc,一劳永逸。

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

测试是否成功

第一关:测试 roscore

  1. 打开终端 A,输入:

    roscore
  2. 别关终端 A,再开一个终端 B,输入:

    rostopic list

如果能看到 /rosout 之类的输出,说明核心服务已经跑起来了!

第二关:完整通信测试

  1. 终端 A 里发布一条消息(咱们喊一嗓子):

    rostopic pub /test std_msgs/String "data: 'hello neardi'" -r 1
  2. 终端 B 里接收消息(听听它喊啥):

    rostopic echo /test

如果你在终端 B 里看到了每秒跳出一条消息,那恭喜你,ROS 通信完全没问题,可以愉快地玩耍了!

FAQ:常见小坑

Q: 我用了桌面环境,但是 rviz 打开很卡或者干脆罢工怎么办? A: 这通常是驱动或者 OpenGL 的问题。试试在终端里执行下面这行,强行使用软件渲染试试:

export LIBGL_ALWAYS_SOFTWARE=1