myCobotをROSで動かしてみる


myCobotとは

myCobotは6万円くらいで買えるロボットアームです。サイズは小さいけどプログラムして楽しむためには十分なじゃないでしょうか?

メインコンピュータとしてM5Stackがくっついているというぶっ飛んだ構成であることも特徴です。

ファームウェアをアップデート

なにはともあれファームをアップデートしましょう。
↓からダウンロード出来ます。私はLinux版にしようとしましたが、Not Foundで見つかりませんでした。そもそもHPからリンクされているもののバージョンが古そう(0.0.1)なので、↓ではなく

↓こっちからDLしたほうがよさそうです。こちらは0.0.2です。

DLして解凍して実行してみたのですが、GLIBCのエラーが出て、ちょっと危険な香りがしました。


$ ./MyStudio 
[23996] Error loading Python lib '/home/ogura/Downloads/MyStudio/libpython3.8.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /home/ogura/Downloads/MyStudio/libpython3.8.so.1.0)

なのでMacOS版にすることにしました。
頭(ATOM)のファームとボディーのファーム(BASIC)Transponderを焼きました。

Transponder is 何?

コード見ればわかるように内部のコンピューターに司令をそのまま送っているだけで、M5Stackの無駄遣い、という感じのプログラムですね。

内部仕様についてはREADMEがあるのでこれ読めばわかりますね。(分からない)

ROSで動かす

Ubuntu 18.04, ROS melodicで動かしてみたいと思います。

公式にコードがあるのでこれをやってみます。

Pre-Requriements

まずPythonAPIをインストールしろ、ということなので、pip (ROSとの兼ね合いがあるので今時python2)でインストール。

$ pip install pymycobot --upgrade

2021/01/18の時点で壊れていてインストールできなかったのですが、2021/01/19ではすでに修正されていました。

ROSのコードビルド


$ cd ~/catkin_ws/src
$ git clone https://github.com/elephantrobotics/myCobotROS.git
$ catkin b

エラー発生。


Errors     << myCobotROS:cmake /home/ogura/catkin_ws/logs/myCobotROS/build.cmake
.000.log                                                                        
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_p
ackage):                                                                        
  Could not find a package configuration file provided by "serial" with any     
  of the following names:                                                       

    serialConfig.cmake                                                          
    serial-config.cmake                                                         

  Add the installation prefix of "serial" to CMAKE_PREFIX_PATH or set           
  "serial_DIR" to a directory containing one of the above files.  If "serial"   
  provides a separate development package or SDK, be sure it has been           
  installed.                                                                    
Call Stack (most recent call first):                                            
  CMakeLists.txt:6 (find_package)                                               

serialというライブラリが足りないようなので、ググった結果以下を実行。

sudo apt install ros-melodic-serial

rosdepでインストール出来るようにするためにPR投げておきました。

USBでロボットと接続し、

sudo chmod 666 /dev/ttyUSB0
rosrun myCobotROS control_slider.py
roslaunch myCobotROS control.launch
rosrun rviz rviz

という感じでいまだに荒削りな感じですが、このスピード感というか、できていなくても出しちゃう感はさすが、というか非常に好感が持てました。