Pi:Co V2 体験記

Pi:Co V2体験記第2シーズンその9「大回りスラロームぅ」

Pi:Co V2 体験記

こんにちは、広報DTP担当のサナエです。
このブログは技術畑ではない広報がアールティのPi:Co V2と1シーズンともにすごした後、もうちょっと頑張って魅力をアピールしたい体験記第2シーズンです。

前回は最短経路を数字で表して、その通りに走るかの確認をしました。今回はとうとう大回りスラロームを実装します。ちゃんと回るように頑張らねば。

Pi:Co V2とは!

Pi:Co V2(ピーコブイツー)は、アールティの教育や研究開発用小型移動ロボットのプラットフォームであるPi:Co Classic3同様、ソフトウェア開発の基礎を学びたい方に手に取っていただきたいロボットです。Pi:Co Classic3の機能やデザインイメージをそのままに、半分のマイクロマウスサイズになりました。
マイクロマウス競技に準拠しているのでもちろん大会参加もできます。

Pi:Co V2はESP32-S3マイコンを搭載しており、Arduinoで開発できます。
移動型ロボットのビギナーや、研究者、開発者まで幅広い方々にご利用いただけるロボットです。
Arduinoサンプルスケッチと解説書が付属するので、プログラミング初心者にもおすすめです。

計算が我を苦しめる

早速テキストを読みながらまた角速度の計算式を見て、こんなものがなければいいのに!と思う。
こんなくらいで良いかなーって感覚じゃダメなのはわかってるんですけどもね!

さてさて、前回まで普通に使っていたスラロームは半径が35ミリ
柱の中心から区画の真ん中まで45ミリ、10ミリオフセットで減らして35ミリ
速度v=半径r x 角速度ωで ω=v/r
LOWの速さが125mm/sなので速さ125mm/s÷半径35ミリで角速度rad/sが3.571!
NORだと175mm/s÷35ミリで5.000rad/s!
HIGHの225mm/s÷35ミリで6.429rad/s!!

さらにぃ!

NORとHIGHを半径が大回りの50ミリになったときの速度はええと!
NOR大回り速度は!半径50ミリ×5.000rad/sで250mm/s!
HIGH大回り速度は!半径50ミリ×6.429rad/sで321.5mm/s!

確かに早くなってる!
普通の掛け算割り算なのに心がしんどい 電卓はおともだち
テキストだけじゃなくて自分で書いて計算(電卓だけど)するとちょっとだけ解った気になれます。
これだけ早くなってちゃんと回るのかな?

旋回半径はこんなイメージ。かなり手前から回るのね

大回りスラロームのプログラムを追加するである

イメージを固めたところで、とうとうプログラムを追加していきますよ!
今回はadjust.inoに大回りスラの旋回確認用のプログラムを入れて、run.inoにsuraの関数を入れます。とうとう実践なのでワクワクします。

今までの調整モードに、大回りの速度に合わせた直進を追加していきました。

実は大回りの考え方で速さを数字で書いていくだけと聞いてはいたのだけれど、いまいちピンと来ていなかったのですが

改めて話を聞きながらここを見ると
ストレートのところで探索速度-25で進んでそのあと探索速度+50の速さでスラローム
+50のままターンが終わって、-25のところで元の速度に戻るという動きをしていることがわかりました。
タイピングしながらどうして減速の書き方をしてないのかな?と思っていたんですが、確かに数字で減速できているんですね。ここでやっと数字を変えるだけで…という説明に納得できました。
スッキリ!

あとはrun.inoに大回りスラの記述をしてー 今回書くことはこれでおしまい、あとは動かしてみよう!

大きくなれよぉ

調整モードでチェックしますよ!
旋回前の距離と旋回の角度、旋回後の距離を調整モードで見た後にrun.inoに追加したところに数値を入れて直します。

先に角度を何とかしてから旋回前後の距離の調整をしないとダメじゃん!と今更な気付きを得てじわじわ調整~

前回作ってもらった校正くんNeoですが、あれは今回は使えない…だと?マジですかなんで?
と思ったら大回りのチェックには3×3が必要とのことでした。なんということでしょう
グギギギギ!あれはセンサチェックにも使うから必要なんです!

とりあえず動かしてみよう!

ぐわあああ!!!!思ってたのと違う!!

これは…ちょっと頑張らねばですよ。
NOR速度のほうは何とか…そこそこいい感じになったんじゃないかなぁと思ったのですが、HIGHの早い方が!なんかうまくいかないよ!いくら数字を変えても曲がっていってくれないよ!
うわぁあん先生教えてください!
旋回でスリップするとかはわかるんですが、なぜこんなに曲がったことが嫌いな機体なんですか?

説明を何度もしてもらったところ
そもそも旋回の時のpulseが0.135単位なので、円弧の長さを出すときに値を10や20増減したところでほんのちょっとしか変わらない、と。10だったら10×0.135で1.35ミリしか円弧が増えてないのでほぼ変わらないように見える。

うわああああ!わかってなかった!ずっとずっと0.135ミリだと思ってた!今まで何とか旋回の角度が出せてたのがまぐれだったのがわかってしまったショッキン!
もっと桁を増やしてもOKと聞いたので大胆に動かしてみたら動く!動くよ!角度がどんどん思った感じに行くよ!ああああありがとうございますありがとうございます!

値をかっこ(……pulse)の中にいれちゃえば小数点も認識してくれるらしいのですが、今回は予定通りのところに書くことにしよう。物足りなかったら書く場所を変えてみるのも手かもしれないな。

こんな感じ。思ったより大きな数字になりました。
旋回前後の直進は角度さえ何とかなればすぐに決まります。

さあどうかな?

うひょおおおおやりましたー!

ターンも気持ち大きくなってる気がする!でも大きな迷路使ってたらきっと早くてオバァチャン見逃しちゃうね!
まぁ動くことが確認できたのでヨシ!

スッキリしまくりいい気持ち!

ああ先生の横っちょで調整させてもらって、気になってたところがすっきりしまくりました。邪魔をしてしまって申し訳ないと思いつつも本当にありがたい…アリガタイ!

調整中はつい周りに壁や柱を置いてしまっていましたが、調整中は外しておかないとセンサが反応してしまうのを忘れていました。ここも先生に言われてアッと気が付いたところです。ほかの角度もしっかりチェックしておかないとですね。

あまりに思ったように動かなくて気持ちを落ち着けようとほかのターンを調整してみた時に、どうしても一瞬ガクッとする時があってなんだろうと思っていたところがあったのですが、そちらは自分の記述ミスという事もわかったので本当に今回はすっきりしました。

あと少しではあるけれど、落ち着いて調整を続けたいです。

次回!最終回 全国大会で大回りできるの?ドッキドキ!
無事に終わりますように!

Pi:Co V2をヨロシク!

Pi:Co V2は現在好評発売中です。
組込みや自律制御の基本要素を学ぶ方々はぜひ本製品をご利用ください。
Web shopにて定価60,000円(税込)です。ご利用をお待ちしております!

タイトルとURLをコピーしました