主な更新予定
OpenRTM-1.0.0への準拠
IIS共通化への準拠
1 知能化の観点から
1.1 上位RTCとの連携のための整備
移動知能モジュール群は単独では、ある目的地への自律移動機能だけを提供する。A地点に行き、物体Bを受け取り、現在地点にもどるなどのタスクを遂行させるには、他の知能モジュール群との連携、および、上位の作業スケジューラなどとのインタフェースを整備する必要がある。
1.2 エラー処理のための整備
経路を生成できなかったり、走行が不能になるなどのエラーに対しても頑健に対応できる機能を付加する。そのために、各RTCが個々でエラー状態を検知し通知できる機能を追加し、それらの通知を受けてシステム全体の振る舞いや構成を変更してエラーに対処する機能を実装していく。
1.3 経路計画への確率地図の使用
現在の経路計画は、2D地図の障害物存在確率を2値化したものをベースに、ポテンシャルを計算しているが、今後は確率そのものを使うよう改良する。
1.4 走行速度制御への確率地図の使用
現在のDriveControlは、2D地図の障害物存在確率を2値化したものをベースに、走行速度を導出しているが、今後は確率そのものを使うよう改良する。
1.5 外界センサによるLocalization&SLAMの導入
現状の位置姿勢推定はデッドレコニングであり、走行距離とともに誤差が蓄積するため、次期バージョンでは外界センサ(ビジョン)を利用した自己位置姿勢推定を導入する。
1.6 BumpDetectionの追加
現状では距離センサのスキャン平面を床面に水平となるよう移動ロボットに搭載しており、床面からの高さが低い物体や溝などは検出できない。次期バージョンでは、観測距離の短い距離センサを俯角をつけて移動ロボットに搭載し、さらに、進行方向の路面観測が行えるようそれをパン機構により制御することで、進行方向の危険を回避できるようにする。
2 共通化の観点から
移動知能に関連したワーキンググループでは、引き続き移動知能のモジュール化の粒度や、モジュール間のインタフェースの共通化を進めているが、それに呼応して改良をほどこす。
3 利便性の向上の観点から
3.1 ハードウェア仕様記述の使用
車輪の径、車軸間距離などはコンフィギュレーションパラメータで変更できるようにしているが、初期値は、個別に定義したパラメータファイルから読み込んでいる。OpenRTP開発チームではハードウェア記述仕様を用意し、順次、これにより記述をすすめている。また、ハードウェア仕様記述を管理し、検索読み出しを行えるリポジトリも使用できる予定であるので、これを用いてパラメータの初期化を行えるようにする。
3.2 起動処理の簡易化
すでにRtcHandleを用いた一括起動スクリプトを提供しているが、常設展示にも耐えるよう、専門家でなくとも、容易に起動、終了が行えるようにする。
3.3 処理速度の向上
これまでにリリースしたソースコードはシミュレーションおよび実機実験による動作検証は行っているが、処理速度についてはまだ短縮の余地がある。
例えば、ObstacleDetectionでは、DriveControlから受け取る自己位置姿勢情報と、URGSimulatorから受け取る距離情報を統合して障害物検出を行いますが、現状では同じonExecutionループで両者から受け取った情報をそのまま統合しています。しかし実際にはDriveControlから受け取った自己位置姿勢は必ずしもURGSimulatorから受け取った距離情報が測定されたときの位置姿勢である保証はありません。というよりむしろ、両者の時刻に必然的に差が存在します。次期バージョンでは、これを考慮した処理を実装する予定です。
現状では距離センサのスキャン平面を床面に水平となるよう移動ロボットに搭載しており、床面からの高さが低い物体や溝などは検出できない。次期バージョンでは、観測距離の短い距離センサを俯角をつけて移動ロボットに搭載し、さらに、進行方向の路面観測が行えるようそれをパン機構により制御する。
現状の位置姿勢推定はデッドレコニングであり、走行距離とともに誤差が蓄積する。次期バージョンでは、外界センサ(ビジョン)を利用した自己位置姿勢推定を導入する。
1.0.0でリリースしたソースコードはシミュレーションおよび実機実験による動作検証は行っているが、処理速度についてはまだ短縮のよりがある。
INVENT RTC群は単独では、ある目的地への自律移動機能だけを提供する。A地点に行き、物体Bを受け取り、現在地点にもどるなどのタスクを遂行させるには、他の知能モジュール群との連携、および、上位の作業スケジューラとのインタフェースを整備する必要がある。