複雑化する自律移動ロボットをモデルベース環境で効率よく開発する:ロボット開発ニュース(1/2 ページ)
自律移動ロボットへの期待感が、倉庫や工場、プラントの作業自動化ニーズとともに高まっている。だが、ロボットの高度な知能化はアルゴリズムの複雑化や、機械/油圧/電気などの分野のドメインナレッジを要求する。こうした開発を容易にするツールとしてMathWorksのMATLAB/Simulinkがある。
LiDAR(Light Detection And Ranging)などセンサー類から取得したデータを基に環境地図を作成し、深層学習を用いた画像処理で障害物などを自動判断して回避する。こうした高度な動作を実現する自律移動ロボットへの期待感が、倉庫の在庫管理や工場、プラントの設備点検の自動化ニーズとともに高まりつつある。
ただ、ロボットの高度な“知能化”は、開発上の課題を少なからず生む。ロボット移動時の「認識」「判断/計画」「制御」など、高度な認知判断に関わる技術要素の開発には複雑なアルゴリズム設計が求められる上、動作時の安全性や品質をより一層確保する必要があるからだ。また、機械や油圧、電気系など複数の技術領域における高度なドメインナレッジも要求される。
こうした課題に対して、MathWorks ロボティクス・自律システムインダストリーマネージャーの能戸フレッド氏は「当社のモデルベース開発環境『MATLAB/Simulink』、そして『Robotics System Toolbox』などのオプション製品を組み合わせることで、シミュレーション環境下で自律移動ロボットの複雑な設計開発を効率的に進められる」と語る。
自律移動ロボットの開発課題と併せて、同社のロボット開発におけるMATLAB/Simulinkの強みやロボットソフトウェア開発プラットフォームである「ROS(Robot Operating System)」や後継の「ROS2」による開発時の対応などを聞いた。
複雑なアルゴリズムを効率よく開発する仕組み
能戸氏は自律移動ロボットの開発課題の1つである、複雑なアルゴリズム設計が求められる点について、「MATLAB/Simulinkは自律移動ロボットが目標地点まで最適経路を選択して走行できるようにするための、認識、判断/計画、制御という各領域のアルゴリズム開発を効率的に進めるための仕組みを持つ」と説明する。
認識についてはMATLAB/Simulinkを通じた深層学習による画像処理/物体認識の機能を提供している。画像分類による物体の種別の判断や、画像内の物体検出、物体と領域の切り分けなどが行える。SLAM(Simultaneous Localization and Mapping)アルゴリズム開発にも対応しており、カメラとLiDARを搭載したロボット実機に接続して、あるいはシミュレーションデータ環境下で開発することも可能だ。
判断/計画については、LiDARで取得した周辺情報などを基に最適な経路計画を設定するための「Hybrid A」や「RRT」などのパスプランナーを提供する。周辺の物体に応じて経路計画を変更するダイナミック経路計画などの機能もロボットに実装できる。
制御では、判断/計画プロセスで生成した経路にロボットを追従させる手法を開発する。例えば、シミュレーション環境下でエージェントに経路上の障害物を回避する行動を強化学習で学ばせることもできる。
なお、シミュレーションではロボットモデリングを行う必要があるが、モデリング手法は運動方程式を記述することでロボットの動作を再現する方法や、ロボットを構成する機械/油圧/電気系の各要素をブロック状にモデル化して組み合わせ可能にした物理モデリングなど、自身にとって最適な手法を選択できる。
3Dモデリングツール「Unreal Engine」や「Gazebo」など外部のシミュレーションツールと連携して、カメラやLiDARなどセンサー類モデルを含むシミュレーションも行える。
また品質確保のために、要求仕様の内容がモデリングに落とし込まれているか、安全性検証に用いるシミュレーション環境が要求水準を満たしているかを確認するツールも用意する。「特に高度な知能ロボットは複数のテストを経て製品化されなければならない。テストの管理と自動実行機能を使うことで、検証作業の網羅性を確保できる」(能戸氏)。
Copyright © ITmedia, Inc. All Rights Reserved.