過去に発生した問題
ロボットが動いている途中で止まる
ハードウェア
B-LocoボードとUSB接続してると、段差などにぶつかったときに接続が切れる。
原因はFTDIチップのリセットと思われるので、接続が消れることが頻繁にあるなら電源周りのケーブルなどの断線・接触不良を疑いましょう。USB-シリアル変換ケーブルを使うととりあえずこの問題は解決できるかもしれません。
FTDIチップドライバのバグ
Linuxカーネルのバージョンによっては、FTDIチップのドライバにバグがあり、通信ができなくなります。今までに確認している、バグのあるカーネルのバージョンは以下の通り。
- 2.6.31-14周辺
- 3.0.0-13以降
USBとの通信周期がおかしくなる
YP-Spurは基本的には、マイコンと5ms周期で通信しているつもりです。
Linuxカーネル2.6.27周辺(Ubuntu8.10標準のカーネル)でFTDIチップを通して直接USBで通信を行うと、PC上のドライバで通信がまとめられて15msくらいになることがあるようです。FTDIのチップを使用していないUSB-シリアル変換ケーブルを用いると5ms周期で通信が行えます。Linuxカーネル2.6.31ごろ(Ubuntu9.10標準のカーネル)には、この問題は解決され、どちらで動かしても5ms周期で通信してくれるようです。
なお、オドメトリ計算などは、通信がまとめられても正しくなるようにしています。