ますます広がりが期待されるROS 2
近年、ロボット開発において、開発の手軽さやライブラリの豊富さからROS(Robot Operating System)が注目されています。
学術研究を主な対象として開発が始まったROSですが、2007年11月に最初にリリースされて以降、ROSの利用が盛んになりました。
次第に商用にも利用が広がったこともあり、信頼性、セキュリティを念頭においた設計の次世代バージョン「ROS 2」の開発も進められています。
今では全世界で数千人の開発者と10万人以上のユーザがいる一大OSSコミュニティのひとつです。
ROSの利用についての統計をまとめた「Community Metrics Report」によれば、2020年時点では新規ダウンロードの7割近くが「ROS 1」(以後、従来からのROSをROS 2との区別のために「ROS 1」、ROS 1とROS 2を区別しない場合は「ROS」と表記します)ですが、次世代のROS 2ユーザも少しずつ増えています。
現在、ROS全体の開発のメインストリームはROS 2に移行しており、これからもますます利用が広がると期待されます。
アールティのROS 2対応製品増えてます!
アールティ製品でも、ROS 2に対応した製品が少しずつ増えています。
4軸アーム型ロボットのCRANE+ V2、移動ロボットのRaspberry Pi Mouse V3、USB出力9軸センサーモジュール用のROS 2パッケージをそれぞれ公開しています。
ROSの代表パッケージといえばMoveIt、Navigationですが、そのROS 2バージョンを動かせるロボットはまだ少ないです。
Raspberry Pi Mouse V3やCRANE+V2は世界でも数少ないROS 2対応ロボットです!!
本記事ではROS 2に対応した製品の中から、CRANE+ V2とUSB出力9軸センサーモジュールについて詳しくご紹介します!
CRANE+ V2
CRANE+ V2(クラインプラスブイツー)は、ROBOTIS社製のサーボモータを利用した教育研究向けアームロボットです。
ROSによるロボット開発をしたい人におすすめです。
卓上で動かせるサイズのため、教育・研修・研究に場所を選ばずご利用いただけます。
4自由度(4軸+グリッパ)で構成されており、逆運動学を手計算で解くこともできるため教材として最適です。
ROBOTIS社製サーボモータの標準コマンドや制御用ライブラリを使用してアームを動かすことはもちろん、サーボモータ(Dynamixel AX-12A)の読み出し機能を使うことで、ダイレクトティーチングをすることも可能です。
2台使ってマスタースレーブなども作れます。
シリアルコマンド形式なので、PCからシリアルポートを扱うことでC言語他様々な言語でプログラミングが可能です。
GitHubでROS 2用パッケージを公開しています。
https://github.com/rt-net/crane_plus
ROS 2でCRANE+V2が動かせるようになると、ROS 2特有の機能(ライフサイクル、コンポーネント化、QoS等)が使えるようになります!
ROS 2パッケージでCRANE+V2を動かしてみる方法も、弊社エンジニアが技術ブログで公開していますので、ぜひ参照ください。
USB出力9軸センサーモジュール
InvenSense社の9軸センサ(3軸加速度、3軸ジャイロ、3軸コンパス)MPU9250を使用したセンサモジュールです。
モジュール上に9軸センサ(MPU9250)とマイコン(LPC1343)を実装し、センサデータの取得とデータの処理を1枚の基板で実現可能です。座標計算をしやすくするため、基板中心に回転軸が来るように設計されています。
マイコン側にサンプルプログラムが書き込まれているので、接続するだけですぐにセンサ値を取得することができます。
プログラムを自分で書き換えることでボード側にてレンジやフィルタ等を設定することも可能です。
GitHubでROS 1/ROS 2用のパッケージを公開しています。
https://github.com/rt-net/rt_usb_9axisimu_driver/
ROS 2に対応したロボットと組み合わせてロボットを姿勢制御したり、ロボットの自己位置推定の精度を上げることができます。
弊社エンジニアによる、実際にROS 2パッケージを使用したブログも公開しておりますので、ぜひ参照ください。