myCobot入門者向けのアタッチメント作りと簡単な動かし方
myCobotは6軸の可動域を持つロボットアームでその自由度の多さから自動猫じゃらしロボやプロジェクター投影等の多様な使われ方がされています.
myCobotはアタッチメントを追加して機能を追加していく仕様になっており, グリッパーを取り付ければものを掴む機能を追加できるし, 吸引ポンプを取り付ければものを吸い付かせることができるようになります. 公式には以下のアタッチメントが販売されています.
公式に販売されているもの以外にもアタッチメントを自作して機能を追加することができ, 作成したものはmyCobotについているネジ穴に固定することができます.
今回はmyCobot入門者向けに3DプリンタがあればすぐにアタッチメントをプリントできるようにSTLデータを作成してみました. ぜひお試しを!
準備したもの
myCobotには280 Piバージョンを使用しました.
myCobot 280 Pi- 6 DOF Collaborative Robot (Raspberry Pi version)
myCobot向けのアタッチメント作りにはANYCUBIC製の3Dプリンターを使用しました.
myCobotは傾くと重心が変わり, 横転してしまうので, その固定用のクランプを購入しました.
机や棚等, ちょっとやそっとじゃ動かないものに固定します.
myCobot底面にあるM3のネジ穴向け
myCobotの先端にあるM2.6のネジ穴向け
3DプリンタによるmyCobot用アタッチメント作り
myCobotについているネジ穴の規格
アタッチメント作りの前にmyCobotについているねじ穴の規格を確認します.
ロボットアームの先端にM2.6のネジ穴が4つ
ロボットアーム底面にM3のネジ穴が4つ
作成例
台座
myCobotはアームの動きによって重心が動きます. その重心移動によってmyCobotが転倒してしまいます.
これを防ぐためにはクランプ固定できるアタッチメントを作成することが必要です. 以下のSTLデータを3Dプリンタでプリントし, myCobotにねじ止めし, クランプで固定すると, 転倒を防止することができます.
カメラホルダー
myCobotのアームを制御するとき, 何らか周囲の状況を認識させたいです. そのようなときにはカメラをmyCobotの先端に取り付けるのが有効です. 下にmyCobotとカメラを接続させるアタッチメントのSTLデータを置きました.
OAK-D OpenCV DepthAIカメラ向け
USBカメラ向け
myCobotの動かし方
myCobotのRaspberryPiバージョンでは電源を入れれば, すぐに使用することができる状態になっています.
ロボットアームはpythonで動作させることができ, 公式でもサポートされています.
API
ライブラリのインポート
from pymycobot import MyCobot
メソッド
send_angle(id, degree, speed)
というようにリスト型で指定します.degrees
: J1からJ6に対し, アームの回転角度(float)を指定します. [J1の回転角度, J2の回転角度, J3の回転角度, J4の回転角度, J5の回転角度, J6の回転角度]speed
: アームの回転する速さ(int
) 0 ~ 100
指定した軸に対し, どの速さでどの角度にするか指示をしてアームを制御します.
すべての軸に対し, 角度0を指定するとまっすぐ立つ状態になります.
使用例
from pymycobot.mycobot import MyCobot
mycobot = MyCobot('/dev/ttyAMA0',1000000)
# 直立させる
mycobot.send_angles([0,0,0,0,0,0], 80)
おわりに
アタッチメントを作成することでmyCobotの自由度をさらに広げることができます. みなさんもぜひ自作してみてください.