News

ORRBEC様よりFemto Boltをお貸しいただきました!

2026.06.29

ORBBEC Femto Bolt

ORRBEC様より高性能RGB-DカメラFemto Boltをお貸しいただきました! 本記事では、こちらのカメラの紹介、ならびにNHK学生ロボコン2026に向けた開発において挑戦したワークの認識手法について解説します。

Femto Bolt

昨年末頃より約半年間、ORRBEC様より高性能RGB-DカメラFemto Boltをお貸しいただきました。 高解像度のRGB画像データと深度データを取得することができる上、公式のROS2ドライバも使いやすく簡単に導入することができました。 (引用1:OrbbecSDK_ROS2) (引用2:OrbbecSDK_ROS2-femto_bolt.launch.py) また、標準搭載のキャリブレーションの精度が高く、HDR対応のため光源の影響を受けにくいです。(大会本番会場の照明は非常に明るいので、これは嬉しい!) クロック同期の精度が高く、リアルタイム処理に向いています。

ROS2への導入方法

今回の開発ではROS2 Humbleを使用していたため、それに合わせた方法をご紹介します。 他のディストリビューションでも問題なく動くと思われますので、参考にしていただけると幸いです。

1. パッケージのインストール

まず、ターミナル上で以下のコマンドを打ちます。

sudo apt install ros-humble-orbbec-camera ros-humble-orbbec-description

2.launchファイルの編集

次にlaunchファイルに以下のものを書き込みます。今回はXML形式のlaunchファイルを使いました。

<node_container pkg="rclcpp_components" exec="component_container" name="orbbec_container" namespace="camera" emulate_tty="true">
    <composable_node pkg="orbbec_camera" plugin="orbbec_camera::OBCameraNodeDriver" name="orbbec_camera">
        <param name="enable_color" value="true"/>
        <param name="enable_depth" value="true"/>
        <param name="depth_registration" value="true"/>
        <param name="align_target_stream" value="COLOR"/>
        <param name="align_mode" value="SW"/>
        <extra_arg name="use_intra_process_comms" value="true"/>
    </composable_node>
</node_container>

3.モデル上の導入

最後に、URDF形式のファイルにカメラの位置の情報を入れます。 URDF(Unified Robot Description Format)とは、ロボットの構造や特性を記述するためのフォーマットです。 パッケージとの依存関係を記述し、以下のように編集します。

<xacro:include filename="$(find orbbec_description)/urdf/femto_bolt.urdf.xacro"/>

<link name="orbbec_camera_link"/>
<joint name="orbbec_camera_joint" type="fixed">
    <origin xyz="0.35 -0.35 0.564" rpy="${radians(-90)} ${radians(-5)} ${radians(22.5)}"/>
    <parent link="base_link"/>
    <child link="orbbec_camera_link"/>
</joint>

カメラを用いたワークの認識

NHK学生ロボコン2026のルール

今回のルールのテーマは"Kung Fu Quest"。 製作する2台のロボットのうち、1台は完全自動機(R2)である必要があり、もう一方の機体(R1)との緻密な連携が求められるルールです。 中でも、「秘伝書」と呼ばれるワークは競技攻略の要となっていました。

「秘伝書」は青色、または赤色の一辺350mmの立方体の段ボールのワークで、各面には甲骨文字を模したマークや大会のロゴが印刷されています。 この印刷されたマークに応じて、各ロボットがワークに触れていいかがルールで決まっています。自動機はマークに応じてワークの回収や運搬を適切に行う必要があります。ワークを回収する際には、そのワークと自動機体の位置関係も正確に把握しなくてはなりません。

実際の秘伝書

また、「アリーナ」と呼ばれるエリアでは、「秘伝書棚」と呼ばれる3×3マスの棚にワークを挿入し、得点を競います。「秘伝書棚」は相手チームと共通なため、敵のワークを色に応じて判別し、空いているマスを自動機が認識する必要があります。

試合での秘伝書棚

まとめると、箱色・位置・マークを適切に処理することが重要になります。

開発期間中に挑戦した認識手法

今回のロボコンで使ったワークの認識技術は、秘伝書の位置の推定です。 まずカメラに映る映像を取り込んで、深度データで近すぎる場所と遠すぎる場所を除去します。 次に、RGB画像データから秘伝書の赤色と青色を抽出します。HSV色空間という、色を「色相 (Hue)」「彩度 (Saturation)」「明度 (Value)」の3要素で表現するモデルを用いて抽出しました。 最後に、抽出した場所をカメラの座標から地図上の座標へと変換して、ロボットが判断できるような形式で情報を送信します。

秘伝書棚の画像
秘伝書棚の部分を抽出した画像
秘伝書棚のKFSを認識した画像

大会本番では使用することはありませんでしたが、深層学習を用いた画像認識にも挑戦しました。YOLO11という画像認識アルゴリズムを用いて、秘伝書のマークをリアルタイムで認識して場所を推定することにも取り組みました。 (引用3:YOLO11

秘伝書のマークの認識

おわりに

高額な高性能機材を貸し出してくださったORBBEC様に改めて感謝申し上げます。NHK学生ロボコン2026では惜しくも決勝トーナメント進出とはなりませんでしたが、来年こそ優勝に向けて技術力の向上を心がけてまいります。これからもRobohanの応援よろしくお願いします。