Post

Conversation

ハードウェアを動かすのは難しい。それはシステムを構築するのが難しいという意味ではない。 ハードウェアはそれ自体が状態マシンでありテストがかなり難しい。そこにソフトウェアの状態や変数を気軽に導入するとテストケースが爆発しがち。 パーティクルフィルターを使った自己位置推定(モンテカルロ自己位置推定。MCL。しばしばSLAMという言葉を誤用されるが、マップを自己位置推定と同時に構築するのがSLAM)なんかもデバッグしづらいので、できればマーカーやタグなど絶対位置が分かる方法を使いたいと検討はすべき。 場当たり的に状態変数を増やすのはソフトウェア開発でも下手なのだが、僕みたいに中途半端にソフト・ハードやってると陥りがちなので、わかりやすい、メタな設計指針がまとまってると良いと思ってる。 こういうノウハウで教科書を書くなら最初に書いておきたいことの一つ。 「任意瞬間の機械の全状態が観測可能とせよ」