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

2006/06/28 X-53
20:12 (作業メモ)ハッシュテーブルの実装方法

モーション制御プログラムに変数とラベルを実装するために連想配列っぽいものが欲しいです。
文字列をだーーっと検索させようかと思っていたけど、ハッシュテーブルのほうがいいんですよね…たぶん。

Google検索キーワード「C言語 ハッシュテーブル アルゴリズム

問題はほとんどのソースにライセンスが書かれていないこと…
アルゴリズムだけいただきます。

---
そこっ!「また脱線してる」とか言わないっ!
モーション再生処理にジャンプと条件判断を実装しないとモーション作成効率が悪くて先に進まないんですよ。

--- 2006.06.28 22:30 修正
検索キーワードを "C言語 ハッシュテーブル アルゴリズム" に修正。
(このほうが検索結果がいい感じ)


[☆コメント] [△先頭へ]


2006/06/27 X-54
1:07 週末の進捗 & 倒立振子シミュレータの問題点

作業…全然進んでません。(風邪なんかひくから…)

しかも今日(というか昨日)のお昼休みに色々考えていたら、今の倒立振子シミュレータに大きな欠陥があることに気付いてショック倍増。

歩行中に腰のところに重心があることを想定していたのだけど、良く考えてみると、脚を後に蹴りだした時に上半身と軸足は"く"の字になってるから重心位置は腰じゃ無くなっちゃうよねぇ…
うーん…どうすれば…
パーツ毎の重量と重心を測定しなきゃだめかしら…

なんて悩んだところで重心位置は数ミリしか違わないだろうし、剛性のないふにゃふにゃボディでは関係ないのかも。

誤差が出た分はジャイロで補正されるって、きっと。

(…じゃあ倒立振子シミュレータの意味ないじゃん)


[☆コメント] [△先頭へ]


2006/06/22 X-59
23:20 (メモ)16bit符号付き整数の宣言

「角度情報を16bitに詰め込みたいなー」と思ったのでちょっと調べてみた。

これが正しい方法かどうかは判らないけど

sys/types.h に
typedef short int int16_t;

というのがあったのでこれを使うと実現できそう。
テストしてみたら
sizeof(int16_t): 2
sizeof(int): 4
でした。

--- 2006.06.26 13:36 追記
Porchさんのコメント 経由
プログラミング言語 C の新機能 (stdint.h) から
intN_t 符号付き整数型の typedef 名
uintN_t 符号なし整数型の typedef 名

で、試してみました。(with gcc 2.95.3:古)
sizeof(int16_t) : 2
sizeof(uint16_t): 2

ちゃんと使えそうです。



[☆コメント] [△先頭へ]


0:50 進捗停滞中

なんでこんなに身体がヤワなんでしょね。
子供のころ運動しなかったバチでしょうか…

複数の方から
「『毎日こつこつ』って遅くまで起きてて、土日倒れてたら意味ないでしょ」
とおしかりを受けたので今日はさっさと寝ることにします。

近々でやらなきゃいけないことリスト
  • 肩ロール軸のS3003交換
  • 後退、左右移動の暫定モーション作成
  • モーション再生処理の機能追加
    (ラベル、ジャンプ、条件判断、変数概念の追加)
  • 左右方向の逆運動学計算処理作成
  • 左右方向の倒立振子シミュレータ作成
  • PIC側でのA/D入力&データ転送処理の実装



[☆コメント] [△先頭へ]


2006/06/21 X-60
21:56 (URLメモ) Windowsベースのロボット開発プラットフォーム

使うことはないと思うけど、とりあえずメモ。
(フレームワークや言語仕様は参考になるかもしれないし)

K. Moriyama's Diary (2006.06.20) 経由


Robot Watch から
Microsoft、ロボット開発プラットフォーム「Robotics Studio」CTP版を公開

(抄出)
ロボット研究開発、商用、ホビー向けロボット開発ソフト。Webブラウザベースのインターフェイスにより、センサーやサーボ制御を簡易化。3Dモデルによる物理演算シミュレートも可能で、AGEIAの物理演算プロセッサ「PhysX」に対応する。


むアンテナ」経由 ITmedia News から
「ロボットの互換性」目指し、MSが開発環境提供

(抄出)
Windowsベースのロボット開発プラットフォーム「Microsoft Robotics Studio」のCTPが公開された。業界の分裂問題を克服するための共通プラットフォームを提供するとMicrosoft。


普及する…のかなぁ…
私は二足歩行ロボットしかやってないので判断つかない。
言語仕様にまで所有権うんぬん言い出されるといやかも。(考えすぎ?)


[☆コメント] [△先頭へ]


2006/06/20 X-61
12:54 天使のすみか@秋葉原VOLKS

日曜日、練習会のあとVOLKSに行ったのは、久しぶりに「天使のすみか」でほわーっとしたかったから。(「BEST OF FSS」購入のほうがおまけ)

…んでも…なんか…感じが違った。

以前は入口で四体くらいのSDが微笑んでいたのに誰もいなくて、
ブースの真中にはヘッド素体がずらり。
ウィンドウにはすました男の子と、ちょっと小柄なMSD達。
ケースの上にいた幼SDはほんとに可愛らしくて「つ、連れて帰ろうかな…」と思ったけど、ちょっと違う感じ。

ワンオフモデルのウィンドウの前で癒された後、あまり長居しないで出てきました。

んー…
銀座や新宿のお店も雰囲気変わってるんだろうか…


[☆コメント] [△先頭へ]


2006/06/19 X-62
23:53 今日のお買物 (ネムキ増刊「観用少女特集号」、ねじまき博士と迷い猫)

「置いてあるかなー」と不安に思いながら会社帰りに国道沿の本屋へ。
4冊が平積みになっていたので無事に1冊を保護。
あと、樹川先生の新刊も

  • ネムキ7月号増刊「観用少女特集号」
  • ねじまき博士と迷い猫 (樹川 さとみ) コバルト文庫



[☆コメント] [△先頭へ]


23:46 昨日のお買物 (BEST OF FSS「ベストオブファイブスター物語」 )

mixiのコミュで発売を知って、練習会の後VOLKS@秋葉原で購入。

夜、「ちょっとだけ」のつもりで読みはじめたのに、気付いたら外が明るくなってました。(汗

まだ途中までしか読んでいないのだけど、「すっごくよくできた同人誌」って感じ。
キャラ毎に印象的なシーンを切り貼り(?)してあって、掲載巻とページまで書かれているのがなおさら同人誌っぽかったり。

MHよりもキャラのページの方が多そう。

参考



[☆コメント] [△先頭へ]


2006/06/18 X-63
23:50 関東組練習会#9

15:30には着くつもりで家を出たのに…
渋滞を避けたり、事故で高速乗れなくて迂回とかしてたら、秋葉到着 17:00 orz

18:00までだったので、ゴーレムくんを降ろすのはやめて、見学だけしてきました。

その後、VOLKSへ買い物(BEST OF F.S.S)に行ったあと、懇親会に合流。
…が、到着していきなり醤油差しを倒して買ったばかりのスカートにこぼす o...rz

今週末は何かついてない。(いや、これからなのか)



[☆コメント] [△先頭へ]


0:34 昨日のお買物 (ロボコンマガジン No.46 その他)

午後から美容院へ…と思っていたのに家を出たのは夕方。
もちろん美容院はパス。

そしてサンダルを買うつもりでいたのに、なぜか紙袋の中は夏物のスカート。

なんかちぐはぐだったけど、「ロボコンマガジン No.46」は無事にGET。
もちろん布教のため毎号書店で買ってます。
最近本棚にある冊数が増えているのは入荷数を増やしたからなのか、それとも…

---
「ロボファイト3」の集合写真で隅のほうに写ってました。(誌面初登場:笑)
ちゃんと記事中で紹介されるように頑張ろう。


[☆コメント] [△先頭へ]


2006/06/16 X-65
22:36 (作業メモ)脚運動シミュレータがバグってる

current の legsym.rb はどこかおかしいので要調査。

一歩目の脚運動計算後にインスタンス変数かクラス変数を書き換えていない、または書き換えてしまっていてその後の計算の初期値がおかしくなっている。

stable の legsym.rb と比べて検証すること。
判らない場合は stable から作り直し。


[☆コメント] [△先頭へ]


2006/06/15 X-66
14:05 ROBO-ONE Dash どうしようかな…

第4回ROBO-ONE Special開催概要

8月6日ってことは残り52日か…
んー…

---
火曜日に職場のサーバがトラブって夜遅くなって体調崩しちゃって2日作業できず。
トラブル起きないようにするためにSEさんを雇ってるはずなのに…
トラブルを起こすのはSEさんで収拾するのは派遣の私。
納得いかない。


[☆コメント] [△先頭へ]


2006/06/13 X-68
1:54 バッテリーの挙動

無負荷時 7.2V、軽負荷時(ロボを持ち上げた状態で直立姿勢)3V って…

そーいうのもありなのね。
前進以外のモーションに手を出すか、バッテリー状態の監視とモーション補正に手を出すか、どっちにしよう…


[☆コメント] [△先頭へ]


1:02 毎日こつこつ (前途多難…)

W杯を観ながら作業。
川口くんさすがだー頑張れー!!とついついサッカーに見入っていたり。
後半、いい感じだったので目を離してたら…

まぁ、それは横に置いといて \('-'\)(/'-')/

昨日の歩行成功に気を良くして、今日はバッテリーでの歩行に挑戦。
「おぉっ、ちゃんと歩くじゃん」(なぜに横浜弁)

…と思ったのもつかの間、あっという間にバッテリー電圧が下がってうまく歩けなくなりました。
腰部の加速に上半身がついて行かない感じ。

脚部が腰部分(そのあたりが重心)を加速すると、股関節ピッチ軸が上半身の慣性力に負けて上体を反らしてしまいます。
ちょっと電圧下がってトルク減っただけでこの状態になるのは困っちゃうな…

「脚部だけで重心を加速する」っていう考えがそもそも無理で、
  1. 先に上半身を移動方向へ倒す
  2. 重心が前にずれていくのに合わせて脚部を動かす
  3. 遊脚上げ
  4. 脚部が重心の移動に追い付く
  5. 遊脚接地
  6. 重心の速度を減速

っていう感じに制御すべきなのかも。

ちょっとしゃがんだ姿勢で6.6Vって、7.2Vバッテリーだと普通なのかな…
ある程度遊んだあとでバッテリー取り出したら、ひざのサーボより熱かったので、温度が上がったせいで出力が落ちていたのかも。

今の状態だと稼働時間3分くらい…かな。


[☆コメント] [△先頭へ]


2006/06/12 X-69
1:50 毎日こつこつ (連続歩行成功)

10日の日記「毎日こつこつ…」
なぜかモーションが途中でつっかかるようになっていて、これも原因不明
と書いていたけど原因が判明しました。(多分)

PIC側からの同期メッセージに合わせてモーションデータを送信しなきゃなのに、送信直前にA/D入力を処理していました。
ここでカーネルに制御が戻ってしまってデータ送信の同期がずれていたようです。
(カーネルから戻るタイミングが不定なので再現性がなかった…のだと思う)

A/D入力の処理を別の場所に追いやったらつっかかりが無くなりました。
で、ちゃんと歩けるようになったので動画を撮影。

ゴーレムくん久しぶりの連続歩行 (MPEG1,500Kbps,20秒,1.85Mbyte)

10秒で10歩…かな??
実は、モーション再生の都合で0.5秒くらい休んでます。


[☆コメント] [△先頭へ]


2006/06/10 X-71
13:11 KHR-1 セカンドアニバーサリー & 東西ロボット大戦




今日と明日、浅草のロックス3でやってるらしいです。

KHR-1はどうでもいい(ぉぃ!)けど、東西ロボット大戦は観たかったかな…

アマテラスちゃんヴァルキュリアちゃんも来るし…
(どちらかというと西軍応援)

でも、明日は友達と宝塚歌劇(宙組 和央ようか、花總まり サヨナラ公演)を観に行くのでした。

みんな頑張れっ!


[☆コメント] [△先頭へ]


1:12 ま、またネジが緩んでただけ…

歩けなくなったと書きましたが…
サーボを一つ一つ調べてみたら左足首ロール軸のネジが緩んでました。
締め直したらちゃんと動きました。
良かった…

お昼にはちゃんと歩けるようにして撮影したいな。
肩のサーボも交換してあげよう。



[☆コメント] [△先頭へ]


0:56 毎日こつこつ…

風邪ひいて倒れてたので一日飛びました。

で、一昨日成功した連続歩行を撮影しようと思ったのですが…
撮影出来る程には安定していませんでした… orz
もしかしたら疲れて夢を見ていたのかも…

あと、なぜかモーションが途中でつっかかるようになっていて、これも原因不明。
(両足首ピッチ軸のサーボがおかしい気もしますが)

さらに、両肩ロール軸のサーボ(Futaba S3003)がついに壊れました。
歩けるようになったらサーボの故障が増えるだろうとは思っていたけど、ちょっと悲しい。
ゴーレムくん壱号の時からなので3年以上頑張ってくれたサーボでした。


[☆コメント] [△先頭へ]


2006/06/08 X-73
13:22 毎日こつこつ (ジャイロフィードバック処理改良)

ジャイロフィードバックでの発振が気になるので、先人に習ってローパスフィルタを実装。
ジャイロの値をそのまま使わずに、最近の4回分(80msec分)を平均した値を使うように修正しました。
(20msecに1回A/D入力を読んでいます)

これで発振しにくくなったので、フィードバックを足首(ゲイン1)、股関節(ゲイン1)、腰(ゲイン2)から足首(ゲイン2)、股関節(ゲイン2)に変更。

真夜中に試したときは通常姿勢での連続歩行ができるようになりました。
(今夜再現できるかどうか自信がない…)

---
Cでの配列宣言とアクセスを array[x,y] と書いていてうまく動かなくて1時間くらい悩んだのは秘密
(正しくは array[x][y])


[☆コメント] [△先頭へ]


2006/06/07 X-74
2:42 最近のゴーレムくん

何とか歩けるようになったので久しぶりに動画撮影。
相変わらず一歩ずつ休んでいるけど、ロボファイト3のときよりはマシかな…

軽くひざを曲げた歩行 (MPEG1,800Kbps,30秒,3.7Mbyte)
しゃがみ歩行 (MPEG1,800Kbps,28秒,3.5Mbyte)

前後方向は倒立振子シミュレーションを元に、左右方向は試行錯誤で見つけたモーションです。
どこかバランスが悪いようで右足上げが変。

実際にはそれぞれ3回撮影しています。(3回に2回は転ぶ…)
こんなんで足裏対角110mmにして歩けるのかな…

---
参考: 「ロボファイト3」のときのしゃがみ歩行 (MPEG1,500Kbps,7秒,800Kbyte,撮影:イカロスさん)

[☆コメント] [△先頭へ]


2006/06/06 X-75
2:00 あれ?直った…

むー…どこが悪いんだろう
接触不良かなぁ…

腰ピッチのアルミホーンはセレーションが削れてガタが増えてるみたい。
やっぱりここは樹脂にして使い捨てにすべきなのかな…
(それはそれでもったいない)


[☆コメント] [△先頭へ]


1:39 うっ…また??

うまく歩けない原因は右足首ロール軸の原点ズレと判明。
(ロボファイト3の時、すでにずれてたかも…)

「直ったかな???」…と思ってたら…

調子にのって動かしているうちに、また腰ピッチ軸サーボ(今は2350)がどうかなった模様。
ピッチ軸サーボを動かそうとした瞬間にPICが落ちちゃう…

あらら…

サーボ単体でテストできる環境も作らなきゃ…

---
良く見たら背中のCPUボードホルダーもぐんにゃり曲がってました。
重い子は大変です。

あ、でも別にキット買おうなんて思わないですよ。
ロボットを動かして遊ぶよりもやりたいことがあるんです。
(…と強がり言ってみる)


[☆コメント] [△先頭へ]


2006/06/05 X-76
20:51 X-Dayリセット

久しぶりに X-Dayリセット
目標は8/20 第3回RoboCountryIV
ちょっと長すぎるかな…

この日までに
  • メインCPUを Armadillo-210に
  • バッテリーをリチウムポリマーに
  • 腕をPRS-321ベースに
  • 脚をSC-EZAベースに
と換装してゴーレムくんを第三世代にしたいんだけど…

「毎日こつこつ」か「毎週末ごつごつ」のどちらかが成り立たないと難しそう。


[☆コメント] [△先頭へ]


2006/06/02
22:50 (URLメモ) Linux のシリアルデバイスドライバのこと

そろそろ本格的に作業しないと…と思っている横から悪魔がささやく。

悪:「うさぎ跳び」するのにICSのポジションキャプチャつかうんじゃない?
私:ん、それはまだわかんないし…
悪:でもどうせPIC側のプログラム作りなおすでしょ?
私:そ、そりゃあメインCPUをArmadilloに変えるからPIC側にA/D変換処理と結果をメインに転送する処理追加するけど…
悪:じゃあついでにポジションキャプチャ機能も実装しちゃいなよ
私:そんなの載せたらメインCPUに送るデータ量増えちゃうじゃん。受信処理追い付かなくなっちゃう。
悪:じゃあメインCPU側の受信処理をユーザプロセスじゃなくてデバイスドライバに書けばいいんじゃない??
私:ちょ、ちょっと待って。デバイスドライバ作る知識なんてないってば!あなたまた私を棄権させたいんでしょっ!!

と言いつつ Google でちょこちょこ検索してみたら…
linux-users MLでのシリアルデバイスドライバ (serial.c) の改造についての議論が引っかかりました。


[linux-users:96629] シリアル通信中のRTS端子の制御


[linux-users:96720] Re: シリアル通信中のRTS端子の制御


…あれ?どこかで見たような名前が…

この議論とは全然違うのだけど、受信データをユーザプロセスで処理させるのではなくて、デバイスドライバ側で処理して返事も返しちゃえたらいいなぁ…と
(受信データの一次加工をデバイスドライバにさせて、ユーザプロセスは最新の一次加工データだけを読むように)

…あれ?どこかで見たような名前が…

---
今回はデバイスドライバ作ってるような余裕ありません。
(それ以前に作り方を覚える余裕がない)


[☆コメント] [△先頭へ]


2006/06/01
18:38 「水無月」 もう半分ちかく過ぎたねぇ…

で、月の初めから風邪で仕事休んじゃったりしてるわけですが…

今月はもうちょっと体調良くなるといいなぁ。


[☆コメント] [△先頭へ]



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

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