その他・コラム
FEATURE DETAIL
その他・コラムコラム
ROS2でのセンサー実装|自律ロボット開発における基本と応用
はじめに 製造業におけるロボティクスの進化
スマートファクトリー化が進む中、自律搬送ロボット(AMR)や協調ロボットの導入が加速しています。
これらの開発に欠かせないのが、オープンソースのロボティクスフレームワーク「ROS2(Robot Operating System 2)」です。ROS2は、リアルタイム通信・分散処理・セキュリティ強化などの面でROS1を進化させ、産業用途にも対応可能な基盤として注目されています。
これらの開発に欠かせないのが、オープンソースのロボティクスフレームワーク「ROS2(Robot Operating System 2)」です。ROS2は、リアルタイム通信・分散処理・セキュリティ強化などの面でROS1を進化させ、産業用途にも対応可能な基盤として注目されています。
ROS2の基本構造と開発手順
ROS2では、センサーやアクチュエーターを「ノード」として実装し、トピック・サービス・アクションを通じて通信します。基本的な開発ステップは以下の通りです
1.開発環境の構築:Ubuntu + ROS2 Humble(または最新バージョン)
2.パッケージ作成:ros2 pkg create コマンドで構造定義
3.ノード実装:PythonまたはC++でセンサー制御ロジックを記述
4.トピック通信:センサー値を定期的に配信(例:LiDARの距離データ)
5.シミュレーションとデバッグ:RvizやGazeboで動作確認
6.実機テスト:ROS2ノードをセンサーに接続し、リアルタイム動作を確認
1.開発環境の構築:Ubuntu + ROS2 Humble(または最新バージョン)
2.パッケージ作成:ros2 pkg create コマンドで構造定義
3.ノード実装:PythonまたはC++でセンサー制御ロジックを記述
4.トピック通信:センサー値を定期的に配信(例:LiDARの距離データ)
5.シミュレーションとデバッグ:RvizやGazeboで動作確認
6.実機テスト:ROS2ノードをセンサーに接続し、リアルタイム動作を確認
ROS2でのセンサー実装のポイント
•ラッパー設計:センサーのAPIをROS2ノードで包み、トピックに変換
•メッセージ型の選定:sensor_msgs/LaserScan や geometry_msgs/Quaternion など用途に応じた型を使用
•周期制御:rospy.Rate() で配信周期を設定(例:10Hz)
•エラー処理と再接続:センサーの接続断に備えた例外処理を実装
•メッセージ型の選定:sensor_msgs/LaserScan や geometry_msgs/Quaternion など用途に応じた型を使用
•周期制御:rospy.Rate() で配信周期を設定(例:10Hz)
•エラー処理と再接続:センサーの接続断に備えた例外処理を実装
製造業での活用事例
•AMR(自律搬送ロボット):LiDARによる環境認識とROS2による経路制御
•設備保全:センサーからのリアルタイムデータをROS2で収集し、異常検知に活用
•インダストリー4.0連携:ROS2ノードからクラウドへデータ送信し、AI分析に活用
•設備保全:センサーからのリアルタイムデータをROS2で収集し、異常検知に活用
•インダストリー4.0連携:ROS2ノードからクラウドへデータ送信し、AI分析に活用
北陽電機製品との連携
北陽電機では、ROS2対応の製品を提供しています。特に以下のような製品は、ROS2ノードが公式として提供されており、開発効率を大幅に向上させます。
・YVT-35LXシリーズ
3次元測域センサ(3D LiDAR)距離35m(最大)、水平210°、垂直40°の範囲を3次元計測するレーザスキャナ。

独自の走査方法により縦方向の抜けが少なく、2590点(最大518000点)の豊富な点群データを出力。IMUやPPS入力など便利な機能も搭載。ロボットやAGV(無人搬送台車)の環境認識(SLAM)用途に。ROS対応。
・UST-30LCシリーズ
距離30m、270°の範囲を計測する屋外用レーザスキャナ(2DLiDAR)。

エリア設定タイプとデータ出力タイプを切替可能。マルチエコー対応で雨、霧などの分離又はフィルタが可能、屋外での環境認識(SLAM)、各種屋外計測、障害物検知がこれ一台で。ROS対応。
・YVT-35LXシリーズ
3次元測域センサ(3D LiDAR)距離35m(最大)、水平210°、垂直40°の範囲を3次元計測するレーザスキャナ。

独自の走査方法により縦方向の抜けが少なく、2590点(最大518000点)の豊富な点群データを出力。IMUやPPS入力など便利な機能も搭載。ロボットやAGV(無人搬送台車)の環境認識(SLAM)用途に。ROS対応。
・UST-30LCシリーズ
距離30m、270°の範囲を計測する屋外用レーザスキャナ(2DLiDAR)。

エリア設定タイプとデータ出力タイプを切替可能。マルチエコー対応で雨、霧などの分離又はフィルタが可能、屋外での環境認識(SLAM)、各種屋外計測、障害物検知がこれ一台で。ROS対応。
北陽電機 ROS2公式ノード
北陽電機製品での開発環境
北陽電機のROS2ノードが対応しているのは以下のバージョンの組み合わせです。
・ Ubuntu 20.04 + ROS2 Foxy
・ Ubuntu 20.04 + ROS2 Galactic
・ Ubuntu 22.04 + ROS2 Humble
・ Ubuntu 20.04 + ROS2 Foxy
・ Ubuntu 20.04 + ROS2 Galactic
・ Ubuntu 22.04 + ROS2 Humble
北陽電機のROS2ノードが出力するトピックについて
ROSではセンサの種類によってメッセージの形がおおよそ決まっています。
2D LiDAR -> sensor_msgs/LaserScan
3D LiDAR -> sensor_msgs/PointCloud2
IMU -> sensor_msgs/Imu
北陽電機のROS2ノードもこれらの型に対応していますので、 ROSの他のノード(物体検出・SLAMなど)との連携や、 点群データの表示がやりやすくなっています。
2D LiDAR -> sensor_msgs/LaserScan
3D LiDAR -> sensor_msgs/PointCloud2
IMU -> sensor_msgs/Imu
北陽電機のROS2ノードもこれらの型に対応していますので、 ROSの他のノード(物体検出・SLAMなど)との連携や、 点群データの表示がやりやすくなっています。
まとめ
ROS2は、製造業の自動化・安全制御・データ活用を支える強力な開発基盤です。北陽電機のROS2対応製品を活用することで、センサー実装から制御統合までをスムーズに進めることができます。
関連コラムを読む
製品カテゴリ
- 測域センサ
- 光電・レーザーセンサ
- 鉄鋼・クレーンセンサ
- 応用システム
- 光データ伝送装置
お役立ち情報