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

2012/11/26
18:45 茉莉花の挨拶動画をupしました

…と言ってもお辞儀するだけなんですけどww。
[YouTube] Magical-Marionette MARIKA greeting motion on 2012/11/26

第一回ROBO-ONEでRCサーボを使ったロボットを初めて観て、「これをドールに組み込めば…」と妄想してから早10年。
ゴーレムくんで制作技術を学んで、茉莉花の設計を始めてから2年半。
天保山での残念なデビューから9ヶ月。腕の制御が間に合わなかった船場ロボから1ヵ月半。

ようやく茉莉花の全身のサーボ(脚12軸+腕6軸)を同時制御できるようになりました。
まだ動きがちょっとぎこちないけど、現状でできるモーションを作りつつ、CPUの換装や、腕ヨー軸、首3軸の追加などを進めようと思います。

最優先課題は「ノートPCがなくても起動・操作ができるようにする」かな。
Nexus7に頑張ってもらわないと。


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


2012/11/24
00:33 関東ロボット練習会#77 参加

部屋係だったので13時前に会場に……と思ってはいたものの着いたのは5分前。最初にいらっしゃったロボゼロ勉強会への参加者の方と同着になりました(汗

「会場が狭い時ほど人が集まる」のジンクスは今回もハズレることなく、定員30人の部屋に25人近い参加者。
ロボゼロ練習会とろぽわん委員会とニソコン参加準備と、まったり自分のロボを整備する人とで大盛況でした。

腕を動かせるようになった茉莉花におもちゃのソードを持たせて遊んだりしつつ、腕のモーション作成。
途中、ろぽわん委員会に混ざっていたので、できたのはバイバイモーションくらい。


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


2012/11/22
23:56 Nexus7 32GB げっと

Welcome Nexus7 32GB

予約数より多く入荷したと聞いて、川崎ヨドバシへ買いに行ったらケース選んでいるうちにどんどん買われてたw。BTキーボードの購入は悩んだけど先送り。

早くセットアップしたいけど、明日の練習会の支度が優先。
電源入れて画面に何か出るところまで確認して終了。
土曜日も用事があるので、続きは日曜日のお楽しみ。


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


0:45 (進捗) 右腕用uart2ppm基板復旧

10日前の日記に「今から、肩に貼り付いているuart2ppm基板を剥がして修理」と書いておきながら、実際に作業したのは昨日……orz

はんだシュッ太郎」でZHコネクタ周りの配線を外して、はんだ付けやり直し。
Pythonのテストスクリプトで動作確認した後、茉莉花の右肩に取り付けてサーボケーブルを配線して、モーション制御システムでの右腕制御の動作確認完了。

これで今月頭の状態に復帰。
明日からはまたモーション制御システムのプログラミング作業です。

船場ロボから1ヶ月も過ぎているのに何も進んでいない。
12/16のドルパ28は今の関節構造のまま連れて行くしかないかな……
首のヨー軸くらいは追加してあげたいのだけど……

それよりも、ノートPCなしで動かせるようにするのが先ですね。


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


2012/11/11
18:06 (進捗) 三歩進んで二歩下がる…

と言っても、茉莉花の歩行の話ではなく……作業進捗

※11/6〜11/10の作業状況
---

送信データのMSBの扱いのバグを直したuart2ppmのファームをPICkit3で書き込んで、モーション制御システムから全サーボを動かしてもKRS-2552側が暴れなくなって「一件落着」と思ったら…
右手側のサーボが数秒間隔でピクピクしてる。ピクつく間隔はランダムで、右腕の姿勢に依存するようなしないような……。

ピクつくサーボをuart2ppm基板の別ポートに挿したり、左手側のuart2ppm基板につないだりして、uart2ppm基板側が悪いことが判明。
試しに右手側のuart2ppm基板だけをモーション制御システムから動かしてみると再現せず。
次に2枚の基板との通信順序を入れ替えてみたら、左手側サーボがピクつくようになったので、「動作順序」に問題がありそう。

もしかして、2枚目のuart2ppm基板との通信データが1枚目の基板の処理を邪魔しているのかも…と推測して、1枚目基板との通信終了後に8msec(サーボ3つ分のPPM信号生成時間)ずらしたところ、ピクつき解消。

おそらく、「受信データチェック処理がPPM生成の最小ループ(1μsec)を越える場合があってPPM出力が安定しない」が原因。

uart2ppm基板の処理は

  1. データ受信
  2. 受信結果のOK/NGを返信
  3. サーボへのPPM信号を順番に生成(2.5msec間隔で3サーボ分ループ)
  4. 次のデータ受信待ち

という流れになっていて、2.のPPM信号生成中も受信データを見ていて、MSBが1のデータがくると、自分のIDと比較するようになってる。

uart2ppm基板との通信プロトコルは先頭バイトと最終バイトのMSBを1にしているので、2枚目のuart2ppm基板との通信が始まると、1枚目のuart2ppm基板のPPM信号生成ループの途中にMSBが1になったデータを受信して、最小ループ(1μsec)を踏み越えて出力がぶれる……なんじゃないかな…多分。

ICS3.0に合わせるために、UARTライブラリの受信処理にパリティチェックを追加したことで処理時間が増えたのがそもそもの原因なんだろうな……と思うけど。

実は、現状ではPPM信号生成中は自分宛のデータが届いても無視しているので、ID比較処理の存在意義ないし、uart2ppmのプロトコルにはチェックサムを入れているから受信データのパリティチェックも不要だったりする。

でも、修正するの面倒なので8msecずらして不具合を解消する方向で……

……と思いつつ、サーボのコネクタを継ぎ直していたら……uart2ppm基板のZHコネクタが接触不良になった…… orz

ということで、今から、肩に貼り付いているuart2ppm基板を剥がして修理。
先日購入した「はんだシュッ太郎(リンク先 サンハヤト)」の出番でしょうか。

---
PICkit2はきまぐれに動いたり動かなかったりするので、やはりどこか壊れているみたい。


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


2012/11/06
21:41 PICkit3を買ってきましたよ……あれ?

午後から雨が止んだので秋葉原まで電車で往復して PICkit3 を買ってきました。
ついでに PIC12F1822 を2個補充。

昨晩と同じくブレッドボード上のPICにPICkit3を繋いで、MPLAB IDEからPICkit3 Programerを立ち上げて…
…… PICが認識されない……
……???

30秒ほど悩んだあと、横に置いてあったPICkit2のケースを見て気づく。
PICkitを挿す向きが逆……
正しい向きに取り付けたら無事にプログラムの読み書きができました。

…というところで……
PICkit3のかわりにPICkit2を正しい向きに取り付けて試してみたら……

ちゃんと読み書きできました……orz
壊れてないじゃん!!
「向きが逆かどうか」くらいすぐに気付いてよ……馬鹿なの?死ぬの?

---
※PICkitが2つになってしまったけど、もしもの場合に備えたと思っておきます。


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


2012/11/05
21:55 (進捗) 上半身を動かせるようになるまであとちょっと……のはず

船場のあと2週間あまり呆けてしまって作業が進んでいなかったけど、10/27あたりからゆるゆると復帰。

まず、足踏みモーションが「不思議な踊り」になった原因調査。
リポの電圧を測ってみると、開放電圧9.9V、スイッチON時 6V……orz
そりゃあ動けないでしょうよ……。電圧監視回路と省電力設計が必須ということですね。

次は、モーション制御システムへの、上半身サーボの制御処理追加。
テスト用のPythonスクリプトで動くようにはなっていたけど、船場の控え室で作りかけて途中であきらめていた作業の続き。

昨晩ようやく完成して、肩や肘のサーボが動くようになって喜んでいたのだけど……
なぜかサーボのトルクが弱かったり、信号線を共有している近藤サーボ(KRS-2552)がピクピクしたりと挙動が怪しい…。
(uart2ppm基板とμPX-1の通信は、ICS3.0の汎用コマンド書き込みの仕様にあわせています)

動作ログを調べてみると、KRS-2552との通信がタイムアウトの連続になっていて処理が廻っていない。
(タイムアウトの待ち時間を長くしすぎていて、サーボが1つでもタイムアウトすると、そのフェーズ(50msec間隔)では他のサーボやuart2ppmと通信できない)

調査の結果、uart2ppm基板の返信パケット生成時にMSBを0にし忘れているのが原因と判明。
KRS-2552はMSBが1でIDが自分になったデータのコマンドや後続データがおかしいと一定期間返事をしなくなるようで、今回はID:4のサーボがやられていました。

今日、修正したプログラムをブレッドボード上のPICに書き込んでテストしようとしたところで……
PicKit2から「RCサーボのアンプが焼けたとき」のような嫌な臭いが……。
慌ててPicKit2を回路から外したけど、PicKit2が昇天してしまった模様。ブレッドボードに余計な配線が付いていて、どこかをショートさせたみたい。

PICからデータは読めるけどPICに書き込めなくなりました。(泣
(PICを交換してもNGなのでおそらくPicKit2側がおかしい)

明日は雨の中を秋葉原まで買出しにいくことに決定。

--- 2012/11/06 21:45追記
実は壊れていませんでした。PICkit2を取り付ける向きを逆にしていただけ……orz


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


21:16 「霜月」 もうあと2ヶ月しかないよ…

なかなか思ったとおりには進みませんね……。
「見積もりが甘い」のと「進捗管理ができていない」のが主因ですけど。


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



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

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