BEIKE blog

備忘録です

raspiホットスポット化

sudo apt install hostapd dnsmasq iptables
git clone https://github.com/oblique/create_ap.git
cd create_ap
sudo make install
sudo iw dev wlan0 interface add ap0 type __ap
sudo create_ap --no-virt ap0 wlan0 raspi

上手く行くと、このようなログが出てくる。

ubuntu@ubuntu:~$ sudo create_ap --no-virt ap0 wlan0 raspicatv2
WARN: brmfmac driver doesn't work properly with virtual interfaces and
      it can cause kernel panic. For this reason we disallow virtual
      interfaces for your adapter.
      For more info: https://github.com/oblique/create_ap/issues/203
Config dir: /tmp/create_ap.ap0.conf.6ESuWyuv
PID: 2225
Network Manager found, set ap0 as unmanaged device... DONE
Sharing Internet using method: nat
hostapd command-line interface: hostapd_cli -p /tmp/create_ap.ap0.conf.6ESuWyuv/hostapd_ctrl
WARN: Low entropy detected. We recommend you to install `haveged'
Configuration file: /tmp/create_ap.ap0.conf.6ESuWyuv/hostapd.conf
ap0: Could not connect to kernel driver
Using interface ap0 with hwaddr e4:5f:01:68:fb:5c and ssid "raspicatv2"
ap0: interface state UNINITIALIZED->ENABLED
ap0: AP-ENABLED 
ap0: STA 80:32:53:62:73:c5 IEEE 802.11: associated
ap0: AP-STA-CONNECTED 80:32:53:62:73:c5
ap0: STA 80:32:53:62:73:c5 RADIUS: starting accounting session EDCAFFAFD8EE1847

raspiインターネット時刻合わせ

ファイルの編集を行う。

sudo vim /etc/systemd/timesyncd.conf

なぜか、ntp.nict.jpだと上手く行かなかったで、pool.ntp.orgを選択した。

#  This file is part of systemd.
# 
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.

[Time]
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.jp.pool.ntp.org

修正内容を反映し、サービスを再起動。

sudo systemctl daemon-reload
sudo timedatectl set-ntp true
sudo systemctl restart systemd-timesyncd.service

こんな感じのログが出てくれば大丈夫そう。

ubuntu@ubuntu:~(17:54:19)$ sudo systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-02-19 17:53:05 JST; 1min 16s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 1935 (systemd-timesyn)
   Status: "Connecting to time server 129.250.35.251:123 (pool.ntp.org)."
    Tasks: 2 (limit: 4442)
   CGroup: /system.slice/systemd-timesyncd.service
           └─1935 /lib/systemd/systemd-timesyncd

 2月 19 17:53:05 ubuntu systemd[1]: Starting Network Time Synchronization...
 2月 19 17:53:05 ubuntu systemd[1]: Started Network Time Synchronization.
 3月 06 14:03:56 ubuntu systemd-timesyncd[18103]: Synchronized to time server 129.250.35.250:123 (2.arch.pool.ntp.org).

gmappingのマップの更新速度について

概要

「gmappingのパラメータであるmap_update_intervalを0.1などにしても /mapトピックの配信頻度が0.5Hz程度ぐらいになってしまう」という話を聞いたので調べてみた。

〜map_update_interval ( float 、デフォルト:5.0)
    マップの更新間の時間(秒単位)。 
   この数を減らすと、計算負荷が大きくなりますが、占有グリッドがより頻繁に更新されます。 

調査

ソースコードを読む

1.まず、/map配信頻度は/scanの配信頻度に依存している。

github.com

2.その上で/map配信頻度はmap_update_intervalのパラメータに依存している。

github.com

3.また、temporalUpdateというパラメータにも依存している。(↓関係がある場所のリンクを色々ペタペタ)

github.com

github.com

github.com

github.com

github.com

github.com

github.com

実際に動かしてみる

実機

環境

  • raspicat

  • 2D LiDAR

    • UST-30LX(/scan 30Hz)
  • ノートPC

gmapping

youtu.be

gmapping nodelet

youtu.be

rosbag

あとで載せます。実機と変わらず、cpuは100%に張り付いていて、/mapの配信頻度は0.3Hzぐらいだった。そして、徐々に配信頻度は下がっていった。

まとめ

ということで、map_update_intervaltemporalUpdateのパラメータを調整すれば、/map配信頻度を20Hzぐらいまで高くできるかというと、そうでもないみたい。すくなくとも、自分の環境では1Hzぐらいで頭打ちになってしまった。また、マッピングをし続けていくと/map配信頻度が徐々に下がっていくことがわかった。cpuに関してはgmappingのプロセスは100%まで張り付いてしまう。普通に処理が間に合ってなさそう。

hector slamもやってみた

hector slamは使ってみた所、cpu使用率が低く、/mapの配信頻度を300Hzまで高くしたら cpuが100%に張り付いた。今度、コードを読んでみます。(gmappingとの違いを探す)

youtu.be

2021年を振り返って

概要

あー、あと3時間ぐらいで2022年になります。 なんか2がいっぱいありますね!。。。。。

今年は相変わらずコロナで何かと家にいる機会が多かった気がします。 大学4年生として過ごしていたわけで、授業はなかったのですが いつも忙しいかった気がします。来年は就活もあるのでヤバイです。

書きたいことは山ほどあるが、まずは今年やったことの整理をする。

さぁ振り返ろうじゃないか

正直、進捗が少ないのでは無いかと思ってる。 人それぞれだと思うけど。。。

まずは

1月

記憶にないのでツイッターを見てみます。

なんか勉強会やったらしい。 思うけど多分誰のためにもならなかった気がする。 ただただ資料の準備が苦痛だった。

なんか遊んでますね。多分モルカーが流行ってた頃。

ということで、1月進捗ゼロです。 酷いですねー。

2月

CIの大切さに気づいたようです。 この頃からGitHub Actionsを使うようになったんですね。

AWSデリバリーチャレンジに出場することを決意したようです。 なお、卒業研究のためといいつつ確実に勝利を掴むために 挑戦をせず既存の方法でやったんだけどね。。。

決意の一週間後にはシミュレータで何かやってますね。

まあ、2月は進捗合った気がしますね。

3月

ツイッターを見る限り進捗なさそうです。 何をやっていたのでしょうか???? 酷いですね。。。。

4月

何かイライラしてますね。 この頃、大会の2週間前ということは3月はその準備をしていたようです。 フムフム。。。

5月

大学院推薦の研究計画書を書いてるようですね。 めんどくさかった記憶が有ります。

大会は2位だったようです。 今となっては、まぁそうだよなって感じです。。。 来年は1位を目指すらしいです。

これはボスからおしかりを受けた時の話ですね。 人と共同で作業する時に気をつけることを知ったようです。 なお、改善されたか不明。

まぁ、5月は大会で入賞したので進捗はあったと思います。

6月

なんか、自己位置推定のブログ書いたようですね。 こういうのやってもアウトプットがないのでダメですね。 しっかりプログラムも書きましょう。。。

ワクチン接種したようです。 まだフルチンではないですね。。。

んんー、6月はワクチンを打ったので進捗がありますね・・・・。

酷いですね。

7月

津田沼チャレンジをやったようですね。 確かめっちゃ暑かった気がします。

つくばチャレンジに申し込んだようですね。 自分の中でビックイベントだった気がします。

東京オリンピックを観てたようですね。 開会式の音楽よかったです。

ようやくフルチンです。

7月は津田沼チャレンジやっていたということで進捗は少しありますね。。。。。

8・9月

この2ヶ月はGITAIというベンチャー企業インターンに行ってました。 2ヶ月って結構長いですね。。。。。

やった内容は移動ロボットのパーセプション周りやナビゲーションです。

正直言うと自分の力のなさをとても感じました。 結構、地獄だった気がします。普段の作業と比べたらの話なんですけどね。

でも、とても良い刺激を受けました。こんな感じにガツガツやっていくんだなーと思いました。 もちろんメンタルがやられそうになった時は何度もありましたが、インターンが終わった、今となっては そこでの経験が今の自分を後押ししてくれている気がします。もっと頑張らないといけないことに 気づかせてくれたので本当に感謝しています。

良い感じのような話しのまとめ方をしてますが卒論は進んでません。。。。。。。。。 あああああああああ。。。

お疲れ様です。自分。

8・9月は進捗出しまくりだったかもです。

10月

卒論を書き始めたようです。

10月は確か、つくばチャレンジの実験走行が合った気がします。 まぁ進捗は合った気がします。

11月

つくばチャレンジもSIもあって大忙しなようです。 SIに関してはだいぶ楽をしてしまったので申し訳なく思ってます。

これは!進捗ですね!

実装ミスですね。そもそも把握してなかったみたいです。 自分の中での目標は達成したから良いかな?(良くない)

11月は進捗の月でしたね。

12月

なんか記事を書いたようです。 こういうイベントって参加したくなるんですよね。

なんか記事を書いたようです。 疲れてきますね。

SIに参加したようですね。 ポスターづくりがめんどくさかったです。(それぐらい頑張れ)

そして現在つくばチャレンジシンポジウムのレポートを書いています。。。。。。

12月は書物が多すぎる??????!!!??!?!??!?!?!?! 疲れました。。。。。

まとめ

いやー振り返るのに1時間ぐらい掛かりました。

夏休み前は天狗になりすぎていた気がします。 なので全く成長した気がしてません。

夏休み以降は自分の力のたりなさに痛感して やるべきをことを考え始めました。

来年はつくばチャレンジ完走したいな−。

やらないといけないことは盛りだくさんなので、来年になったらやることを一旦まとめようと思います。

2021年お疲れ様でした^o^