本文利用Dcoker搭建motion planning开发环境,本开发环境主要适用于深蓝学院高飞老师主讲的motion
planning课程。搭建过程主要参考:https://blog.csdn.net/PENG__WANG/article/details/123535158和https://github.com/AlexGeControl/Motion-Planning-for-Mobile-Robots
可以参考:双系统安装教程
具体步骤可以参考:Docker安装
步骤一:
步骤二:
sudo usermod -aG docker $USER
为了使上述变更生效,需要重启。
步骤:https://docs.docker.com/compose/install/
# 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
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启动整个应用程序
然后打开Chrome浏览器, 访问URLhttp://localhost:49001/, 默认账号/密码为motionplanning/motionplanning, 确保所有服务成功启动.
在Chrome浏览器中,访问URL http://localhost:40080/,默认登录密码为motionplanning,访问Docker Workspace
该工作区可以理解为一个在浏览器中的Ubuntu 18.04 Bionic环境。可以在其中进行一切 Ubuntu 环境下的开发操作。
作业需要的源代码与数据,分别是当前的 Repoworkspace/assignments和workspace/data目录下的。Docker Workspace当前Repoworkspace文件夹映射到Docker Instance/workspace目录下。
当前Repo workspace文件夹可以在中执行如下命令,确保当时–与Docker Workspace–Docker Instance /workspace的一致性
Docker运行时默认用户为root,运行过程中可能导致当前Repo workspace文件夹的用户和组变更为root,从而使本地文件IO因Permission Denied失败。解决方案:使用chown命令,变更User-Group:
sudo chown [CURRENT_USER]:[CURRENT GROUP] workspace
motion planning的课程作业可以通过本地VSCode开发, Docker内部编译测试的模式,进行开发与编译。
Repo中workspace目录,已经映射到Docker的/workspace目录。
可以使用VS code在宿主计算机上的workspace文件夹喜爱进行源代码开发。
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
看到如下地图,即证明环境配置成功。