なぜmyCobotなのか?
- 6自由度のアームなのに安い。実質無料。
- M5StackとM5Atomを搭載してて、色々いじれそう
- アタッチメントの形式がレゴテクニック式なので、レゴテクニック勢の私が買わない理由がない。
- 白くシュッとしたデザイン
moveitできる実機が欲しくて自作に挑戦したことがあったのですが、ある程度高性能なサーボを買う必要があり「コスト的に気軽に踏み込めないないなぁ」と絶望してたところにmyCobotの先行販売があったので、さっと飛び付きました。
(なお、myCobotのリポジトリは日々更新されています。2021/01/06時点での情報なので、今後の変化についてはご了承ください)
#mycobot が到着! とりあえず、バンドグリッパーと土台を付けた。
— nisshan にっしゃん (@nisshan_) January 6, 2021
myCobot has just arrived! I attached my hand gripper and base to it. pic.twitter.com/fxCCkJCxyp
環境
この記事は以下の環境で動いています。
項目 | 値 |
---|---|
Ubuntu | 18.04 |
ROS | Melodic |
moveitの準備
- moveitのインストール
sudo apt install ros-melodic-moveit
- catkin_ws/srcの下で myCobotROSリポジトリのclone
git clone https://github.com/elephantrobotics/myCobotROS.git
- catkin_ws下で
catkin_make
- moveitのsetup_assistantを使って設定します。やり方は公式が一番詳しいので読んで順番に設定しましょう(私は不安だったので一度公式の通りpanda_moveit_configで練習しました)。最初に Create New MoveIt するときに落としてきた myCobotROS/urdf/mycobot_urdf.urdf を指定します。最後に Generate Package するときは Create New Folder してください。ここでは「 catkin_ws/src の下に mycobot_moveit として作った」として説明を進めます。
M5StackとM5Atomのファーム更新
- myCobotリポジトリのclone
git clone https://github.com/elephantrobotics/myCobot.git
- ローダのインストール
pip3 install esptool
- ファームのフォルダへ移動
cd myCobot/Software/myCobot固件烧录器V1.3/ino
- PCとM5Stack(根っこの方)をUSBケーブルでつないでファームを焼く。
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash --flash_mode dio -z 0xe000 boot_app0.bin 0x1000 bootloader_qio_80m.bin 0x10000 Transponder.ino.bin 0x8000 Transponder.ino.partitions.bin
- PCとM5Atom(先っちょの方)をUSBケーブルでつないでファームを焼く。
esptool.py --port /dev/ttyUSB0 write_flash --flash_mode dio -z 0xe000 boot_app0.bin 0x1000 bootloader_qio_80m.bin 0x10000 AtomMain2.3.ino.bin 0x8000 AtomMain2.3.ino.partitions.bin
エラーがでなければ完了です。なお、M5StackもM5Atomも何も表示されない&光らない状態になるので、不安になります(笑) でも中身は動いてるので安心してください。
moveitの起動
- USBケーブルをM5Stack側に接続し直す。
- ターミナルを2つ開く。
- ターミナル1
roslaunch mycobot_moveit demo.launch
- ターミナル2
rosrun myCobotROS control_slider.py
※
あとは、rvizでグリグリと動かすだけです。rviz上の操作方法は公式に説明がありますので読みましょう。
なお、表示されるスライドバーを動かすと各関節を曲げることができます。急激に変化させると激しく動くためかなり危険です。気を付けて少しずつ動かしましょう。
myCobotをROSのmoveit!で制御することに成功!#mycobot #ros #moveit pic.twitter.com/T2UIMSRYWV
— nisshan にっしゃん (@nisshan_) January 6, 2021
myCobotを持ってないけどPC内で動かしたい!
という方も大丈夫、できます。↑の手順をすべて実行し、※の部分だけ実行しなければOkです。rviz内でmyCobotが動きます。
すいません
この記事で書いた方法は「とりあえず簡単にmoveitを使ってmyCobotを動かす」やり方になります。本当はros_controlに接続できるかたちでmyCobot側のハードウェアインタフェースを記述してあげる必要があります。勉強して、正式対応版の記事を書きたいと思います。
→ myCobotでほんとうにmoveitする にまとめました。
参考 & Thanks
- ファームのロード方法は とよしさんのesptool – ESP8266およびESP32シリアルブートローダユーティリティ – GitHubじゃ!Pythonじゃ!を参考にしました。
- 色々迷ったらからあげさんのmyCobotのすべてを参考にしました。