ROADオンラインショップtwitterROSを活用した自律移動型ロボットの開発1.ROSの活用ROSとはROSやROS2とはロボット制御ソフトのミドルウェアです。自律移動型ロボットやロボットアーム用のソフトウェアが多く整っています。機能が必須となっていますが、ROSにはいくつかのSLAMパッケージが公開されています。地図情報の管理や、経路の計算、各種のグラフ表示ツール、そしてシミュレータなどといった、開発する上で必要となりそうなソフトの多くが用意されています。それらを下図のように接続することで自律移動型ロボットの制御を構築することができます。各モジュール(node)は自由に入れ替えたり組み替えたりすることができます。実機を使わずに事前にシミュレータ上でソフトウェアの開発を行うことが重要です。現場でロボットを動かすまでにデバッグを終えてからでなければなりません。シミュレーション上で試験し尽くした後、実際の現場にロボットを持ち込みます。シミュレーショの画面(gazebo)の一例を以下に示します。左半分はショッピングモールを模したシミュレーション環境。右半分はそのシミュレーション中に、自律走行アルゴリズムで持っている地図やセンサ情報を表示した画面です。他のソフトとの連携は正しくできているか、などのチェックを行います。短期間でとりあえず動く程度、概ね完成度「60%」程度までは作れると思います。実際に運用で使用できるようにするには、ROS関連のプログラムについても相当量の開発力が必要となります。運用する環境(地形)によってセンサーやアルゴリズムを検討したり、状態遷移のプログラムの開発、経路や目的地の設定、地図の切り替え、進入禁止エリアの設定、各種状態の通知などが必要となります。後に示しますようにROS以外でハード・電気・ソフト等など開発すべきことは多くあります。テクノロードはこの残りの60%から100%に近づけるところのお手伝いをさせて頂いております。この後に記す「ROS以外の開発要素」も含めて対応できるところを強みとしています。一つ重要な点はお客様のニーズに応じてカスタマイズできる点です。中国製等の量産型の自律移動型ロボット等で十分な場合は単価が安いのでそれで良いかと思います。それらでは難しい場合、例えばセンサの位置を変更したいとか、カメラを追加したいとか、指定のサーバーとのみ連携させたいとか、と言った場合に、テクノロードのカスタマイズできる対応力がお役立てるかと思います。ROS以外の開発要素(ハード・マイコン系)自律移動ロボットの開発ではROSに注目が行きがちですが、それ以外の開発要素も多くあります。テクノロードは、これまでに培った電気/機械/ソフト等一貫して開発できる強みを生かして、開発に取り組んでいます。基本的にロボットの電源はバッテリより供給され、直接またはDC/DC変換等をして所望の電圧に変換して、各機器で使用されます。自律移動型ロボットの電源系の設計では、さらに多く検討することがいくつかあります。テクノロードは電気系の開発にも長い経験がありますので、様々な条件に対応することができます。マイコン系・IO系ロボットの仕様に応じ、適したマイコンボードが必要となります。マイコンボードに求められる機能として、モーターとの通信(CANやRS485)、超音波センサ、バンパセンサ、フルカラーLEDテープ、小型LCDの表示等があります。バンパセンサ等は安全性・即時性が求められるため、PC(ROS)を介さずに、マイコンに入力してモータの停止制御等を行うなどといったことも必要となります。自律移動型ロボット用のマイコンボード/ファームウェアを開発し、さらに改良し続けています。これまでの自律移動型ロボットの開発で培った様々なノウハウが詰まっています。ROS以外の開発要素(GUI/ネットワーク系)自律移動型ロボットを運用する際には、一般的に上図のようなネットワーク構成となります。(Cloudを使用せずにローカルネットワークという構成もあります)1操作画面ロボットにユーザーインタフェース画面がある場合はその画面の開発も行っています。websocket)として作成する場合が多いです。ロボットとリアルタイムに通信し、センサーの値(下図では重量センサの値)表示や、異常時の画面切り替え等、インタラクティブに行えるように工夫しています。地図の作成や経路の設定などはROSのrviz等で可能ですが、ユーザー様にROS(Linux)の操作をして頂くのは敷居が高いです。設定ファイルやソフトウェアを壊してしまう可能性もありますので、基本的にユーザー様はROSを直接触らない構成が良いと考えています。Planner2」を開発し、ユーザー様が直接ROSを操作せずに簡単にロボットの地図作成や経路設定等の操作ができるようにしました。当ソフトはWindowsPCにインストールし、ロボットと直接WiFi通信等で接続して使用します。弊社で開発させて頂くロボットには、当ソフトを付属することが可能です。Windowsアプリとしているのは、設定項目が多いため広い画面が欲しい、ローカル側に設定ファイルを保存したい、等々のご要望が多いためです。3Coludロボットの運用を集中的に管理するためにCloudサーバー(Azure)を活用しています。Service)、等を行っています。4一般ユーザー用リモート監視ソフト一般ユーザー用のリモート監視用ソフトも開発しています。ロボットの運航状況のモニタリングや、簡単な走行指令が出来るようになっています。これはWebアプリ(html/javascript)で開発しています。限られた人のみ閲覧できるようアクセス制限なども行っています。実績これまでに多くの自律移動型ロボットの開発のお手伝いをさせて頂いています。ここにはまだ掲載できない現在進行中のロボットも多数あります。案内ロボット大垣市役所で、現在も実運用中。案内ロボット大垣市役所の新聞に掲載。警備ロボット西武新宿駅での実証実験。多くの人が行きかう中での走行。案内ロボット池袋パルコ内での実証実験。在庫チェックロボットRFIDの装置を接続することで、深夜に物品の在庫数チェック作業。検討業務のみの案件も請けております。ROS2の評価:各機能の評価。SLAM用の各ソフトの評価など。研究者向けコンサルテーション:ROSの基本的な使い方や、サンプルコードの作成。