0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DockerでnoVNC環境を構築し、MyCobotをROS2とMoveIt2を使用して動かす

Posted at

はじめに

MacでMycobot 280 M5をRos2環境でシミュレーションする際の環境構築のメモです
あまり記事がなかったので執筆します

*ROS初学者です、指摘、補足などありましたらコメントお願いいたします🙇

環境

  • M3 MacBook Air
  • メモリ16GB

Ros2環境の構築

Docker上でRos2(humble)環境を構築します

こちらを参考にRos2インストール済みUbuntuGUI環境の構築を行います
https://memoteki.net/archives/2955#index_id3

dockerコンテナの作成

*Mチップの場合、-arm64をつける
shm-size:共有メモリ defautは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が起動しているはずです
noVNC - VNC______ · 7.44pm · 11-15.jpeg

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

ビルドします
数十分〜1時間程度かかります

buildの引数について

docker環境の場合、メモリ不足になる可能性があるので、以下の引数を指定することを推奨

  • --executor sequential:ひとつずつビルド
  • --parallel-workers 2:同時ビルド数を指定
    できるのであればdockerの共有メモリを増やすと、ビルド時間が早くなります
cd ~/ws_moveit
colcon build --mixin release

sourceする

source ~/ws_moveit/install/setup.bash
echo 'source ~/ws_moveit/install/setup.bash' >> ~/.bashrc

ビルドエラーについて

様々なエラーが出たのでメモとして残します

  • pick_ikエラー
    参考
    sudo apt-get remove ros-humble-pick-ik
    
  • ament_cmakeエラー
    特権ユーザーでビルドコマンドを実行
    参考
    su
    

moveit2でmycobotシミュレータを動かせるようにする

こちらを参考に作成します
https://www.youtube.com/watch?v=ZOIKEV_BCBE&t=566s

ROS2用mycobotソースを取得

ws_moveit/src下にclone

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

セットアップアシスタントを起動

ros2 launch moveit_setup_assistant setup_assistant.launch.py

noVNC - VNC______ · 12.31pm · 11-19.jpeg

Create New MoviItを選択

mycobotのURDFを選択し、loadFileを押下
mycobot_ros2/mycobot_description/urdf/mhcobot_280_m5/mycobot_280_m5.urdf

先端にpumpやカメラがついたモデルが用意されているので状況に応じて選択できます

self collisionの設定

デフォルトのままGenerate Collision matrix

Virtual jointsの設定

Add Virtual jointで追加、適当な名前をつけて保存
noVNC - VNC______ · 1.03pm · 11-19.jpeg

Planning Groupsの定義

Add Groupで追加
Solverはkdl_kinematics_pluginを選択
Kin. parameters file3に設定
noVNC - VNC______ · 1.07pm · 11-19.jpeg

Jointsの追加
g_base以外を追加
noVNC - VNC______ · 1.12pm · 11-19.jpeg

Linksの追加
同じくg_base以外を追加
noVNC - VNC______ · 1.14pm · 11-19.jpeg

ポーズの追加

スライダーを使用してポーズを作成します
あとから追加することも可
noVNC - VNC______ · 1.39pm · 11-19.jpeg

ROS2コントローラーのセットアップ

Auto Addでok

noVNC - VNC______ · 1.41pm · 11-19.jpeg

moveitコントローラーのセットアップ

Auto Addでok

noVNC - VNC______ · 1.43pm · 11-19.jpeg

Authorとメールの追加

noVNC - VNC______ · 1.45pm · 11-19.jpeg

ジェネレート&保存

colconワークスペースのsrc下に保存
noVNC - VNC______ · 1.50pm · 11-19.jpeg

ビルド・インストール

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

起動

ros2 launch mycobot_move_it demo.launch.py

noVNC - VNC______ · 1.56pm · 11-19.jpeg

おわりに

とりあえずシミュレータ上で動かすことができました

*macだとDocker経由でusb使えないらしいので実機を動かせないのがネックですね。。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?