【Docker】利用Docker构建motion planner运动规划的开发环境

本文利用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
图片: https://uploader.shimo.im/f/hPU2uJ5koeHzv4Qp.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTYwNTEzNjcsImZpbGVHVUlEIjoibTRrTUx6N3pWSlNuZEJxRCIsImlhdCI6MTY1NjA1MTA2NywidXNlcklkIjo1Mjg5MzE0OH0.4rsbP6oMXrEj-u3-f8TahYtxcCnGn-qFRcjso_D8p9g

然后运行lanuch文件

# set up session:
source devel/setup.bash
# launch demo view:
roslaunch grid_path_searcher demo.launch  

图片: https://uploader.shimo.im/f/L3b09fp8dRgTdFrp.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTYwNTEzNjcsImZpbGVHVUlEIjoibTRrTUx6N3pWSlNuZEJxRCIsImlhdCI6MTY1NjA1MTA2NywidXNlcklkIjo1Mjg5MzE0OH0.4rsbP6oMXrEj-u3-f8TahYtxcCnGn-qFRcjso_D8p9g

看到如下地图,即证明环境配置成功。

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 43
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后厂村路蔡徐坤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值