sophiaの書

なんか書く

クラシックマウス用の迷路で鬼ごっこ

この記事の内容

大きさが16×16の格子状で未知の迷路(クラシックマウス用)内で、2台のロボットが鬼ごっこできるかシミュレータで確かめました。逃げる方の逃げ方を適当に決めたせいか、鬼が勝ちました。

きっかけ

以前、私たちが迷路を広げて各自のクラシックマウスを走らせていたことがありました。迷路内を複数のクラシックマウスが走り回っている様子を見て、誰かがクラシックマウスに鬼ごっこをさせられたら面白そうだと言いました。私は複数のクラシックマウス間で互いの現在地を教え合う機能さえ追加すれば鬼ごっこができると思いつきました。クラシックマウス同士が互いの位置を分かっていれば、逃げる側(子)はどこから逃げればよいか分かりますし、追う側(鬼)はどこを目指せばよいか分かるからです。また、鬼が子の隣に来たら鬼の勝ちだということにすれば、「つかまえた」判定もできるようになります。そこで、この思いつきで鬼ごっこができるかどうかを確かめます。まずはシミュレータ上で鬼ごっこを試します。

やり方

他の人が作ってくれた迷路探索シミュレータを使います。これを使えば簡単に鬼ごっこを試せます。私は画面の中の迷路にクラシックマウスを2台同時に登場させ鬼ごっこをさせる機能を追加するだけで済むので楽です。シミュレータのプログラム内では2台の位置を記録する変数をグローバル変数として宣言しているため、お互いの位置が分かるようになっています。

画面の中で子は赤い四角で、鬼は青い四角で表します。子だけが知っている(子が実際に通ったところの)壁は赤で、鬼だけが知っている(鬼が実際に通ったところの)壁は青で、両方が知っている(迷路外枠と両者が通ったところの)壁はピンク色で表します。

ルールは次のようにします。子は迷路の左下の角の区画から、鬼は右上の角の区画から出発します。両方とも同時に動き始めます。鬼が子の隣の区画に来たら鬼の勝ちです。鬼が子をつかまえるまで鬼ごっこは続きます。

両者の作戦は次にようにします。

鬼は子がいる区画に向かって動きます。

子は鬼から逃げます。逃げ方は私が適当に決めました。子は迷路の右上の角の区画、右下の角の区画、左下の角の区画、左上の角の区画のどれかに向かって動きます。その4つのうちどれを選ぶかは鬼の位置によります。鬼が迷路の右上のどこかにいたら子は右下の角の区画を目指します。鬼が迷路の右下のどこかにいたら子は左下の角の区画を目指します。鬼が迷路の左下のどこかにいたら子は迷路の左上の角の区画を目指します。鬼が迷路の左上のどこかにいたら子は右上の角の区画を目指します。

結果

子(赤い四角)の逃げ方が下手過ぎて鬼(青い四角)につかまってしまいました。

鬼ごっこ始め

ごっこ始め

鬼ごっこ途中

ごっこ途中

つかまえた

つかまえた

動画も載せときます。

まとめ

クラシックマウス用の迷路で鬼ごっこができます。

これはクラシックマウス?

同じ迷路内を同時に走るクラシックマウスをまとめてクラシックマウスと呼ぶことはできません。つまり、迷路を走るロボットは1台でなくてはクラシックマウスと呼べません。なぜならマイクロマウスクラシック競技規定の2文目に次のように書いてあるからです。

"A robot participating in this contest is termed Micromouse."

日本語訳「ここに出場するロボットをマイクロマウスと呼ぶ。」

注:クラシックマウスは昔マイクロマウスクラシック競技という名前だったので、競技規定ではクラシックマウスをマイクロマウスと呼んでいるのでしょうね。

この不定冠詞によって、クラシックマウスは1台であると分かります。

マイクロステップ駆動の音

概要

ステッピングモーターを1-2相励磁により動かしたときの音とマイクロステップ駆動により動かしたときの音を耳で聞いて比べました。マイクロステップ駆動では音が小さいけれど音がしなくなるわけではないことを確かめました。

はじめに

ステッピングモーターを動かすと音が鳴ります。以前ステッピングモーターを鳴らしていた時になぜ音が鳴るのか疑問に思いました。また、マイクロステップ駆動では音がどうなるか気になりました。そこで今回試してみました。

方法

オリエンタルモーターのPKE243A-Lという駆動方式が2相ユニポーラのステッピングモーターを使いました。私のクラシックマウスに使われているものです。今回はクラシックマウスにくっつけたまま実験しました。(私は今のところクラシックマウスだけにしかステッピングモーターを使ってないので、クラシックマウスにくっついたステッピングモーターについて実験します。)

EIC4133というモータードライバー(以下モタドラと略す)を使いました。これはSLA7078MRというモタドラと同じように使えるものです(たぶん)。EIC4133はステッピングモーターと一緒に箱の中に入っていました。

ステッピングモーターを1-2相励磁とマイクロステップ駆動により動かしました。モタドラへ入力するパルス信号の周波数は1-2相励磁とマイクロステップ駆動とで同じにしました。ステッピングモーターが出す音を耳で聞き、その高さと大きさを主観的に比べました。

1-2相励磁はMode F固定としました。また、モタドラの仕様でマイクロステップ駆動はW1-2相励磁、2W1-2相励磁、4W1-2相励磁の3種類あります。今回は三つとも試してみました。つまり、今回試した駆動方式はMode F固定とした1-2相励磁とマイクロステップ駆動のW1-2相励磁、2W1-2相励磁、4W1-2相励磁の計4種類です。

注:これらの専門用語に関する説明はこの記事では省略します。

結果

音の高さはどの駆動方式でも同じでした。

音の大きさは1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁(後ろ三つがマイクロステップ駆動)の順に小さくなっていきました。つまり1-2相励磁が一番大きな音を出し、4W1-2相励磁が一番小さな音を出しました。

4W1-2相励磁でステッピングモーターを動かすとだいぶ音が小さかったです。しかし無音とは言えないくらいの大きさの音が鳴っていました。

1-2相励磁でステッピングモーターをゆっくり回したときテッピングモーターが震えました。一方でW1-2相励磁、2W1-2相励磁、4W1-2相励磁(三つともマイクロステップ駆動)でゆっくり回したときは震えませんでした。なお、1-2相励磁でステッピングモーターを速く回したときはステッピングモーターが震えませんでした。(もしかしたらステッピングモーター単体で実験したら震え方が変わるかもしれません。)

なお、ステッピングモーターが回る速さは1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に遅くなっていきました。モタドラに入力するパルス信号の波一つ分で回る角度が1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に小さくなるからです。

考察

参考文献に書いてありましたので紹介します。

ステッピングモーターは、入力パルスに対して1ステップずつ同期しながら回転しています。

そのため、1ステップごとにオーバーシュートとアンダーシュートを繰り返し、減衰振動をした後に所定の位置で停止しています。
この減衰振動が低速での振動・騒音の原因となる場合があります。

ステップ角を細かくすることで、この減衰振動を小さくすることができます。
そのため、マイクロステップ駆動は低速域での振動や騒音の低減に効果的です。

マイクロステップ駆動が低速域での振動(ゆっくり回したときの震え)に効果的であることは今回の実験でも確かめられました。

今回はどの駆動方式でも同じ高さの音が鳴りました。これはモタドラに同じ周波数のパルス信号を入力しているからです。その場合、どの駆動方式でもステッピングモーターの回転軸が単位時間あたりにカチッと動く回数が同じになります。同じ速さで回転軸がカチカチ鳴るので同じ高さの音が出ます。厳密には音色が違うかもしれませんが、耳で聞いただけではあまり音色の違いがありませんでした。

1-2相励磁、W1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に音が小さくなっていきます。これはW1-2相励磁、2W1-2相励磁、4W1-2相励磁の順に回転軸の動きが滑らかになっていくからです。言い換えると、回転軸がカチッと1回動く大きさが小さくなっていくからです。回転軸がカチッと動く大きさが小さくなればそれだけ回転軸の震えが小さくなります。回転軸の震えが小さくなればそれだけ音が小さくなります。

ステッピングモーターはコイルを不連続に励磁して回すモーターであるため、回転軸の震えはなくならず、音は消えないようです。(不連続でなくなったらもはや「ステッピング」とは言わないのでは?)

まとめ

ステッピングモーターをより滑らかに回せば音がより小さくなります。ただし音はなくなりません。

参考文献 

2-5. マイクロステップ駆動の動作原理|WEBセミナー|セミナー・技術情報 |オリエンタルモーター株式会社

 2020年5月16日閲覧

研究発表の練習相手の製作

研究発表をするときに聞き手の様子を見て聞き手に合わせた話し方ができるようになりたいので、練習方法を考えました。

なんで研究発表が苦手なんだっけ?

私は研究発表がとても苦手です。ですが、聞き手の様子を見て聞き手に合わせた話し方ができるようになりたいと思っています。目標だけは高いんです。だから研究発表の練習について考えているわけです。

苦手を克服するために、まずは研究発表が苦手な原因を明らかにする必要があります。そしてそれぞれの原因に対して解決策を考えます。ちょっと考えてみたら次のような原因と解決策が思い浮かびました。

1つ。成果がないので発表することがない。

成果がまだなくてもうまくいく見通しとその根拠を示せれば良いらしいです。(それすらなかったらどうすればいいんでしょうか)

1つ。研究発表の練習をほとんどしたことがない。

研究発表の練習を始めても、練習自体がしんどいのですぐに止めてしまうんですよね。とか言い訳してないで練習しろ。

1つ。研究発表のやり方を知らない。

知らないことはできなくて当然なので調べます。

1つ。スライド作りが下手すぎて発表しにくい。

スライドの作り方について調べます。聞き手にとってだけではなく、私自身にとっても分かりやすいスライドを作るように心がけます。

1つ。研究発表の練習をしたあとにスライドを改良してない。

声に出して研究発表の練習をすると、スライドを作っているときには気づかないようなことにも気づけます。研究発表の練習をして気づいた点を踏まえてスライドを作り直し、また研究発表の練習をすることを繰り返します。スライド作りと研究発表の練習は同時並行で行うと良さそうです。

1つ。研究内容に関する理解が甘い。

研究発表以前の問題なので研究を頑張ります。

1つ。慣れてない硬すぎる言葉遣いで話してしまうためよく噛んでしまう。

無意識のうちにやってしまっているようなのですが、緊張のせいか慣れない言葉遣いをしてしまうようです。もっと簡単な言葉遣いで話すように意識します。

1つ。研究発表の話し方に慣れてない。

普段のおしゃべりでは話が行ったり来たりしますし、全てを話さなくても聞き手が察してくれたりします。噛んでしまっても特に問題は起こりません。ところが研究発表では初めから終わりまで流れるように話す必要があります。ぶっつけ本番でアドリブで研究発表しようとすると、流れるような話し方に慣れてないのでうまくいきません。流れるような話し方に慣れるためには練習が必要です。

1つ。話している間は言葉とスライドに集中していて聞き手の様子に注意を払う余裕がない。

自分の研究発表で頭が一杯になってしまい、聞き手を置き去りにしてしまいます。聞き手の様子に注意を払う余裕が持てるくらいに研究発表に慣れておく必要があります。練習あるのみです。

 1つ。聞き手の顔や目を見て話すのが苦手である。

少しづつ慣れていくしかないでしょうね。

目標を分析

ここでいったん最初に掲げた目標である「研究発表をするときに聞き手の様子を見て聞き手に合わせた話し方ができるようになりたい」を3つに分解してみます。

  1. 研究についてスライドを使いながら声に出して説明できる。
  2. 聞き手の様子が分かる。
  3. 聞き手に合わせた話し方ができる。

1つ目に関してはとにかくたくさん練習して慣れるのが一番早くて確実でしょう。

2つ目はとても苦手なのでなんとかしなければなりません。聞き手の顔や目を見て話すことが苦手な私にとってはとても難しいです。

3つ目は1つ目と2つ目ができるようになればすんなりできるようになると思うので気にしないことにします。

練習相手を作ってみた

ここからは私にとって重要な「聞き手の様子が分かる」ようになるための練習方法について説明します。1人で発表練習しても聞き手の様子が分かるようにはなりません。でも練習のたびに誰かを呼ぶのは面倒です。そこで人間ではない練習相手を作ることにしました。今回作った練習相手はコイツです。

すみっコぐらしのあいつ

すみっコぐらしのあいつ


パソコンの前に練習相手を描いた紙をぶら下げています。顔と目が付いており、描きやすいのでコイツを描きました。ぬいぐるみのほうが立体感があって良かったのですが、あいにく手元になかったので絵を代わりに使います。

コイツには顔も目もついているので、聞き手の顔と目を見て話す練習になるでしょう。

研究内容について何も分かってなさそうなコイツに分かってもらえるように練習すれば、分かりやすい研究発表ができるようになるかもしれません。

評価はこれから

練習相手がいる状態で研究発表の練習をしたら上達するのかはまだ確かめてません。これから自分で試してみます。2年後の修論発表までにうまくなれるといいな。

最適な練習相手とは

今回作製した練習相手が最適な練習相手だとは私は考えていません。なぜなら、練習では本番より負荷をかけたほうがよいと思うからです。厳しい環境で行う研究発表の練習はスポーツにおける高地トレーニングと同じです。本番が楽に感じられるようになるでしょう。私が考える厳しい環境での練習とは、動く美少女キャラクターの前で練習することです。画面の中でキャラクターを動かす技術はすでに存在するので、画力とやる気と時間さえあれば実現可能です。動く美少女キャラクターは人型ですし目線が動きますので、今回作製した練習相手より本番の聞き手に近いです。それに動く美少女キャラクターの目の前で練習したら緊張すると思います。緊張にさらされながら練習すれば力がつくと思います。

残念ながら私には美少女キャラクターを描く画力がありません。ゆえにこの案は没です。

まとめ

研究発表での目標を掲げました。

研究発表が苦手な原因をいくつか考えました。

研究発表の練習で使う練習相手を作製しました。

練習相手がいればあればうまくいくのかはこれから確認します。

赤外線リモコン受信モジュールがヘルメットに見える

赤外線リモコン受信モジュールを見たとき、私は潜水服や宇宙服のヘルメットを連想しました。そのため赤外線リモコン受信モジュールに頭以外を取り付けて人型にしてみました。ついでに赤外線リモコン受信モジュールの動作確認をしました。

使用するもの

1.今回はこの赤外線リモコン受信モジュール(OSRB38C9AA)を使います。

akizukidenshi.com

2.この赤外線リモコン受信モジュールに入力する信号は秋月電子通商で売っている赤外線リモコン(オプトサプライ赤外線リモコン)により生成します。

akizukidenshi.com

3.頭以外はポリウレタン銅線を使って作ります。手元にあったのでこのポリウレタン銅線を使いましたが、線が太くて曲げにくく、作業がしにくかったです。そのためこれより細いポリウレタン銅線を使うべきです。

akizukidenshi.com

4.その他マイコンやブレッドボードなど必要なもの。

作業手順

まず、図1のように赤外線リモコン受信モジュールを用意します。図1において上側の部分が受光部です。今回はこの部分が頭部になります。下側の三本足は左から順に出力端子、GND、電源です。

赤外線リモコン受信モジュールをじっと見つめていると、潜水服や宇宙服のヘルメットに棒が3本突き刺さっている様子に見えてきます。未来の生き物のようにも見えてきます。

図1. 赤外線リモコン受信モジュール

図1. 赤外線リモコン受信モジュール

次に赤外線リモコン受信モジュールにポリウレタン銅線を巻きつけて頭以外を作ります。ポリウレタン銅線はぴかぴかしていてきれいですし、絶縁されているので赤外線リモコン受信モジュールに直接巻き付けてもショートしません。赤外線リモコン受信モジュールはただの飾りではなく、本来の用途である赤外線リモコン受信モジュールとして使用したいので、3本の端子が巻き付けたポリウレタン銅線から突き出した状態にしなければなりません。

図2に頭部と頭以外を前から見た様子を、図3に頭部と頭以外を後ろから見た様子を示します。

図2. 現場猫ポーズ 前側

図2. 現場猫ポーズ 前側

図3. 現場猫ポーズ 後ろ側

図3. 現場猫ポーズ 後ろ側

次に巻き付けたポリウレタン銅線から突き出している3本の端子をブレッドボードに突き刺します。そして同じブレッドボードにマイコンや電源などに必要な回路を構成します。図4に配線後のブレッドボードの様子を示します。

赤外線リモコン受信モジュールや赤外線リモコンの商品名を検索すると、先人たちが使い方を分かりやすく説明してくれているブログがいくつか見つかります。必要な回路に関する詳細はそれらのブログを参考にしましょう。秋月電子通商のホームページからダウンロードできるデータシートも参考になります。私も先人たちのブログやデータシートにお世話になりました。

図4. そいつはブレッドボードの角に座っている

図4. そいつはブレッドボードの角に座っている

次にマイコン用のプログラムを作成します。私が今回作成したプログラムの概要を簡単に説明します。言葉だけで説明しても分かりにくいでしょうから読み飛ばしてください。

赤外線リモコンのボタンを押したら出力される赤外線の信号が赤外線リモコン受信モジュールに入力されます。すると赤外線リモコン受信モジュールから電気信号が出力され、その電気信号がマイコンに入力されます。マイコンは外部割込みにより関数を呼び出し、その関数内で電気信号1つ分すなわち赤外線リモコンのボタンを1回押したら出力される赤外線の信号に相当する電気信号を読み取り、関数を抜けます。ここで、外部割込みにより呼び出される関数を受信関数と呼ぶことにします。電気信号1つ分は複数のパルス波で構成されており、受信関数内でそれらの時間的な長さを計ります。その際にある工夫をしています。その工夫とはタイマ割り込みと符号なし32bit整数のglobal変数のインクリメントです。タイマ割り込みで0.1msごとに関数を呼び出し、その関数の中で符号なし32bit整数のglobal変数をインクリメントします。するとそのglobal変数は10kHzで+1されていきます。その程度の速さでインクリメントしているだけでは符号なし32bit整数はなかなかオーバーフローしません。今回はその符号なし32bit整数のglobal変数を0.1ms刻みの時計として使います。ここでタイマ割り込みにより呼び出される関数を時計関数と呼ぶことにします。最後に、電気信号1つ分をマイコンが認識したら、赤外線リモコンのどのボタンが押されたのか判別し、シリアル通信でパソコンに送信します。パソコンではターミナルにどのボタンが押されたかを表示します。受信関数と時計関数の割り込み優先度は時計関数を1番目、受信関数を2番目に設定します。

このプログラムを書くのはとても大変でした。しかし、外部割込みなどの洒落たことをしなければ先人たちの知恵を借りるだけで済みます。そもそも外部割込みをしようがしまいが結果は変わらない気がするのでやらなくてよかったかもしれません。

プログラムを書く段階でも先人たちのブログに大変お世話になりました。

結果

最後に、必要なプログラムをマイコンに書き込んで実行します。図5にターミナルにどのボタンが押されたかを表示している様子を示します。このときはAボタン、Bボタン、上矢印ボタン、白ボタン、右矢印ボタン、下矢印ボタン、左矢印ボタンの順に赤外線リモコンのボタンを押しました。うまくマイコンで識別できています。

図5. ターミナルに結果を表示

図5. ターミナルに結果を表示

まとめ

  • 面白い見た目の電子部品がある。
  • 赤外線リモコン受信モジュールの動作確認ができた。
  • 外部割込みプログラムが書けた。

おまけ

ちなみに、Twitterで誰かがツイートしてましたがLEDはくらげに見えます。もちろん足が2本しかないLEDはくらげには見えにくいです。しかし足が多いとくらげに見えやすくなります。例えば足が4本あるRGBフルカラーLEDはどうでしょうか。

akizukidenshi.com

 

真人間化手法の調査

はじめに

本ブログでは「真人間」を「相手のために状況に応じて振舞いを変化させることができ、人間関係においてつり合いが取れている人物」と定義する。

人間は社会的な生き物であり、他人と関わらなければ生きていけない生き物である。この事実を踏まえて人間社会に適合した人物、それが真人間であると筆者は考えている。

本ブログでは筆者が周囲を観察して見つけた真人間の特徴を列挙する。これらの特徴を満たすよう努めれば真人間になれるはずである。

気遣い

飲み会での作法

真人間はその場に適した作法を察知して実行する。作法とは行って当然なものなので、もしやらなかったら相手に不愉快な思いをさせる。当たり前なことを当たり前にできる人が真人間であると言える。その作法に従うだけの価値があるか考えるのは真人間の仕事ではない。

  • 誰をどの席に配置するかをよく考える
  • 他人のコップが空になっているかどうかを監視する
  • 他人のコップが空になっていたら飲み物を追加注文するか聞く
  • 席に着いたらまずは全員分のコップに水を入れる
  • 箸と取り皿を全員に配る
  • 最後に残った食べ物のひとかけらには手を付けない
  • 食べ過ぎない(特に奢られるとき)
  • 飲み過ぎない(ただし状況による)
  • 左利きの人は左側の席に座らせる
  • 大皿の料理が来たら全員に配る
  • 空いた皿を回収して机の端にまとめて置く
  • 奢られた際の感謝の返事(「ありがとうございます。これからも仕事をがんばります。」これが無難な返事か。)
  • 偉い人の前で本人を貶めない
  • 後輩には食べ物を食べるよう勧める
  • 後輩が居づらさを感じないように気遣う
  • 企業によっては飲むべきビールの会社が決まっているため、店を予約するとき気を付ける
  • 会が終わったら全員の席を見て忘れ物がないか確認する
  • 会話が途切れないように気を配る

常識

概要

例え常識が他人とずれていたとしても真人間になる方法はある。以下の2点を満たす行動をすればよい。

  • 相手に合わせる
  • 相手に不愉快な思いをさせない

誤字の指摘

文字を間違えて覚えている人がいたらこっそり指摘してあげるべきだと筆者は考えている。もし指摘しなかったらその人が文字を間違い続け、恥をかき続けるからである。しかし、真人間は誤字を指摘しないで放置する。指摘した瞬間に相手に恥をかかせて不愉快にさせることを避けるためである。

同様に、誰かの鼻の穴から鼻毛がはみ出していても真人間は指摘しない。その人が鼻毛をはみ出させ続けて恥をかき続けることよりも、鼻毛を指摘した瞬間に相手に恥をかかせ不愉快にさせることのほうが罪深いとみなす。

SNSにおける人間関係は実際の人間関係の延長

グループLINEでの発言も気を付けなければならない。LINEの手軽さのために忘れがちであるが、LINE上での人間関係は実際の人間関係の延長上にある。グループLINEでの発言は全員の前で壇上に上がりマイクで話すことに相当する。グループLINEで何か発言すると既読スルーが多発するが、考えてみれば当たり前なのである。全員の前で壇上に上がって何か話しても、大抵の場合は聴衆から反応が返ってこない。

ごまかし

嘘つきは泥棒の始まりということわざがあることからも、嘘はよくないことであると分かる。しかし、もしも誰もが常に本当のことしか言わなかったら人間関係がぎくしゃくしてしまう。嘘も方便とはよく言ったものだ。嘘には人間関係を円滑にする効果がある。

意図的な情報隠蔽

嘘はつかないが本当のことも言わない。真人間はこの手法を用いる。真人間は本当のことを言っても人間関係がよくならないと知っているのである。馬鹿正直に本当のことを話すのはただの馬鹿である。

意図的な情報操作

真人間は何事も肯定的に表現する。なぜなら否定的に表現されても聞く側は困るからである。聞く側が困らないように真人間は肯定的表現を用いる。

場所によって発言内容を変える

場所によって求められる発言は異なるため、真人間は発言内容を使い分ける。もし全く同じ発言を別の場所ですると人間関係に亀裂が入る可能性がある。真人間は臨機応変に発言内容を変える。

発言内容を場所によって変える態度は不誠実であるが、人間関係を悪くするよりも自分が不誠実になるほうがましであると真人間は知っている。

演技

涙なんか出ないような場面であっても、泣きまねをすれば雰囲気がよくなる場面が確かに存在する。また、誰かから何かをもらったら嬉しそうにしなければならない。

適切な演技によってその場の雰囲気がよくなるため、真人間は演技する。

人助け

人間は例外なく互いに支え合って生きているため、ひとりだけ人助けをしないととんでもないことになる。真人間は基本的に人助けをする。

会話

真人間は会話内容よりも会話自体を重視する。話相手と言葉をやりとりして楽しむ。

やりすぎは禁物

真人間は人間関係においてつり合いが取れているので、上記した手法の数々をやりすぎない。何事にも限度があることをわきまえているのである。

非真人間の特徴

ここまで真人間の特徴について述べてきた。この章では逆に非真人間の特徴を述べる。

  • 場違いなウケ狙い
  • 価値観の押し付け
  • 常識のずれと欠落
  • 他人の話を聞かないこと
  • 他人に合わせないこと
  • 気遣いをしないこと
  • 精神攻撃
  • 日常会話をしないこと
  • 優先順位を考えてないこと
  • 空気を読まないこと
  • ノリが悪いこと
  • 時と場所と場合をわきまえてないこと
  • 自分のことしか考えてないこと
  • 自虐は誠実の証だと思い込んでいること
  • 知らない人にいきなり馴れ馴れしく話しかけること
  • 知人に突然議論を吹っ掛けて喜ぶこと
  • 他人の自虐ネタに対して苦笑いではなく爆笑で応じること

感想

たとえ中身が真人間でなくても上っ面だけは真人間に成り得る。ばれさえしなければ平和を保てる。筆者はそこを目指している。

他にも色々真人間の特徴はありそうなので今後も調査を続ける予定である。

山手線一周体験記

知り合いの何人かが山手線を歩いて一周していたので自分でもやってみた。そのときは山手線を歩いて外回りで一周した。その後、体験記をスライド形式で作って見せてほしいという要望があった。しかし写真を撮ってなかったため、再び山手線一周を試みて写真を撮影した。2回目は徒歩ではなく自転車で行い、山手線を内回りした。2回目が終わった後に作った体験記の内容をこのブログで公開する。

以下の画像は体験記の各ページをそれぞれ画像として出力したものである。山手線の一駅あたり1ページを使ってスライドを作成した。2回目に山手線一周を試みたときに通過した駅の順番と同じ順に駅を並べてある。つまり山手線内回り順である。

ちなみに筆者は2018年に山手線を一周した。そしてスライドを2018年に作成した。それぞれの画像内には2018年における筆者の意見を記してある。ただ、このブログは2020年に書いているので、それぞれの画像下には2020年1月現在に筆者が考えた意見を記した。

表紙

表紙

自己紹介

自己紹介

山手線徒歩一周

山手線徒歩一周

このときは山手線外回りで線沿いを歩いた。

山手線自転車一周

山手線自転車一周

このときは山手線内回りを線路沿いに自転車を漕いだ。

高田馬場駅

高田馬場駅

高田馬場駅を出発して山手線を自転車で内回りした。写真はそのときに撮影したものである。高田馬場といえば学生ローンの看板、BIG BOX、飲み屋、鉄腕アトムである。かの悪名高きワロタ大学の最寄駅の1つがここであることでも知られている。学生街とよく言われているが、実際には学生の割合は小さい気がする。ただの先入観かもしれないが、この街には飲んだくれが多い印象を受ける。筆者自身は安くてたくさん食べられる飲食店を求めてこの街を徘徊している。

新大久保駅

新大久保駅

理工キャンパスとは、ある大学のキャンパスである。それはさておき、新大久保駅周辺には人が多い。信じられないくらい多い。勘弁してほしい。

ちなみに、筆者には高田さんと馬場さんと大久保さんという名前の知り合いがいる。

新宿駅

新宿駅

とても大きな街である。色々と遊べる。筆者は都庁の展望台に上ったり、紅葉の季節に新宿御苑に行ったり、映画を観たり、バイトをしたり、他大に出張して会議をしたり、東急ハンズでアクリル板を買ったり、手芸屋でコンピュータミシン用のミシン糸を買ったりした。

代々木駅

代々木駅

高い建物は道しるべになる。山手線一周を試みる者にとっては大体の現在地と進むべき方向を知るために役立つ。

原宿駅

原宿駅

竹下通りにずけずけと入り込む度胸を筆者は持っていなかった。誰か筆者を竹下通りに連れて行って案内していただけないだろうか。

すぐ近くに明治神宮があるせいか、照明が少なく夜は暗い。

渋谷駅

渋谷駅

渋谷は文字通り谷である。渋谷に近づくと急激な下り坂が出現する。渋谷に着いたら〇〇〇〇教っぽい文句が書かれた看板が掲げられていたので撮影してみた。

山手線一周とは関係ないが、ハロウィンの時期の渋谷は新大久保以上に混雑する。完全にこのブログの内容と逸脱するが、筆者が所属している研究室のOBは昔、仮装して渋谷でハロウィンを楽しんでいたそうだ。勘弁してくれ。筆者は真の陰キャなのでそこらへんのことがよく分からないのである。

恵比寿駅

恵比寿駅

恵比寿駅はおしゃれ過ぎてびびった。

渋谷に掲げられた〇〇〇〇教っぽい文句が書かれた看板の写真と恵比寿に設置されたクリスマスツリーの写真によって筆者が2018年12月の何日に山手線自転車一周を敢行したか察しが付くであろう。体も心も寒かったよ(は?)。

目黒駅

目黒駅

目黒といえばやっぱり目黒のさんまだろう。

五反田駅

五反田駅

筆者は今まで五反田駅とは縁がなかった。調査不足である。

大崎駅

大崎駅

山手線最南端の駅である。山手線を一周しようとしている者がこの駅に着くとちょっとだけ達成感を感じられる。

品川駅

品川駅

山手線に沿って移動していると、品川駅周辺で急に高い建物が密集し始めることに気づく。夜に品川駅前を通ると摩天楼感がある(?)。

高輪ゲートウェイ駅

高輪ゲートウェイ

山手線を自転車で一周していた当時は建設中であった。ちなみに一番上に示した画像にある電車の写真はここら辺で撮影した写真である。

謝罪

謝罪

そう。自転車をこぐのに疲れちゃったのである。だってクリスマスだし。はやく家に帰りたかったのである。山手線の内側を横断して高田馬場に戻る途中で通った六本木や麻布は豪華な感じだった。

残念ながらこの日は山手線自転車一周を断念した。しかし幸いなことに筆者は2018年9月16日に徒歩で山手線一周に成功しているのである。以降はそのときの記憶を頼りに発表を続ける。写真は撮ってないのでなしである。

田町駅

田町駅

2018年の筆者は手抜きスライドを作っても開き直っているようだ。2020年1月現在の筆者としては、当時の自分にはもうちょっと頑張ってほしかった。

浜松町駅

浜松町駅

海が近い。

新橋駅

新橋駅

なんと高田馬場駅より飲んだくれが多かった。

日本の鉄道発祥の地であるためSL広場なる場所がある。

有楽町駅

有楽町駅

歩いて山手線を一周していたとき、だいぶ疲れていたのであまりよく覚えてない。

東京駅

東京駅

丸の内口から見た東京駅には重厚感があり、線路を挟んで反対側の八重洲口から見た東京駅は近代的である。品川駅から東京駅にかけて高い建物が多い。

神田駅

神田駅

品川駅から東京駅までの雰囲気とは異なる雰囲気を持つ。1駅分歩いて移動するだけで異なる雰囲気を楽しめる。

秋葉原駅

秋葉原駅

秋葉原の客引きはコスプレしているので遠くから見ると楽しい。しかし客引きに近づきすぎたり客引きと目が合ったりすると客引きされるので恐ろしい。そもそもコスプレ客引きに限らず客引きは怖えよ。

学校が長期休暇に入る時期になると客引きの人数が増える気がするが、本当に増えるかどうかは知らない。

山手線を一周していると、秋葉原が意外と小さな街であると気づく。狭い範囲にありとあらゆるものが密集している。

秋葉原で買い物をするにはちょっとした事前知識が必要である。例えば、ある電子部品を買いたいとき秋月に行くべきなのか千石に行くべきなのかといった知識である。意外と厄介なのだ。

御徒町駅

御徒町駅

筆者が小さい頃、御徒町のことをお菓子の町なのだと思っていた。この駅にまつわる話はそれだけである。

上野駅

上野駅

ここで持論を展開させていただく。巷では上野の不忍池がデートスポットと呼ばれており、彼氏がせっせとボートを漕いで彼女に格好良いところを見せる場所であるらしい。

筆者はこの唾棄すべき迷信に異議を申し立てる。読者の諸君には恋愛で曇った目をこすり冷静になってよく考えてみてほしい。すぐに気づくはずである。彼女にもボートを漕がせろよ、と。せっかくボートを漕げる場所に来ているのだから、彼氏だけがボートを漕いでいるのを眺めるだけでなく、彼女自身もボートを漕いだほうが絶対に楽しいに決まっている。これはのぼせ上った彼氏が悪いけれど、彼氏を放任している彼女の責任でもある。己の愚かさを恥じよ。

鶯谷駅

鶯谷

ラブホテルには客引きがいないと知った2018年9月16日の夜。客引きがいなくても客が来るからであろう。

日暮里駅

日暮里駅

なんだか大きめな駅であった。

西日暮里駅

西日暮里駅

日暮里駅と西日暮里駅は非常に近い。

田端駅

田端駅

高低差が激しかった覚えがある。

ちなみに、筆者には田端さんという名前の知り合いがいる。

駒込駅

駒込駅

手抜きがひどくなってきていてワロタ。

巣鴨駅

巣鴨

手抜き確信犯。

大塚駅

大塚駅

路面電車が見れる。

池袋駅

池袋駅

筆者は青春時代を池袋にある予備校の自習室の個別ブースの中で過ごした。

目白駅

目白駅

出発地点である高田馬場駅の隣駅であるにも関わらず、この駅のことはあまりよく知らない。

以上で山手線全駅を巡ったことになる。お疲れさまでした。

お気に入りの景色

お気に入りの景色

山手線沿線で筆者が一番気に入っている景色を紹介する。池袋大橋から見える景色である。橋の下には線路が何本も入り組んでおり、なんだか文明を感じる。すぐ近くは人でごった返しているのにここは人が少ないので不思議な感じがする。高い建物が密集している中で、線路のおかげで遠くまで見通すことができ、新宿の高層ビル群が見える。背後にはタワーが高くそびえ立っている。(このタワーはごみ処理場の煙突)

一周目

一周目

1周目は歩いて山手線を一周した。

一周目

一周目

現実は甘くない。

一周目

一周目

漫喫があっただけでありがたいと思わねば。

一周目の感想

一周目の感想

名誉の傷

二周目の感想

二周目の感想

徒歩よりはるかに楽かと思いきや、自転車でもかなりしんどかった。

まとめ

まとめ

いばれる。これが一番重要かもしれない。

最後に、筆者が歩いて山手線を一周しながら筆者がつぶやいたツイートを見てみよう。

(中略)

このときは筆者のアカウントが突然駅名ばかり頻繁につぶやき出したから、他の人たちは筆者のアカウントがbotに乗っ取られたかと心配したらしい。もちろん筆者が駅に到着するたびに自分でツイートしたものだ。

実際に山手線を一周したときはとても時間がかかってとても疲れたが、このブログを書くためにもたくさんの時間と労力を費やしたので疲れた。

おしまい。

お掃除マウス

始めに

この記事はMicro Mouse Advent Calendar 2019 - Adventarの12日目の記事です。昨日はまんぼー君のロボット製作のスケジューリング - まんぼーの技術記でした。非常にためになる内容でした。ありがとうございました。あとは彼自身の体調管理まで考慮したロボット製作のスケジューリングを組めるようになれば彼は完璧ですね🖤

はじめまして。WMMCのsophiaと申します。

さて、始めさせていただきます。

摘要

ステッパマウスに埃取り器を装着して迷路を掃除させてみた。

目次

開発経緯

クラシックマウス用迷路をロボットに掃除させる考えは弊サークル内に昔からあった。時々そのことについて皆で話していたが、当時は筆者を含め誰もが冗談半分であった。いつしかこの考えは忘れ去られてしまっていた。

ところがある日突然筆者はその考えを思い出し、実現したくなってしまった。ムラムラとやる気が出て来たのである。

クラシックマウス用迷路をロボットに掃除させるという発想自体は陳腐である。しかし弊サークルには迷路を掃除するロボットが無い。その上、迷路を掃除するロボットは役に立つ可能性がある。ゆえに試作してみる価値があると判断した。

背景

順位を競う競技としてのマイクロマウスの最終目標は、迷路をスタートしてからゴールするまでにかかる時間を短くすることである。それを実現するためにはいくつか方法があり、そのうちの1つとしてタイヤの滑りを防ぐことが行われている。タイヤが滑りやすいと加減速・右左折時に不利なためである。タイヤを滑らなくする方法はいくつか考えられる。そのうちの1つとして迷路上に堆積した埃を除去することが行われている。

迷路掃除の現状と問題点

現状では、人が時々コロコロを使って迷路を掃除している。しかし、この方法には次のような問題点がある。
  • どの区画を掃除していて、どの区画はまだ掃除していないかが分からなくなってしまう。これは特に複数人で掃除しているときに連携がうまくとれないと発生する問題である。
  • 迷路の中央付近は手が届きにくく掃除しづらい。この問題は特に16×16のクラシックマウス用迷路を掃除するときに発生する問題である。

目的

以上の問題点を解決するために、本ブログでは迷路掃除自動化に取り組む。これを実現するための方法はいくつか考えられるが、今回は以下の仕様を満たす物を作成する。
  • 人による掃除より早く掃除が完了する。もしくは掃除のために時間を用意する必要がない。
  • コロコロと同等かそれ以上に埃を除去できる。
  • 掃除し忘れがない。
  • 導入にかかる金銭的・時間的費用と手間が少ない。
  • 従来の迷路掃除と同等かそれ以上の丁寧さ。

以上の条件を全て満たすために、「既存のステッパマウスに埃取り器を装着し、迷路を全探索させながら掃除もさせる」ことを提案する。既存の物を使用すれば開発及び作成にかかる時間的費用を抑えられる。ステッパマウスはタイヤの回転角を直接制御しているため、余計な物を後付けして重量等が変わっても走行に影響が出ない。埃取り器に関しては選定次第であるが金銭的費用を抑えられる。既存のステッパマウスに埃取り器を装着するだけなので手間がかからない。迷路を全探索すれば掃除し忘れが無くなる。埃取り器を取り付けたステッパマウスを速く走らせれば人より早く掃除が完了する。マウス調整しながら掃除できるため、そもそも迷路掃除のために時間を用意する必要が無くなる。丁寧さは埃取り器の形状やステッパマウスの走行軌道・速度によって変わるので工夫次第である。

提案手法

全体の流れ

全体の流れを次図に示す。

全体の流れ

全体の流れ

ステッパマウス

ステッパマウスは既にあるものとする。
しかし、筆者の手元に動くステッパマウスがなかったため、今回は新しくステッパマウスを作成した。楽をするために自分では設計をせず、前回作成したステッパマウスに似せて作成した。

作成したステッパマウス

作成したステッパマウス

全探索アルゴリズム

今回は確実に迷路を全探索させるために、探索アルゴリズムとして拡張左手法を採用した。迷路の左下からスタートし、迷路の左下に戻ってきたらゴールである。プログラム作成にあたってwikipediaの迷路のページに記載されているトレモー・アルゴリズム(2019年12月9日閲覧)を参考にした。以下wikipediaから引用する。

トレモー・アルゴリズム
あらゆる迷路を解くことが出来る解法として「トレモー・アルゴリズム」が知られている。この解法は19世紀のフランスの数学者エドゥアール・リュカによって紹介された。この方法は本質的には「全パターンの経路をしらみ潰し的に試す」というものであるが、チョークで地面に自分が通った跡を残す事で、しらみ潰しを効率的にできる点に特徴がある。

この方法では、迷路上の各々の通路は最大2回しか通らない(試しに進んでみる場合と、諦めて戻る場合の2回)。よって最悪でも通路の長さの合計値の2倍歩けば、ゴールにたどり着く。

アルゴリズムの詳細は以下の通り。以下のアルゴリズムで、迷路を歩くときは常にチョークで地面に「→→→→」と描き続ける。また、まだチョーク跡のつけられていない通路を歩くのを「通路を進む」と言い、すでにチョーク跡「→→→→」がつけられた通路を「←←←←」の方向へと進むのを「通路を戻る」と呼ぶ。

簡単のため、スタート地点が迷路中の分岐点の一つにあると仮定して話を進める。

任意に選んだ通路を進む。
そのうち分岐点か行き止まりかゴールにたどり着く。
まだ通っていない(=チョークの跡がない)分岐点に辿り着いたら、通ってきた通路以外の任意の通路を選び、そこを進む。→2
すでに通った(=チョークの跡がある)分岐点に辿り着いたら、進んできた通路を戻る。→2
通路を戻っているときに分岐点に辿り着いた場合(注:戻っているときなので、この分岐点は必ず過去に通っている)
まだ通っていない(=チョークの跡がない)通路が残っていたら、その通路へと進む。→1
全ての通路にチョークの跡があったら、各通路を眺める。ほとんどの通路は、通路へと伸びて行くチョーク跡「→→→→」および通路から引き返して来るチョーク跡「←←←←」があるが、一つだけ「←←←←」の無い通路(=この分岐点に最初に来たときに通った通路)がある。その通路を引返す。→2
ただし今いる分岐点がスタート地点だった場合は、全ての通路に「→→→→」と「←←←←」の両方が書いてある事もありうる。この場合ゴールに到達する方法が無いので、諦めて終了。
行き止まりに辿り着いたら、来た道を戻る。→2
ゴールにたどり着いたら終了。
スタート地点が迷路中の分岐点の一つに無い場合も、スタート地点が分岐点だとみなして上述のアルゴリズムが使うことが出来る。つまり、スタート地点が通路の中央にある場合は、スタート地点は2方向に分岐する分岐点だとみなす。スタート地点が迷路の行き止まりにあるときは、スタート地点は一方向にだけ分岐する分岐点だと考える。

wikipediaの迷路ページに記載されているトレモー・アルゴリズムでは分岐点で通路を「任意に選ん」でいるが、筆者は通路選択時に左手壁伝い法を適用してプログラムを作成した。なお、本ブログではこのトレモー・アルゴリズム風左手壁伝い法のことを拡張左手法と呼ぶ。実装にあたって、迷路の区画を分岐点、区画と区画の間を通路と見なした。区画(分岐点)には複数回ステッパマウスが訪れるが、区画と区画の間(通路)には0回(区画と区画の間に壁があり通行不可能)か2回(行きと帰り)しか通過しない。

掃除道具選定

概要
掃除道具選定方法について述べる。
迷路に堆積する埃の種類
掃除道具を選定するためにはまず掃除する埃の種類を決める必要がある。室内で競技を行う以上、綿埃は迷路上に堆積する。季節によっては花粉も堆積する可能性がある。迷路上に土足で立ち入ることはないため砂はないと推測される。よって、綿埃や花粉など、迷路上に降り積もった比較的軽い埃を掃除すればよいと分かる。
実際に迷路掃除に使われているコロコロをよく見てみたら、綿埃がほとんどで、あとは髪の毛が1本付いていると分かった。コロコロ全体が黒ずみはタイヤの削りカスであると推測される。

コロコロに付着している埃

コロコロに付着している埃
コロコロに付着している埃を観察した結果、筆者は一番量が多い綿埃を除去すればタイヤの滑りを防止できると仮説を立てた。
埃除去方法
埃を除去する方法をざっと列挙すると、粘着(コロコロ)、吸引(掃除機)、送風(埃飛ばし)、掃き(ほうき)、拭き(雑巾)、液流(ホース)、吸着(静電気掃除グッズ)が挙げれられる。まずは粘着について。既に迷路掃除に取り入れられている。しかしステッパマウスに装着して掃除しながら走らせようとすると意図せぬ場所にくっついてしまい走行の妨げとなる。また、コロコロは大きすぎてステッパマウスに装着できない。吸引について。大掛かりな仕組みが必要となってしまう。今回の仕様の1つである「導入にかかる金銭的・時間的費用と手間が少ない」に反するため不可である。送風について。埃を隣の区画に移動させているだけなので不完全である。よって不可である。掃きについて。埃を掃いてちりとりに回収する機構は大きすぎて既存のステッパマウスに装着できない。ほうきを引きずらせるだけならできる。しかし迷路の隅まで掃除できるような大きさのほうきを用いると、頻繁にほうきが壁や柱にぶつかってしまいステッパマウスの制御に影響がでてしまう。拭きについて。今回扱う埃は迷路上に降り積もった軽い綿埃であって、迷路にこびりついた埃ではない。よって拭きは必要ない。しかし乾拭きで迷路をなでるだけなら有効であると予想される。乾拭き雑巾は変形しやすいため壁や柱にぶつかってもステッパマウス走行に影響が出にくい。一方で水拭きは埃が固まって床にこびりついてしまうため不可である。液流について。液流を使うと周囲が水浸しになる上にステッパマウスが壊れてしまうので不可である。吸着について。吸着は静電気で埃を絡め取る仕組みである。よって埃の種類によっては有効な方法である。静電気掃除グッズは変形しやすいため壁や柱にぶつかってもステッパマウス走行に影響が出にくい。
したがって埃を除去する方法として乾拭きと吸着が有望であると予想できる。この2つのうち、静電気を用いてより効率的に迷路から埃を除去できると予想される吸着について本ブログで扱う。
商品選定

本ブログでは試作品を作成するだけであるため商品選定については追求しないものとする。

今回は近くのスーパーに売っていたのでクイックルハンディ取り替え用を使用した。

埃取り器

概要

市販の掃除道具を加工して埃取り器を作成する。

加工

静電気掃除グッズをステッパマウスに装着するために必要な加工をする。

今回使用したクイックルハンディ取り替え用には元から穴が開いており、その穴にひもを通してステッパマウスに装着するため加工は不要であった。

装着

静電気掃除グッズをステッパマウスに装着する。

今回はクイックルハンディ取り替え用の穴にタコ糸を通してステッパマウスに結び付けた。取り付けやすさのために、ステッパマウス後部に静電気掃除グッズを装着した。

埃取り器装着

埃取り器装着

実験

本来ならば実験では再現性を重視し実験環境を現実環境にできるだけ似せる必要がある。しかし今回の実験ではそこまで気にしないことにする。

見やすさのために迷路に多めに綿埃を配置して埃取り器付ステッパマウスを走らせた。綿埃は掃除機の中から入手した。

迷路上面に

迷路上面に

綿埃を配置し

綿埃を配置し

埃取り器付ステッパマウスをスタート地点に置き

埃取り器付ステッパマウスをスタート地点に置き

埃取り器付ステッパマウスを走らせると

埃取り器付ステッパマウスを走らせると

迷路上面が掃除される

迷路上面が掃除される

掃除後の埃取り器付ステッパマウスの裏面を次図に示す。埃取り器で綿埃を掃除できていると分かる。しかし、埃取り器をステッパマウス後部に装着したせいで綿埃がステッパマウスのタイヤや底板にくっついてしまっている。

掃除後埃取り器付ステッパマウス裏面

掃除後埃取り器付ステッパマウス裏面

埃取り器装着方法をもっと工夫する必要がある。

今後の課題

今回の取り組みでは定量的な評価を一切行わなかった。よって、迷路掃除が迷路走行時間最小化にどれほど貢献するのか、一番除去すべき埃は綿埃で合っているのか、綿埃を除去するために最適な掃除道具は静電気掃除グッズで合っているのか、静電気掃除グッズで迷路掃除するとどれくらい埃が取れるのかについて不明なままである。定量的に評価するならば、迷路掃除前後でタイヤの滑りやすさを測ったり、迷路掃除で除去できる埃の重量を量ったりする必要がある。加えて、今回立てた推測や予想や仮説に関して一切検証しなかった。よって、今回試作した物が妥当かどうかは非常に怪しい。妥当性を示すためにも推測や予想や仮説を検証する必要がある。また、今回試作した物が仕様である「コロコロと同等かそれ以上に埃を取れる」と「従来の迷路掃除と同等かそれ以上の丁寧さ」を満たしているかどうか不明なままである。比較して検証する必要がある。

感想

今回は迷路掃除をロボットにやらせてみた。しかし、迷路掃除くらい人がやれと筆者は言いたい。

終わりに

日頃からクソ真面目に阿呆なことがしたいな~、専門性の無駄遣いをしてほくそ笑みたいな~、とんでもない物を作って周囲を唖然とさせたいな~、へんてこな物を作れば誰かが笑ってくれるかな~、と思っているので自分でもよく分からない方向に突き進んでしまうんですよね。しかし理想に反してほぼ全員が笑ってくれない上にそもそも無視されると気付いてしまいました。みんな無関心なんですよ。でも笑ってくれる人が少しだけいることにも気付きました。このブログを読んで誰か1人でも笑ってくれると筆者は嬉しいです。

明日はらっちさんの記事です。