ROS 2でカチャカをうごかしてみた

カチャカを動かしてみた Part3 国際ロボット展2023(IREX)

ROS 2でカチャカをうごかしてみた

こんにちは畠山です。
国際ロボット展2023(IREX)では弊社が開発した7軸構成のアームロボットの「CRANE-X7」と株式会社Preferred Roboticsさんが開発した「カチャカ」との連携による搬送デモを展示しました。本記事では搬送デモについてお話したいと思います。

 

弊社では、販売のほか、カチャカAPIを使ったプログラミングに関する有料サポートや、カチャカを使ったアプリケーションを開発したい企業に向けた受託開発も承ります。問い合わせはこちら

デモ内容について

こちらの動画のように、商品などの搬送を想定し、キューブをカチャカのシェルフで搬送を行いCRANE-X7がピッキングして入れ替え、もう片方のCRANE-X7まで運ぶ動作を繰り返します。

システム構成

本来、CRANE-X7とカチャカはROS 2に対応していますのでROS 2を使用した一つのシステムで実装したかったのですが、会場内のWi-Fiが不安定なのを考慮し、CRANE-X7とカチャカはそれぞれ独立したシステム構成にしました。それぞれが独立して動作するので連携して動作を行うために、カチャカにCRANE-X7のピッキング時間を想定した待機時間を設定し、疑似的な連携を行いました。

CRANE-X7
  • 対象物に取り付けられたマーカを認識する
  • 認識した対象物をピッキング&プレーシングする
  • もう一つの対象物をピッキング&プレーシングして対象物の位置を入れ替える

この位置の入れ替えの実装に関しては、こちらの記事で紹介されているRealSense D435マウンタ付きのCRANE-X7とサンプルコードをベースにしています。

https://rt-net.jp/humanoid/archives/5069
カチャカ

シェルフを搭載し、CRANE-X7間を一定周期で巡回する。

巡回プログラムの解説

今回は外部からのアクセスを少なく動かしたいので、ROS 2は使わずカチャカ本体内のJupyterLabを使用しました。JupyterLabの実行方法については公式のGitHubを確認してください。カチャカAPIでは、地図上の座標を指令するだけで移動してくれる機能も提供されています。しかし、会場内では人混などの環境変化の影響で目的地に到着する時間がばらつき動作が不安になります。目的地までの移動を安定して繰り返し動作を行いたく、カチャカのカメラを用いたライントレースを実装しました。

実装したコードは以下になります。

GitHub - rt-net/kachaka_samples
Contribute to rt-net/kachaka_samples development by creating an account on GitHub.

プログラム起動後はオフラインで操作できるようにカチャカの充電、シェルフとのドッキングなどの指令はアプリ経由ではなく、QRコードで指令できるようにしてあります。

QRコード作成に関しては、こちらにアクセスしてください。

Simple text QR code generator

またライントレースの速度指令は画像と同じ周期で送信していますが、取得する画像の周期は一定ではないため、Uターンの処理に関しては速度指令ではなく現在自己位置に対して180度旋回する処理となってます。そのため、事前に地図作成は必要になります。

会場でのセットアップについて

前日入りしてデモのセットアップを行いましたが、持ち込んだWi-Fiドングルが全くつながらず、テザリングで繋げて対処しました。

デモ運用に関しても、当初はカチャカのバッテリ残量を定期的に監視して減ってきたら休ませるという運用を想定してましたが、実際は忙しく残量を見るのを忘れることが多く、そのため稼働時間を決めて運用するようにしました。

今後のアップデートでバッテリ残量もAPIから確認できる機能が追加されたら、デモ中も自動で充電できるになるので期待したいですね。

感想

今回初めて出展者側で参加させていただきました。準備期間が短く単純なデモになりましたが、終日動いてくれて安心しました。

今後も、色んな展示会でカチャカのデモを展示していきますので、よろしくお願いします。

タイトルとURLをコピーしました