届いたから軽く触ったよ、という程度です。プログラミング的な話は基本ゼロです。 2017/7/21追記: 続報書きました。
以前にIndiegogoで出資したuFactory社のuArm Swift Proが届いたため、少しだけ触ってみました。
以下、証拠画像と証拠映像です。1台しか開封していませんが、実際は2台買ってます。
https://twitter.com/baku_dreameater/status/887623225240240130
https://twitter.com/baku_dreameater/status/887631142249091072
https://twitter.com/baku_dreameater/status/887648761375105026
ちなみに上記ツイートで「Hello World」と称して行ったピックアンドプレース(何かを拾って別の場所に置く動作)のプログラムですが、標準IDEであるuArm Studioを使用し、Blocklyで作っています。分量はこのくらいです。
2時間くらい触った時点での感想です。
- ピンが露出している所が多く、ギーク感
- エンドエフェクター(吸着カップとかハサミ型のつかむ用ハンドとか)は取り替えやすい
- グリグリ動かして動作を教え込み、そのまま再生する(ティーチ & プレイ)のはハードル低い代わり、応用力があまり高くない
- サーボのロックを切るとアームがいきなりガコンと落ちるので、ちょっと心臓に悪い
- 第4軸(吸着カップやハンド)をまわす処理が、他のサーボを動かすAPIと分かれてしまっており、すこし扱いづらい
- IDE上のBlocklyとロボットの連動は割といい感じになっている
Blocklyとロボットの連動は「細かい事に気がつくね」という話で、具体的には以下のような処理がサポートされています。
- ユーザーがBlockly上でMove To(「特定の位置へうごけ」)のコマンドを置く
- Move Toを置いた時点で自動的にロボットのサーボが切れ、手でグリグリできる状態になる
- 2の処理に加えて、ダイアログで「目標地点まで手で持って動かしてね」というような指示が出る
- 手でロボットを動かし、ダイアログを「OK」で閉じることで、移動の目標地点を設定
全体として、ユーザー側の予備知識が少なくても大丈夫なように流れが設計されています。こういう気づかいは(一見すると地味ですが)良い点ですね。
それと、感想に追加でもうひとつ。uArm SwiftのAPI整備状況ですが、Python APIの質疑を見てみると
「言語用のAPIはまだ完成してないけどGCodeのインターフェースならドキュメントあるよ!」
という主旨の事が書かれています。私は最初から.NETのラッパーを作るつもりでいたので、GCodeがあるなら特に問題ないかな、という結論に至っています。
参考までに、GCodeのインターフェースが載っているドキュメントはこのページの"Getting Started with uArm Swift Pro"です。
今回は「届きました」報告なので、これだけでおしまいです。 次回の記事公開時点では.NETからuArm Swiftの機能が使えるようになってるはずなので、ご期待下さい。