Tagged: PR
【今更過ぎる】JO2024参加報告
非常に今更ですが,今年の春にRoboCup JapanOpen 2024小型リーグ部門に出場したことをここにご報告いたします.下記の文章は参加からひと月くらい経ってから書きなぐられたものですが,その後推敲も公開もされずに放置されておりました.今更出すのもなぁとも思ったのですが,出さないと今年何も活動していない感じになってしまうので恥を忍んで公開します.MFT2024とか練習会とかにも実は参加しているのでそこら辺の記事もおいおい書ければよいな……
しれっと今年もRoboCup 2024 Qualificationを通過してるし(辞退したけど),TDPも書いてました.
4月27日から5月29日まで開催されたRoboCup JapanOpen 2024に参加しました。今年の会場も昨年と同じくダイハツアリーナでした。
私自身は運転担当として初参加だったのですが、道に迷いまくって大変でした。次回は前日にしっかりと計画を立てておくことの重要性を痛感しました。大津から草津あたりのアクセスは車でも悪くなく、機材の運搬が楽でした。
大会は国際色豊かで、中国からはZJUNlictとCompilation Errorのチームが来ていました。情報交換のチャンスが多く、たくさんの話を聞くことができました。オーストラリアからは見学の方も来ていて、初の国際大会参加前に雰囲気を知りたいとのことでした。
試合結果は残念ながら予選敗退でした。三度目の参加でしたが、去年よりも結果が悪くなってしまいました。ただし、チームが弱くなったというよりも、他の参加チームが去年以上に強かった印象です。
今年も配信活動を行いました。運営の方々に配信席を事前に用意していただけて、大変助かりました。特に音響機材には力を入れて、自前でオーディオインターフェース、ミキサー、マイクを用意し、インターネット回線も自前で準備しました。多くの方に配信を見ていただけて、とても嬉しかったです。結果として業者みたいな荷物量になりましたが、昨年のようにサムネイルを用意する余裕はありませんでした。
また、今年はネットワーク警察として、パケットキャプチャを使ってネットワークの適正利用を監視していました。
以上がRoboCup JapanOpen 2024の参加報告です。参加チーム、スタッフの皆さん、本当にありがとうございました!
Read more
ロボットにカメラ乗せてみた
- PR, AI, SSL-Vision
この記事は,ssl-zemi 12月(2023/12/17)で発表した内容を編集した物です.
SSL-visionの概要と課題
SSLは天井につけられたカメラの情報をもとに,各チームはロボットへ命令を送ります.天井からの視点であるので,ロボットの位置やボールの位置を検出するのは簡単です.
しかし,天井の高さやカメラの配置によっては,ロボットによってボールがみえなくなったり,照明状況によりロボットやボールの検出が安定しなかったりすることがあります.
また,ネットワークを通って,各チームで利用できるまでに,レイテンシが100 ms(60 fps,6F)程度存在します.そこで,SSL-visonシステムの性能や会場による差による影響を低減するために,ロボットにカメラを載せてみました.
載せてみた
ロボットにRaspberry piとカメラをそのまま載せてしまいます.(モバイルバッテリは開発中のもので,実際には取り外します.)
カメラ(OV5647)からYUV形式,640*480,90 fpsで画像を取得します.Raspberry pi 4により画像処理行い,検出したボール位置(ロボット座標系)をロボットを制御するマイコン(STM32H7)にUART送信します.
Raspberry pi を画像処理モジュールとして疎な結合とすることで,既存のロボットシステムへの影響を少なく,カメラシステムの載っていない機体とも共存させやすい構成としています.今後のシステムの開発状況,稼働時の安定性などによっては,結合の程度は変わる可能性があります.
ボール検出
YUVの信号は,輝度信号と2つの色差信号から構成されています.この色差信号2つの差を取ることで,オレンジっぽさにより明暗が変化するグレースケール画像を取得することができます.
この画像に対して,いくつか設定した高さで,横方向に走査しながらエッジを検出します.検出されたエッジの中点を結んだ線上を改めて,縦方向に走査しながらエッジを検出し,ボールの中心座標を特定します.この手法はTIGERs MANNHEIMの手法を参考にしています.
疎に探索することにより,高速化をしています.また,非常に並列性を上げやすい手法です.
座標変換
スクリーン座標系のボール位置から,ロボット座標系に変換します.
ロボット座標系->スクリーン座標系
スクリーン座標系からロボット座標系への逆変換を考える前に,ロボット座標系からスクリーン座標への順変換を考えます.
これは,ロボット座標系->カメラ座標系と,カメラ座標系->スクリーン座標系への変換に分割できます.
ロボット座標系->カメラ座標系の変換は視野変換と呼ばれる操作で行います.具体的には
- ベクトルを足してカメラの位置まで原点を動かす
- 回転行列を使ってカメラの向きに座標を合わせる
ことで実現できます.
カメラ座標系->スクリーン座標は透視変換と呼ばれる操作を行ったあとに原点を画面左上にずらすことで実現できます.OpenCVの場合,この変換は推定されたカメラ行列を使うことで実現されます.くわしくはカメラキャリブレーションと3次元再構成を参照してください.
スクリーン座標系-> ロボット座標系
続いて逆変換を考えます.順変換で導出した式を逆に解けばいいのですが,2次元から3次元への変換なので不良設定問題となります.
そのため「ボールのz座標は0である」という制約をかけます.
スクリーン座標からカメラ座標への変換は下のようになります.カメラ座標のz座標は通常奥行きと等しいですが,今回は決まらないので1として計算します.OpenCVの場合,カメラ行列の逆行列を推定したスクリーン座標にかけて求めます.必要ならundistortPointsを先に適用します.
カメラ座標系からワールド座標系への変換は以下です.この時にロボット座標のzが0になるようにスケール変数sを決めます.
結果
こちらがボール位置検出の様子です.モノクロ画像がエッジ処理に使われている画像で,カラー画像の黒線はエッジ処理に使う行を示しています.カラー画像に描画されている緑点が推定されたボール中心です.中心位置のx,y,z座標がcm単位でカラー画像左下に表示されています.右下に出てるのがフレーム当たりの処理時間です.GUIを表示しているせいもありますがそれほど速くないですね.
課題と展望
とりあえず以上の処理が実装できましたが,コードが十分に最適化されていないため,性能に改善の余地があります.今後効率的なコードにリファクタすることで性能を出せたらよいと考えています.また,カメラと天井照明の位置関係により,ボールの下側が影になって見えなくなってしまいます.カメラをチューンして影になっている部分の色が取れるように改善しつつ,ロボットに光源を搭載できないかと考えています.いんあでぃしょん,Visionや既存AIとの統合がいまだ実現できていません.既存AIやVisionが持つ遅れを伴いつつも高度な情報と,ローカルカメラによって得た高速で低レイテンシな情報をいかに統合するかがロボットの性能向上に極めて重要だと考えます.
参考文献
Fabio Seel & Sabolc Jut, On-Board Computer Vision for Autonomous Ball Interception, 2019, https://download.tigers-mannheim.de/papers/2019-BallIntercept_TC-Seel_Jut.pdf
OpenCV, カメラキャリブレーションと3次元再構成, http://opencv.jp/opencv-2.2/cpp/calib3d_camera_calibration_and_3d_reconstruction.html
山本紘暉,座標変換について調べてみた, 2020, https://dev.classmethod.jp/articles/convert-coordinates/
Read more
新規参入の方必見 練習用フィールドを作ろう
- PR, AI, SSL-Vision
前に行ったフィールドセットアップの紹介の記事では,主にカメラについてまとめました.
今回はフィールドを作るうえで必要なものを包括的にまとめて行きます.
この記事は,ssl-zemi 11月(2023/11/25)に発表した内容を編集した物です.
場所
練習を行うには広いスペースが必要です.我々は主に,公民館などの貸会議室を活用しています.我々が会議室を借りる時に目安にしているのは次の通りです.
- 60-100 m^2 程度 (半分フィールド,半分作業エリアとして利用)
- 天井高 2.5 m 以上
- 利用料金 ¥4000-6000/Day
- 連続利用日数 3-4日 (実活動時間2日程度,初日は搬入とセットアップ,最終日午後は搬出)
- 夜間に荷物を置いたままにできるか
- Free WiFiがあるとなおよい
カーペット
パンチカーペットをここから購入しています.1.8 m巾もありますが,可搬性を考えると91 cm巾が便利です.MFTなど会場によっては防炎ラベルが必要になりますので,購入時に合わせて準備することをお勧めします.
また,下にべニアを敷く場合や,常設するときはカーペット用両面テープが有効です.
白線
白色のマスキングテープ一択です.ビニールテープは縮んでしまい,カーペットごと歪んでしまいます.チョークなどの筆記具を使う場合色が残ってしまうので,場所ごとに組み替えてカーペットを利用する場合に適しません.
壁
広いフィールドに壁を用意するのは非常に大変です.我々は常設の場合や,ボールが転がって困る場合に製作しています.木材の色がVisonシステムに影響を与える場合があるので,セットアップを楽にするという意味で,黒く塗装することをお勧めします.
フィールド MFT2022
展示会場ではボールが転がっていくのを防ぐために,高めの壁を用意しました.角は直角クランプで固定することで,工具なしでの組み立てが可能です.木材が大きいため運ぶのは少し大変です.
フィールド MFT2023
MFT2022では可搬性に課題があったことや,より大きなフィールドをカバーする必要があったので,壁を30×40の角材で製作しました.木材同士は金具で固定し,カーペットに養生テープで張り付けてあります.このフィールドは可搬性は高く非常に便利でしたが,壁が少し低く,ボールが飛び出すことが多くありました.壁の高さは最低80 mm程あったほうが良いと思われます.
メンバー宅
1×4材を黒く塗装して使用しています.常設しているので,可搬性などは考えられていません.塗装は結構手間です.
SSL-Vison用カメラ
AliExpressで購入したUSBカメラを使用しています.比較的安価に必要な性能を得ることができます.性能はざっと以下の通りです.
- イメージセンサ IMX290
- USB 3.0対応
- YUYV, MJPEGに対応
- 1080p 60fpsで出力可能
- 焦点距離2.8 mm
広角のレンズがついており,低価格であるという2点に着目して購入しました.基板が向き出しの製品ですので,3Dプリンタ製のケースを作って使用しています.
カメラの固定
背景用スタンドにカメラマウントを取り付けて使用しています.最大高さ2.8 m 幅3 mまで広げることでき,1 m程度の大きさに分割可能して輸送ができます.袋もついてくるので非常に便利です.足元が三脚になっているため,狭いとことでは少し使い勝手が悪いです.金額に余裕があり,工具ありの組み立てを考えるのであれば,Misumiのアルミフレームなども視野に入るかもしれないです.
SSL-Vison用PC
小型のデスクトップをYahooオークションで購入しました.1台¥6000程度で4台入手しました.
- CPU:Intel Core i3-6100T
- メモリ: 4 G
- SSD: 256 GB
性能としては,YUYV:1080pの設定でギリギリ動く程度です.普段はカメラを複数用意したり,フィールドが小さいのでMJPEG:720pで運用することが多いです.
複数のカメラ接続時のためのUSBケーブルの延長やUSBハブによって動作が不安定にならないように,1カメラにつきPC1台を使用する構成にしています.
まとめ
新しくフィールドを作るのに必要な費用をまとめると次の通りです.
物品 | 費用 |
---|---|
カーペット ( 30 m ) | ¥20,000- |
壁 ( 3×4 m程度 ) | ¥5,000- |
SSL-Vison用カメラ | ¥10,000- |
カメラ固定スタンド(背景スタンド) | ¥5,000- |
SSL-Vison用PC | ¥6,000- |
合計 | ¥46,000- |
延長ケーブルなどの細かな出費を合わせても,5万円程度でフィールドを製作することができます.
決して安くはありませんが,現実的な値段で動作確認ができます.
加えて,輸送費¥10,000(場所にもよる)と会場費¥20,000程度で1回の練習会などが開催できます.
最近はもう少し大きなサイズ(div. B程度)で動かしたいと思うこともありますが,場所の確保が難しくなかなか実現できておりません.
積分の公式として $$ \int^{b}{a}f(x)dx = \int^{c}{a}f(x)dx + \int^{b}_{c}f(x)dx $$ は重要である.
Read more
RoboCup2023 Team Description Paperを提出しました
TDP(Team Description Paper)とは
TDPはチームで製作したロボットやシステムについて1年間の進捗をまとめたものです。
RoboCup SSL世界大会への参加資格を得るためには、このTDPを2月ごろに提出する必要があります。
参加資格を得るためだけではなく、TDPを提出することは
ロボカップコミュニティの技術レベル向上のためにも大変意義のあることです。
RoboCup歴代参加チームのTDP, 審査用動画
→ https://ssl.robocup.org/team-description-papers/
GreenTeaのTDP
TDPの内容はは1年間の進捗、変更点について書かれることが一般的ですが、
我々は初めての執筆なのでロボット、システム全体の紹介としています。
今回は、特にロボットの機械設計、モータドライブについて詳しく解説しています。
今回提出したTDPはこちらからご覧いただけます。
→ https://ssl.robocup.org/wp-content/uploads/2023/04/2023_TDP_GreenTea2.pdf
一緒に提出した審査用動画(Qualification Video)もぜひご覧ください。
→ https://youtu.be/SEkD_eSDNoA
TDPと動画が審査され、認められれば世界大会への参加資格を得ることができます。
そして我々のチームの審査結果は・・・
ということで無事審査を通過することができました!
で、世界大会出るんですか?
今年の世界大会はフランスのボルドーで行われます。
現地までのメンバーの渡航費や宿泊費、ロボットの輸送費は大変高額になりますので、
残念ですが、今年は参加を見送ることになりました。
いつかお金を貯めて世界大会行ってみたいですね。
GreenTeaでは世界大会に行く費用を出してくれる個人・団体を募集しています.
連絡先は contact[@]greentea-ssl.com です.お待ちしています.
Read more
JapanOpen 2023に参加しました
この度,GreenTeaは5/5-5/7に開催された,RoboCup JapanOpen 2023に参加しました.
会場は滋賀ダイハツアリーナです.丘の上にあるどでかいアリーナです.プロバスケットボールチーム,滋賀レイクスターズの本拠地ですね.かなり新しくきれいな建物でした.
試合結果
我々は参加2回目ということで,緊張した大会でしたが4位といった結果を納めることができました.前回大会では最下位でしたが,大躍進の大会とできたと思います.
詳細は予選リーグを2位通過し,決勝トーナメントへ進むことができました.しかし,決勝トーナメントのハードルは高く,RoboDragonsに5-0と敗北し,Rootsさんとの3位決定戦となりました.予選リーグでは敗北してしまった相手でした.試合結果は,0-0の末PK戦で1-0といった流れです.予選リーグでは2-0で敗北した相手に,何とか粘りの試合ができたのではないでしょうか.
結果はさておき,普段は公民館など小さなフィールドで活動しているため,大きなフィールドでたくさんのチームと試合ができ,貴重な経験となりました.参加チーム,スタッフの皆様ありがとうございました.
配信活動
この結果,参加報告の記事よりも先に公開された,配信環境の解説記事がありますが,我々GreenTeaは 試合より熱心に 大会のYoutube配信&実況を行っておりました.
記録用に大量のカメラを持ち込み,なぜか上り回線の帯域が十分に確保され,ありがたいことに配信許可,公式アカウントの利用許可がおり,とあれよあれよと話が進んでいきました.そのおかげで,配信&実況を通じて,大会を盛り上げられてよかったと思っております.実況活動への参加してくださったチームの皆様,マイクを融通してくださった運営の皆様に感謝しております.また,今後も大会・コミュニティの盛り上げやRoboCupのアウトリーチ活動として,お手伝いしていければよいと思っております.
おわりに
今大会では,うまく解消できた課題や,試合を通して見つけた新しい課題などが明確にすることができました.今後はそれらの解決や新しい挑戦を通して,もっともっとロボットづくりを楽しんで行きます.次回大会ではさらに進化したGreenTeaにご期待ください.多分優勝します.大会中にお話しいただいたロボカップジュニア参加者の皆さん,待っております.
また,参入時にRootsさんに助けられたように,我々もSSLコミュニティに貢献していけるような団体を目指していきますのでよろしくお願いいたします.
最後に,我々のかわいいロボットたちの写真をたくさん張っておきます!
Read more
JO2023 SSLの公式配信を担当しました
GreenTeaでJO2023 SSLの公式配信を担当しました.
回線について
会場の回線を配信に使用することができなかったので,自前で回線を用意しました.
インフラとして,OpenMPTCProuterというOSSとtechfeeloから提供された回線・サーバーを利用して,チームメンバーの予備スマホを接収して回線を4つ契約し,束ねることで安定した配信を可能にしました.今回は楽天回線を2つ,auのpovo2.0を2つ契約しました.(後半からはhome5Gルーターも追加しました)
図1.1 配信ネットワーク構成図
図1.2 スマホたくさん
図1.3 speedtest
配信用カメラについて
USBカメラを5台用意し,GreenTeaパドックに設置した配信用PCで映像の切り替えを行いました.
フィールド角に設置したカメラはパドックから遠く,配信用PCとUSBで接続することができないため,別途PCを用意してUSBカメラの映像をRTSPを利用してEthernetケーブルで配信用PCまで映像を中継しました.RTSPでの映像の中継にはv4l2rtspserverを利用しました.
図2.1 カメラネットワーク構成図
図2.2 カメラたち
図2.3 配信をしてる様子
我々が勝手に始めた配信を公式として認めてくださった運営の方々,お手伝いくださった皆様に深く感謝いたします.ありがとうございました.
Read more
フィールドセットアップの紹介
- PR, AI, SSL-Vision
USBカメラで60fps出たよ!
GreenTeaでは、↓のようなUSB接続のWebカメラ(Logicool c922n)をロボットの動作確認に使っています。Amazonで7800円とかで買いました。
このカメラはMJPEGフォーマットで720pの解像度であれば、60fpsで撮影できます。
しかし、これまでのSSL-visionではYUY2フォーマットしか対応しておらず、
30fpsしか出せませんでした。
それが昨年、SSL-visionが晴れてMJPEGフォーマットに対応したわけですが、visionのGUIで設定したフレームレートが動作に反映されていませんでした。
そこで今回、該当箇所の修正を行った結果、ようやくlogicool c922nをつかって、
720p、60fpsを実現できました。わーい。
修正のpull requestは公式にacceptされました。わーい。(https://github.com/RoboCup-SSL/ssl-vision/pull/189)
masterのURLはこちら
カメラ設置方法
常設カメラ(自宅設置)
自宅の天井にカメラを設置した一例です。
マジックテープを使ってベニヤ板を天井に固定しています。
マジックテープをタッカーで固定することで、跡が残りにくい(はず)です。
ベニヤ板にカメラアームをねじ止めしています。
練習会でのカメラ設置
練習会などで場所を借りてフィールドを設置する場合には、
背景スタンドを使ってカメラを設置しています。
背景スタンドはamazonで5000円くらいで購入したもので、畳んでバッグに入れて持ち運べるので便利です。幅は3m、高さは2.8mまで伸ばせるものを使っています。
この時はカメラ2台使うため、スタンドも2組つかいました。
カーペットについて
カーペットはこちらから購入しました。
Read more
製の6時間2020
2020/12/24 21:00 今年も製の6時間が始まりました.
製の6時間とは: 貴方の知り合いや友人ももれなく進捗をしています。 普段はあどけない顔して世間話してるあの娘も進捗をしています。 貴方が片想いしているあの綺麗な女性も進捗をしています。 貴方にもし年頃の娘さんや姉・妹がいて、いま家にいないのでしたら間違いなく進捗してます。 貴方と別れたあの娘も貴方がその娘とやってきたことを別の作業場でしています。 貴方の将来の恋人や結婚する相手は、いま違う作業スペースでモータをヒィヒィ言っています。 すべてを注げましょう。そして共に闘いましょう。
出典:http://titech-ssr.blog.jp/archives/1063307440.html
今年の弊チームはこの製の6時間を乗り切るため,21時よりDiscordにて #GreenTea_(製|性)の6時間進捗会 を敢行しています.(現在25日1時)
ほぼフルメンバーで進捗会をしている図
世間の空気に心が折れないようにチームで団結して頑張っていこうと思います.
Read more
SSL研究会2020
研究会現地組
しゅねー
メカ担当現地組として、研究会に参加させて頂きました。大変な状況下で会場を提供して頂いた、豊田高専KIKS様、調整して頂いたOP-AmP様、また関係者の皆様ありがとうございます。
私達のチームは新規チームでしかも普段はメンバー全員が遠隔で活動しています。そのためロボットを広いスペースで集まって動かす機会は大変貴重です。それを逃さないためにデスマをしました()
直前はメンバー間で宅配便が飛び交い,最終的に研究会当日の朝、昇圧基板の受け取りに失敗して練習会ではキックできないことが確定したりしました。
当日は会場についてから、当然のごとくJITを開始し、ぎりぎりでしたがdiscordで繋いでいたメンバーや現地に来てくださったnabeyaさんのおかげでなんとかフィールドでうごいているロボットをみることができました
これですごくモチベーションが上がったので、今回発覚した様々な問題を解決してJOに向けてこれからも頑張っていきます。
研究会 遠隔組
ぐえたん
私は今回いろいろな事情があり、研究会2日前に現地参加をあきらめ、現地参加のメンバーをDiscordでサポートしていました。現地でははじめてAIからの通信を送って動作させることができ大戦果でした。Halt実装し忘れててAIを回すことができなかったのは内緒です。
私は研究会自体が初めての参加でした。思っていた以上に戦略の部分の深い話やそれぞれのチームで培ってこられたノウハウを共有していただいてモチベーションにつながりました。
来年度は研究会でAIの戦略を共有できるようになるまで進捗を上げ、練習試合ができるように開発を進めてまいります。
最後になりましたが、昨今の情勢の中開催してくださった関係者皆様にお礼申し上げます。
ありがとうございました。
Read more
第一回オフラインミーティング
本日はソフトピアジャパンの一室を借りてオフラインでの初ミーティングでした.
参加メンバは少々少なかったものの,完成した回路を持ち寄り実機での配置を決めました.
次回大会が来年3月と本来の予定より半年も早くなり,大変時間がなくなってきました.
何とか試作機を来月中に完成できそうですが,量産が間に合うのでしょうか.
果たして資金調達は間に合うのでしょうか.
今後もソフトピアジャパンのお部屋を借りて活動していこうかと思っております.
以下,今日のツイートの埋め込みです
本日はオフラインミーティング&基板配置打ち合わせです pic.twitter.com/nod3cfyy9d
— ぎょくろん (@gyokuron0501) August 27, 2019
ついでにモータの耐久テスト
発熱しすぎて、お茶が湧きそうです pic.twitter.com/rCjk8Bb9um
— ぎょくろん (@gyokuron0501) August 27, 2019
Read more