Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Rotrics DexArmを使ってみた #1

仕事でRotrics DexArmを触る機会があったのでメモ。素人丸出しなところだらけですので、ご指摘頂けると嬉しいです m(_ _)m

まずは、MacにRotrics Studioをダウンロードして使おうとしたのですが、どうしてもUSB接続した本体を認識しません。VCPドライバが必要なのかも?と思ってインストールしてみましたが、これも有効化できず断念(私のMacBook Proの問題)。Linux版のStudioはまだ無さそうです。SDKもどうもまだ開発中のようで何も無い…。

付属のコントローラからは動かせるので、一応遊べるのですが、これではタダの高価なラジコン…。

ということで少し路線を変更して、シリアル通信でGCodeを流し込む作戦。今回、Linux機としてRaspberryPiを用意していました。付属のUSBコードを接続して、lsusbコマンドで見てみると、デバイスが認識されています!

STMicroelectronics Virtual COM Port

Screenコマンドで、以下のように接続が可能です。

screen /dev/ttyACM0 115200

エコーバックがないので、ちょっと使いづらいです(設定方法がある??)。

まとめて動かすには、Pythonのserialモジュールが便利です。

#!/usr/bin/env python3
import serial, time

s = serial.Serial("/dev/ttyACM0",115200)

def w(gcode):
    s.write(gcode.encode('utf-8')+b'\r\n')
    while (not s.read()): pass

#main function
def main():
    # アームを初期位置に
    w("M1111")
    time.sleep(1)
    # 動作速度の設定(8000が最大??)
    w("G0 F8000")
    # アームを指定した座標まで動かす
    w("G0 X150Y0Z100")
    w('G0 X0Y300Z0')
    w('G0 X0Y-300Z0')
    w('G0 X150Y150Z0')
    w('G0 X150Y-150Z0')
    w('G0 X300Y0Z0')
    w('G0 X200Y0Z50')

if __name__ == '__main__':
    main()

(2020.09.08更新)gcodeを書き込んだ後、serial.readを挟むと安定して動くようになりました。

めっちゃ魅力的な製品なんですが、もう少しお手軽に制御できるライブラリなどが出てくると良いかな、と思いました。

続き: Rotrics DexArmを使ってみた #2

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?