ROS 2を活用した産学連携による商用ロボット開発事例
2022-10-19
イーソル株式会社
ソフトウェア事業部 エンジニアリング本部 プラットフォーム開発部
藤井 大樹
ROSCon JP 2022 KYOTO - eSOL Fujii

本日お話しする内容
1. 自動走行草刈ロボの紹介
2. 商用ロボットのソフトウェア品質保証
3. まとめROSCon JP 2022 KYOTO - eSOL Fujii

2

1. 自動走行草刈ロボの紹介

ROSCon JP 2022 KYOTO - eSOL Fujii

3自動走行草刈ロボ開発の背景• My-IoTコンソーシアムで生まれた活動• 農業機械メーカーと大学が自動走行草刈ロボを開発• ロボットの商用化に向けてソフトウェアベンダーが参画<<農業機械メーカー>><<大学>>ROSCon JP 2022 KYOTO - eSOL Fujii<<ソフトウェアベンダー>>

4自動走行草刈ロボの紹介• 実証実験中の自動走行草刈ロボを商用化したい• ハードウェア製作：株式会社オーレック様• ソフトウェア製作：国立大学法人九州大学様QZSS 準天頂衛星システム「みちびき」を活用。
日本版GPSとも呼ばれるセンチメータ級測位補強サービス（CLAS）によりセンチメートル級の測位精度を実現。
準天頂衛星を用いることで、谷や山間部でも安定した高精度測位が実現可能。

自動走行草刈ロボ

自動走行草刈ロボ2号機

引用元：林他, 高精度 GNSS を用いた自律移動草刈りロボットの開発, SI2021

ROSCon JP 2022 KYOTO - eSOL Fujii

5自動走行草刈ロボのソフトウェア• ROS 2とNavigation2を活用したソフトウェアを九州大学様が開発<<自動走行草刈ロボ>>
制御アプリを開発

OSSを活用

自動走行草刈ロボ

ROSCon JP 2022 KYOTO - eSOL Fujii

6自動走行草刈ロボのソフトウェア• ROS 2とNavigation2を活用したソフトウェアを九州大学様が開発<<自動走行草刈ロボ>>

ロボットの商用化
ソフトウェア(OSS)の品質をどのように考えると良いだろう？

自動走行草刈ロボ

ROSCon JP 2022 KYOTO - eSOL Fujii

7

2. 商用ロボットのソフトウェア品質保証

ROSCon JP 2022 KYOTO - eSOL Fujii

8ソフトウェア(OSS)の品質保証• ROSはオープンソース(OSS)のエコシステムである。

• OSSは無保証である。
• ソフトウェアの品質を保証する文書が提供されないことが多い。

• メーカーは製品に対する品質の説明責任を負う。
• 製品を構成するソフトウェアも対象である。
• 利用するOSSの説明責任もメーカーが負うこととなる。

• 製品へのOSS利用の妥当性の説明が必要である。

ROSCon JP 2022 KYOTO - eSOL Fujii

9品質保証の範囲• OSSを活用したソフトウェアでは、すべてを品質保証することが難しい。
• システム要求を分析し品質保証の必要な範囲を見定めることがポイントになる。
• 今回は新規開発した制御アプリがハードウェアを安全に制御できることを品質保証の範囲とした。
<<自動走行草刈ロボ>>1

自動走行草刈ロボの商用化における品質保証のポイントは次の2つ。
21. PoCアプリケーションの品質
2. 利用するOSSの品質

ROSCon JP 2022 KYOTO - eSOL Fujii

10

PoCアプリケーションの品質
課題対応

利用するOSSの選定基準がわからない。

• 利用するOSSに対する要求事項を整理し、OSSの候補を絞り込んだ。
• 利用するOSSの受け入れ基準を検討した。
• 利用するOSSの品質を確認した。（後述）

ソフトウェアの妥当性を説明できない。
• V字プロセスを適用し、品質保証範囲を明確にするためソースコードと簡単な説明書のみ用意できている。 ドキュメント作成とレビューを実施した。rosbagデー
タからリバースエンジニアリングした。
• ハードウェアを安全に制御できることを達成するため、機能安全プロセスを参考に安全分析を実施し、必要な安全機構を追加した。
• ツールを利用して品質の見える化を行った。

設計の根拠や判断の基準を記録し、説明できることが重要。
ソフトウェアを安心して利用するためにも、エビデンスを残す文化を育てたい。
ROSCon JP 2022 KYOTO - eSOL Fujii

11V字プロセスの適用(インプット)
PoCで作成したもの(アウトプット)
品質保証のために作成・実施したもの

ソースコード
簡単な説明書rosbagデータ

要求分析

要求仕様書 (QA表)
レビュー実施安全分析とレビューの実施
安全機構の追加

基本設計

ソフトウェア基本設計書
レビュー実施ソフトウェア詳細設計書
レビュー実施システムテスト

結合テスト

単体テスト

詳細設計

結合テスト結果書
レビュー実施

単体テスト結果書
レビュー実施
単体テスト自動化

実装

ソースコードレビュー実施OSS確認
静的解析実施ROSCon JP 2022 KYOTO - eSOL Fujii

12安全機構の追加<<Package>>
Navigation 2/odom送信<<安全機構>>• 通信周期の監視• 状態通知の監視/cmd_vel受信<<Node>>Lawnmower Controller

通信周期の監視にQoSを活用したいがプロセス内通信では利用できるオプションが限られるため難しい。

周期制御
状態通知

→HW/SW異常の検出→HW異常の検出

実際にHWの不具合を検出できた<<Node>>CAN DriverROSCon JP 2022 KYOTO - eSOL Fujii

CAN通信<<Device>>
Motor13

ツールの活用項目

説明

ソースコードの静的解析

テスト実施前にソースコードの不具合を検出する。コードレビュー前に実施することでレビュー工数を削減する。
利用するツール：Klocwork

OSSの検出CIの構築

OSSを適切に利用できているか示すために必要となる。脆弱性対策として継続的な監視も必要となるため、利用するソフトウェアの管理(SBOM)が重要である。
利用するツール：FossID
静的解析、OSSの検出、単体テスト (rostest)の実行を自動化し、実行結果を見える化する。
利用するツール：Jenkins、GitLab

ROSCon JP 2022 KYOTO - eSOL Fujii

14利用するOSSの品質

OSSもCOTSと同様に見ることで採用しやすくしたい。

項目

説明

ソフトウェアライセンス

開発するソフトウェアで利用可能なライセンスであるか確認する。ライセン
スが不明なOSSもあり、その状態で利用することはリスクを伴う。用途によってはGPLを利用しても問題ない。なお、異なるソフトウェアライセンスを混在させる場合は、ライセンスの互換性も確認すること。

品質保証の範囲

ソフトウェア設計書、自動テストの有無を確認する。

利用実績

他のソフトウェアでの利用実績を確認する。利用実績が多い方が良い。リリース頻度やダウンロード数も参考にする。

コミュニティの規模ユーザー数が多いこと、開発が活発であるかを確認する。メーリングリストやトラッカーでのやり取りの数を参考にする。

スポンサーの存在

OSSも開発に費用や人材が必要。継続的な開発を行うためのスポンサーの存在は重要である。場合によっては自分がスポンサーになることもある。

受け入れ基準開発するソフトウェアでOSSを利用するための受け入れ基準を決める。機能性、非機能それぞれを検討すること。

フィードバック

不具合や改善点をOSSコミュニティへフィードバックする。権利の帰属が良く問題になるが、関係者に説明し理解いただいて実施することが大切。
ROSCon JP 2022 KYOTO - eSOL Fujii

153. まとめ

ROSCon JP 2022 KYOTO - eSOL Fujii

16まとめ• 産学連携によるROS 2を活用した自動走行草刈ロボの開発事例を紹介した。
• ROS 2にも安全機構に対応するフレームワークがもっとあると良い。
• OSSを知ることがROS 2を使ったソフトウェアの商用化への近道である。
• ロボットを皆様に安全に安心して使ってもらうためにも、ソフトウェア開発の中でエビデンスを残す活動を推進できる環境を作っていきたい。

ROSCon JP 2022 KYOTO - eSOL Fujii

17参考文献・謝辞• 高精度 GNSS を用いた自律移動草刈りロボットの開発―第二報 QZSS と ROS2 を用いたシステム構築と実証実験―

林 拓真, 大城 孝弘, 渡邉 崇, 下窪 竜, 小玉 尚人, 倉爪 亮

第22回計測自動制御学会システムインテグレーション部門講演会 SI2021, 1G3-05, 2021
• 高精度 GNSS を用いた自律移動草刈りロボットの開発
林 拓真, 大城 考弘, 渡邉 崇, 下窪 竜, 小玉 尚人, 倉爪 亮

日本機械学会ロボティクスメカトロニクス講演会2021, 1P2-A12, 2021
本資料の作成は次の方々にご協力いただきました。この場を借りて御礼申し上げます。
• 株式会社オーレック

大城 孝弘 氏、下窪 竜 氏• 九州大学 大学院システム情報科学研究院

倉爪 亮 教授

ROSCon JP 2022 KYOTO - eSOL Fujii

18

Challenge With Passion