最近刚接触 ROS,搭环境就挺麻烦的。有看到小鱼一键安装,不过我有条新途径,用 OrbStack + Docker 跑 Noetic。
1. 安装 OrbStack
shell
brew install --cask orbstack
或者官网下载https://orbstack.dev/download
安装后界面如下

2. 修改 OrbStack 的 Docker 镜像源
shell
# 打开终端
vim ~/.orbstack/config/docker.json
{
"registry-mirrors" : [
"https://docker.1ms.run"
]
}
# 重启使配置生效
orb restart docker
# 查看 Docker 信息,此时能看到Registry Mirrors
docker info
# 运行一个测试容器,能拉下来说明镜像源ok
docker run hello-world
3. 拉取 ROS 镜像
ROS1最后一个版本是Noetic,与 Ubuntu 20.04(focal)配对,先选择版本https://1ms.run/r/osrf/ros/tags?tag=noetic

这两个镜像哪个都行,都是完整版本,而且也都是 Ubuntu 20.04,我选第一个下载
shell
docker pull docker.1ms.run/osrf/ros:noetic-desktop-full
检查版本信息

4. 启动 ROS
shell
# 打开终端,启动容器
docker run -it --rm docker.1ms.run/osrf/ros:noetic-desktop-full
# 进到容器后
echo $ROS_DISTRO # 应输出 noetic
roscore # 测试 roscore 能启动

5. 验证
shell
# 打开新的终端,进入容器
docker exec -it <容器 ID> bash
# 刷新环境变量(每个新窗口都需要执行,否则无法辨认 ros 命令)
source /opt/ros/noetic/setup.bash
# 查看 topic
rostopic list
