テオヤンセンのミニビーストを作ったよ

さて、先週、お盆休みに部屋を片付けるついでに大人の科学シリーズのテオヤンセンのミニビーストを作ったよ。


ということで、作ったときの流れを追って写真を撮ったよ。

うひひ。プラモなんて作るの中学以来だぁ〜



さて、機構が不思議なので、単純な内に動画でも撮ってみようと。



ということで、完成したわけですが、こんな風に動きます。


モーター取り付けて動かしている人も居るし、結構拡張が出来て面白いかも。
流石にこれでマイクロマウスの大会に出場しようとは思いませんが、知能ロボコンとか面白いかも。
わりと安定してるし。

ついでに水槽も綺麗にしたので、ウプします。

ついに発注したプリント基板とBeagleBone Black来た。


やっと発注した基板とBeagleBoneBlackが届きました。
二年ぶり発注したプリント基板でテンションがあがります。



今回発注する際に、RaspberryPiよりもちょっとハードウェアスペックが高い
小型Linuxボード、BeagleBoneBlackもついでに買いました。


くそう。Seeed Studio Bassarめ。FusionPCBのプリント基板だけでなく、
ネットショッピングまでやっているなんて。。。
まんまと買ってしまったではないか。


ということで、今日一日中BeagleBoneBlackを弄っていました。
BeagleBoneBlackはmicroSDカード無しで起動できるため手軽ですが、
最初に入っているOSはAngstrom Linuxというあまりなじみの無いLinuxディストリビューションです。


デフォルトでXWindowsが起動するので、開発の調べ物はBeagleBoneBlackでChromeを使ってやりました。


パッケージリポジトリはopkgという謎リポジトリでした。
ntpサーバーを殺そうと思っても死ななかったり、
XWindowsを切ろうと思っても一筋縄ではいかなかったり。


どう見てもSSHDaemon起動してないように見えるんだけど、Avahi起動してて、
SSH接続できたり出来なかったり。謎い部分も多い。


あまりにも分からなさ過ぎて、twitterに嘆こうと思って、
twitter開こうとしたら証明書が確認できませんと文句を言われた。
なーんでだろうと思ったら、BeagleBoneBlackの日付が2000年くらいの1月1日になっていて
今は2013年だし、そりゃー未来から来た証明書は不自然に思うよなって日付の設定したり。。。。


他にもいろいろつまずくことはたくさんあった。
ということで、Angstrom linuxだいぶトリッキー。


最初は、もうUbuntu for Armか、Debian wheezy for Armとか入れて対処しようかと思ったけど、
gpioとか使うとき、カーネルの設定をゴニョゴニョしたくないなぁとも思って、結局そのまま
Angstrom Linuxを使ってしまいました。まぁ、目的のことはとりあえず出来たのでよしとする。


今後こいつとはしばらく付き合うことになると思うので早く慣れないと。

平面3リンクマニピュレータのシミュレーション

はい。大学の授業で平面3リンクマニピュレータの
軌跡と角度をグラフ化しろという課題が出たので、シミュレーションを作ってみた。


マジでなんでシミュレーションなんて作っちゃったんだろう。
適当に逆運動学の式をエクセルかなんかで作ってグラフにするだけで良かったのに。


まぁ、やってしまったので最後までやり通そうと頑張ってみました。


ということで成果物です。

微妙に目標に届いていないのは、計算誤差です。


一応課題としては目標点が4つ指定されてて、
そこを滑らかに動くような軌道を関節角度を求めよというもの。


滑らかに動くというのがミソで、軌跡を直線に動かすのではなく、
曲線でやろうと思いましたが、そこは手先位置の加速度を導入して対処しました。


あと、エンドエフェクタの部分は、常に下向きという拘束条件が与えられたので、
実際には平面2リンクマニピュレータとして逆運動学を解きました。



ということで、グラフ作ってみました。

青が第一関節角度、オレンジが第二関節角度、灰色が第三関節角度。



今回、1ピクセルを1mmとして計算していて、手先の

加速度が100mm/s/s、
最大速度70mm/s

です。

ということで、課題の提出が明日までなので頑張って終わらせます。


追記:
課題を一通り提出することができて、山場を越えました。

図のように角度シータを取り、リンクの長さを下からL0,l1,l2とおくと、
順運動学と逆運動学は以下のようになります。


興味があれば。

FusionPCBにPCBEで作ったデータ発注したよ

今日は東日本支部の月例会に行ってきました。
収穫は、来月に関西支部大会があって、みなさんそこをで走れるようにスケジュール組んでいるという事。
さすがに関西支部大会に新作は間に合わないな。


そのあとみんなで月島のもんじゃに行ってきたんですが、鉄板がリフローとか言い始めて、
あぁ、この人たちはやっぱり鬼畜マウス集団なんだって改めて認識した次第です。

もんじゃうまうま〜


さて、やっとFusionPCBに新作の基板を発注しました。
今回発注する際、他にBeagleBoneBlackもついでに買ってしまいました。
大きな出費になってしまいましたが、家に届くのが待ち遠しいです。
基板外形の事でFusionPCBから文句言われなければ良いのですが。。。


随分前から基板データは出来てたんですが、色々あって発注が遅くなりました。
今心配なのは、3か月前に設計に使った部品が手に入るかどうか。
前回それで一回失敗したことがあります。


PCBEからFusionPCBに発注する手順はネットに色々書いてあります。
ちょっと気を付けないといけないのは、基板外形をどこかのレイヤーに含めないといけないというところです。
あとはデザインルールさえ合っていれば発注できるようです。
今回私は裏面のシルクに基板外形を含めました。
デザインルールは、もともとPCBEに入っているDRCチェックを使いました。


前も基板データ晒しましたけど、もう一回。

※レイヤーバラバラに表示されてます。


そう言えば昨日はニコ生で深海6500の中継やってましたね。
感動を覚えずにはいられず、童心に返ってわくわくしてました!!!


極環境に人が行くってなんでこんなに人を惹きつけるのでしょうか。
そのうち宇宙にも気軽に行けるような世界が出来ると良いですね。

足回りが着々と

タイトルの通り、新作の足回りが着々と進んでいたり。
といっても、ここ最近死ぬほど課題が出ていて、合間合間にNCを回している感じです。
切削時間がすごく長いので、帰る前にNCにデータ送って後は放置とか、授業が始まる前に
データ送って放置。など、効率的に作業できるように試行錯誤してました。


まだ部品全部そろってませんが、ある程度形になってきました。
とりあえずこんな感じの出来になっています。



タイヤもう一個付けるとこんな感じ


ここまで来るのにエンドミル2本折りました。orz
一本は自分のやつで、もう一本はNCを貸してくれている研究室のやつ。。。
本当、申し訳ない。
結局追加発注しないと残りが作れない。
(もうエンドミル無いから買うよ〜と言われ、本当に申し訳ないです。)


ハードウェアのほうは、基板のデータも出来てるので、あとは発注をすれば良いだけ。
と言うか、まだ発注していない。。。


ソフトウェアのほうで詰まっているのは、

STM32F4xxのADCで、AD値をDMA機能で自動取得をしていて、
DMACの割り込み前後にポートの出力管理をしたいのですが、出来ない。


一通りk島さんのサンプルプログラム読んでみて、合ってそうな記述にしたんですが、
うまくいかないのでもうちょっと読んでみる必要がある。


あと、プロジェクトをコンパイルする際、makefileの記述の問題か、
何回もコンパイルしないと最終的なmotファイルが出力されない。
これも気持ちが悪いので直したい。


もう後1ヶ月もすれば授業の履修がほとんど終わるので、もう少しの辛抱。

先週の東大5月祭に行ってきたよ

さて、先日はMiceBBQで久しぶりにはっちゃけられて凄く楽しかった!
なんかちょっと体調悪かったみたいで、実はあの後だいぶ大変だったorz



実は先週東大の五月祭に行ってきました。

面白いビール飲んだり


高電圧発生機とか見てきました。
マルクス発生回路によるピカチュウ6匹分の昇圧

いや〜ね、携帯カメラで放電した軌跡とかを撮影するのは無理ですね。


交流電源によるアーク放電とか


円面放電とか


痛いダンスとか


という感じで凄く楽しんできました!
来年は皆さんもぜひ参加してみては!?

STM32F4シリーズ(64pin)の最小限の回路

なかなかSTM32F4シリーズの自作評価ボードに書き込めなくて苦しんでいたところ、
やっと書き込みができました。


いや〜時間かかった。ずっと取り組んでいたわけではありませんが、ほぼ一年かかりましたね。


問題は、STMicroのホームページが使いづらくて、必要なデータシートがどれかわからないのと、
F4シリーズのデータシートがそもそも少ない。
。。。というところで結構苦労しました。


あとは、俺がちゃんとデータシート読み切れてないという問題もありますね。


今回使っているマイコンは、STM32F405RGT6です。


スペックは驚異的です。


コア:ARM 32-bit Cortex-M4 CPU with FPU
動作周波数:最大 168MHz
FLASH メモリ:1MByte
SRAM:192+4KByte


いや〜凄いっすねほんと。

家にSTM32F415RGT6もあるので、そちらも試せれば良いかなと思っています。


Twitterではたまに晒していたのですが、こんな評価ボードを作っていました。


で、若干STM32F1シリーズと最小回路構成が違うので、STM32F4(64pin)の最小回路を載せておきます。


もし自分でSTM32F4のボード作りたい人がいたら参考にしてください。


プログラムや、開発環境についてはk島さんが頑張ってくださっているので、
こちらを見てください。
http://www.ktechinfowell.net/micromouse/index.html

手順通り進めて行ったところ、makeの段階でちょっとだけ躓きました。
エラー内容が見たら、STM32F4のペリフェラルが無いよ〜って言われたので、
STMicroからインストールして対処しました。

OSに依存していないので、Linuxとかでも開発が出来ますね。便利。