智能云机器人初探1-docker的ROS容器对实体的turtlebot的控制

docker中的ROS容器对实体的turtlebot的控制

在智能云服务机器人的研究中,结合DOCKER容器技术是一个研究方向之一,本文阐述了利用容器技术进行一个线下机器人的基本控制方法。

一、概述

阅读本文之前,建议先阅读之前在仿真条件下做的turtlebot_sim的控制,本文的工作是基于仿真工作的基础进行的。之前,实体的turtlebot机器人未成功,主要是因为相应的package缺少,在docker的镜像这并未给出。

 package(功能包)是ROS中软件组织的基本形式,一个功能包具有最小的结构和最小的内容,用于创建ROS程序。它可以运行包含RIS运行的进程(节点)、配置文件等。

实际上,完整版的ROS系统大概 341 个package,详见“/opt/ros/indigo/share/“,但是ROS镜像中只包含了150左右的package,因此有很多的功能仅仅用DOCKER官方给的简单版的镜像是不能实现的。

二、尝试过的方法

为了解决这个问题,尝试过以下几个觉得可行性方法:
(1)直接在容器内部进行package的安装,failed。因为,在进行ROS容器的启用之前就改变了ROS容器的网络结构,不是用的默认docker0网桥,而是自定义的网桥,并且对自定义的网桥进行了配置,详细见:在仿真条件下做了turtlebot_sim的控制
(2)利用Docker的Volume数据卷共享机制,使ROS容器与本地共享package,failed。因为,虽然可以在容器内部“发现“这些共享包,单与本地共享的package功能包是由本地编译生成的,依赖的还是本地环境,即使重新编译,重新编译的命令比如catkin_make在容器内部也缺失。
(3)在Docker hub 官网给的简单版的ROS镜像基础上,重新制作包含完整版的功能包package的ROS的镜像,并用制作的镜像进行实验,Succeed

三、解决办法

如概述中所说,本文所提出的办法是在之前仿真办法的基础上,建议连着看。

3.1 简要回顾仿真的turtlebot的控制步骤:

3.1.1 将Docker中的ROS容
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值