March 2.20192018 水中ロボコン仕様の新ウミサソリについて
記 機体設計 各種支援 AFK研究所 (同)近藤敏康
AIソフト担当 デジタルハリウッド大学院 矢野目佳太
機体製作担当 日大芸術学部

梅村建太郎

水中ロボコンでのウミサソリロボット (ROV タイプ)

概要
水中ロボコンに、ウミサソリ型の水中ロボットの技術を応用し出場希望の学生二名(機構製作担当・AI手法の画像認識を中心としたソフト担当)を支援、共同開発を行った。
ウミサソリROV3台をウミサソリAUV一台が、その中の一台を選び追いかける事を目標とした。
結果、二ヶ月と短期間の集中開発の中、AI手法を用いた画像認識・追従を実現、JAMSTEC理事長賞を受賞した。
画像提供協力メンバーと共にメンバー全員で記念撮影した。

実際に新規に製作した、ロボコンバージョンのウミサソリの概要、AI系画像認識の内容、製作ノウハウを提供する。

1

March 2.2019

開発上のポイント・量産機器のプロジェクトマネジメント手法のエッセンスを使用(全体の目標、必要要件をまず共有、早期にROVタイプのプロトタイプを作り全員で泳がせて確認した上で、日程化と作業分担、実現に向けた対策、各担当部分のすり合わせの為の時間をあらかじめ設定)
・古生物由来の安定した機体特性を活用(AUV: 姿勢制御プログラム開発の単純化・画像認識系ソフトにほぼ専念できる為、開発の効率化に貢献、ROV :平泳ぎの手の動きに似ていて操縦者の技量向上が早い)
右側のROVタイプのウミサソリロ
ボット追従する左側AUVタイプのウミサソリと、画像認識モニター・各種、専門的なノウハウを生かした、協力しやすいグループ運営(適宜、困った点、弱い点を分かりやすく周囲に説明し協力を得た)開発した新ウミサソリロボ化石の概要
1.熱暴走への配慮を行った防水区画の拡大
画像認識機能を搭載可能な大きめの防水ケース(AUV:ラズパイ、アクセラレータ、バッテリー、カメラ、ワイドコンバージョンレンズ 、USBバッテリー ROV:大型バッテリー、ラジコン受信機 2.4Gバージョンは有線で水上のアンテナ船に接続)搭載のための体積の大きな機体を開発。
水中ロボコン仕様のウミサソリ
基本構想図
PKは、使用する弁当箱の略名2.古生物由来のプロポーション
大きめの防水ケースを搭載可能なプロポーションのウミサソリを探し、化石レプリカを入手。それを元に3D化して新機体を製作。 製作方法、素材についてはすでに公開した従来の方法を活用。
(ウミサソリのプテリゴートゥス種より選定し、基本設計のモデルとした)2

March 2.2019

3.AUV:画像認識アルゴリズム
ラズベリーパイとカメラを使用した、AI系画像認識と追従プログラムを実装
事前にROVのウミサソリを水中撮影、提供いただいた動画をもとに、Nvidia GeForce1080を用いて学習モデルを作成し、追従すべきウミサソリROVのイメージを学習させた。
本番では、あらかじめ作成した学習モデルを、性能の低いラズパイに(何とか)搭載して、ROVのウミサソリをAUVのウミサソリが追従した。
自動追従時の行動選択アルゴリズム

防水区画に搭載したハードウェア
システムブロック図

図採用した画像解析を用いる事のメリット
・従来の手法では、太陽光などの、色温度の変化によって、画像解析の性能が著しく劣化することが認められたが。今回採用した画像解析では、太陽光による性能の劣化は認められず、安定して動作した。
・特別な光、マーカーを対象物に取り付けなくても、ウミサソリROVタイプを認識させることができた。
・高性能ノートPCで画像認識アルゴリズムを動かすことができる。

3

March 2.2019

Yoloを使う場合のみ、追加アクセラレーターを搭載した。 http://mag.switch-science.com/2017/10/24/tryneural-compute-stick/

使用したアルゴリズム
SVM(Support Vector Machine)
YOLO (You Only Look Once)
SVMについて物体検知をするためにsvmを利用した。特徴量はhog（histgram of gradient）を用いてSVMを学習させた。また, sliding window法を用いてウミサソリかどうかを検知を行なった。Sliding window法とは, 小さいウィンドウを用意し, そのウィンドウで探索していくもの。そのため, ウィンドウサイズが小さければその分計算処理回数が増えるので処理時間が大きくなってしまう。
YOLOについてSVMの他に, YOLOという画像認識のアルゴリズムも代替案として用いた。上記のsvmではsliding window法製作中のウミサソリロボット。

を使い, 物体検出をしていたため処理時間が遅くなってボディーの型紙からポリプロピレしまった。一方, YOLOではend to end（最初から最後ンにパターンを写し、切り出した。

までをDeep neural networkが行なってくれる）で画像認識をできるため, sliding window法を用いずとも物体検出することが可能に。そのため処理時間も非常に高速。

4March 2.2019

追従用水中搭載カメラ(水中では屈折率の関係で望遠になってしまうので、ラズパイカメラにスマホ用ワイドコンバージョンレンズを取り付けて、広角レンズとした。事前に撮影された画像を利用しての学習画像と合わせるのにも役立った。)

4.費用負担軽減。
可能な限り100円ショップやアマゾンで購入できる安価な素材で製作した。(ダイソーPP板、トング、弁当箱利用の防水ケース、)
防水サーボ二個のみで動作する設計。

5.水中ロボコン向けの推進機構と外観
左右の腕(遊泳脚)のみで、推進、潜水、浮上、右左折を行う。
例
片方の遊泳脚のみ前後に動かす。→ 右左にカーブする
両方の遊泳脚を前後に動かす。→ 直進する
両方の遊泳脚を前にして1秒待つ。→ 頭を下げる
両方の遊泳脚を後ろにして1秒待つ。→ 頭を上げる
製作中のウミサソリロボット。

尾は凧の尾のように追従するのみで、駆動していない。

ROV 3機AUV 1機

必要な性能を満たしつつ、インスタ映えする見た目にも配慮。テレビ放映された。

6.実際の機体工作上のポイント
メインフレーム部材の切り出しメインのフレームはウミサソリの体型、性能に直結する為精度が必要。電動糸鋸を使用し一度で切り出そうとすると刃に引っ張られて失敗する為、大まかな形を切り出してから、周りを丁寧に切り落として目的の形に仕上げた。
5

March 2.2019

サーボ取り付け部の加工
メインフレームにサーボが入る四角い穴を空けるとき
は、サーボの位置を決めその大きさの線を引き、線の内側に穴をたくさん開け、穴をつなげるように糸鋸で切った。糸鋸で切った後にヤスリで穴を整えてサーボがきっちり入るよう調整。無心でヤスリをかけていると削りすぎてしまうことがあるので注意が必要。

遊泳脚(ヒレを支える腕)
遊泳脚は強度の高さと、精度の高さから金属製のトングを使用した。Ｖ字になっているトングを水平になるまで開いたりＶ字になるまで閉じたりしているうちに金属疲労を起こして２つに分離。(とても熱くなっておウミサソリロボット遊泳脚製作図り、破断したところは触れてしまうと手を切るので注意が必要。)サーボホーンと遊泳脚、遊泳脚とヒレの基部の蝶番との接続部は平面ではないので穴あけの際はケガをしないよう注意。遊泳脚とサーボホーンの接続部は金属のバリがあると完成後、持ちあげたときに手を切る可能性があるのでしっかりヤスリで削って調えた。
尾部のＬ字金具の位置決め端材などを使い実際の厚みと同じものをつくり、それを基準として固定穴を決め完成後変な隙間ができてしまったなどのトラブルを防いだ。
浮力調整防水ボックス内にバッテリーや機器類を位置を決定してから全て納め、水に漬けた。頭側に防水ボックスがあるため浮力を持ち、あ尾部が沈む為、防水ボックスの前の空間に重りを載せ、沈みもせず浮きもしない、かつボディーが水平になるように調整した。性能に大きく関わる重要な作業なので特に丁寧に行った。
(本番では充電時の浮力体の取り付け忘れによる失敗も浮力調整中のウミサソリロボット。

あった)6

March 2.2019

水中ロボコン出場編
水中ロボコンの本番の前の日に準備日があり、そこで動作テストが可能。本番と同じ環境でチェックできる貴重な時間なので、計画を立て有効活用した。
コードの収納の仕方によってセンサの調整が狂うことが多いので注意した。
プールの水は防腐剤か何かが含まれており電気が通ってしまうので浸水によってショートしてしまう可能性がある。浸水トラブルを防ぐために、水に入れる前の点検はリスト化した。

水中ロボコン出場ノウノハウと一言 by 梅村
水中ロボコン、調整中のメンバー

私は2015年のロボコンの２回目のデモで防水ボックスの蓋の締め付け不足で浸水、2018年のデモの直前の浮力調整の時の蓋の閉め忘れで浸水させています。2018
年のデモではこれの影響で、本番この浸水させてしまった機体が使用不能になりました。
デモが終わった後の撤収はとにかく時間がなく、適当に突っ込んで何とか間に合わせることになります。できる限り作業しながら整理をしていくことをお勧めします。

7