ROS と ROS2のソフトウェア開発についてアプリケーションからセンシング・ロボット制御まで全てにワンストップで対応でき、各種ロボットについてROS と ROS2での豊富な開発実績があります。また、次世代ロボット(スマートロボット)と言われるAI・物体/画像認識・遠隔制御・クラウド(RaaS)などの最新技術を活用した実績もあります。
- STRONG POINT -
ROS と ROS2で提供されているNavigation Stack, Navigation2, Perception, MoveIt,MoveIt2, Gazebo,Ignition Gazebo, Rviz,Rviz2, Open-RMF, micro-ROS, ros1_bridge, roswww, rosbride, roslibjs, ros_control, ros2_control,OpenCV, Point Cloud,Visual SLAM, Autoware, PCLなど様々なパッケージでのワンストップでの開発。AWSやAzureなどのクラウド環境での開発にも対応。また、お客様のお困り事や新規の開発を進めるために必要な要件定義などを実施するコンサルティングも可能。
- STRONG POINT -
産業用ロボット・協働ロボット・自律移動ロボット(AGV,AMR)・自立型海中ロボット(AUV)・宅配ロボット・サービスロボット・ドローンなどあらゆる形態のロボットのROS と ROS2での開発実績が多数。
- STRONG POINT -
AI・画像処理・遠隔制御・クラウド(RaaS)など最新技術を取り入れたスマートロボットへの対応実績。
活用シーンに応じて汎用性/拡張性に富むハードウェアを活用できるソフトウェア開発を支援します。
富士ソフトの支援領域
ROS と ROS2開発支援
アームロボット・自律移動ロボットの自動運転や人手作業の自動化といったROS と ROS2プラットフォームをベースとした新規システムの開発を支援します。
既存システムのROS と ROS2対応支援
異なるメーカーのロボットをROS と ROS2で開発することや、既存システムとROS と ROS2を連携させることによる柔軟なシステムの構築を支援します。
環境構築支援
ROS と ROS2のパッケージ群やライブラリ群の中からお客様の開発に必要なものを選択し、お客様にとってより良い環境の構築を支援します。
デバッグ支援ソフト開発
ROS と ROS2の通信内容、センサー値等のログを取得できるツールの開発やお客様が開発したROS と ROS2ソースコードのデバッグを支援します。
シミュレーション環境構築支援
ロボットの導入前の事前確認のためのシミュレーション環境の構築を支援します。また、将来的にはデジタルツイン環境の構築も支援します。
プロトタイプ開発支援
製品化に向けたROS と ROS2のアルゴリズム検証やコード改修などの試作品の開発を支援します。
人手不足やコロナ禍を背景に、物流業界や飲食業界を中心として、AGVやAMRなどの自律移動ロボットの導入が盛んになってきました。また、すでに広く活用されている産業用ロボットとは違い、柵などで囲む必要がなく人と協働できる協働ロボットの開発や導入が盛んになっています。さらに業界を問わず、次世代ロボット(スマートロボット)やサービスロボットと言われるAIやクラウド(RaaS)などを活用した新たなロボットの開発も進められています。そのようなロボットの多くに採用されている技術として「ROS(Robot Operating System)」があります。
ROSは、ロボットのソフトウェア開発者向けのツールやライブラリから構成され、学術研究から産業用途まで幅広い分野で活用されています。アームロボット・自律移動ロボット・ドローン・自動運転・IoTなど幅広い用途に対応しており、オープンソースの豊富なパッケージを利用することでアームロボットの動作生成や、自律移動ロボットの経路生成などを効率的に作成することができます。
ROS1 |
|
---|---|
対応 OS | Linux(Ubuntu) |
開発言語 | C++, Python |
通信方式 | XMLRPC, TCPROS, UDPROS |
主要パッケージ | Navigation Stack, MoveIt |
ツール類 | Rviz, RQt, VSCode |
シミュレータ | Gazebo, Isaac Sim, Unity, Webots |
Plumbing
(通信)
ロボット処理向きの分散システムのため、出版/購読型を採用したノード間通信
Capabilities
(機能群)
ロボット開発に役立つ機能を備えた数多くのライブラリやパッケージ群
Ecosystem
(エコシステム)
Wikiや掲示版、開発者発表会などの大規模かつ活発なコミュニティ活動
Tools
(ツール群)
通信の可視化、監視、ログ取得等の開発効率を支援する豊富なツール群
ROS(ROS1)は学術研究を主な対象として開発が始まりましたが、次第に商用にも利用が広がったこともあり、ROSの商用利用を目的とし、ROS1のコンセプトはそのままにセキュリティ・メンテナンス性・商用サポートなどのさまざまな観点から見直された次世代バージョン「ROS2」が開発されました。
ROS2が開発された経緯や新たに実装された機能などについては、インターネットで検索していただければヒットする記事があると思いますので、ここでは執筆時点でのROS2の現在地について筆者の主観を記載します。
当社にご相談や開発依頼をしてくるお客様で、新規でロボット等を開発しているお客様はROS2で開発を進めています。最近ROS界隈で注目されているNVIDIA社のIsaac ROSでは対象をROS2に限定しており、ワールドワイドでもROS2での開発に移行していることがうかがえます。
また、ROS2へ開発が移行し始めている背景としては、通信ミドルウェアとして信頼性の高いDDS(Data Distribution Service)や通信プロトコルとしてRTPS(Real-Time Publish-Subscribe)が採用、Microsoft社のVSCodeやMathWorks社のMATLAB & Simulinkなどの開発環境の整備。更にROS2のメジャーなパッケージ(Navigation2、MoveIt2など)のバグ改修などの開発の早さやロボット等で使用される各種センサーデバイス(Lidar、カメラなど)もメジャーなセンサーメーカーはROS2の対応が完了しており、ROS2での開発を後押ししています。
ROS2 |
|
---|---|
対応 OS | Linux(Ubuntu), Windows, Mac |
開発言語 | C++, Python, Rust |
通信方式 | DDS/RTPS |
主要パッケージ | Navigation2, MoveIt2 |
ツール類 | Rviz2, RQt, VSCode |
シミュレータ | Ignition Gazebo, Isaac Sim, Unity, Webots |
センサーフュージョンを用いた屋外走行AGVの開発
複数のセンサー情報(LiDAR、GPS)によるセンサーフュージョンやマルチマップ切替により
高精度な自己位置推定を行うことでAGVの屋外走行を実現
FUJISOFT Technical Report
ROS(Robot Operating System)は、日本においてはまだ知る人ぞ知る、ロボットのソフトウェア開発技術です。海外では、ロボット以外でもROSを活用した様々な開発が行われています。パソコンやスマートフォンのOSは、WindowsやiOS、Androidなど海外勢に取って代わられましたが、ロボットのソフトウェア開発においては、ROSが主流になる可能性も高いのではないでしょうか。
Monoist
人手不足やコロナ禍を背景に、物流業界や飲食業界を中心にして、AGV(Automated Guided Vehicle)やAMR(Autonomous Mobile Robot)などの自律型移動ロボットの導入が盛んになってきた。また、以前からある産業用ロボットとは違い、柵などで囲む必要がなく人と協働できる協働ロボットの開発や導入が盛んになっている。そのようなロボットの多くに採用されている技術として「ROS(Robot Operating System)」がある。
FUJISOFT Technical Report
近年、ロボット技術の発達・普及に伴い、様々な産業で自律移動ロボットの導入が進んでいます。運搬や清掃など、ロボットの役割も多岐にわたります。複数台、複数社のロボットを組み合わせて同じ環境に配備することも珍しいことではなくなりました。そのような現場では、「複数台のロボットを効率的に制御する」、「複数社のロボットを一括管理する」といった課題を抱えているのではないでしょうか。
ROS と ROS2開発はぜひ、
富士ソフトにご用命ください!