最近经常需要轻度使用下 ROS,ros2 和 ros1 都要用,我本身又用惯了 Windows,所以用 Docker 是比较好的解决方案, 桌面需求用 Web-vnc 解决。
所使用项目:
//ros2
https://github.com/Tiryoh/docker-ros2-desktop-vnc
//ros
https://github.com/Tiryoh/docker-ros-desktop-vnc
Tiryoh 提供了几乎所有版本的,多平台的 Base Image,所以我这里相当是提供了个具体的使用经验分享。
用 ROS2:humble 版本为例子。
源:
https://github.com/Tiryoh/docker-ros2-desktop-vnc/blob/master/humble
由 DockerFile 可以看到作者是按 ubuntu:jammy-20230804 作为基础镜像, 一点点装ROS进去的,同时也装了 Tigervnc, 因为有很清晰的 DockerFile 和 entrypoint.sh, 你也可以自己定制一个 Image。
例如在镜像中装上 bridge :
FROM tiryoh/ros2-desktop-vnc:humble
RUN apt-get update
RUN apt-get install ros-humble-foxglove-bridge -y
RUN apt-get install ros-humble-rosbridge-server -y
使用中遇到的一个问题:
有的环境下(例如比较老的CentOS),VNC会启动异常,导致无法进入 Desktop, 这个问题的解决重点在 entrypoint.sh 中
Supervisor 是个进程管理工具,可以看到是在这一步中启动的VNC
gosu '$USER', 是转换成当前用户执行,如果你的VNC启动出现问题,可以试着用root启动试试。
本文由 考拉 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Nov 16,2023