文章目录
本文利用Dcoker搭建motion planning开发环境,本开发环境主要适用于深蓝学院高飞老师主讲的motion
planning课程。搭建过程主要参考:https://blog.csdn.net/PENG__WANG/article/details/123535158和https://github.com/AlexGeControl/Motion-Planning-for-Mobile-Robots
一、在Native PC上安装ubuntu
可以参考:双系统安装教程
二、Docker开发环境
具体步骤可以参考:Docker安装
(1)安装Docker
步骤一:
- 参考:https://docs.docker.com/engine/install/ubuntu/
步骤二:
- 安装完成后,还需要进行如下操作,以保证环境的易用性:(请务必执行此操作)将当前用户加入Docker Group。为了能在非sudo模式下使用Docker,需要将当前用户加入Docker Group。执行命令:
sudo usermod -aG docker $USER
为了使上述变更生效,需要重启。
(2)安装Docker-Compose
步骤:https://docs.docker.com/compose/install/
(3)获取镜像
# login to my Alibaba Cloud registry -- default password -- shenlansf20210122
docker login --username=937570601@qq.com registry.cn-shanghai.aliyuncs.com
# download images,ubuntu 18.04 + ROS melodic + vnc
docker pull registry.cn-shanghai.aliyuncs.com/shenlanxueyuan/motion-planning-for-mobile-robots:bionic-cpu-vnc
# TODO: enable ROS noetic
(4)启动实例
git clone https://github.com/AlexGeControl/Motion-Planning-for-Mobile-Robots.git
在当前Repo根目录下,启动Terminal,执行命令,启动Docker Workspace:
docker-compose down && docker-compose up
成功启动后,命令行输出如下 请不要过度在意此处的日志输出,请直接进行下一节的Service Health Check:.
Docker Compose是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML
文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 compose步骤有3:
1、使用Dockerfile定义环境 2、使用docker-compose.yml定义构成应用程序的服务 3、docker-compose
up启动整个应用程序
(5)健康检查
然后打开Chrome浏览器,访问URLhttp://localhost:49001/,默认账号/密码为motionplanning/motionplanning,确保所有服务成功启动.
(6)工作访问空间
在Chrome浏览器中,访问URL http://localhost:40080/,默认登录密码为motionplanning,访问Docker Workspace
该工作区可以理解为一个在浏览器中的Ubuntu 18.04 Bionic环境。可以在其中进行一切 Ubuntu 环境下的开发操作。
(7)文件挂载
作业需要的源代码与数据,分别是当前的 Repoworkspace/assignments和workspace/data目录下的。Docker Workspace当前Repoworkspace文件夹映射到Docker Instance/workspace目录下。
当前Repo workspace文件夹可以在中执行如下命令,确保当时–与Docker Workspace–Docker Instance /workspace的一致性
(8)常见问题
Docker运行时默认用户为root,运行过程中可能导致当前Repo workspace文件夹的用户和组变更为root,从而使本地文件IO因Permission Denied失败。解决方案:使用chown命令,变更User-Group:
sudo chown [CURRENT_USER]:[CURRENT GROUP] workspace
三、工作区配置
motion planning的课程作业可以通过本地VSCode开发,Docker内部编译测试的模式,进行开发与编译。
(1)开发
Repo中workspace目录,已经映射到Docker的/workspace目录。
可以使用VS code在宿主计算机上的workspace文件夹喜爱进行源代码开发。
(2)编译区检验
cd /workspace/assignments/01-env-setup/ROS
在上侧的Shell中,输入如下命令,编译catkin_workspace
# build
catkin_make
在下方左侧的Shell中,Launch ROS Core
# set up session:
source devel/setup.bash
# launch roscore
roscore
在下方右侧的Shell中,Launch RViz
# set up session:
source devel/setup.bash
# launch rviz
rviz
(1) 配置 rviz 插件
点击“+”,添加 Goal3DTool插件
点击“-”,删除 2D Nav Goal 和 2D Pose Estimate
(2)打开rviz的配置文件
路径为:/workspace/assignments/01-env-setup/ROS/src/grid_path_searcher/launch/rviz_config/demo.rviz
然后运行lanuch文件
# set up session:
source devel/setup.bash
# launch demo view:
roslaunch grid_path_searcher demo.launch
看到如下地图,即证明环境配置成功。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。