「myCobot」のPythonによる操作方法をまとめました。 (2022年版)
前回
1. pymycobot
「myCobot」をPythonで操作するには、「pymycobot」を使います。
2. Python側の準備
今回は、ローカルマシン上にPythonの仮想環境を作成して、そこでPythonスクリプトを実行します。
(1) ローカルマシン上にPythonの仮想環境を準備。
(2) Pythonの仮想環境に「pyserial」と「pymycobot」をインストール。
$ pip install pyserial
$ pip install pymycobot
3. myCobot側の準備
(1) 「M5Stack Basic」とPCをUSBケーブルで繋ぐ。
(2) 「minirobot」で「Transponder」を選択して、「Transponder」を開始。
4. LEDの色の変更
myCobotのAtomのLEDの色を変更するコードを作成します。
(1) ここからport_setup.pyを取得。
USBの接続先を選択して、MyCobotオブジェクトを生成するコードになります。
・port_setup.py
import serial
import serial.tools.list_ports
from pymycobot.mycobot import MyCobot
def setup():
print("")
plist = list(serial.tools.list_ports.comports())
idx = 1
for port in plist:
print("{} : {}".format(idx, port))
idx += 1
_in = input("\nPlease input 1 - {} to choice:".format(idx - 1))
port = str(plist[int(_in) - 1]).split(" - ")[0].strip()
print(port)
print("")
baud = 115200
_baud = input("Please input baud(default:115200):")
try:
baud = int(_baud)
except Exception:
pass
print(baud)
print("")
DEBUG = False
f = input("Wether DEBUG mode[Y/n]:")
if f in ["y", "Y", "yes", "Yes"]:
DEBUG = True
mc = MyCobot(port, baud, debug=DEBUG)
return mc
(2) led.pyを作成し、以下のように編集。
・hello_mycobot.py
from pymycobot.mycobot import MyCobot
from port_setup import setup
mycobot = setup()
mycobot.set_color(255, 0, 255)
(3) hello_mycobot.pyの実行。
USBの接続先、ボーレート、デバッグモードかどうかをCUIで入力します。成功すると、Atomが赤く光ります。
$ python hello.py
1 : /dev/cu.debug-console - n/a
2 : /dev/cu.wlan-debug - n/a
3 : /dev/cu.Bluetooth-Incoming-Port - n/a
4 : /dev/cu.usbserial-020FB1ED - CP2104 USB to UART Bridge Controller
5 : /dev/cu.SLAB_USBtoUART - CP2104 USB to UART Bridge Controller
Please input 1 - 5 to choice:5
/dev/cu.SLAB_USBtoUART
Please input baud(default:115200):
115200
Wether DEBUG mode[Y/n]:Y
◎ LEDの色
LEDの色の変更は、set_color(r, g, b)を使います。
◎ USBの設定
USBの設定は、以下のように直接指定することもできます。
5. 関節の角度の変更
関節の角度を変更するコードは、次のとおりです。
from pymycobot.mycobot import MyCobot
from pymycobot.genre import Angle
from port_setup import setup
mycobot = setup()
mycobot.send_angle(Angle.J2.value, 0, 80)
関節の角度の変更は、send_angle(id, degree, speed)を使います。
成功すると、第2関節が真っ直ぐになります。
6. 複数の関節の角度の変更
複数の関節の角度を変更するコードは、次のとおりです。
from pymycobot.mycobot import MyCobot
from pymycobot.genre import Angle
from port_setup import setup
mycobot = setup()
mycobot.send_angles([0,0,0,0,0,0], 80)
複数の関節の角度の変更は、send_angles(degrees, speed)を使います。
成功すると、第2関節が真っ直ぐになります。
7. その他のAPI
その他のAPIは、次のとおりです。
◎ 電源とフリーモード
◎ MDIモード
「MDI」は、関節の角度または座標の目標値を入力して、位置と姿勢を教える操作です。
◎ JOGモード
「JOG」は、関節の角度または座標を少しずつ動かして、目標の位置と姿勢を教える操作です。
◎ 速度と最大・最小移動角度
◎ サーボコントロール
◎ Atom IO
◎ LED
◎ グリッパー
参考
次回