安装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
-
打开终端 A,输入:
roscore -
别关终端 A,再开一个终端 B,输入:
rostopic list
如果能看到 /rosout 之类的输出,说明核心服务已经跑起来了!
第二关:完整通信测试
-
在终端 A 里发布一条消息(咱们喊一嗓子):
rostopic pub /test std_msgs/String "data: 'hello neardi'" -r 1 -
在终端 B 里接收消息(听听它喊啥):
rostopic echo /test
如果你在终端 B 里看到了每秒跳出一条消息,那恭喜你,ROS 通信完全没问题,可以愉快地玩耍了!
FAQ:常见小坑
Q: 我用了桌面环境,但是 rviz 打开很卡或者干脆罢工怎么办? A: 这通常是驱动或者 OpenGL 的问题。试试在终端里执行下面这行,强行使用软件渲染试试:
export LIBGL_ALWAYS_SOFTWARE=1