ちょっと毛色の違う投稿を。
前々回のバーチャル Appalachian Trail の投稿で、近所のコースがマンネリ化するので、目先を変えてスマホの乱数アプリなどを使って行き当たりばったりのウォークをやってみた、ということを書きました。
最初は普通にダウンロードしたアプリを使っていたのですが、スマホを開く度に広告が流れてすぐに方向を出すことができず邪魔でした。やりたいことは乱数によってどっちに進むのかを毎回表示するという単純なことなので、そうであれば自分で作ってみようと思い立ちました。
Android だと通常 java を使うのではないかと思うのですが、自分的には Python が割と気楽に書けて好きなので、以下のページ参考にしながら見よう見真似で作ってみました。
Kivy という Python の GUI ライブラリがあるようで、これを使うと簡単に Python の GUI アプリが作れます。あとはこれをどうにかして apk ファイルにしてスマホに突っ込むというところですが、これも以下のページ参考にしながらやってみました。
手元には Windows PCしかありませんので、Buildozer なるビルドツールは使えませんでした。そのためにUbuntuのバーチャルマシンを用意するなど、やりたいことよりも環境づくりの方にやたら時間が掛かってしまいました。
紆余曲折があって出来上がったアプリがこちら。

画面下のボタンを押すと乱数によって生成された方角を出力するといった単純なものです。
- 2を押すと、"L" か "R" のどちらかを表示
- 3を押すと、"L", "S", "R" のどれかを表示
- 4を押すと、"L", "l60", "r60", "R" のどれかを表示
- 5を押すと、"L", "l45", "S", "r45", "R" のどれかを表示
- Rを押すと、0~1 までの乱数値(小数点第3位まで)を表示
T字路であれば 2 を、十字路なら 3 を押して次の方向を決めます。
このアプリを使って新宿駅西口を起点に1時間半ほどランダムウォークをしてみました。(歩いたのは 2023/5/21です)
スタートの新宿駅西口。最初は "L" が出ましたので、京王百貨店方面に向かいました。

途中いろいろなところを通過させられました。
思い出横丁。

新宿通りの歩行者天国。

新しい明治通りの歩道。

歌舞伎町の西武新宿駅周辺で時間が来たので、出発点に戻りました。

トータル 7.7 km です。(バーチャル Appalahian Trail の距離にカウントします。)
信号や行き止まりになる度に方向を変えるので、GPSアプリで経路を正確に捕捉することが難しいようです。(青い線がGPSアプリの軌跡、赤い線が補正した軌跡)
ランダムウォークの宿命として、歩いていると同じところを繰り返し通過する場合もあります。特に "L", "L", "L" ... などと続くと本当に乱数なのか?再計算しているのか?など疑わしく思うこともあります。
今回使ってみて気が付いたポイントは以下です。今後気が向いたら改造していこうと思います。
- 同じようなところを歩いていると、だんだんどこを経由したのか記憶が飛んでしまいそうになります。またGPSも細かい方向転換にはなかなか追従できないようです。そこで出目と時間と(可能なら)その時のGPSの値をログに残しておいて、あとから補正をしやすくするような仕組みを考えたい。
- 今はボタンを押すとすぐ方向が出てしまうが、1秒くらい計算中のステータスを表示して次の方向を表示した方が、押し忘れたのか、たまたま出目が連続したのかが区別しやすくなる。