[2020新歓]ロボット制御シミュレーション体験してみた!!part2

皆さんこんにちは、19のみたらし団子です(例によって今考えた仮の名前なのでハンドルネーム大募集中です)。
今日もテーマは「ロボット制御シミュレーションしてみた!!」となっております。

前回の続きなので読んでない方は下にスクロールして読んでみてください。
またurlを貼っておきますのでぜひ皆さんも参加してみてください
https://www.rogiken.org/shinkan/2020/introduce.html

さて、前回は光センサを使ってロボットにライントレースをさせるところまでをやりました。そこで、今回は様々なフィールドを使ってライントレース課題に挑戦していきたいと思います。

では早速やっていきましょう!!

課題1:

ラインセンサ1つを用いて,フィニッシュゾーンに到達せよ

  • 難易度☆☆
  • フィールド番号:02
  • 初期状態:init_state = [200; 600±20; 0];
  • センサ制限:ラインセンサ1つ
  • 目標時間:-

フィールド変更

↑フィールド02はこんな感じ。黒いのがラインで、茶色いのは壁です。例によって右側の丸がゴールです。

しかし、センサーひとつとはなかなかむつかしいような気がします。

前回やったように、センサの値の大小で左右の速度を変えるのがよいでしょう。というかそれくらいしか知りません。

そういう方針でとりあえず書いてみました。

 

コントローラープログラムの方は、センサの値が基準の値より大きいか小さいかで左右の速度を変えるようにしています(前回の記事でやりましたね)。

また、センサの位置ですが、機体の中心からは少しずらしています、フィールド図を見てもらうと分かりますが、結構壁との距離が狭いので機体の中心がラインの真ん中を通るくらいじゃないとぶつかっちゃうと思います。まあ見てなって。

それではやってみましょう。

いけました。完璧ですね。文句なしだと思います。カクカクしてる?

あんまり細かいこと気にしてると禿げますよ….

課題はクリアしましたが、カクカクしてるのが気になりますね。

ということで、これまた前回やったp制御を試してみましょう。センサーひとつはバカなので(?)、センサーを5個に増設しました。

↑センサーが

いっぱいあって

嬉しいね。

プログラムは以下のようにしてみました。

少し説明します。今回やりたいのは線からのズレの程度によって速度も変えるということです。そういう訳で、センサーの値にセンサーの配置による補正をかけたものの和をズレとして使うことにしました。このズレを前回やったように速度に反映させているのですが、このままだとフィールド図を見てもらうと分かる通り、直線から円に移るところで、うまく曲れません。そこで、すべてのセンサーが黒線を感知したら大きく曲るようにしています。

上手くいくかは分かりませんが、まあやってみましょう。やってみないと分からないって大科学実験も言ってた。

行けましたね、行けました。それ以外に感想はないですが、いいんじゃないですか?ほかにも課題はいくつかありますが、この辺にしておきましょう。

授業が延期になって暇な新入生の皆さん、ぜひこのロボット制御体験に参加してみましょう、周りの人はみんなやっています、知らんけど。

乗るっきゃない、このBigWave!!!

ノマドワーカーのイラスト

ということで、今回はこのへんでお別れしたいと思います。

下にリンクを貼っておきます

https://www.rogiken.org/shinkan/2020/introduce.html

 

[2020新歓]ロボット制御シミュレーション体験してみた!!

皆さんこんにちは、19のみたらし団子です(今考えた仮の名前なのでハンドルネーム大募集中です)。

さて、20の皆さんご入学おめでとうございます。
とは言っても入学式が中止になったようなのでまだ実感はないと思います。なんか大変やね…(笑)
ところで、今日のテーマは「ロボット制御シミュレーションしてみた!!」となっております。
ロ技研では毎年様々な新歓イベントを行っていますが今年はコロナが…なので、オンラインで皆さんにロ技研の魅力を知っていただこう!ということでこういうことを試みています。
そこで、ほぼ新入生と言っても過言ではない私も新入生と一緒に参加してみた!というわけです。urlを貼っておきますのでぜひ皆さんも参加してみてください
https://www.rogiken.org/shinkan/2020/introduce.html

ではやっていきましょう!
優秀な先輩部員が作った懇切懇切丁寧なwikiがあるのでこれに従って進めていくことにします。
トップページからzipファイルをダウンロードしてきました,私のpcには既にmatlabが入っているので早速動かしていきます
どうやらコントロール用、ロボット機体用のマトラボプログラムを弄ってシミュレーションをするようですね..まずは速度をいじってみます!
二つの数字が左右の車輪のモーターに与える電圧に対応しているみたいです、とりあえずまっすぐ進んでほしいので左右の値を共に2.5としました。
右側の丸い所に乗ればゴールなのですが、、、、

はいゴールしました。本当にお疲れ様でした。ロ技研来てね!さよなら~~

手を振る男の子のイラスト「バイバイ」

 

……とまあうまくいくのは稀です。

だいたいこのように壁にぶつかってしまいます。というのはこのロボット、キチンとまっすぐには進まないようになっているんですね。
それをどうにかしてゴールさせてやろうというのが制御のお仕事なわけです。今はやりのテレワークというやつですね、知らんけど。

理論上は左右の速度が一緒ならまっすぐ進むのですが、このロボットのようにうまくいかないということは,実際のロボットでも起こります、車輪にかかる摩擦力が左右で異なったりするからですね。多分そうだと思う。
ラジコンのように操作しているならば多少曲がっても問題ありませんが、今回のように自動で動くロボットではドンドンズレが大きくなってしまいますからこれは良くないでしょう。
プログラムを書いて制御するためにも,とりあえずどのくらいロボットが基準線からずれているかを何らかの方法で取得したいですね。
ということで、センサーを導入してロボットの位置を取得してみたいと思います。
導入したものがこちらになります。

上の画像の小さい赤丸がそうですね。こいつは光センサーを模したもので、黒い線上だと小さい値、白いフィールド上だと大きい値を返してきます。これを使ってなんとかまっすぐ進ませたい‼!
ということで、二つの光センサーを取り付けて、大きい値が帰ってきたら,つまり左右にズレが発生したら、左右の速度を変えてライン上に復帰するようにしてみました。

うまくいきました。本当にお疲れ様でした。ロ技研来てね!!さよなら~

手を振る男の子のイラスト「バイバイ」

 

….はい、うまくいったはいいけどなんかすっごいカクカクしてる。これは嫌ですね、嫌じゃないですか?
これどうやったら直るかなって一晩中考えたんですが(大嘘)、線からの離れ具合によって左右の速度をうまく変化させればよいのではないでしょうか。ちょっとしかずれていないのに猛スピードで戻そうとしたらそらいかんでしょ。ということでやって見ます。

☝0.3に左右のセンサーからの値を掛けています、センサーからの値が小さければ車輪の速度もあまり変わりません。
さてさてどうかな…?

だいぶ良くなりましたね。良くなりました。制御の知識皆無の僕の見解によるとこれがいわゆるP制御というやつです。無知をさらしたくないのでこれ以上は触れません。みんな、勉強…しよう!

ここまででもはや私はロボットを自由自在に動かせるようになりました。
そこで次回はライントレース課題にチャレンジしたいと思います。
では今度こそさようなら~

ロボット制御体験は以下のリンクから!

https://www.rogiken.org/shinkan/2020/introduce.html

オンラインでのロボット制御体験会を開催します!

こんにちは。部長の18-Hitomosiです。(部長になりました)

オフライン新歓が中止になってきたところなんですが、ロ技研(ロボット技術研究会の略です)では新歓イベントとして、オンラインで新入生向けにロボット制御体験会を開催することになりました!日付がアレですが、本当ですよ!

オンラインでロボット動かせるんですか?と思う方もいると思いますが、今回はMATLABというソフトウェアを用いたシミュレーションで2輪ロボットを動かしてもらいます。 “オンラインでのロボット制御体験会を開催します!” の続きを読む

リアルタイム画像処理入門

どうもこんばんは
ロ技研会長の15 のもと です。

この記事は rogy Advent Calendar 2019 25日目の記事です。
といってももう12/28日、研究やらで忙しくて記事を書くのが遅れてしまいました。申し訳ない m(_ _)m。

私は高速画像処理の研究をしているのですが、ロボット勢にもっと画像処理をやる人が増えてほしいと思うので、今回は「リアルタイム画像処理入門」と題して記事を書いていきたいと思います。

高速画像処理

画像処理は一般に処理時間が結構かかってしまいます。しかし、動いているものを対象とした画像処理やロボットなどにカメラを乗せて画像処理をしたい場合には遅い速度の画像処理では間に合いません。

例えば3m/sで飛んでいるボールを画像処理で認識してキャッチしたい場合に、画像処理に10fpsかかるとすると処理に100msのインターバルがあるので、画像をとってから認識が終わる間に30cmも移動してしまっています。そのため、物体の移動を予測する必要が出てきます。

しかし、もし超高速に画像処理ができればどうでしょう。ここで私が説明するよりも例えば東大の石川研究室の動画を見れば高速な画像処理の効果が理解できると思います。

“リアルタイム画像処理入門” の続きを読む

オーディオミキサーを作る

この記事はrogy Advent Calendar 2019の21日目の記事です。

みなさんこんばんは,17年度入学のおがたです。
AdventCalendar書く下級生があまりにも少なくて悲しんでます。知らない間に部員減ったのかな?

さて、昔からゲームが好きな僕ですが、スプラ2やスマブラ、フォートナイトにPSO2、MHW:iにFF14などなど、最近はやるゲームも増えてきて、NintendoSwitchとPS4を自室のテレビ画面に繋いでプレイしています。ジンオウガ亜種かっこいい。

大学生になってからは友達を交えて複数人で話しながらゲームをする機会も増えました。しかし、ゲーム内でボイスチャット機能があるゲームならそれを使えばいいのですが、チャット機能しかないゲームやそもそもチャットできないゲームも多いです。

そんな時は大体LINEかDiscodeを使って電話しながらゲームをするのですが、ここで問題が発生します。

我が家には親もいるので、基本的にヘッドセットを着けてゲームしています。そもそも音が大事なFPS、TPSをするのにヘッドセットを使わない選択肢はありません。まあ足音聞いても撃ち勝てる訳じゃないんですけどね。おい戦犯

イヤホンマイクを付けてその上からヘッドホンをする、という†素晴らしい†先人の知恵もあるらしいですが、ケーブルが煩わしいし耳が痛くなりそうなので、オーディオミキサーを使ってゲームの音と通話の音を混ぜることで、一つのヘッドホンでゲーム音と通話音を聞くことにしました。
“オーディオミキサーを作る” の続きを読む

dアニメストアで遠隔上映会をしたい

この記事は、 rogy Advent Calendar 2019 の18日目の記事です。

こんにちは。17のたっち(@touch_sukem)です。

タイトルの通りです。
集まって上映会をするよりもっと手軽に人とアニメを見られるようにしたくないですか?
今回はそのために作ったfirefoxのアドオンを紹介します。

“dアニメストアで遠隔上映会をしたい” の続きを読む

Cheese杯の報告

この記事はrogy Advent Calendar 2019 17日目の記事です.

こんにちは.17のpilafです.
12/15(日)に第三回Cheese杯を開催した話を書きます.

cheeseについてはこことかを参照

Cheese杯とは?

毎年12月に,他団体の方たちを招いて学内でマイクロマウスのプチ大会を開催しています.
開催は三度目となり,今年も大勢の方に参加していただきました.

以下は当日の写真・ツイートです.

そして,この度晴れて組長の座を退くことに成功しました.一年間ありがとうございました.
次期組長は18のHitomoshi君です.彼と彼の作るマイクロマウスにご期待下さい.

rogy Advent Calendar 2019,明日は17のたっち君の記事です.お楽しみに!

初めて電子工作した話

この記事はrogy Advent Calendar 2019の14日目の記事です。

ごきげんよう.17の信風(@kaze_0kudasai)です.
今日は私の初めての電子工作のお話です.(はんだ付け講習会と講義以外で基板触ってないし,初めてでいいよね…)
というわけで,このブログには間違いを多分に含みます.ネタブログとしてお読みください.

さて,初めて電子工作をするわけですが.初めてといえども,どうせ作るなら楽しそうなものがいいよねということで,講義で作るのに失敗したHブリッジ(フルブリッジ)に挑戦してみました.
特徴はこんな感じです.

  • FETのNP混合型のHブリッジ
  • マイコンから送る信号線は3つ

マイコンから送る信号線を3つにしたのは,配線少ない方がかっこよさそうマイコンから送れる信号に限りがあることと,論理回路を作ってみたくなったからです.また,NP型にしたのは,バージョン1でN型を作ったからだったと思います.

今回作った回路は下の図のような回路になってます.

基板にするとこんな感じです.

この回路は実際にはGNDが共有されていない,動作確認用のLEDが存在しない等の問題点はありますが,改善してから基盤切削してみたいです.

最後に,動いた動画がこちらです.

以上,初めての電子工作でした.
基板切削をしたら,また報告するかもしれません.
明日はらりおさんの「修論? まだ早い」です.明日のrogy Advent Calendar 2019もお楽しみに~.

VirtualBoxで最高の講義,組込システム基礎を乗り切る

 

この記事は,rogy Advent Calendar 2019 の10日目の記事です.

はじめまして.ふくふく(@fkfk21_18) です.

今回は,windows7でH8マイコンを使用する環境構築について書きたいと思います.

(´・ω`・)エッ?

なぜ,そんなことをするのか

我らが東工大の工学院システム制御系は,200番台の(一般に2年生が履修する)講義として,組込システム基礎というものがあります.この講義では,VS-WRC003LV というH8マイコンを搭載したマイコンボードを用いてマイコンを使おうっ!といった内容が半分を占めています.

さて,初回の講義です

H8マイコンの環境の構築と動作確認が主な目的でした.この講義では講義室に備えているPC(Windows8.1)を用いて講義を受けることもできるのですが,PC重すぎてやってられないと講義開始10分で見切りをつけたので,自分のPC(Windows10)内に環境を入れますかぁと思ったわけです.

ここで問題

マイコンとのシリアル通信を行う際に使用するHtermという今回使用するマイコンボードに特化した(?)ソフトウェアがあるのですが

僕の環境でなぜか接続できない

デバイスマネージャーからCOMポートで認識しているというのは確認でき,かつ,teratermを使えばシリアル通信できることも確認できた.なぜなんだ

ちなみにこのHterm上のメニューバーでhelpってやつを選択したらシリアル通信で”?”を送って結果が送られてくるとかいう実際に何をしているのか見えにくい仕様なので(やっていることは推測できるのですが),誰かに「ねえ,このhelpってやつ,何を送ってた?」とか毎度毎度教えてもらわないとteratermでは戦えません(ちなみに初回はteratermで戦いきりました).
さすがに迷惑ですね

ちなみに周りのwindows10勢は「普通に動くで」といった感じで平然と課題を進めています.

意味が分からんっ!!!!!

というかこのUI,一世紀ぐらい古そうな見た目してるなぁと思い,調べてみたところ...このHterm,なんかwindowsXPで更新が終了しているみたい…

たくさんのシステム制御民が組込最高~~って言ってる意味がなんとなく分かってきましたね

けど,現状XPは現状microsoftの公式から入手する方法はなさそう(?)なのでwindows7使ってみるかぁという思いになりました

なんか日本の半数以上の企業が使ってるらしいし?

しかし,自分のwindows10が入っているPCに今回の講義のためにwindows7をbootするのはさすがに馬鹿馬鹿しい…

ということで

VirtualBoxを使ってwindows7の仮想環境内にH8マイコンの環境構築をして組込システム基礎を乗り切るっ!!
といった感じです

仮想環境を作ることで次いつ使うかわからないH8マイコンの環境をボタン一つで破壊できて環境汚染を最小限にできる!最高!

動作環境

ホストOS: windows10 Home
ゲストOS: windows7 (IE11 on win7)
VirtualBox ver6.0.14

いざ,VirtualBoxで仮想環境の構築

ここまでの長い前置きはさておきいざ環境構築です

https://www.virtualbox.org/  からvirtualboxをダウンロード

次にVirtualBoxマネージャーから新規で仮想マシンを作成して仮想マシンの初回起動時にisoイメージを開いて…あ,isoイメージが欲しいですね

さて,isoイメージを落とすかぁとubuntuのisoイメージを落としてくるのと同じノリでmicrosoftのwindows7のisoイメージのダウンロードページに行くと

号泣

プロダクトキーがいるんですね()

なんか方法ないんかーーと思い調べていると…

かつてmodern.IEと呼ばれていた(今はMicrosoft Edge Developerと呼ばれているらしい)仮想環境をmicrosoftが提供しているらしいのでそれを使うことにしました

これはmicrosoftの提供するwebページの動作検証などに本来使われているようです

コレ,ライセンスが90日間有効みたいなのですが,12/9(僕が入れた日)からであれば第4Q(2/7まで)にしかないこの講義は耐えれるっ!ということで迷わず採択

https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/   ここから

こうして

こうっ

すると展開した中に

IE11-win7.ovaっていうのがあるのでこいつを開くと仮想環境の構築が自動でできます

ovaファイルは自分で仮想マシンを作成するときの設定が事前に入っているものなので自分で環境を作るよりかはサクっと進みますね

これのデフォルト値だとビデオメモリが足りないみたいなので[設定]->[ディスプレイ] からビデオメモリを32MBとか64MBにしとくとよさそう

ついでに仮想マシンの名前はkumikomi-saikouにでもしておきましょう

これで

それではwindows7を起動!...しても現状ではゲストOSであるwindows7からUSBで接続したマイコンボードに接続することはできません

なのでwindows7を起動していない状態で,今回使用するマイコンボードをPCに接続

その状態で,[設定]->[USB] からUSBコントローラーを有効化してUSB2.0(ETHI)コントローラーを選択し
右のUSBを追加できそうなところをクリックして
Vstone Co.,Ltd. VS-WRC003LV COM Port [0001]をUSBデバイスフィルターに追加します

これで

windows7を起動

上のメニューバーからクリップボードの共有とドラッグアンドドロップを双方向で有効化できるので,有効化してホストOSのwin10からゲストOSのwin7にHterm.exeを移行!

Hterm

最高~~~~~~~~~~~~

といった感じでいけました

他に使用するものも基本入れれたので大丈夫でしょう(たぶん)

これで環境汚染を最小限にできました!

未来のシステム制御民の環境汚したくないerはぜひ参考にしてみてください

ちなみにこの方法を使えばwindowsしかこのソフト使えないよと言われて
(´・ω`・)エッ?
ってなってた人もubuntuなどのLinuxだろうとMacだろうと無理にwindows入れずに乗り切ると思います(たぶん)

知識が豊富なわけではないので虚偽の情報が入っていた場合はご指摘をお願いします.

はまったところ

シリアルポートの変更ではなかった

ホストOS側でこのボードがCOM22で認識されていたので,ポートモードをホストデバイスに設定してCOM22をゲストOS側にCOM1と認識させるんかなと思ったらうまくいかなかった
USB-シリアルコンバーターのおかげでシリアルポートではなくUSBとして認識されている?

参考

https://qiita.com/studio15/items/26bfb665aa024c5a5568

https://developer.microsoft.com/en-us/microsoft-edge/

https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/