まじかる☆マリオネット: 開発日誌 (200503)

2005/03/29 X+11
(メモ)オイラー角とロール、ピッチ、ヨー

とりあえず日記を書ける程度には復活

先週の「ロボットバトル in ひよこ屋」で
    「ロールとはどの軸周りの回転を指すのか」
という話になったとき、嘘を言った気がしたので調べてみました。

Googleで色々キーワードを変えつつ検索して見つけたのがこれ

座標変換 (東北学院大学工学部機械創成工学科RDE)
(検索キーワードは「オイラー角 ロール ピッチ ヨー 座標軸」)

このページの「オイラー角とロールピッチヨー」には
この表示法は飛行機の姿勢を表す際によくつかわれ座標系の取り方にもよりますが、鉛直軸回りをヨー(yaw)軸、左右の傾きをロール(roll)軸、前後の傾きをピッチ(pitch)軸といいます。車などの揺れでもローリングだのピッチングだのいうことがありますが、これです。

なお、本によって回転順序が異なったり、回転軸をZ0,Y0,X0にとっていたり、いくつか種類があることに注意が必要です。

と書かれています。
隊長と私の意見がこれでした。
参考:機体座標系と回転運動 (A-Cubed 【航空工学を巡る冒険】)

が、もうちょっと下を読むと「オイラー角」という項があって
そこには…
力学などでも出てきて頭を悩ますものにオイラー角があります。
(オイラーはあちこちの分野で有名な式だの法則だのを提示したため、どれがどれだか難儀で、個人的には苦手な名前です(笑))。
ロール・ピッチ・ヨーは納得しやすいとおもいますが、これは回転軸をZ-X-Zとして、Y軸をつかいません。

とあります。
ロール、ピッチ、ヨーがオイラー角だと思っていたのですが間違っているようです。

さらに、「オイラー角 ロール 回転軸」で検索して見つかる
OpenGL勉強会用 資料のページ
の「位置姿勢の指定方法」という項にこんな記述が
オイラー角変換には大きくわけて2種類あります.例えば上記のz-y-z軸まわりの変換がその一つで,2種類の回転軸を組み合わせています.一方,前述したポヒマスセンサではオイラー角としてz-y-x軸まわりを利用しており,3種類の回転軸を組み合わせています.どの軸を使うかは用途によっていろいろです.
参考まで回転軸が異なることによって,3つのオイラー角の呼び名も違ってきます. z-y-z軸系での呼び名は,ヘディング(heading),ピッチ(pitch),バンク(bank)が用いられています.z-y-x軸系での呼び名は,アジマス(azimuth),エレベーション(elevation),ロール(roll)が使われる場合もありますし,ヨー(yaw),ピッチ,ロールが使われる場合もあります.


ヘディング、ピッチ、バンクっていうのは聞いたことあるような…
でも、呼び名が変わってもロールはx軸まわりみたい。

結局、間違った説明はしなかった…のかな??


  ☆[コメント]


2005/03/23
体調不良のため日記更新お休みします

体温測ると 36度9分って出るんですが、体温計壊れてるんじゃないかと…
料理作る気力なくなっても大丈夫なように、帰宅途中で色々な食品を調達済。

週末まで日記更新やメールの返事はしないかも。


  ☆[コメント]


2005/03/22
昨日のお買物 (電子コンパス、SDカタログ、ローゼンメイデン2〜4巻)

体調回復してないのに仕事が長引いてめっちゃ疲れているので詳細は後で
(22:26現在でまだ会社)


  ☆[コメント]


2005/03/20 X+1
チャンピオンベルト海を渡る

満員の大型スクリーン前

決勝戦

表彰式

早めの睡眠と風邪薬と栄養ドリンクのおかげで復活。
電車はやめて車で会場へ。

いつもは科学未来館向かいの国際交流会館の駐車場に入れていたのだけど、今回は満車。
科学未来館に入ってみると、大型ディスプレイの前も満員。
うーん…これってやっぱりワールド☆レコーズ効果?

到着したのは 12:00 過ぎだったので1回戦、2回戦は見られませんでした。

決勝戦はヨコヅナグレート不知火を下した TAEKWON-Vと、
身長70cm,体重8KgのMYRO2を下した グレートマジンガアの対戦
(日韓マジンガー対決:笑)
接戦を制したのは TAEKWON-Vでした。

参加者、委員会、関係者のみなさまお疲れさまでした。
飛騨高山の第8回ROBO-ONE (9/17,18)でお会いしましょう。

---
一度祝勝会に行ってみたいのですが、今回もかなわず…(T-T

  ☆[コメント]


2005/03/19 X+0
ROBO-ONE予選当日

たぬたぬGと一緒に

注) 自分のことしか書いてません。予選会場の雰囲気を知りたい方には石川さんの「思い立ったが吉日」の 2005/03/19 の日記がお薦め。
あと、 うじさんが紹介している snさんのblog「散財心理学実習講義200X」もお薦めです。
(2005.03.21 08:40 訂正)
  うじさんではなく snさんのblogでした。すみません

遅刻しないように 7:30に目覚し掛けてたのに、ベッドから出られたのは 8:00過ぎ… (汗
身支度をしつつ、VAIOくんのCygwin@Win2K へクロスコンパイルに必要なものをコピー
(予想通り使わなかった)

車で行くと懇親会で飲めないので、JRとゆりかもめを乗り継いで科学未来館へ。
到着したのは 11:00過ぎ。受付は諦め。
(実は遅れても写真撮影してもらえたのかも…)
参加者控え室は1年前の1.5倍くらいに拡がってましたけど、それ以上に参加者が多かった気がします。

自分の荷物を置いたら、まず一番会いたかった「メカトロ仙術」の「たぬたぬG」のとこへ
うきゃーかわいいぃぃい
このままお持ち帰りしたかったのだけど、そんなことは産みの親が絶対許さない。

次は、「こそこそ団 ロボット課」の のむむさんのところ。
AMATERASはちゃんと仕上がってました。
むーん…なんで、みんなそんなに工作早いんでしょうか…
私も早く動く人形が欲しい。
動くのを見られなかったのと写真を撮らなかったのが残念。

その後、「ロボットのかどっこ」のアスカさんのとこへ。
製作日記の内容から「もしかして女性単独参加?」と予想していたのですが、やはりその通りでした。
KHR-1の頭にカメラが付いていて、映像は電波でHMD(ソニーのグラストロン)へ。
さらに、HMDにはジャイロが付いていて、操縦者が頭を振ると、KHR-1も首を振るというマスタースレーブ。
これをマジンガアに付けたら楽しいだろうなー
ただしロボが転倒すると操縦者が身体のバランスを失う可能性が…(第2回大会で実際にありました)
現在は、RCB-1の機能の制限で、歩きながら首を自由に振ることはできないのだけど、新型のモーションプロセッサーなら擬似マルチタスクを使って実現できるのではないでしょうか。
今後の展開に注目。

その後も他の人達のロボの構造を見せてもらったりしていました。
(みなさまいつも作業の邪魔ばかりしてすみません)

そんななか、前述の吉日の石川さんから
「なんかねぇ、ゴーレムくんとえんぱくは『動かないので有名なロボット』『ROBO-ONE界のサグラダ・ファミリア』ってことで有名になっちゃってるみたいですよ」という話を聞く
「どっちが先に動くようになるかで賭けになってる」とも

な、なんだってー! Σ('o';
えんぱくと比べられるなんて心外だぁ (嘘:ごめんね石川さん

こうなったら次回大会では腰関節3軸を無くしてでも予選に出てやるーーー
と誓いつつ懇親会へ。
(懇親会は省略)

無理がたたったのか、目の痛みと鼻の不調に加えて頭痛まででてきたので、二次会は諦めてさっさと帰宅。

…って
花粉症じゃなくて風邪ひいてんじゃん馬鹿!

---
あ、そういえば Linux組、PIC組の人達と話をするの忘れてました… (汗
そのうち、アンテナにカテゴリ作ります。


  ☆[コメント]


2005/03/18 (ROBO) Xday直前
X-10h 今回も棄権します…

くやしい…
技術不足も資金不足も時間不足も全て自分が原因だから。



  ☆[コメント]


Xday直前進捗報告エントリ

昨日無理して会社行ったせいで体調ボロボロです。
無理するのはやめて、会場にゴーレムくんを連れて行ける程度に仕上げます。

11:00-11:30 足裏サイズ縮小 (最大長制限を5mmオーバーしてたので)

12:00-
  足首サーボはロール、ピッチ両方ともお疲れの模様
  交換しないと歩けそうにない。

13:00-
  バッテリーパック作成&スイッチ類配線開始

15:00-
  バッテリーケースを胸部ボディから外そうとしたらネジの頭をなめちゃった
  車載工具のペンチを持ってきて無理矢理外しました。
  (2時間近く無駄に…)

21:00-
  まだ、ハンダ付け作業中…
  ハンダ付けがめちゃめちゃ下手になってます。

23:00-
  時間切れ…
  結局、電気工作だけで一日使ってしまった…
  それでも、まだ自律動作開始用スイッチがありません。


  ☆[コメント]


2005/03/16 X-2
バグFIX完了 (進捗:MSC 75%、他変わらず)

結局、10μsec差の時と同じ方法で逃げました…
代償としてシリアル通信を 57.2Kbpsより速くできなくなりました。
やっぱり I2C にすべきかな…
(どんなロジックなのかは大会後にでも公開します)

あ、次のバージョンができたら旧バージョンをオープンソース化するのがいいかな。それだと、公開は5月くらい?


  ☆[コメント]


MSCバグ発覚 (進捗:MSC 65% 他変わらず)

この時点で出ますか… _| ̄|◯

同じポートのピンに割り当てたサーボのPWMの差が20μsecの時に誤動作。
10μsec差の場合は姑息な手段で逃げられたんだけど…
今度はどうやって逃げようか。

(MSCの進捗は -10% されました)


  ☆[コメント]


くじけそうです… (進捗:3/11からほとんど変化無し)

今回はかなり多くのものを犠牲にして作業したのに…
また間に合いそうにありません。

やっぱり「技術者のこだわり」を犠牲にしないとダメなのかな…
でも、それだとやる気を無くしそうです。

2004/10/30時点のやることリストはかなり消化したんだけどね。


  ☆[コメント]


2005/03/15 X-3
昨日のお買物(トランジスタ技術4月号)
(リンク先はCQ出版)

トランジスタ技術 2005年4月号

書くのを忘れてました。

どうするか迷ってたけどとりあえず一冊購入。
トランジスタ技術 2005年4月号 (CQ出版)
付録の R8C/15 はシリアルがひとつしか無いのが残念。
デバッグ用のポートはソフトウェア制御なのかな…

結局去年の付録の H8Tinyはまったく触ってません。誰か欲しいひといます?



  ☆[コメント]


うう…作業時間取れない

なんでこう大会直前に仕事が忙しくなるかな…
(前日休もうとするから?)

このままだと金曜日休めない予感。

あ、腕先は動くようになりました。


  ☆[コメント]


2005/03/13 X-5
(メモ)GNU extention function asprintf()

Cのプログラミング完全に忘れてます…大変です。
何のために Linux を背中に背負わせてるんだか…

IRCに「文字列操作忘れたー」と書いたら
「asprintf とか使えばー?」という助言が。

man asprintf してみると

ふむー、sprintf するときに勝手に malloc してくれるのね。便利そう。
でもでも、今はもうそれを憶える余裕も無いので、static に宣言したchar配列で逃げます。

え?進捗どうなってるのかって??
ま、まだゴーレムくんを動かせてないです。
腕先すら動いてません。



  ☆[コメント]


2005/03/11 X-7
まだまだやること山積み (進捗:MSC 75%、MSP 30%, その他 0%)

久しぶりに早く帰宅したので作業が進みました。
2/21から比べて MSPの進捗が15%アップ
(それでも予定からはかなり遅れてます…)

L-Card上のCのプログラムから個々のサーボの角度を制御できるようになりました。
あとはモーションスクリプトの読み込み処理と再生処理を組めばゴーレムくんを動かせるようになる…と思います。

正確な残り時間は 7日と33時間 (8日と9時間とも)

…ってあれっ?参加資格審査って 10:30 まで?


  ☆[コメント]


2005/03/09 X-9
(録画メモ) 3/13 13:30-14:00, 18:55-20:54 日テレ ワールドレコーズスペシャル

お茶の間に最新のロボットバトルを伝えてきたワールド☆レコーズも今度で最終回
撮り逃したりしないように crontab を確認

Yahoo! TVから
ワールドレコーズSP(秘)裏側SP
3月13日(日)13:30〜14:00 日本テレビ

ワールド・レコーズ芸能人ドリームマッチ
僕らも世界一になっていいですかスペシャル[最終回]

3月13日(日)18:55〜20:54 日本テレビ

  ☆[コメント]


2005/03/06 X-12
昨日のお買物 (アルインコ DM-330MV)

カーネルの書換えもできたことだし、そろそろ使えるかな…ってことで
アルインコの32A安定化電源 DM-330MVを買いました。
ロボツク!」での えまのんさんのコメントを参考に
石原企画」からヤフーオークションで落札。
今週中には届くのかな?

…と書いてますが、ついに風邪をひいたようで今日は作業できそうにありません。
金曜日に一日お休みして回復していたのだけど、ぶり返してしまいました。

「2週間進捗なしだよぉぉぉぉぉ!!間に合わないかも…」

  ☆[コメント]


2005/03/04 X-14
(メモ)L-Card+2M に L-Card+16Mのカーネルを入れる方法

ゴーレムくんの背中に付いているL-Card+2M

うまくいきました。
やっぱりRAM上の展開場所が違うだけみたいです。
ただし、同じことをやって起動できなくなっても私は責任をとりません。
  1. 電源ON
  2. 起動直後に何かキーを押してモニタモードへ
  3. LコマンドでRAM版モニタをロード (Offset: 0)
  4. GコマンドでRAM版モニタを実行 (Entry addr: a0e00000)
  5. Lコマンドで L-Card+16M用カーネルをロード (Offset: 0 or 80020000)
  6. Wコマンドで flash-ROMに書き込み (Src: 80020000, Dst: bfc20000)
  7. Cコマンドでカーネルパラメータを変更する
    • DIST_ADDR : $80014000 を $80020000 に変更
    • ENTRY_ADDR : $800145E0 を $800205E0 に変更
  8. 入れ換え完了

実際には 6. で flash-ROMに書くときに L-Card+16Mと同じくDist_ADDR: bfd00000 にしても動くような気がします。
(その場合はカーネルパラメータの SRC_ADDR: を $bfd00000 に変更)

前回うまく起動できなかったのは内蔵モニタのバージョンが違っているのが原因かもしれません。
L-Card+2M ではカーネルイメージ転送直後に Entry Addressにジャンプしても動かないようです。
また、flash-ROMへの書き込み直後に Xコマンドを実行しても起動できないので注意。
書き込み終了後は一度電源を切って、再度電源を入れ直す必要がありました。(リセットボタン押下でもダメ)

---
カーネルパラメータの DIST_ADDR は DEST_ADDR が正しいと思うのだけど、モニタの表示がそうなっちゃってるんです。
私の入力ミスではありません。



  ☆[コメント]


2005/03/02 X-16
L-Card+16M と L-Card+2M のカーネル

今、テスト環境で使っているのは、知合いから借りている L-Card+16M
ゴーレムくんの背中にくっついてるのは、いただきものの L-Card+2M

Flash-ROM のサイズ以外は同じなんだから、もしかしたら同じカーネルが動くかなぁ…と思ったのだけど…

やっぱりダメでした。 o(T-T)o

実行時にカーネルを配置するアドレス(起動時にflash-ROMからRAM上に転送される)がちょっとだけずれているので、
  「モニタからジャンプするアドレスさえ変えれば動くかも…」
と思ったのですが、そんなに簡単なものではなさそう…

この調査にいろいろ時間をかけるのももったいないので、L-Card+2M用のカーネル構築環境を作ることにします。



  ☆[コメント]


今日のお買物 (ローゼンメイデン、マテリアルナイト、彩雲国物語)

風邪薬を買うために丸井に寄ったはずなのに、なぜか本屋のフロアへ
買ったのは
  • ローゼン メイデン I (PEACH-PIT) 幻冬舎コミックス
  • マテリアルナイト V そして少女は慈しむ (雨木シュウスケ) 富士見ファンタジア文庫
  • 彩雲国物語 漆黒の月の宴 (雪乃 紗衣) 角川ビーンズ文庫

ローゼンメイデンはとりあえず1巻だけ買ってみた。
…って、面白いじゃん!
大会が終わったら4巻まで買おっと。今買うのは危険だから…('-';;



  ☆[コメント]


L-Cardカーネル入れ換え成功 (進捗:2/21から変化なし)

MSP, MSC テスト環境

ようやく通信遅延対策版カーネルへの入れ換えが完了しました。
(今はまだ flash-rom に書かずにオンメモリで動かしています)

このために一週間かけた甲斐があって、PICからの20msecのメッセージに追い付くようになった…ようです。
(もうちょっと様子見た方がいいかも)

明日からはゴーレムくんに搭載した L-Card+2M で実機テストです。


  ☆[コメント]


(メモ)L-Card+16M カーネル書換え方法

カーネルの再構築までは簡単に終わったのだけど、カーネルの書換えが成功するまでに、残り日数の 1/3 を費してしまいました。(汗

そもそも、インストールCDに入っているのカーネルを FlashROM に書き込む方法がわからない…
…っていうか、どこにも説明がないじゃないかっ!

色々と探し回った結果、成松さんのhttp://www.narimatsu.net/nari_page/days0203.html">うだうだ日記の 2002年3月19〜20日のところに、flash-romの書き込みについての回答をL-Cardメーリングリストでもらった旨が書いてあるのを発見。

この日付を元にしてL-Cardメーリングリスト(lcard-users)の過去ログを探したら [lcard-users:00160] にLaser5からの回答がありました。

ポイントは
a) モニタのLコマンドを実行し、offsetを0x80020000に設定します。
の部分。
L-Card+2M のカーネルイメージの offset は 0 だったので、L-Card+2Mのカーネル書き込み手順書通りにやっても失敗するのでした。

さらに
自分で(手順書に従って)再構築したカーネルを書き込む場合の offset は 0
なので、さらに混乱するのでした。

(再構築したカーネルの書き込み方法は成松さんが書かれた「L-Card+16MでCF無線LANカードを動かす」の通り)

しかも
L-Card+2M と L-Card+16M ではカーネルの配置アドレスが違うので、同じカーネルイメージを使えない予感…
    参考:FROMにLinuxを書き込む場合の参考資料(L-Card+2M用)

むりやり同じアドレスに転送したら動くかな…



  ☆[コメント]


2005/03/01 X-17
昨日のお買物(KRS-2350ICS-Red Version バルク版 × 4)

「気に入ったものは余分に買っておけ」とゴーストがささやくので、セール期間終了2分前に購入。
これで、Red Version は 2346 を合わせると12個になりました。
…といっても、トラブルを考えると「両足全部 Red Version に!」は無理そう。

調子が悪くなった2144 は近藤科学さんに修理依頼しなきゃね。

#王国から確認メールが来ないのは、終了直前に購入が集中したからだったりして…


  ☆[コメント]



  • このサイトは「人形つかい」が提供しております。
  • リンクはご自由に。(そんな人いないだろうけど…)ただし、トップページ以外のURLは変更になる可能性があります。
  • このサイト内のコンテンツ(ドキュメント、画像、プログラムなど)は特に明記しない限り、「人形つかい」が著作権を保持しています。転載する場合は御連絡ください。引用は常識の範囲でどうぞ。

開設日: 2002/12/10
管理者: 人形つかい/魔女みならい
連絡先: witch-marionette at mtlab.jp (" at " は "@" に置き換えてください。)