0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Mac上使用Docker构建noVNC环境并运行MyCobot

大象机器人 来源:大象机器人 2025-01-15 09:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、引言

这篇文章主要内容是关于如何在 Ros2 环境中构建在 Mac 上模拟 Mycobot 280 M5 的环境。

我写这篇文章是因为相关可参考的文章不多,希望这篇文章可以给你一些帮助。

由于我是 ROS 新手,关于文章内容如果您有任何指教或补充,欢迎在下方留言和我们沟通。

二、准备工作与技术介绍

1、硬件组件

Elephant Robotics myCobot-6 DOF collaborative robot

myCobot 280系列机械臂是专门为研究、教育、技术应用和商业展览而开发的6-DOF协作机器人

2、环境配置

M3 MacBook Air

16GB RAM

三、项目运行

1、搭建ROS2环境

在Docker上搭建ROS2(Humble)环境

可以参考此链接搭建安装了ROS2的Ubuntu图形用户界面环境 https://memoteki.net/archives/2955#index_id3

然后创建一个Docker容器

*如果你的mac使用的是M系列芯片,或者arm64

在设置Dock容器的共享内存时最好进行一些修改——通常共享内存默认是64MB,容量不大,所以建议至少应设置为2GB。

docker run -p 6080:80 --security-opt seccomp=unconfined --shm-size=2G tiryoh/ros2-desktop-vnc:humble-amd64

成功启动后,访问http://127.0.0.1:6080/ 。此时 Ubuntu 应该已启动。

2、构建 MoveIt2 环境

这一步是通过官方教程来完成的。

教程链接为:https://moveit.picknik.ai/main/doc/tutorials/getting_started/getting_started.html

按顺序执行以下命令:

在 Ubuntu 终端中操作

source /opt/ros/humble/setup.bash

安装rosdep(可能已安装)

sudo apt install python3-rosdep
sudo rosdep init
rosdep update
sudo apt update
sudo apt dist-upgrade

安装colcon mixin扩展

sudo apt install python3-colcon-common-extensions
sudo apt install python3-colcon-mixin
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin update default

安装 vsctool

sudo apt install python3-vcstool

创建colcon工作空间

mkdir -p ~/ws_moveit/src

获取MoveIt源代码

cd ~/ws_moveit/src
git clone -b humble https://github.com/moveit/moveit2_tutorials
vcs import --recursive < moveit2_tutorials/moveit2_tutorials.repos

构建colcon工作空间

sudo apt remove ros-humble-moveit*
sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro humble -y

进行构建可能需要几十分钟到一个小时。

关于构建参数:

在Docker环境中,建议指定以下参数,以避免可能出现的内存不足问题。

--executor sequential:逐个进行构建

--parallel - workers 2:指定同时进行构建的数量

如果可以的话,也增加Docker共享内存来加快构建时间。

cd ~/ws_moveit
colcon build --mixin release

源代码

source ~/ws_moveit/install/setup.bash
echo ‘source ~/ws_moveit/install/setup.bash’ >> ~/.bashrc

3、关于构建中的错误

在构建中可能遇到各种错误,这里写出部分注释以供参考。

pick_ik错误

sudo apt-get remove ros-humble-pick-ik

ament_cmake错误

以特权用户身份运行构建命令

su

4、让mycobot模拟器与moveit2一起工作

参考以下链接来创作

https://www.youtube.com/watch?v=ZOIKEV_BCBE&t=566s

获取ROS2的mycobot源

在ws_moveit/src下克隆

git clone https://github.com/elephantrobotics/mycobot_ros2.git

5、启动设置助手

wKgZPGeHDRSAWlRHAAEs68dWRWc369.png

选择创建新MoviIt

选择mycobot的URDF并点击loadFile

mycobot_ros2/mycobot_description/urdf/mhcobot_280_m5/mycobot_280_m5.urdf

机器的型号以及泵头或摄像头是否可用可以根据情况而定。

自碰撞设置(Self collision)

默认生成冲突矩阵。

虚拟关节设置(Virtual joints)

添加虚拟接头,命名后保存它们。

3876a25c-d252-11ef-9310-92fbcf53809c.png

定义规划组(Planning Groups)

添加 Add Group

选择求解器的kdl_kinematics_plugin

Kin. parameters file设置为3

388522c8-d252-11ef-9310-92fbcf53809c.png

添加关节

除g_base以外,均可添加添加链接

同上,增加g_base

389a5ada-d252-11ef-9310-92fbcf53809c.png

添加姿态

使用滑块创建姿态。

也可以之后再添加。

38b16e0a-d252-11ef-9310-92fbcf53809c.png

设置ROS2控制器

点击“自动添加”

38b16e0a-d252-11ef-9310-92fbcf53809c.png

设置MoveIt控制器

点击“自动添加”

38d966e4-d252-11ef-9310-92fbcf53809c.png

添加作者和邮箱

38ea3334-d252-11ef-9310-92fbcf53809c.png

生成并保存

保存在colcon工作空间的src目录下

390a28e2-d252-11ef-9310-92fbcf53809c.png

构建和安装

cd ~/ws_moveit
colcon build --mixin release
. install/setup.bash

启动

ros2 launch mycobot_move_it demo.launch.py

391efede-d252-11ef-9310-92fbcf53809c.png

四、总结

通过以上步骤就可以使程序在模拟器中运行了。但是问题在于,在Mac系统上无法通过Docker使用USB,所以无法运行实际设备。如果你有关于本文的内容或者机械臂使用有任何观点和疑问,欢迎留言和我们交流沟通。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Mac
    Mac
    +关注

    关注

    0

    文章

    1125

    浏览量

    54909
  • 容器
    +关注

    关注

    0

    文章

    521

    浏览量

    22845
  • ROS
    ROS
    +关注

    关注

    1

    文章

    291

    浏览量

    18507
  • Docker
    +关注

    关注

    0

    文章

    526

    浏览量

    14046
  • 大象机器人
    +关注

    关注

    0

    文章

    86

    浏览量

    332

原文标题:在Mac上使用 Docker 构建一个 noVNC 环境并成功运行MyCobot案例!

文章出处:【微信号:ElephantRobotics,微信公众号:大象机器人】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARM平台实现Docker容器技术

    Docker的镜像提供了除内核外完整的运行环境,确保环境一致性,从而不会在出现“这段代码我机器
    发表于 07-17 11:05

    Docker开源开发平台运行容器化应用程序

    Docker 的开源开发平台运行容器化应用程序。Docker 允许 Oracle 虚拟机 (VM) Windows、Mac 或 Lin
    发表于 07-06 10:21

    【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】搭建基于Linux的Docker开发环境

    安装包和虚拟机镜像,使得环境的搭建更为方便。 由于论坛看到的大部分开发者使用的环境都是Windows安装
    发表于 01-23 10:07

    如何在Mac安装ArduinoIDE布置环境支持NodeMcu

    和小车通讯,Swoole WebScoket Server负责实时和浏览器交互。接下来我们详细介绍如何在Mac安装ArduinoIDE布置环境支持NodeMcu一 、安装Ar...
    发表于 11-01 09:06

    dockerROC-RK3308-CC运行的方法是什么?

    dockerROC-RK3308-CC运行的方法是什么?如何运行hello-world?
    发表于 03-09 07:54

    介绍一下linux环境docker的使用流程

    每次测试时,只要运行 Docker 镜像就可以有一个已经搭建完毕并且干净的测试环境,减少人力资本。Docker 也可以用于自动化测试,
    发表于 04-27 15:03

    Ubuntu 18.04 for Arm运行的TensorFlow和PyTorch的Docker映像

    变量 MKLDNN_VERBOSE=1 以验证构建在运行基准测试时使用 oneDNN。概括AArch64 的TensorFlow和PyTorch的Docker 映像现在可以
    发表于 10-14 14:25

    Docker容器构建环境及安全措施分析

    之前,公司需要搭建一个数据库环境,有了Docker之后,只需一些开源的基础镜像构建出公司自己的镜像即可。
    的头像 发表于 07-31 16:03 4643次阅读
    <b class='flag-5'>Docker</b>容器<b class='flag-5'>构建</b><b class='flag-5'>环境</b>及安全措施分析

    Docker开发预览版即将支持苹果Mac M1芯片

    今年 11 月,苹果发布了 M1 Mac 设备,Mac 设备开始转向 ARM 生态。尽管 Docker 最初的 Apple Silicon 发布会上被苹果提及,但要想让它在 M1
    的头像 发表于 12-11 09:52 2554次阅读

    Mac安装ArduinoIDE布置环境支持NodeMcu

    和小车通讯,Swoole WebScoket Server负责实时和浏览器交互。接下来我们详细介绍如何在Mac安装ArduinoIDE布置环境支持NodeMcu一 、安装Ar...
    发表于 10-26 10:21 9次下载
    <b class='flag-5'>在</b><b class='flag-5'>Mac</b><b class='flag-5'>上</b>安装ArduinoIDE<b class='flag-5'>并</b>布置<b class='flag-5'>环境</b>支持NodeMcu

    使用docker完成编译环境创建

    作者环境:主机MacBook Pro 2015(16G),Docker Desktop for Mac(官方)
    的头像 发表于 04-21 07:49 4298次阅读

    开源的Docker运行Mac OS是什么体验?

    使用沙箱机制,相互之间不会有任何接口。 相信大家对 Docker 并不陌生,有时候想把玩一些开源项目,如果对应的项目提供 Docker 的启动方式的话,你可以非常容易的将对应项目跑起来。所以,你有没有想过使用 Docker
    的头像 发表于 11-14 17:51 1430次阅读

    Docker 教程:如何将Helix QAC作为容器创建运行

    移植的,并且主要在Linux和Windows运行Docker 使使用容器创建、部署和运行应用程序变得更加容易。
    的头像 发表于 10-31 09:36 1642次阅读
    <b class='flag-5'>Docker</b> 教程:如何将Helix QAC作为容器创建<b class='flag-5'>并</b><b class='flag-5'>运行</b>

    介绍一款基于docker的渗透测试工具箱

    新版本基于docker构建,只要是安装了docker的主机的都可以正常运行,老版本基于shell脚本构建,只能在linux和
    发表于 08-18 10:37 937次阅读
    介绍一款基于<b class='flag-5'>docker</b>的渗透测试工具箱

    Docker运行环境安装

    、发布、测试和部署,可以帮助开发人员将最新版本代码应用到生产环境中。 Docker可以安装在多个平台中,包括Mac、Windows和Linux。不过,生产环境还是推荐
    的头像 发表于 10-29 11:28 1090次阅读