0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Mac上使用Docker構(gòu)建noVNC環(huán)境并運行MyCobot

大象機器人 ? 來源:大象機器人 ? 2025-01-15 09:17 ? 次閱讀

一、引言

這篇文章主要內(nèi)容是關(guān)于如何在 Ros2 環(huán)境中構(gòu)建在 Mac 上模擬 Mycobot 280 M5 的環(huán)境。

我寫這篇文章是因為相關(guān)可參考的文章不多,希望這篇文章可以給你一些幫助。

由于我是 ROS 新手,關(guān)于文章內(nèi)容如果您有任何指教或補充,歡迎在下方留言和我們溝通。

二、準(zhǔn)備工作與技術(shù)介紹

1、硬件組件

Elephant Robotics myCobot-6 DOF collaborative robot

myCobot 280系列機械臂是專門為研究、教育、技術(shù)應(yīng)用和商業(yè)展覽而開發(fā)的6-DOF協(xié)作機器人。

2、環(huán)境配置

M3 MacBook Air

16GB RAM

三、項目運行

1、搭建ROS2環(huán)境

在Docker上搭建ROS2(Humble)環(huán)境

可以參考此鏈接搭建安裝了ROS2的Ubuntu圖形用戶界面環(huán)境 https://memoteki.net/archives/2955#index_id3

然后創(chuàng)建一個Docker容器

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

在設(shè)置Dock容器的共享內(nèi)存時最好進(jìn)行一些修改——通常共享內(nèi)存默認(rèn)是64MB,容量不大,所以建議至少應(yīng)設(shè)置為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 應(yīng)該已啟動。

2、構(gòu)建 MoveIt2 環(huán)境

這一步是通過官方教程來完成的。

教程鏈接為:https://moveit.picknik.ai/main/doc/tutorials/getting_started/getting_started.html

按順序執(zhí)行以下命令:

在 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

創(chuàng)建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

構(gòu)建colcon工作空間

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

進(jìn)行構(gòu)建可能需要幾十分鐘到一個小時。

關(guān)于構(gòu)建參數(shù)

在Docker環(huán)境中,建議指定以下參數(shù),以避免可能出現(xiàn)的內(nèi)存不足問題。

--executor sequential:逐個進(jìn)行構(gòu)建

--parallel - workers 2:指定同時進(jìn)行構(gòu)建的數(shù)量

如果可以的話,也增加Docker共享內(nèi)存來加快構(gòu)建時間。

cd ~/ws_moveit
colcon build --mixin release

源代碼

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

3、關(guān)于構(gòu)建中的錯誤

在構(gòu)建中可能遇到各種錯誤,這里寫出部分注釋以供參考。

pick_ik錯誤

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

ament_cmake錯誤

以特權(quán)用戶身份運行構(gòu)建命令

su

4、讓mycobot模擬器與moveit2一起工作

參考以下鏈接來創(chuàng)作

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、啟動設(shè)置助手

wKgZPGeHDRSAWlRHAAEs68dWRWc369.png

選擇創(chuàng)建新MoviIt

選擇mycobot的URDF并點擊loadFile

mycobot_ros2/mycobot_description/urdf/mhcobot_280_m5/mycobot_280_m5.urdf

機器的型號以及泵頭或攝像頭是否可用可以根據(jù)情況而定。

自碰撞設(shè)置(Self collision)

默認(rèn)生成沖突矩陣。

虛擬關(guān)節(jié)設(shè)置(Virtual joints)

添加虛擬接頭,命名后保存它們。

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

定義規(guī)劃組(Planning Groups)

添加 Add Group

選擇求解器的kdl_kinematics_plugin

Kin. parameters file設(shè)置為3

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

添加關(guān)節(jié)

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

同上,增加g_base

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

添加姿態(tài)

使用滑塊創(chuàng)建姿態(tài)。

也可以之后再添加。

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

設(shè)置ROS2控制器

點擊“自動添加”

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

設(shè)置MoveIt控制器

點擊“自動添加”

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

添加作者和郵箱

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

生成并保存

保存在colcon工作空間的src目錄下

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

構(gòu)建和安裝

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

啟動

ros2 launch mycobot_move_it demo.launch.py

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

四、總結(jié)

通過以上步驟就可以使程序在模擬器中運行了。但是問題在于,在Mac系統(tǒng)上無法通過Docker使用USB,所以無法運行實際設(shè)備。如果你有關(guān)于本文的內(nèi)容或者機械臂使用有任何觀點和疑問,歡迎留言和我們交流溝通。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Mac
    Mac
    +關(guān)注

    關(guān)注

    0

    文章

    1108

    瀏覽量

    51567
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    498

    瀏覽量

    22087
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    279

    瀏覽量

    17042
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    489

    瀏覽量

    11892

原文標(biāo)題:在Mac上使用 Docker 構(gòu)建一個 noVNC 環(huán)境并成功運行MyCobot案例!

文章出處:【微信號:ElephantRobotics,微信公眾號:大象機器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ARM平臺實現(xiàn)Docker容器技術(shù)

    Docker的鏡像提供了除內(nèi)核外完整的運行環(huán)境,確保環(huán)境一致性,從而不會在出現(xiàn)“這段代碼我機器
    發(fā)表于 07-17 11:05

    Docker開源開發(fā)平臺運行容器化應(yīng)用程序

    Docker 的開源開發(fā)平臺運行容器化應(yīng)用程序。Docker 允許 Oracle 虛擬機 (VM) Windows、Mac 或 Lin
    發(fā)表于 07-06 10:21

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】搭建基于Linux的Docker開發(fā)環(huán)境

    安裝包和虛擬機鏡像,使得環(huán)境的搭建更為方便。 由于論壇看到的大部分開發(fā)者使用的環(huán)境都是Windows安裝
    發(fā)表于 01-23 10:07

    如何在Mac安裝ArduinoIDE布置環(huán)境支持NodeMcu

    和小車通訊,Swoole WebScoket Server負(fù)責(zé)實時和瀏覽器交互。接下來我們詳細(xì)介紹如何在Mac安裝ArduinoIDE布置環(huán)境支持NodeMcu一 、安裝Ar...
    發(fā)表于 11-01 09:06

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

    dockerROC-RK3308-CC運行的方法是什么?如何運行hello-world?
    發(fā)表于 03-09 07:54

    介紹一下linux環(huán)境docker的使用流程

    ,每次測試時,只要運行 Docker 鏡像就可以有一個已經(jīng)搭建完畢并且干凈的測試環(huán)境,減少人力資本。Docker 也可以用于自動化測試,
    發(fā)表于 04-27 15:03

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

    變量 MKLDNN_VERBOSE=1 以驗證構(gòu)建在運行基準(zhǔn)測試時使用 oneDNN。概括AArch64 的TensorFlow和PyTorch的Docker 映像現(xiàn)在可以
    發(fā)表于 10-14 14:25

    Docker容器構(gòu)建環(huán)境及安全措施分析

    之前,公司需要搭建一個數(shù)據(jù)庫環(huán)境,有了Docker之后,只需一些開源的基礎(chǔ)鏡像構(gòu)建出公司自己的鏡像即可。
    的頭像 發(fā)表于 07-31 16:03 ?4206次閱讀
    <b class='flag-5'>Docker</b>容器<b class='flag-5'>構(gòu)建</b><b class='flag-5'>環(huán)境</b>及安全措施分析

    Docker開發(fā)預(yù)覽版即將支持蘋果Mac M1芯片

    今年 11 月,蘋果發(fā)布了 M1 Mac 設(shè)備,Mac 設(shè)備開始轉(zhuǎn)向 ARM 生態(tài)。盡管 Docker 最初的 Apple Silicon 發(fā)布會上被蘋果提及,但要想讓它在 M1
    的頭像 發(fā)表于 12-11 09:52 ?2197次閱讀

    Mac安裝ArduinoIDE布置環(huán)境支持NodeMcu

    和小車通訊,Swoole WebScoket Server負(fù)責(zé)實時和瀏覽器交互。接下來我們詳細(xì)介紹如何在Mac安裝ArduinoIDE布置環(huán)境支持NodeMcu一 、安裝Ar...
    發(fā)表于 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'>環(huán)境</b>支持NodeMcu

    使用docker完成編譯環(huán)境創(chuàng)建

    作者環(huán)境:主機MacBook Pro 2015(16G),Docker Desktop for Mac(官方)
    的頭像 發(fā)表于 04-21 07:49 ?3335次閱讀

    開源的Docker運行Mac OS是什么體驗?

    使用沙箱機制,相互之間不會有任何接口。 相信大家對 Docker 并不陌生,有時候想把玩一些開源項目,如果對應(yīng)的項目提供 Docker 的啟動方式的話,你可以非常容易的將對應(yīng)項目跑起來。所以,你有沒有想過使用 Docker
    的頭像 發(fā)表于 11-14 17:51 ?1026次閱讀

    Docker 教程:如何將Helix QAC作為容器創(chuàng)建運行

    移植的,并且主要在Linux和Windows運行。Docker 使使用容器創(chuàng)建、部署和運行應(yīng)用程序變得更加容易。
    的頭像 發(fā)表于 10-31 09:36 ?997次閱讀
    <b class='flag-5'>Docker</b> 教程:如何將Helix QAC作為容器創(chuàng)建<b class='flag-5'>并</b><b class='flag-5'>運行</b>

    介紹一款基于docker的滲透測試工具箱

    新版本基于docker構(gòu)建,只要是安裝了docker的主機的都可以正常運行,老版本基于shell腳本構(gòu)建,只能在linux和
    發(fā)表于 08-18 10:37 ?569次閱讀
    介紹一款基于<b class='flag-5'>docker</b>的滲透測試工具箱

    Docker運行環(huán)境安裝

    、發(fā)布、測試和部署,可以幫助開發(fā)人員將最新版本代碼應(yīng)用到生產(chǎn)環(huán)境中。 Docker可以安裝在多個平臺中,包括Mac、Windows和Linux。不過,生產(chǎn)環(huán)境還是推薦
    的頭像 發(fā)表于 10-29 11:28 ?241次閱讀