AbudoriLab.

自律ロボットで誰でも遊べるよう試行錯誤するブログです。

自律走行ロボット - Penguin - 屋外走行クローラロボットをつくってみた【つくチャレ2024-5】

Abudoriです。つくばチャレンジ2024はとっくに始まっていますが、ようやくロボットが走ったのでお見せいたします。前の記事ではSLAMを実施していましたが、実際はロボットに搭載されたセンサをもとに行います。このロボットで本番用の地図を作り自律走行をするところです。 今回の記事では、ロボットハードの中身をお見せします。構成は皆さんもクローラロボットを作ってみよう!!!

はじめての走行会!

前回の記事

前回作成した3Dマップをつかって走行するロボットを作成します。

www.abudorilab.com

スポンサードリンク

自律走行ロボット - Penguin -

つくばチャレンジ2024で走行するロボットとしてPenguinを制作しました。クローラを足回りとし、よちよち歩いているようにも見える姿からそのように名づけました。それとは裏腹に積載重量80kg以上、頭部には回転式3DLiDARを搭載し、どっしりとした身構えはさながら皇帝ペンギンのようです。

ロボット全体図

ロボット構成

ロボットの構成として大きく3つに分けられます。

  • 足回り
  • 電装ボックス
  • 筐体

足回り

ロボットの走行関連をまとめて足回りと呼ぶことにします。ROSで自律走行をする上で最終的にアウトプットされることは“移動動作”しかないため大変重要です。 ROSでNavigation2などを使用して最終的に出力される情報は、ロボットの移動ベクトルである/cmd_velです。このトピックを受け取ることで動作する足回りを使用します。

ROSで動作する足回りシステムはいくつか存在します。最も有名なのは、ROSの公式ロボットでもあるTurtlebotシリーズです。現在はROBOTIS社のTurtlebot3とClearpathRobotics社のTurtlebot4が販売されています。

ROBOTIS e-shop.robotis.co.jp

Clearpath Robotics clearpathrobotics.com

これらのロボットは見た目からもわかる通り、室内向けのロボットでありつくばチャレンジには向いていません。

つくばチャレンジの走行会を見渡すと、i-Cart miniをベースに作られてロボットを多く見かけます。i-Cart miniは筑波大学の知能ロボット研究室の研究成果である“山彦”を元に自律走行ロボットの開発ができるようにハードウェア、ソフトウェアともに整備されたロボットです。T-frog Projectが開発しており、図面や部品表などがオープンソースハードウェアとして公開されております。このi-Cart miniを参考に、大きさを変えたり車輪径を変えたりと自分の環境に合わせてロボットを作りつくばチャレンジに参加しているチームがいるように見受けられます。

t-frog.com

今回、AbudoriLab.のロボットはCuboRex社のクローラロボット開発プラットフォーム CuGo V4をベースに採用しております。このロボットはアクチュエータとして車輪ではなくクローラを使用しており、走破性に優れています。最大登坂角度20度、乗越え段差9cm、IP65相当の(オリエンタルモータがIP65、それ以外の部品がそれ以上の部品を使用)性能を謳っているため、市街地走行にはオーバースペックな走破性でつくばチャレンジで困ることはなさそうです。こちらもi-Cart miniのようにアルミフレームで作られているため、ロボットの諸元をアレンジすることが容易で、さまざまな形の移動ロボットに作り変えることができるでしょう。

クローラロボット開発プラットフォーム CuGo V4
CuGoV4 クローラロボット開発プラットフォームcuborex.myshopify.com

つくばチャレンジのような、非常に整備された市街地では6インチくらいのホイールで充分走行できます。走行中に最もトラブルが多い段差ですが、せいぜい点字ブロックの段差程度で、信号や横断歩道の段差もすごく滑れかに作られているため引っかかって走行不能になることはありません。クローラはもっと過酷な環境で走行することに使用されるように思われますが、以外にも市街地走行にもメリットがあります。

引用:つくばチャレンジ2023 レポート

車輪で段差に差し掛かったとき、乗り越えることはできますが、進入角によっては大きくスリップしてしまう恐れがあります。ホイールは点で接地しているため衝撃で浮いてしまうとその間に大きく空転してしまいます。このようなスイッチが起きるとオドメトリがずれてしまい、自己位置推定に悪影響を及ぼします。また、このようなシーンはたいてい、段差に対して90度正接にぶつかることはありませんから、同時ではなく、片輪だけスリップしてしまうので、Yaw軸が大きくズレやすい傾向があります。LiDARの幾何学的な一致を利用したスキャンマッチングはこのような回転誤差が苦手な手法もあり、自己位置推定の喪失〜リタイアのリスクをはらんでいます。

一方、クローラの場合は面で接地しています。段差に差し掛かって車体が浮きかかってしまっても、車体後側のどこかが接地しているケースが多いです。そのため、大きな“空転”が起きることは、よほど派手に転倒でもしない限り起きないでしょう。これにより、クローラは走破性が高いだけでなく、段差によるオドメトリの外れ値のような破綻が起きにくいとも言えるでしょう。泥臭くみえるようで、じつは賢いロボットなのかもしれません。

詳細は過去記事をご覧ください。

www.abudorilab.com www.abudorilab.com

スポンサードリンク

電装ボックス

ロボットはアクチュエータ、センサ、そしてコンピュータを複雑に組み合わせたシステムと言えます。単純に一つずつを駆動できればOK、といかないところがロボットです。今回の自律走行をするにあたって、一つのバッテリーで様々な部品を動かすために以下のような電装システムを作りました。

電装部品の接続図

ロボットに搭載する電装部品は大きく分けて

  • 走行モータ
  • センサ
  • コンピュータ
  • バッテリー

の4つです。24Vバッテリーを搭載しており、このバッテリーからそれぞれの部品が駆動できるように整えてあがて供給してあげます。モータやセンサ、コンピュータはそれぞれ必要とする電圧が異なるためこれを変えて使えるようにしてあげます。 また、必要に応じて電源スイッチを分離しています。動力用スイッチと制御用スイッチを2系統に分けています。

動力用スイッチは走行に関わるものがまとめられており、スイッチを入れて1秒以内に走行することができます。他の機器が起動している間でもモータ駆動はできるので、例えば横断歩道で電気的トラブルが起こっても、この系統が無事であれば持ち上げることなく走行して安全なところまで避難できます。 走行モータの駆動用の電源です。電源電圧は24Vでバッテリー電圧と同じです。スイッチを入れるとバッテリーの電源電圧がそのままモータドライバに入力されます。

制御用スイッチはセンサとコンピュータがまとめられており、モータからくるノイズと分離されています。仮に非常停止スイッチを押しても(今回は非常停止を押してもモータは電源断されずモータドライバがブレーキをかけます)コンピュータやセンサは変わらず動作し続けることができます。 電源電圧は12Vを3系統と5Vを1系統、いずれも40W分確保してあります。12VはJetsonOrinなどのコンピュータ、Velodyneなどのセンサをそれぞれ別居できるように絶縁式のDCDCで24V→12Vに降圧しています。5VはUSBで電源供給するルータやIMUなどに供給しています。

バッテリーは24V 20Ahの容量を積んでいます。つくばチャレンジでは、荷物を積載することなく、ロボット自身の体重さえ運搬できれば良いのでそれほど電力がかかりません。オリエンタルモーター社の100Wモータも走行時2~5A(ほとんど2A程度)、段差を乗り越える時に瞬間的に10A程度消費します。ロボットは常に走行しているわけでないので単純計算10時間以上運用できます。 センサ類は最も電力消費するのが回転式LiDARでそれでも10W程度消費します。それでもこのバッテリー容量では誤差の範囲です。 パソコンは今回はノートPCを使用するので、都度テントで充電しながら使用するためロボットからは供給しません。JetsonやミニPCで走行する場合でも最大30W程度ですので、これらを合わせても8時間運用しても無くなりません。つくばチャレンジのような1日だけ頑張れば良い要件であれば特に困ることはありません。

1日中使用できるバッテリー。重く低いところに設置したので重心が下がり安定した。

筐体

ロボットの部品を収める筐体は、CuGo V4の上部にアルミフレームを増設し箱型にしています。このようなロボット外観になりました。

全体像
中はノートパソコンを設置
クローラとLiDAR

筐体の上部に回転式LiDARが取り付けられています。このあと、LiDARカバーはステンレスの板金部品になり、高価なLiDARを確実に保護します。実はGNSSアンテナも後付けできるようになります。実装に余裕があれば、自己位置をロストした場合に自己復帰機能をつけられるようにしています。 回転式LiDARとしては、VelodyneのVLP-16を取り付けております。板金の上部なカバーが完成したら、株式会社アルゴ様よりつくばチャレンジの貸与キャンペーンでお借りしている、Hesai社のXT32を取り付けます。このLiDARは3次元自己位置推定のみに利用します(ぜいたくやな)。16ライン→32ラインに増やすことでロストする確率を抑えられることを期待します。

回転式3DLiDAR

この直下にWitmotion社のIMUが取り付けられています。Amazonで簡単に購入できる上、安価なのが特徴です。SLAMも自己位置推定もIMUのタイトカップリング型の手法なので取り付けてみました。もっと高級なIMUが必要かと思っていましたが、このホビー用IMUでもとても綺麗な3次元地図を作ることができ、自己位置推定もできました。今年はこのIMUで行けるところまで行ってみたいと思いました。

LiDAR直下にIMUを設置。ビルドイン風に。

アルミフレームの柱はミスミのアルミフレームのコーナーがラウンドしているものを採用しています。これで怪我の心配はありません。このアルミフレームにプラスチックダンボールで壁を作ることで筐体の内と外を隔離しています。中では配線を隠したり、PCの画面を直射日光から守ったりする役割があります。壁のプラスチックダンボールはちょっとお高いフレームナットを使用することで、フレームと壁がツライチで揃っています。

このフレーム部分は左右の壁、天井の3つパーツで固まっており、簡単に分解できます。壁部品はネジ2つ、天井部品はネジ4つ、合計8本をつけ外しするだけで高さが半分以下になります(1m→0.35m)。これで、ハイエースで運ぶ必要はありません。AbudoriLab.ではセダンのトランクに入れて運搬をしております。

ロボットはネジ8本でここまで小さくなる
ハイエース不要。小型車で運搬できる。

クローラ部は巻き込み防止のため、プラスチックダンボールで動いている部分は見えないようにしています。

クローラを後ろから

下部にはHaRaPeCo様からお借りしましたLiDAR、MID360が取り付けられています。大変助かりました。 x.com このLiDARでは、障害物回避に利用します。前に35度傾いており、地面と障害物が一様に映るように設置してあります。ロボット手前0.3m程度まで見えます。この3次元点群からロボットが走破できない地面(段差や傾斜)とある程度大きな物体を障害物とみなし、仮想2DLiDARのSCANとして出力する予定です。これで直接、Navigation2に入力でき、LocalPathPlanningに利用できます。 一見3Dプリンタ部品にみえますが、板金入りのひさしカバーによって衝突を防止しています。このあとに、大きな取手を追加で取り付け、ロボットの衝突からLiDARを保護します。

障害物回避用のMID-360

よいソフトウェアはよいハードウェアから

システムを作るときは一つ一つの機能が確実に動くソフトウェアを作りたいと考えますが、それを実現するには良いハードウェアを用意することが何よりも大事です。ハードウェアに対してソフトウェアが制御指示を出すに当たって、限界を理解して指示を出さなければなりません。逆にハードウェアがどのように動くのか深く理解できていれば、無謀な制御をすることもありません。ロボットを制作するときは、ぜひ、モノもソフトも両方作ってみてください。また、つくばチャレンジで使い倒していくにしたがって、ロボットもアップデートがされていくでしょう(このロボット自体が過去の屋外ロボットのアップデートそのものでもありますが…)。つづいて、次回はいよいよ自律走行の機能を実装していきます(おそい…)。