苦行記録

不定期な日記みたいなものです

日本より涼しい国、エジプトに行こう 1日目

先週エジプトに2泊3日で行きました。

最高気温は34℃でしたが、乾燥していて風も吹くため、この時期の沖縄よりも涼しかったです。

みんなも日本から9,500km離れた避暑地、エジプトに行こう。

 

成田から成都へ

四川航空を利用してまずは成田から中国/成都に行きました。

成田空港T1からの出発だったため、5Fでうどんを食べました。

大変啜れました。

同じフロアには入場時にビール1缶がもらえるラウンジもあるので、一杯やってから飛行機に乗りましょう。

最後の日本食

飛行機は座席にモニターがなく、座席間隔は狭めで快適ではなかったものの、機内食が美味かったです。

チキンorフィッシュだったのでチキンにしました。

機内食を受け取った後でCAさんが老干媽(ラオガンマー)をかけてくれます。

初めて食べたのですが、昔流行った食べるラー油とは異なり、ニンニクの味はせず、辛さはマイルドで食べやすかったです。

鶏飯 with 老干媽

帰国してから中華系のスーパーでわざわざ買って料理にかけていますが、何にかけても美味いのでオススメです。

CAさんが中国語で話しかけてくるので、調子に乗って「茶,热茶」って言ったらオレンジジュースを出されました。(1敗)

大学生のときに中国語の授業を真面目に受けていなかった記憶を思い出し、アイマスクを涙で濡らしながらそのまま眠りに着きました。


成都からカイロへ

成田から5時間半ぐらいで成都に着きました。

乗り換えなのに間違って入国しかけましたが、引き返してなんとか出発ゲートまでたどり着けました。乗換の案内通りに進むと入国審査に突入します。(は?)

次の便まで4時間も空きがあったので、充電スペースの取り合いにチョン↑パァ!した後に肯德基 a.k.a. KFCに行きました。

時刻が22時を過ぎていたせいか、店員がメニューを次々に指でトントンしながら「NO、NO、NO、NO、YES、YES、NO、NO」とSupremeの店員並に冷淡な態度でフライドポテトとチキンナゲットだけを売っていました。

ここで引き返すのは何か負けた気がするので仕方なくYESと言われた2品を食べました。

胃袋を満たすだけの食い物

 

お前と戦いたかった

そうこうしているうちに、時間よりも早く搭乗が始まり、搭乗口からバスに乗って飛行機に乗り込みました。

 

今度はモニターが座席に付いていたものの日本語に対応しておらず、座席の間隔は相変わらず狭い。

そして、乗客はほぼ中国人。

時刻は1:25、ここから10時間半の過酷なフライトが始まろうとしていた——

詐欺の国、インドに行こう 最終日

前回からの続きです。

最終日はニューデリーのマーケットに行きます。

nout.hatenadiary.jp

 

チャンドニー・チョーク

ホテルからオートリキシャで10分ぐらいのマーケットに向かいました。

Uber Taxiが全く捕まらなかったため、仕方なく客引きのオートリキシャに乗ったところ、「今日は祝日でマーケットは閉まっている。他のいい場所を紹介するよ。」詐欺に遭遇しました。

タイのワット・プラケオで同様の詐欺に遭っていたため、「嘘つくな詐欺師(NO!! GO MARKET!!!!)」と言って送ってもらいました。

途中で運転手が「ガソリンが足りない」と言い出したため、勝手に給油してガソリン代取られるやつか?と身構えていたところ、降りさせられて囚人服みたいな服を着ている人のリキシャに乗せられました。

オートリキシャではなく、リキシャ(人力)に初めて乗りましたが、とにかく揺れて最悪の乗り心地でした。

電線の密度がもはや九龍城砦

ここら辺は道が狭いのかリキシャかオートバイしか止まっていませんでした。

チャンドニー・チョーク ガンターガル(時計塔)前

マーケットではインドの屋台飯に挑戦してみました。

最終日だからどれだけ腹壊してもええやろの精神ですが、容器を再使用する系のもの(コップを使い回すライムジュースなど)は申し訳ないが不衛生すぎるのでNG

手始めにそこら辺で売ってる「アルーティッキ」を食べました。

嘘みたいな緑色

イモを揚げたやつにスライスされた大根?をまぶして緑色のソースをぶち撒けた料理です。50バーツでした。

緑色のソースにはパクチーが入っているみたいですが、ミント系の爽やかな風味に圧倒され、パクチーを食えない自分でも食べられました。

イモがフガフガしていて、とにかく腹に溜まります。

 

次に「パニプリ」を食べました。

上部がくり抜かれた中空球体の生地に具材を入れて、濁った水みたいなものを入れたやつです。

塩っぽくて辛くて酸味のある奇妙な味だったと思いますが、あんまり記憶ありません。

最初3個で50ルピーだったのが、払った後で1個あたり100ルピーで3個で300ルピー払えと吹っかけられて、ムカついたので1個だけ食って去りました。🖕

ムカついたので写真も撮っていません。🖕

気になる人はWikipedia見てください。

 

赤い城(レッド・フォート)

特に中に見どころがないことを知っていたので、外から見ました。(この日は月曜日で定休日だったのでそもそも中には入れない)

定休日の赤い城

外観はアーグラ城塞に似ていますが、アーグラ城塞より迫力ないです。

 

ジャーマー・マスジド

赤い城の近くにデカいモスクがあったため、見に行きました。

口コミを見る感じ、中に入るにはまた詐欺師とバトルをしないといけなさそうだったので、外観だけ見ました。

チラ見えマスジド

いい感じに写真が撮れそうな高台がなく、これが限界です。

周辺を探索していると、鶏を売っている店もありました。

こうして私たちの元へ届けられる(大嘘)

エアロシティー

ここら辺で歩き疲れて暑さも限界だったため、デリー空港近くのエアロシティーという場所に向かいました。

オフィスビルやデパートがある商業エリアらしいです。

フードコートがあったので、「Sandburgs」というインドのハンバーガーチェーン店でラム肉のバーガーとライムソーダを注文しました。

用途不明のケチャップが付いてくる

肉自体のクセはなく、スパイスの主張も控えめで食べやすかったです。

ただし、これで500ルピー(約800円)なのでインドだと少し高めだと思います。

ライムソーダには氷が入っているので、腹を下したい人以外は氷抜きで頼むのをオススメします。(1敗)

 

空港

本当はさっさとこの詐欺師ばかりのカオスな世界から抜け出して空港のラウンジでダラダラ過ごしたかったのですが、インドでは空港には出発時刻の4時間前でないと入ることができません。

そのため、空港には飛行機に乗る人以外は入ることができず、客引きのいない唯一のセーフエリアとなります。神。

空港ではTrip.comのランク特典でラウンジを利用しました。

無料バイキングと無料WiFiが使えます。

バーもありましたが、近年ラウンジで原価率の高い酒を遠慮なく飲む日本人が増えているらしいので遠慮しておきました。(敷居が高かったのとお金かかりそうだったのでチキりました。)

ビリヤニっぽいご飯とカレーっぽい何か

インドっぽくないスイーツたち

帰りの飛行機はインド人が半分ぐらいで、機内食もベジとノンベジに分かれていました。

このとき既にローカル飯と氷で壊れていた胃腸に味噌汁が沁みました。

ノンベジ機内食

インド旅行終了

いかがでしたか?

個人的にはめちゃくちゃ面白い国だと思いました。

詐欺師は多いですが、命が狙われるものでも無ければ大した額でもないので(一撃ウン万の詐欺もあるけど注意していれば引っかかることはないはず)そんなにリスクはありません。

こちらにとっては少額でも現地人にとっては大金のため、チップを求められたり、観光客価格を吹っかけてくることもあります。

日本人は優しい/騙されやすいみたいに思われるのが癪なので、自分はケチに振る舞っていましたが、どう振る舞えばいいのか正直よく分からなかったです。

この記事で興味を持った方はぜひ現地に足を運んでドン引きしたり困惑したりしてください。

 

最後に、アーグラ駅の音割れ広告を撮影した動画を貼り付けてこの記事を締めさせてもらいます。

(なんて言ってるか)これもうわかんねぇな

www.youtube.com

詐欺の国、インドに行こう 2日目

前回からの続きです。

2日目はアーグラに行きます。

nout.hatenadiary.jp

 

特急列車(行き)

ニューデリーからアーグラへは急行列車で2時間で行けます。

チケットはIRCTCのサイトで予約しました。

予約する場合はe-Visa同様にサイトがクソほど分かりずらいので、覚悟して挑んでください。

予約した便は以下の通りで、両方ともエアコン車(CCクラス)に乗りました。

帰りは良い感じの時間帯の列車が無かったため、ヘーズラット・ニザマディン行きのものを取ってタクシーでニューデリーまで戻りました。

<行き>

SHATABDI EXPRES

06:00 | New Delhi → 07:50 | Agra Cantt

手数料込みで871ルピー(約1400円)

 

<帰り>

GATIMAAN EXP

17:35 | Agra Cantt → 19:30 | H Nizamuddin

手数料込みで1241ルピー(約2000円)

 

始発便だったこともあり、発車30分前でも乗ることができました。

座席はこんな感じ。所々年季が入っていて少し汚い。

 

しばらくすると、軽食が運ばれてきました。

お湯の入った紙コップが渡されるので、ティーバッグを入れて紅茶にします。

この後、到着5分前ぐらいになって食事が配られ始めましたが、適当に返事をしていたらいらないと思われたみたいで貰えませんでした。
すまねぇ、ヒンディー語はさっぱりなんだ(頼むから英語で喋ってくれ)

 

タージ・マハルを見に行く

アーグラ・カント駅に着くなりガイドやらオートリキシャの運転手やらに四方八方から声をかけらたので、一番顔がイケてそうな人にタージ・マハルまで100ルピーで連れて行ってもらいました。

目的地まで向かっている間、観光客が書いたノートみたいなものを見せられ、「この人に○○ルピーでガイドしてもらいました。早い!安い!美味い!(適当)」みたいなことがたくさん書いてありました。

それを見せられた後に、次の予定を聞かれ、「ここで待ってるから、次の目的地まで案内するよ。ガイドもつけて○○ルピーでどう?」みたいなしつこい営業が始まりましたが、拒否して後にします。

待ち時間もしっかり金取られるので注意です。

 

アーグラには野生の猿が生息しており、タージ・マハル周辺にもいました。

タージ・マハルの中に入ると、「猿と目を合わせると襲われるから気をつけろ」みたいな内容の看板があるのですが、猿は普通に外にも生息しているので注意が必要です。

↑初見殺しすぎる。

 

タージ・マハルは持ち物検査が厳しく、ガイドブックすら持ち込めないことを知っていたため、西門から少し歩いたところの有人ロッカーに財布/パスポート/スマホ以外のすべての荷物を預けました。

預けるには電話番号を伝える必要がありますが、適当でOKです。

噛まれたら、死

ドル払い詐欺ガイド

タージ・マハルの入場方法がよく分からず、現地の人に聞いていたら自称公式のガイドに捕まってしまい、流れで勝手にガイドが始まりました。

断りまくったのですが「ガイドは無料」と言われ、とにかくしつこかったので承諾してみました。

タージ・マハルの庭園の門

英語で色々説明してくれたのですが、マジで9割9分ぐらい何言ってるのか分かりませんでした。

ただし一つはっきりと「ガイドが良かったらチップとして10, 20ルピーくれ。」と言っていたのはわかりました。

タージ・マハル

普段、自分の写真を撮ることはしないのですが、ガイドの圧が強かったため写真撮影をお願いしてみました。

正面の人気の撮影スポットだけは現地のカメラマンが撮影権を独占しており、追加課金100ルピーが必要になります。

タージ・マハルをつまむやつ

ガイドはインスタ映えする写真の撮り方を熟知しているようで、場所とポーズを変えた写真を合計15枚ぐらい撮ってくれました。
そのままタージ・マハルの手前まで進み、そこでガイドは終了となりました。

すると、「チップで10, 20ドル支払え。私は学生だ(お金がないからくれ)。」と言われました。

はい、インド詐欺あるあるのドル払いです。お前の国の通貨はルピーやろ。

最初はルピーって言ってたよな?と思い、そのまま20ルピーを払ってやろうかと思いましたが、流石に殺されるか怒られるかと思い、50ルピーを渡して巻きました。

英語での説明&写真撮影で20分ガイドの相場の価格は分からないですが、恐らく安く済んだのではないでしょうか。

勇気がある人は10ルピーで済ませてみてください。

 

その後、タージ・マハルの内部も見ました。

内部は撮影禁止で、ただ棺が1つ置かれているだけで見応えはありませんでした。

近くで見ると迫力がある

昼食

荷物を回収し、歩いて10分ぐらいの「Joney's Place」というレストランに行きました。

店主が日本語を少し喋れます。

おすすめのバナナラッシーとバターチキンカレーに、プレーンナンを頼みました。

ガーリックナンがおすすめらしいですが、昨日食べたのでスルーしました。

全体的に油が控え目で食べやすかったです。

これで300ルピー(約500円)なのも悪くないと思います。


アーグラ城塞を見に行く

タージ・マハルの近くにある城塞を見に行きました。

ここでも荷物を預けないといけないのですが、こちらはロッカーはなくクロークのみです。

荷物を預けると布に直接チョークで番号をデカデカと書かれるので、お気に入りのバッグなどを預けるのは避けたほうがよさそうです。

ここでもガイドの客引きが死ぬほどしつこいですが、こちらも負けじと「(F○CK YOUって言う勢いで)NO!!!」って言えばそのうち消滅します。

アーグラ城塞入口

内部はダンジョンみたいになっていて、特に順路も無いので迷いそうになります。

塗装が結構剥げてる

建物を抜けると広場もありました。

謎の庭園

大理石の空間もあり、全体的にゴチャゴチャしていました。

大理石の空間(立入禁止)

ガイドを雇わなかったせいか、どこがフォトスポットなのか分かりませんでしたが、リスに素手で餌をあげている人がいたので、ここを勝手にアーグラ城塞のサビ部分とします。

アーグラ城塞のリスの使い手

インド人を5時間観察する

時刻は12時過ぎ、街中のバザーに移動しましたが目当ての店が営業していなかったため、駅に戻りました。

帰りの列車が来るまで5時間ありましたが、暑さと疲労で動けなくなったため、駅で待つことにしました。

顔の前にう○こがぶち撒けられた状態で寝る駅前の牛

駅には改札がないため出入り自由なのが嬉しいです。

駅のホームに猿がいる国

最初は客引きと適当に話をして暇つぶししていたのですが、特に面白いことが起こりそうにもなかったので、こちらをジロジロ見てくる現地人を逆に見返して反応を伺う遊びで暇をつぶしました。

改めて駅を行き交う現地人を目で追うと、9割9分目が合ったのですが、目が合っても逸らさずにそのままずっと見て通り過ぎるのがデフォでした。

その他のリアクションは以下の通りです。各2人ずつぐらい同じ反応されました。

・「Hello」って挨拶してくる人

・手を振ってくる人

ヒンディー語で話しかけてくる人

ジェスチャーを取ってくる人

下2つは本当に分からず、全く会話にならなかったのですが、ヒンディー語は翻訳アプリを使えばよかったなと反省です。

ジェスチャーには罠があって、何を伝えたいのか分からないからといって首を傾けるとインドでは「Yes」の意味に捉えられてしまいます。インドに行く場合はジェスチャーも履修しておくと良いです。

ダイナミック乗車

 

特急列車(帰り)

インド人を観察すること5時間、ついに帰りの列車がおおよそ予定通り来ました。

どこのプラットフォームに列車が来るのかは駅の電光掲示板を見ないと分からないのですが、到着10分前になって急にプラットフォームが変わってビビりました。

この国で生きていくには周りを観察して臨機応変に対応することが求められるっぽい。(インド人を観察する必要はない)

 

帰りは運良く飯が出ました。

カレーがナンで巻かれたやつは美味しかったです。

紅茶キットが探しても見つからず、多分足りてないと思うんですけど、配膳の人に伝わる気がしなかったのでそのまま白湯を飲みました。

 

ホテルへ

ヘーズラット・ニザマディン駅からニューデリー駅には直接列車で行けそうな気がしましたが、乗り方が全く分からなかったので案の定Uber Taxiで向かいました。

タクシーが全然つかまらず、ピックアップしやすそうなところまで歩き、30分ぐらいかかって乗ることができました。

面倒であればアーグラからニューデリー行きの列車に乗るのが良いと思います。

 

ホテルに戻るとインドに来て初めて日本人と会い、少し話をしました。

その方はバラナシまで行き、ガンジス川の遺体焼却場を見てきたみたいで、そこでも観光客料金をしっかりぼったくられていて笑いました。

別れた後、お腹は空いていたものの食べる気がしなかったため、そのまま寝ました。

 

次はマーケットに行き、ローカル飯を食って盛大にお腹を壊します。

詐欺の国、インドに行こう 1日目

はじめに

「RRR」とかいう神インド映画があまりにも面白かったのでインド/デリーに2泊3日で行きました。

とはいえロケ地はインドの南の方のハイデラバードなので、あんまり関係ないです。

 

インドへ

JAL羽田空港からインディラ・ガンディー国際空港への直行便を予約しました。

エコノミーで往復8万5千円、移動時間は8時間ちょっとでした。

時差が3時間半あって、11時に日本を出発して16時にインドに着きます。

 

航空券を発券したところ、なぜかエコノミーではなくプレミアムエコノミーにアップグレードしていました。(ダブルブッキングかな?)

プレミアムエコノミーだとスパークリングワインが飲めて最高です。

 

機内食はこれです。無難に美味しかったです。

機内食で味噌汁が出てきたのは初めてだったのですが、JAL限定なんですかね?

 

両替

いつも海外旅行前は新宿駅前の店で現地の通貨に両替して行くのですが、インドルピーは国外持ち出し禁止のため、現地で両替するしかありません。

クレカを使って空港のATMで引き出そうとしましたが、エラーで引き出すことができなかったため、空港を出て両替所を探すことにしました。

 

空港を出た瞬間、さっそくインド人に声をかけられました。

インドあるあるとして、「向こうから話しかけてくる人は大体詐欺師」という情報を聞いていましたが、試しに両替所を聞いたところ、空港のすぐ目の前の両替所を案内されました。

Googleマップに表示されないところで、レートは1円=0.56ルピー(1割安いぐらい)であまり悪い気がしなかったので、1万円両替しました。

今回の旅行はここで両替した1万円で十分足りました。参考までに。

 

ホテルへ

詐欺師疑いのインド人

両替が済むと両替所を教えてくれたインド人がまた声をかけてきて、次はどこに行くか聞いてくるので、「Metro」と伝えると地下鉄乗り場まで案内してくれました。

感謝を伝えてその場を立ち去ろうとしましたが、なぜかついてきました。

金が欲しいのかな?やっぱり詐欺師だったか・・・と思って、強めに「THANK YOU!! BYE BYE!!(ヤケクソ)」って言ってもついてきます。

RPGのパーティーみたいになりながら歩いていると、路線図のマップのところで「ホテルの最寄り駅はここだから、〇〇ルピーかかるよ」と言ったのを最後に、半ば強引に先に進んだところ、ついてこなくなりました。

パーティーからメンバーが抜けた余韻に浸かりながら、そのまま地下鉄に乗りニューデリーまで行きました。

ただ道案内したいだけだったのか、自分の詐欺の手札に当てはまらなかっただけだったのか、今はもう分かりません。

 

旅行代理店詐欺

えーと、結論から言うと詐欺に遭いました。

といっても、途中で気づいて被害はたったの20ルピー(30円)で済みました。

ニューデリー駅に着き、鉄道の駅を渡ってホテルに行こうとすると、手荷物検査のところでセキュリティー風のインド人(詐欺師)に捕まりました。

「パスがないと向こうには行けないよ。オートリキシャでパスが取れるところに連れていくよ。そのままホテルに20ルピーで送るよ。」と言われ、そんなこと知らないけど事前の調べが足りなかったのかな?と思い、疑いながらオートリキシャに向かいました。

調べようとしてスマホを取り出すと、「ここら辺はスリがあって危ないからスマホはしまったほうがいい。」と言います。

調べると詐欺であることがバレるため、調べさせないようにするためです。

 

オートリキシャに乗ると、別の詐欺師とバトンタッチで詐欺の現場に向かいます。

その詐欺師も「盗られるからスマホはしまえ」と言っていたものの、途中からスマホを出しても何も言わなくなったので、記念にツーショットを撮りました。

この顔の奴を見たら逃げてください。

色々会話する中で「お前詐欺師やろ」と言ったところ、「インドには詐欺師が多いけどホンマに信じてくれ、写真も撮ったやろ」と言われました。

なあ、信じられるわけないやん。

詐欺師は自分のこと詐欺師って言うわけないやん。

「じゃあお前証明してみろよ」と言いかけた辺りで、謎の建物『Tourist Information』に到着しました。

Googleマップのレビュー見ればすぐに詐欺の店だと分かります。

店に入って話を聞くと、「ニューデリーの治安は悪い。ここに泊まるべきではない。安全な地区のホテルを紹介する。」と言われました。

オイ、どの口が言ってんねん。

この辺りで旅行プランを壊されそうになった(お金を取られることよりも勝手に計画を変えられることが許せない)ので、「ちょっと待ってね(もう戻らないけど)」と言って店を出ました。

さっきのオートリキシャの詐欺師が待っていたので、「終わったか?終わってないのになんで出てきた。」などめっちゃ口論になりながらも観光代運転代20ルピーを渡し、Uber Taxiでオートリキシャを呼んで颯爽とホテルに向かいました。

どうやらそのまま従っていると数万~十数万円の旅行プランを組まれてしまうらしく、オートリキシャは待っていた分の料金を請求されるらしいです。

 

ホテル

勿論パスなんて不要でホテルまで行くことができました。

今回泊まったホテルはここ

2泊で9千円でした。一人で泊まる分にはいいと思います。

 

ホテルのすぐ近くでトマトスープを無料で配っていたので飲みました。

マサラ味で喉に来る辛さでした。

飲み終わったら紙コップを道端に捨てます。

 

インド門へ

Uber Taxiが中々捕まらなく、気が付けば夜になっていました。

ライトアップされたインド門を見てきました。

インド人しかいませんでした。

ドローンを飛ばしている人が多かったです。

特にこれ以上は見どころが無かったため、そこらへんのオートリキシャの運転手と価格交渉し、150ルピーでホテルに戻りました。

 

夕食

ホテル近くのレストラン『Cafe Vagabond』に行きました。

ガーリックナンとチキンティッカバターマサラを食べました。

どちらも油多めで味はあんまり、チキンティッカはチキンが大きくて食べ応えありました。

水も含めて750ルピー(1200円)ぐらいでした。インドの中でも高めです。

バターチキンカレーもありましたが、2人前からみたいです。

バターチキンカレーとチキンティッカバターマサラの違いは知りません。

 

この後、適当な店でコーラを買ってホテルに戻りました。

次は朝6時にデリー発アーグラ行きの列車に乗ります。

Webotsでマイクロマウスをシミュレーションする

この記事はMicro Mouse Advent Calendar 2021の7日目の記事です。

昨日の記事は、PIDreamさんの「真上から迷路を撮影しよう」でした。

真上から撮影するととても見やすくていいですね。

デバッグ用途にも大活躍しそうです。

 

はじめに

さて、日々のマウス開発で次のようなことを考えたことはないでしょうか。

・実機を動かす環境がない(まさか迷路を持ち運ぶ人はいませんよね?)

・補正やアルゴリズムを検証したいが実機を動かす気力がない

・色々な迷路を走らせてタイムや動きを知りたい/モチベーションを上げたい

半導体不足の影響で部品が手に入らず実機が作れなくて暇

Webotsでは3Dモデルや実機のセンサデータ等をもとにロボットをシミュレーションすることが可能です。そこで、本記事ではWebotsを用いたマイクロマウスシミュレータの大まかな作成手順を(細かく書くととんでもない文章量になるため大きく省略して)説明したいと思います。ただ、それだけだとふーんで終わりそうなので、作成したシミュレーションモデルを配布します。適当に動かしたりモデルを置き換えて遊ぼう。

 

Webotsの紹介

f:id:nout:20211206085442p:plain

Webots User Guideより

 WebotsはCyberbotics社が公開しているオープンソースのロボットシミュレータです。物理演算にはODE(Open Dynamics Engine)を用いたもので、Gazeboに似たようなソフトです。特徴としては、

C/C++/Java/Python/MATLABでコントローラを書くことが可能

・OSはWindows/macOS/Linuxに対応

・ROS連携あり

・ネット上に情報があまりない

ゲーム機Windowsで簡単に動かせるのは嬉しいですね。

ネット上に情報があまりないことについては、HPにドキュメント(英語)がまとまっているのでそれを読めば苦労することは特にはないと思います。

 

シミュレーションモデルの作成

<CADでの操作>

(Webotsの仕様ではY軸が高さ方向、モデル単位はm)

①ホイールやタイヤがない機体のモデル(ボディ)を作成して.stlか.objで出力

②ホイールとタイヤのモデルをそれぞれ.stlか.objで出力

③以下をCAD上で確認

・ホイールとタイヤを付けたモデルの質量, 重心, 慣性モーメント

・ホイールとタイヤがないモデルの質量

・ホイールとタイヤのモデルのそれぞれの質量

 

<Webotsでの操作>

①Robotノードを追加し、モデルを読み込んでいい感じに追加する

②ホイールやタイヤはHingeJointノードを追加してそこに追加する

③physicsを設定する(質量, 重心, 慣性モーメント等)

④boundingObjectをMeshノードやShapeノードを使って設定する

⑤WorldInfoノードのcontactPropertiesを設定する(摩擦等)

⑥各種センサを追加する

⑦適当な迷路を追加する

※URDFやPROTOを用いてモデル作成する方法もありますが今回はGUI上で手動で作成しました。

f:id:nout:20211206172737p:plain

―完―
テスクチャを作成すれば線が引かれた床も簡単に表示できる(右図)

 

実装済み機能

・速度制御

 別でPythonでログ表示をするスクリプトを用意し、Webotsのコントローラからファイル経由で渡すことで下図のような表示も即座にできます。

f:id:nout:20211206175622p:plain

 

・センサシミュレーション

 下図のように、壁からの距離とセンサ値を実機で測定し、DistanceSensorノードのルックアップテーブルに入力することで、センサをシミュレーションすることができます。

f:id:nout:20220101094659j:plain

 

・迷路探索

 自宅ではできないフルサイズ迷路の探索もシミュレータなら可能です。

 

 

実装予定機能

・最短走行

・吸引力シミュレーション

 Propellerノードを用いるとファンの回転の角速度から推力を算出できるらしいので、吸引ファンの羽形状の検討が捗りそうです。

 

配布用シミュレーションモデル

・配布先

 (新)v1.1.0

  モデルが床にめり込みにくく、弾け飛びにくくなりました。

  ・動作周期を16msから8msに変更(プログラムのTIME_STEPも16から8に変更)

  ・摩擦等変更

  ・センサ追加、質量,重心位置,イナーシャ修正

 (古)V1.0.1

  ・質量修正

boundingObjectなどのMeshノードやテクスチャのurlでエラーが出た場合はフォルダ内のprotoフォルダ内のファイルを参照するように設定しなおしてください。

・内容

 上の図にある2つの迷路&私のハーフマウス(20HF-01)のRobotモデルです。コントローラの言語はC++で、motor_speed関数に左右の車輪の回転速度(rad/s)を渡すと動きます。タイヤ半径やトレッド幅はヘッダファイルに記述してあります。ほかに何か気になったことや分からないことがあれば気軽にご連絡下さい。

 

最後に

 去年の学生大会を最後に1年程度マウス活動を完全に休止していましたが、社会に出てから色々あってちょっとだけやる気が出てきたので再開しました。

ようやくリアルでの大会が開催され始めたこのタイミングでシミュレータかと思われた方もいると思いますが、シミュレータはあっても困らないと思います。

シミュレータでもモデルが動いているところを見ると結構モチベーション上がるので、おすすめです。

明日はg2t_さんの「クレートnannouでお絵描き」です。

こちらもシミュレーションに関係がありそうな記事ですね。お楽しみに!

2020年マイクロマウスハーフ機体紹介

f:id:nout:20200923223623j:plain

機体名 20HF-01
全長 55 mm
38 mm
重量 約16.5 g
マイコン RX631 64pin
モータ

6×12 mm(不明) コレ

BETAFPV 6x17 mm 25000 KV(吸引)

エンコーダ MA-700
モータドライバ

DRV8836

IMU MPU-6000
センサ LTR-4206E+OSI5FU3A11C
バッテリー 100mAh 20C 1Cell コレ
ギア

kkpmo M0.3 9T

DMMmake アクリル(Ultra) M0.3 36T

 <最大パラメータ>

直進速度 4 m/s
斜め直進速度 3.5 m/s
加速度 15 /m/s/s
大回り90度 1.5 m/s
その他ターン速度 1.2 m/s

<3DCAD>

<回路図>

f:id:nout:20200923225206p:plain

<AW>

f:id:nout:20211219171525p:plain

特徴

◎吸引力UP

前作では最大で30g程度しか吸引できず,また,吸引スカート自体が下りないことが多々あった.

そこで,吸引力を上げるため,モータを4mm径のものから6mm径のものに変更してより高回転型のものに変更した.

その結果,最大で60g程度吸引でき,十分な吸引力を得ることができた.

 

◎モータの選定

ハーフでよく使われるモータのDidel MK06-4.5は1Sだとトルクがそこまでなく,吸引機体には向いていないと感じたため,中国通販で同サイズのモータを買い漁って選定した.

自宅の環境で回転数やトルクの計測はできないため,実際にマウスに実装してFF&FBゲインを合わせて走行ログから評価した.

手間も時間もかかったが,まあまあ満足するスペックのモータが手に入り,トルク不足は改善された.

 

◎センサ配置

前作では発光と受光をセットで横に並べて配置していたが,今作では縦に並べてセンサマウントで保持することでセンサ角度を左右で合わせてセンサを使った制御をしやすくすることを狙った.

が,そもそもセンサの半減角が広いためあまり効果はなく,むしろセンサマウント分の重さによってイナーシャが若干増えた.

でもかっこいいのでOKです.

 

◎ジャイロ変更

クラシック同様,ハーフもジャイロを従来のものから変更した.

問題なく使えているが,ターン時(特に大回り180度)の最大角速度がこのジャイロのレンジの限界である2000deg/sに近いので次に作ることがあるなら最大レンジ4000deg/sのジャイロを使いたいと思う.

もちろん振動対策で実装方法を工夫したいと思う.

 

◎プログラムの変更(クラシックと同様)

今作はハードもソフトも今まで動けばOKだった箇所を見直した.

・並進方向と旋回方向にFF制御を導入し,モータに余計なトルクがかからないようにした.

FF制御のゲインは運動方程式から理論的に算出したものではなく,加速度項,速度項,摩擦項のそれぞれをログを取りながら自分で設定した.

コツを掴めばそれっぽくFF制御が可能だが,時間と根気のいる作業なのでどうにか精度良く定数を得る方法を考えたいと思う.

・角度の扱いに関して,今まで相対角度でしか扱っていなかった(旋回する度に角度はリセットしていた)が,リセットをせずに絶対角度で扱うことで前の動作による目標角度と機体角度のズレを考慮した旋回が可能になった.

旋回後の機体角度が壁制御がなくてもほぼ合うことで壁制御が困難な櫛区間などで効果的だった.

おそらくDCマウスでは絶対角度で扱うことが普通であり,多くの人がやっていることだと思う.

・センサ値の線形化を自然対数近似にしてセンサテーブルでROMに持つようにした.

それに伴ってコンパイラをCC-RXからGCC for RXに変更.(CC-RXの無償評価版ではプログラムサイズの制限があったため)

今まで割り込み関数内で多項式近似で逐次計算していたが割り込み時間を超えていたが,テーブル参照にすることでかなり処理時間を抑えられた.

 

総合評価

今までで一番まともだと思う.

2020年マイクロマウスクラシック機体紹介(試作段階)

後述の問題により試作段階であり,探索すらできないが紹介する.

f:id:nout:20200923195721j:plain

f:id:nout:20200923195750j:plain

機体名 20CL-02
全長 74.5 mm
50 mm
重量 約35 g
マイコン RX631 100pin
モータ

CL-0614×4

Hyperion 7x20 mm 11000 KV(吸引)

エンコーダ MA-700
モータドライバ

DRV8835×2

IMU MPU-6000
センサ ST-1KL3A+SFH4550
バッテリー JJRC 150mAh 30C 2Cell コレ
ギア

kkpmo M0.3 9T

ミスミ M0.3 36T

 <最大パラメータ>

Q.本当にこの速度で走る?

A.知らん(個々では出力の限界スレスレで走る)

直進速度 4.5 m/s~
斜め直進速度 4.5 m/s~
加速度 23 /m/s/s~
SS90 2.5 m/s
SS180 2.4 m/s
SD45 2.5 m/s
DS45 2.4 m/s
SD135 2.3 m/s
DS135 2.2 m/s
V90 2.3 m/s

<3DCAD>(ホイールのスポークの表示がバグっている)

<回路図>

f:id:nout:20200923202051p:plain

<AW>

f:id:nout:20211219172403p:plain

 

特徴

◎駆動モータを4個使用

前作はモータのパワーがあるとはいえ,機体自体が重かったため走行性能が低かった.

そこで,今作では小型・軽量化をすることで走行性能の向上を図った.

先駆者と同じものを作ってもその性能を超すことはできず,ただの劣化版になることは目に見えていたので,今作では駆動モータを合計で4個(片輪あたり2個並列)使用していることがポイントである.

不可を分散することでモータが燃えることを防ぎ,3セルでの駆動が可能になることや,期待してはいないが少しでもトルクが改善されればと考えた.

実際は,トルクに関しては2個と4個で比較をしていないため,4個使用したことによる恩恵を受けられているかは不明だが,前作よりはかなり改善されていることが分かった.

3セルでの駆動については問題なく,走行性能も悪くはなかったが,吸引モータの発熱が耐えられなかったため選定をしなおす必要がある.

 

ここまでは問題なさそうだが,再現性なく暴走するバグが発生した.

暴走時のログを解析すると角速度や速度は正常に記録されていそうであったが,駆動モータへ送るPWM信号が突然0になり,速度が急に上がっているなど,マイコンが正常に動作していない(まさしく暴走している)ことが判明した.

この現象は直進時,旋回時,超信地旋回時など決まってモータが回転しているときに起こり,当初はコンパイラによる最適化のバグかと考えたが,ハーフでも同じコンパイラ・ほぼ同じプログラムで正常に動いていたことから,モータを並列使用したことによる電源のリップルノイズ増大によるマイコンの誤作動であると結論付けた。

まだ定量的な検証ができていないため,言い切ることはできず,今後の課題とする.

 

◎ジャイロセンサ変更

ジャイロセンサを今まではMPU-6500を使っており,この機体でも最初は同じものを使用していた.

が,直進で速度2.5 m/s付近以上からジャイロの値が発振し,旋回方向の姿勢制御が十分に行えないことが分かった.

ハズレな個体を引いたと思い,同型番のものに張り替え直すが同じ現象に遭遇し,色々試した結果,ジャイロが載っている基板とモータ含む足回り一式を離すとその現象が起こらなかった.

ジャイロがモータが回転することで足回りの小刻みな振動を拾って発振していると考えられたため,MPU-6500からMPU-6000に変更したところ,そのような現象は起こらなくなった.

おそらく,今までも同様の現象が起こっており,そのために高速域の姿勢制御が乱れていたと考えられる.なぜ気づけなかったのか.

 

◎センサ配置

前作ではセンサを6個使用していたが45度に取り付けたセンサを一度も使うことがなかったので今作では廃止し,4個にした.

機体が小型になったことで半区画先を見る横センサの角度が鋭くなり,見たい壁や柱のエッジと異なるエッジを見てしまい,壁制御が難しくなった.

壁切れはあまり問題なく見れているが,同様の小型の機体を製作する場合はセンサ配置や角度を気を付けると幸せになれる.

 

◎吸引モータ変更

前作ではブラシレスモータを吸引ファンに埋め込む形で取り付けていたが,それだと吸引ファンの外形が大きくなることや空気の通り道が狭くなることなどでロスが多く感じられた.

そこで,今作ではモータをブラシモータに変更し,ファン径を小型にして羽の形状を変更した.(3DCAD参照)

前作よりもスカート面積が小さくなったが,2セルのフル回転で400g程度吸うことが可能になった.

もちろんそんなに吸ったらシャフトが変形しかねないので,走行時は5割程度に抑えている.

 

◎七色に光る

f:id:nout:20200923214355g:plain

3つの1×1 mmの角型フルカラーLEDを実装しており,ピン数の関係からLEDの点灯・消灯は個別で,色の指定は共有である.

点灯タイミングを変更すれば3個のLEDを別々の色で同時に光らせているように見せることが可能である.

これが本当のゲーミングマウス.(これがやりたかっただけかもしれない)

 

◎プログラムの変更(ハーフも同様)

今作はハードもソフトも今まで動けばOKだった箇所を見直した.

・並進方向と旋回方向にFF制御を導入し,モータに余計なトルクがかからないようにした.

FF制御のゲインは運動方程式から理論的に算出したものではなく,加速度項,速度項,摩擦項のそれぞれをログを取りながら自分で設定した.

コツを掴めばそれっぽくFF制御が可能だが,時間と根気のいる作業なのでどうにか精度良く定数を得る方法を考えたいと思う.

・角度の扱いに関して,今まで相対角度でしか扱っていなかった(旋回する度に角度はリセットしていた)が,リセットをせずに絶対角度で扱うことで前の動作による目標角度と機体角度のズレを考慮した旋回が可能になった.

旋回後の機体角度が壁制御がなくてもほぼ合うことで壁制御が困難な櫛区間などで効果的だった.

おそらくDCマウスでは絶対角度で扱うことが普通であり,多くの人がやっていることだと思う.

・センサ値の線形化を自然対数近似にしてセンサテーブルでROMに持つようにした.

それに伴ってコンパイラをCC-RXからGCC for RXに変更.(CC-RXの無償評価版ではプログラムサイズの制限があったため)

今まで割り込み関数内で多項式近似で逐次計算していたが割り込み時間を超えていたが,テーブル参照にすることでかなり処理時間を抑えられた.

 

総合評価

 見た目と走行性能は悪くないが致命的な問題があるのでNG.回路の見直しが必要.