RustでUniversalRobotsの向けのCLIツールを作ってみた


RustでUniversal Robots社のロボットURシリーズを動かすためのツールを作ったので自慢したい。

対象とする読者

この記事はRustでUniversalRobotsのロボットを使う必要が出てきたプログラマ向けに書いています。

環境

  • コントロールボックス eシリーズ v5.8
  • ロボット UR16e(URSimで動作確認)
  • 言語 Rust 1.42.0
  • 使用ライブラリ clap(CLIパーサとして使用)

何を作ったか

以下の操作を行うツールを作成しました。

  • スクリプトを記述したテキストファイル読み込みソケットでロボットに送信する
  • DashboardServerのload/playを操作

この記事で解説しましたが、
Universal Robotsのロボットはスクリプトを受信するためのTCPポートを持っています。

このツールは、この記事で書いた内容をRustで書き直しただけです。
DashboardServer周りの機能を追加しcrate.ioで公開しました。

インストール方法

cargo install rur

操作方法

スクリプトファイルを送信する

rur send_script -r ur_ip_address test.script

Dashboard Severにtest.urpをロードして実行させる

$ rur ds load test.urp
$ rur ds play
start program...

今後やること

  • サブコマンドをもう少し充実させる
  • テスト環境をDockerで構築できるようにする(Dockerの勉強先か。。)