2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

競技規則に載っていそうなシンプルなロボット
ディムシフ

ティ

「Dimsifty」の作り方

画像引用元：新 ROBO 剣 競技規則 / 一般社団法人二足歩行ロボット協会
https://www.robo-one.com/upload/roboones/69_89e99ece91fd678f4003aca0e9a24d44original.pdf

目次

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの機械設計】
４．ハードウェア②【ロボットの電子回路】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答公開資料の更新や当日の追加資料があればこちらで公開する予定です。
また、資料につきましてご質問がありましたらご記入ください。
https://forms.gle/j4Ba73vbVnNtrmGGA

１．発表者紹介

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

【高校生のとき】
神戸市立科学技術高等学校 機械工作部ROBO→ここで二足歩行ロボット製作に目覚める【大学生のとき】
大阪電気通信大学 自由工房HRP→ここでROBO-剣のロボット製作に目覚める【社会人になってから】
いろいろあって関東で就職→現在でも二足歩行ロボット協会の展開する大会に参加

１．発表者紹介
ロボット活動の内容は９９％がＲＯＢＯ-ＯＮＥだった。
↓
今回の資料はＲＯＢＯーＯＮＥをやってる人で新ＲＯＢＯ－剣に出ることを考えている人向けの資料になります。
ローテクで実現する画像処理入門のためのロボット

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答２．自律型ロボット製作のきっかけ

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ①「ロボットを作ってます」って自信を持って言いたい
自分のROBO-ONE用ロボットはハードウェアを楽しむ割合が高い。
ソフトウェアは手動操縦やメーカの完成された製品でカバーしている。
→ソフトやらずに「ロボット作ってます」はなんか違う気がする。

→少しでもいいからソフトウェアの世界を経験したい。
モーションはハードウェアだよ

マジか操縦を自動化する部分がソフトウェアの１つだよ
大学時代の私とある先輩２．自律型ロボット製作のきっかけ

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

②そもそも自分はロボット操縦の適性が高くない
高校在学中から現在に至るまで何回かあったこと自分の製作したロボットを他人が操縦した時に結果が出る。
→ロボットはそれなりの質で作れているのに、自分の操縦が悪かった
ことでロボットの性能を引き出せていないことが多かった。

→独り身になった今、勝手に動いてくれるロボットで勝ちたいと思った。

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】
ロボットの全体構成※最初から計画されていたものではない
OSOYOO
Model-X
Motor Driver
ModuleOSOYOO
Metal Gear
Moter

PWM

KONDO
KRS-2552HVKRS-4014HVスピーカ
3.5mm
ジャック

UART

I2C

ArduinoNano

USB3.0Raspberry Pi 4
Model B 4GB

5GHz
Wi-Fi

SPI
2.4GHzPS2 Controller
Receiver

RealSense
DepthCamera
D435

PS2
Controller

WindowsPC

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

ロボット製作における現実

Dimsiftyは最初から全体の構成が決まっているロボットではなかった。
→技術的に自分が作りたいものをどこまで実現できるかわからなかった。
→競技規則を見ながら、自分が作れそうな部分から作っていきどんどん機能を足していくことで現状の構成に。

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】
まずは手動のラジコンを目指して構成していく。

KONDO
KRS-2552HVKRS-4014HVスピーカ
3.5mm
ジャック

UART

OSOYOO
Model-X
Motor Driver
ModuleOSOYOO
Metal Gear
Moter

PWM

I2C

ArduinoNano

USB3.0Raspberry Pi 4
Model B 4GB

5GHz
Wi-Fi

SPI
2.4GHzPS2 Controller
Receiver

RealSense
DepthCamera
D435

PS2
Controller

WindowsPC

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

使用したマイコンボード
ArduinoNano(ATmega328P)
選定理由・インターネット上に使用事例が大量に載っている・OSOYOOのロボットカ―がArduinoで制御されている

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

ArduinoNanoにモータドライバを接続。
OSOYOOより公開されているサンプルスケッチを用いると簡単に動作させることができる。モータについてるセンサは使用していない。

×２

×４

PWM

OSOYOO
Model-X
Motor Driver
ModuleOSOYOO
Metal Gear
Moter

PWM

ArduinoNano

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】
ArduinoNanoにPS2無線コントロ―ラを接続。

難しく見えるのはSPIだが、実際は優秀なライブラリがあるため調べて出てきた記事通りに配線してサンプルスケッチを書き込めばOK。

ArduinoNano

SPISPI
2.4GHz

2.4GHzPS2 Controller
ReceiverPS2Controller

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】
次は腕となるサーボを動かしていく。

KONDO
KRS-2552HVKRS-4014HVスピーカ
3.5mm
ジャック

UART

OSOYOO
Model-X
Motor Driver
ModuleOSOYOO
Metal Gear
Moter

PWM

I2C

ArduinoNano

USB3.0Raspberry Pi 4
Model B 4GB

5GHz
Wi-Fi

SPI
2.4GHzPS2 Controller
Receiver

RealSense
DepthCamera
D435

PS2
Controller

WindowsPC

３．ハードウェア①【ロボットの構成要素】
使用したサーボモータ
KRS-2552RHV / KRS-4014HV

選定理由
・使い慣れているから。

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

腕は過去のROBO-ONE用ロボットの製作経験を取り入れつつ製作。
→基礎は過去のカンファレンスのスライドや自作ガイドも参照

引用元：プニの製作秘話 / ぷに（中井 裕斗）
https://bipedrobot.or.jp/upload/dbmaterials/572_21ecda385118c7a5d6e
b45e808448cd3original.pdf

引用元：それなりに動く二足の作り方 / 立野伸英
https://bipedrobot.or.jp/upload/dbmaterials/892_85296140b4c4878034
e451f8a57f9485original.pdf

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

確実かつ簡単に動かすならICS変換基板を使用する。
公式から配線図・ライブラリ・サンプルスケッチが公開されている。
KONDO
KRS-2552HVKRS-4014HV

KONDO
ICS変換基板

ArduinoNano

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

サーボを動かすだけの一番単純なパターン

今回はArduinoNanoにサーボを直で接続。サーボを動かすだけならバッテリ

単純な回路でも動く。
コネクタ

KONDO
KRS-2552HVKRS-4014HV
UART

サ サ サー ー ーボ ボ ボ

サーボを動かす/サーボから返事を受け取れるパターン（多少のリスクあり）

UART

バッテリ
ArduinoNano
コネクタ

サ サ サー ー ーボ ボ ボ

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】
これで手動の構成に。
自機の車輪で走行して自機の腕で打突できる。
OSOYOO
Model-X
Motor Driver
ModuleOSOYOO
Metal Gear
Moter

PWM

KONDO
KRS-2552HVKRS-4014HV

スピーカ
3.5mm
ジャック

UART

I2C

ArduinoNano

USB3.0Raspberry Pi 4
Model B 4GB

5GHz
Wi-Fi

SPI
2.4GHzPS2 Controller
Receiver

RealSense
DepthCamera
D435

PS2
Controller

WindowsPC

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】
次は人間の代わりとなる頭脳を構成していく。

KONDO
KRS-2552HVKRS-4014HV

スピーカ
3.5mm
ジャック

UART

OSOYOO
Model-XMotor Driver
ModuleOSOYOO
Metal Gear
Moter

PWM

I2C

ArduinoNano

USB3.0Raspberry Pi 4
Model B 4GB

5GHz
Wi-Fi

SPI
2.4GHzPS2 Controller
Receiver

RealSense
DepthCamera
D435

PS2
Controller

WindowsPC３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

使用したシングルボードコンピュータ
RaspberryPi4 Model B(4GB)

選定理由
・インターネット上に使用事例が大量に載っている

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

使用したカメラ
intel RealSense™ Depth Camera D435

選定理由
・インターネット上に使用事例が大量に載っている・深度カメラとRGBカメラを組み合わせた処理が簡単３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

RaspberryPi4にD435をUSB3.0で接続。
打突時の発声のためにスピーカをRaspberryPi4のイヤホンジャックに接続。
→これらが人間の脳・目・口と同じ役割を果たす。

スピーカ
3.5mm
ジャック

USB3.03.5mm
ジャック

RealSense
DepthCamera
D435
USB3.0Raspberry Pi 4
Model B 4GB

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

３．ハードウェア①【ロボットの構成要素】
最後に頭脳をラジコンに接続して完全自律へ。

KONDO
KRS-2552HVKRS-4014HV

スピーカ
3.5mm
ジャック

UART

OSOYOO
Model-X
Motor Driver
ModuleOSOYOO
Metal Gear
Moter

PWM

I2CArduinoNano

USB3.0Raspberry Pi 4
Model B 4GB

5GHz
Wi-Fi

SPI
2.4GHzPS2 Controller
Receiver

RealSense
DepthCamera
D435

PS2
Controller

WindowsPC

３．ハードウェア①【ロボットの構成要素】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

ArduinoNanoとRaspberryPi4をI2Cで接続。
・RaspberryPi4の仕様上、5ｖ←→3.3ｖのレベル変換が必要ない
・Arduinoの仕様上、I2Cは割り込みで処理されるため通信がラク・ArduinoのUARTとSPIは使用済みで使えない…といった条件から自然とI2Cに決定。

ArduinoNano

5v系

I2C

Raspberry Pi 4
Model B 4GB

3.3v系

ArduinoNano

I2C

Raspberry Pi 4
Model B 4GB

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答

４．ハードウェア②【ロボットの基礎制御】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

ロボットの基礎制御→Arduinoの中身。
ハードウェアコントローラとしての機能を持たせる。
・モータドライバへの命令
・サーボへの命令
・PS2コントローラのボタンデータの受信・上３つの情報をRaspberryPi4と送受信

これらが不自由なく連立できる状態を作りたい。

４．ハードウェア②【ロボットの基礎制御】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

Arduinoの内部処理
メインルーチンI2CでRasPi4からデータ受信

I2CでRasPi4にデータ送信

はじめ

I2C割り込み①

I2C割り込み②

PS2コントローラの情報受信

I2Cの受信データより内部変数を更新

I2Cの受信データより送信する内部変数をセットｺﾝﾄﾛｰﾗ情報より内部変数を更新

PS2コントローラの情報受信

I2Cでセットされた
内部変数を送信サーボモータへ
角度を命令

ｺﾝﾄﾛｰﾗ情報より内部変数を更新

モータドライバへ回転速度を命令

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答５．ソフトウェア①【コンピュータの環境構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

コンピュータの環境構築→ラズパイに何の機能を乗せるか・RealSenseSDK（カメラを使う）
・OpenCV（画像処理）
・NumPy（数値計算）
・SMBus（I2C通信）・simpleaudio （音声出力）
インストールするための記事は沢山あるが・・・

５．ソフトウェア①【コンピュータの環境構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

環境構築でよくあること前提知識が足りてないとネット記事通りにならなかった時に詰む→バージョン違いとかインストール順序の違いとか些細なことでうまくいかないことがある。
→前提知識が無いので、その「些細なこと」を解決するのに膨大な時間がかかる５．ソフトウェア①【コンピュータの環境構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

よくある詰みポイント①「訳も分からずフリーズする」→総当たりで原因探るしかない→最悪諦める（OS選択しなおしに至ることもあった）
よくある詰みポイント②「よくわからないエラーが出る」→エラーが出るだけマシと考える→エラーメッセージをとりあえず検索エンジンへ→エラーによっては違う記事がヒットしまくる５．ソフトウェア①【コンピュータの環境構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

環境構築を乗り越えるには・・・①粘り強く時間をかける（当たり前）→解決するために必要な一番の要素は〝経験を積む”こと。
②英語の記事を見る→調べたい内容を英語で検索する。ヒットする数が圧倒的に違う。
→記事を見るときは機械翻訳でもいい。
③SNSでエラーを検索する→確率は低いが誰かの投稿が稀にヒットする。

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答６．ソフトウェア②【打突アルゴリズムの構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

はじめ
停止

目の前に床はあるかNo

ざっくり表すと、Dimsiftyの行動パターンはこれしかない。

大きく旋回

Yes
視界に何かあるかNo
ちょっと旋回Yes

中央に何かあるかNo「何か」の方を向く

Yes

打突の範囲内かYes

No「何か」へ接近

色認識で打突６．ソフトウェア②【打突アルゴリズムの構築】
処理「停止」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

停止

カメラの信頼性を上げるために、いちいち停止する。
→処理を高速に行う事は想定していない。
※D435のカメラは、動きながらでも新ROBO-剣に最低限必要な情報を得ることができるはずだが、止まらないと精度が出せなかった。

６．ソフトウェア②【打突アルゴリズムの構築】
条件分岐「目の前に床はあるか」

目の前に床はあるかNo

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

大きく旋回

Yes

深度カメラの下方の深度を取得する。
床と深度カメラの角度と距離は一定なので、想定値以上の距離が出たら「床がない」と判断される。

６．ソフトウェア②【打突アルゴリズムの構築】
条件分岐「視界に何かあるか」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

視界に何かあるかNo
ちょっと旋回深度カメラの中央横一直線の深度を取得する。
●設定した距離内に少しでも何かがあれば…
→その「何か」に対してアプローチを開始する。
●なにもなければ…
→視野を変えるためにちょっと旋回。
※永遠に旋回する状態になることを避けるため、数回旋回したら前左右にランダムに動く。

Yes６．ソフトウェア②【打突アルゴリズムの構築】
条件分岐「中央に何かあるか」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

中央に何かあるかNo「何か」の方を向く「何か」が中央横一直線のどこで計測されたかに応じて分岐。
●中央あたりで「何か」が検知されていたら…
→進行方向上に「何か」があるので次の段階へ●画面端に「何か」が検知されたら…
→「何か」が画面中央にくるように旋回

Yes６．ソフトウェア②【打突アルゴリズムの構築】
条件分岐「打突の範囲内か」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

打突の範囲内かYes

No「何か」へ接近中央あたりの「何か」が自機からどれくらい離れているかに応じて分岐。
●竹刀が届かないぐらい離れているなら…
→とりあえずちょっと前進して接近●竹刀が届きそうな範囲なら…
→色認識を使って打突する。ここで初めて色認識が登場。 その前に

６．ソフトウェア②【打突アルゴリズムの構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

「何か」の正体とは…？

現時点でロボットは「何か」が本当に相手のロボットであるかどうかはわかっていない「中央横一直線に映り込む想定距離以内にある物体」を検知する条件
だと以下のようなモノすべてが「何か」の対象になってしまう。
・相手ロボット
・相手のオペレータ
・会場の設置物（机・椅子）

・自分自身
・審判・カメラと三脚６．ソフトウェア②【打突アルゴリズムの構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

「何か」がロボットか否か判定するには？
競技規則上、リング上には自機と相手しかいないはず。
→「何か」が相手だとすれば、どれだけ接近しても床は存在している→「何か」が相手じゃないとすれば、それはリング外の物体を検知しているため、接近していけばいつか床が無くなる
新ROBO-剣という競技以外では使い物にならない手法ではあるが…
リングから落ちないロボットになっていれば「何か」の正体がわからなくても誤って打突することはない。

６．ソフトウェア②【打突アルゴリズムの構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

はじめ
停止

目の前に床はあるか

No

大きく旋回

床の検知が最上位であるため相手以外を誤って打突することは基本的に発生しない。

Yes
視界に何かあるかNo
ちょっと旋回Yes

中央に何かあるかNo「何か」の方を向く

Yes

打突の範囲内かYes

No「何か」へ接近

色認識で打突６．ソフトウェア②【打突アルゴリズムの構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ「何か」がロボットか否か判定するには？
→「リング上の物体であるかどうか」を床の存在で判別する。
●この手法のメリット
処理を作るのが簡単→画像処理とか一切いらない。PSDセンサー数個でもできる。
●この手法のデメリット
接近しないと自機と相手の間に床があるかどうかの判定ができない→近づくまでは誤ってリング外にあるものへ突き進んでしまう。
…でも検知の条件がキツすぎて同じ場所でじっとしているよりかはマシだと思って割り切っている。

６．ソフトウェア②【打突アルゴリズムの構築】
定義済み処理2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

色認識で打突認識開始
画像を取得

面･胴･小手のどれかがあるか

Yes

NoNo
胴があるか小手があるか

Yes

Yes

Yes

最後に打った胴の位置を打突

面を打突

胴を打突

小手を打突

左に移動

右に旋回

メインの処理へ戻る

No

面があるかNo

６．ソフトウェア②【打突アルゴリズムの構築】
処理「画像の取得」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

画像を取得

RGBカメラから画像を取得し、必要な下処理をする。
●深度カメラの情報と組み合わせ、必要ない部分を黒で塗りつぶす→背景が消えるためロボットだけが映った画像が得られる。
●ガンマ値・コントラスト・彩度を適度に上げる→画像としては悪くなるが、色認識するだけなら問題ない。
→照明の変化に強い画像が得られる（と思った）。
これらは OpenCV と RealSenseSDK が全部やってくれる。

６．ソフトウェア②【打突アルゴリズムの構築】
条件分岐「面･胴･小手のどれかがあるか」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

面･胴･小手のどれかがあるか

YesNo
最後に打った胴の位置を打突

画像に赤・青・黄の塊があるかどうかで分岐。
●少しでも塊があれば・・・→あれば精密に打突するための処理に進む。
●塊がなければ・・・→相手のロボットはいるはずなのに打突部位が見つからない状態。
とりあえず当たることに賭けて打突してみる。
※現状の競技規則に打突ミスのペナルティが無いからできる事。
ロボットとしての正しい処理は「打突しない」だと思う。

６．ソフトウェア②【打突アルゴリズムの構築】
条件分岐「面(胴)(小手)があるか」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

面があるか

Yes
面を打突

画像に赤(青)(黄)の塊があるかどうかで分岐。
●塊があれば・・・→目標となる座標を計算して打突する●塊がなければ・・・→次の色の判別に進む※最低１色は必ず打突、最大で３色連続で打突する。

No

６．ソフトウェア②【打突アルゴリズムの構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

～目標となる座標の決定方法～①画像上における塊の重心座標をOpenCVで取得→画像上でのX座標とY座標が確定②深度カメラの情報を使い、重心座標での奥行きを取得→実空間上でのZ座標が確定③奥行きとD435の画角から実空間上の重心座標を算出→実空間上でのX座標とY座標が確定

６．ソフトウェア②【打突アルゴリズムの構築】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

～打突ポーズの決定方法(逆運動学)～①根本ロール軸の角度を決定
X座標とY座標の逆正接により算出できる。

目標座標

WYZ

θ1原点

X

②根本ピッチ軸と手首ピッチ軸の角度を決定
余弦定理により算出できる。

L2
θ3
W

L1
θB

θ2V

θA原点

Z

目標座標

６．ソフトウェア②【打突アルゴリズムの構築】
処理「左に移動」「右に旋回」

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

左に移動

同じ場所で打突し続けないように打突位置を少しずつ移動させていく。
お互いに打突範囲内になると竹刀の振り合いになるが、こちら移動→打突→移動→打突・・・を繰り返すので相手はこちらの移動に追従してから打突する必要がある→こちらが先手をとれる確率が上がる（と思った）

右に旋回

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答Dodo vs Dimsifty | SHIN ROBO-KEN 1st Quarterfinal
https://www.youtube.com/watch?v=hlHp_YRWi0Q

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

７．実際の試合【第1回新ROBO-剣】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

会場で起きた大問題「Wi-Fiが停止する」
2.4GHzのWi-FiはUSB3.0と干渉するため、パソコンとRasPi4の通信は5GHzのWi-Fiを使用していた。
→使っていたポケットWi-Fiをアクセスポイントとしていたが会場では何故かDFS機能が多発して接続が何度も途切れた。

※DFS機能とは、野外で使われる5GHzのWi-Fiが気象レーダーなどに影響を与えないようにする機能のこと。

KOBIS vs Dimsifty | SHIN ROBO-KEN 1st Semifinal
https://www.youtube.com/watch?v=nv6llI2i1UQ

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

７．実際の試合【第1回新ROBO-剣】

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

これからの新ROBO-剣に求められそうなこと動いているロボットにどうやって打突するか打突されないように動き続ける（打突されない）

現状のやり方だとトレードオフ

確実に打突できるように停止する（打突しやすい）理想は「自機が動きながら、動いている相手を打突できる」ロボット→実験大会ではそれに近い動作ができそうなロボットがいた。

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ８．新しいことに挑戦するには
９．質疑応答８．新しいことに挑戦するには2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ・つくる部分を分割しよう（目標の細分化）
達成感を感じられるポイントを増やす。
・未完成でもいいから作品を表に出そう（期日の設定）
目標を設定することが自分を追い込む要素になる。
・過去の自分と比べて評価しよう（自己分析）
自分の適性に合ったロボット作りの進め方を理解する。
・遅すぎることなんて無い（踏み出す勇気）
やりたいと思った時からきっともう始まってるんだと思う。

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

●導入
１．発表者紹介
２．自律型ロボット製作のきっかけ●展開
３．ハードウェア①【ロボットの構成要素】
４．ハードウェア②【ロボットの基礎制御】
５．ソフトウェア①【コンピュータの環境構築】
６．ソフトウェア②【打突アルゴリズムの構築】
７．実際の試合【第1回新ROBO-剣】●まとめ
８．新しいことに挑戦するには
９．質疑応答公開資料の更新や当日の追加資料があればこちらで公開する予定です。
また、資料につきましてご質問がありましたらご記入ください。
https://forms.gle/j4Ba73vbVnNtrmGGA

2023.07.15
第21回 ROBO-ONE Conference(2)＜新ROBO-剣＞ Dimsifty / セキ

ご清聴ありがとうございました。