注目の投稿

技術Note一覧

このブログのメインコンテンツである技術Noteの一覧

2017/10/28

楕円フィッティング


地磁気センサや加速度センサのキャリブレーションのために、与えられたデータセットに対して最もフィットする楕円を知りたくなることがある。 そこで、最小二乗法を用いて楕円パラメータを推定することを考える。 このとき、楕円とデータセットの残差をどのように定義すればよいか?という問題に直面した。 結論としては、各データと、フィッティング楕円のマハラノビスノルムの差を残差として定義し、最小化すれば最尤楕円が求まることが分かった。

本ノートはそのメモである。


2017/10/22

GPSロボットカーコンテスト2017まとめ

1.台風の接近により中止

技術交流会として,機体構成とその特徴についての発表会があった.
自分の発表資料は以下

https://docs.google.com/presentation/d/1oYFm3Nsqm9fn4pTbdHUADZbymoTgzz2OGPZY9DazVYQ/edit?usp=sharing

時間切れでブログの宣伝までたどり着かなかったのが悔やまれる.

2017/10/02

試走会まとめ

センターサークルでアピールする方法考えてなかった.
・やっべ

SSHログイン

自動ログイン + パスワード認証不要に設定
http://robonchu.hatenablog.com/entry/2017/04/02/121229

ログイン後しばらく放置しているとpingすら通らなくなる.
wifiドングルがスリープだか省電力だかに入るという話をどこかで聞いた気がするのでその内対処する

暫定は以下の方法で対処
・起動後すぐにSSHでログイン
・PC側に向かってpingを投げさせる

Nios flashからのブート

以下のマニュアルがよくまとまっていて分かりやすい
https://www.altera.com/en_US/pdfs/literature/an/an730.pdf

がしかし,マニュアルのoption2を忠実になぞってもうまくいかない.
・実行後しばらくは正常動作するが,しばらくするとフリーズする
・PCからjtag経由でRAMにプログラムを書き込むと正常に動作する.

どうやら,printf()が入っているとフリーズするようだ.以下の状況も確認済み
・PCからjtag経由でRAMにプログラムを書き込み,jtag用ケーブルを抜くとフリーズする

flashからのブートもprintf()無しで動作するか確認予定.

タミヤESCをpwm制御


タミヤのESC周りの仕様がややこしいので整理.

2017/09/24

altera_spi_core と bcm2835

nios側でspiデータが来るのをポーリングで待つように処理したところ,RPi側からbcm2835_spi_transfern()でデータを送信したときにSPIcoreのROE (Receiver Overrun Error)が立ってしまう.ROEはniosでデータ読み出しする前に,次のspiデータを受信してしまうと発生する.

仕方なくbcm2835_spi_transfer()で1byteずつ送信し,byte間をbcm2835_delayMicroseconds()で埋めた.ある程度delayを増やすと上手く行く.しかし,安定して通信できるのがbcm2835_delayMicroseconds(2000)あたり.これより小さいとうまくいかない.この設定でスマホからRPi→FPGA→サーボを操作すると,体感0.1secくらいのもっさり感がある.