■10月4日■
ページも随分と長くなってしまった上に10月に突入してしまったので新規ページとしました。 作業は随分と中途半端なんですが。。
このウィークデーは飲み会が続いたり、残業があったりして、月曜日にSEMBを取り付けて以来ロボット作業は一切できませんでした。 先週の日曜日のSEMBとの戦いは思いの他、肉体的ダメージが大きかったようで、月曜日はくたくたで、日を追うごとに段々元気になって行きました。 飲み会も重なったのでアセトアルデヒドの攻撃なんかもあったりして回復に時間がかかったみたい。金曜日にやっとくたくた感がなくなりました。(^_^;)
今日もマンションの理事会が有ったりしてなかなかまとまった時間が取れなかったのだけど、午後からは久しぶりにロボット作業ができました。
そしてそして、とうとうシグマがSEMBでIK計算で立ち上がれるようになりました。 まだモーション再生とか歩行動作はできないのですが。
歩けないとはいえ、無線コントローラで胴体の高さや足の広がり、そして胴体を前後左右にずらすといった動作を指示できます。
IKで動かすのは足の広がり姿勢や胴体の高さを変えながら歩けるようにするためで、路面に対して柔軟な対応が取れるようにしたいためです。その処理程度ならSEMBはもったいないんですけどね。シグマの足は3自由度しかないのでIKも簡単です。
コントローラで胴体を前の方にずらしたところ。画面上の方が前なんです。
この姿勢がシグマっぽくっていいんだけど、お腹は床にすりそうです。
カバーつけなきゃなー。
■10月5日■
シグマがやっと逆キネで歩き出しました。
直進ならば360度、どの方向へも進めます。ただしコントローラでの指示で動かすので事実上8方向へしか動かせません。 ターンはできるけどカーブ歩行はまだできません。 直進とターンがあれば一応は操縦できるので、まぁいいでしょう。
高さや基本姿勢は変更して、その姿勢で歩く事もできるのだけど、いまんとこ平地でしか歩けません。 歩行モーションをリアルに計算しているだけで、ただのモーション歩行です。
動画 ビデオカメラを片手に、もう片手で操縦。 むずい(>_<)
今日出来た部分のほとんどはRPU-10でも出来ます。シグマで本当にやりたいのはもうちょっと難しいこと。 どうやって実装しようか検討中だけど、もう少し受動関節を研究してからになるかな。
無線コントローラであるRRC-R11は、コネクタでぶら下がっているだけなのだけど、振動で誤動作します。 受信データはノイズ対策(2度読みなど)をしていないので誤動作で暴れだしたりします。 すると、サーボがガシャガシャ動いてしまい、最終的にSEMBがリブートしてしまいます。 レギュレータが危うい動きをしているみたいなので、恐らくはサーボの動作で電源電圧が変動し、レギュレータが出力低下してしまうのでしょう。 リブートがかかるとサーボも黙るのでまた動き出します。 OSレスだとこういうときは即座に立ち上がるのでいいですね。 いま、容量が大きな低ドロップタイプのレギュレータを注文しているので、それに乗せかえればこの動作不全はなくなるはずなんだけどな。
さて、部品がくるまでは一旦切れて、ラムダの戻りましょう。
■10月7日■
昨日も今日も飲み会。 日ごろ晩酌などはしないので飲み会がないと基本的に酒は飲まない。 なので、休肝日ってのは要らないはずなんだけど、ここんとこ飲み会続きで休肝日が要るかもなー。
帰るとシグマの電源に使うレギュレータが届いてました。 明日にでも付け替えてバッテリー駆動できるようにしましょう。
昨日、渋谷に行ったのでシグマのカバーになる部品を物色してみました。 湾曲具合をいい感じで出すためにも直径が大きめの球体カバーと思って買ってきたのだが、
ちょうどいい大きさ。。。
イメージ違うなー。 クモ?ヒトデ?って感じでイメージしてたけど、これじゃタコだな。 これ以上直径の大きなカバーとなると値段が跳ね上がるのでこれで我慢しましょう。 シグマが暴れたときにSEMBに致命的被害が及ばなければよいのだ。 ・・・ますますメカモに近づいた感じ。(^_^;)
いつもは携帯のデジカメで撮影しているんだけど、今日届いたUSBカメラで撮影してみました。 きれいに撮れる。 でも、動かすとモーションブラーが激しすぎ。これは動くロボットだときついかもな。やっぱCMOSじゃだめでCCDじゃないといかんのかも。 CCDのUSBカメラって高いんだよねー。 「CCD USBカメラ」で検索しても出てくるのはみんなCMOSだし。。
■10月8日■
やっとシグマがバッテリーで動くようになったー。 容量のでかいレギュレータに付け替えて、でも、図体もでかいのでSEMBへの供給電圧を5Vにしてペリフェラルボードの電源と共通にしてみました。 すると、ドロップする電圧が大き過ぎたらしくってアースラインがめちゃくちゃ熱くなります。もちろんレギュレータ本体も触れないくらい。
あれこれチェックしてたらSEMBの電源がぷつん。。。 ちょーびびったけど、レギュレータ回路の配線が外れただけでした。 キモを冷やしたぜ。
結局、SEMBへの供給電圧は9Vにして、9Vからペリフェラルボードの電源5Vを作るようにしました。 発熱は随分マシになったけど、結構熱くなるなー。放熱板つけようかな。
ヒモなしで動かすと気持ちも軽やかですね。 足上げ高さが足りなくて、ちょっとした障害物にも引っかかる。 ダメじゃん、シグマ。。 足上げ高さも変更できるようにしましょう。
そのほか、RRCの取り付けと、タコカバーの取り付けもやっちゃいたかったのだが、色々あってタイムアップ。 ホントは今日はラムダの受動関節をやりたかったんだけどな。 ちょっと有効そうなアイディアが浮かんだものでして。。
明日は送別会なのでロボットごとは多分できない。金曜日の夜は作業できるかなー。 土日はロボワンだしね。
■10月11日■
ROBO-ONE予選に行ってきました。 今回はチームゴーレムくんとして参加させてもらいました。 ゴーレムくんはスロープは惜しくも登れなかったけれど、ロボワンショップ賞ということで賞をもらってました。(^。^)
ラジコンで動くようになったシグマを持っていって、休憩時間にイガアさんと会場へ乱入。 って言っても会場の端っこでちょこちょこ動かす程度だけど。 クモっぽいのは結構目に付くので少しは注目されたみたいです。
その後、控え室でネジの緩みを修理した後から、なぜかシグマが言うことを聞かなくなりました。丸ファミリーの密着取材中で、待機中のNHKの撮影スタッフと雑談してたのですが、やっぱりクモ型に興味を持ってくれたのにまともに動かすことができなかった。 その場では送信機の電池がなくなったとか、無線の混信らしいとか言ってたけど、帰って確認したらそうではないらしい。
まず、信号の受信は正常に行えていたらしい。コンビニの高い電池を買ったのは無駄でした。(^_^;) サーボONとかサーボOFFなんかの一発コマンドがなかなか受け付けてもらえない。対して、歩いたり、姿勢を変えたりする、コマンドを連続で送信しているケースでは問題なく動作する。 感じとしてはRS485の送受信切り替えのタイミングがおかしいのではないかという気がする。 それにしても散々問題なく動いていたのが急に動かなくなるには何か変化があったはずなのだが、何なんだろうか?
ROBO-JAPANでロボット関係各社の展示があった。 関東ロボット連合で、ARMの超小型CPUボードが展示していたが、OS付きで10万円くらいらしい。値段が高すぎるなー。 フタバでは、ファームでお世話になった方に挨拶することができました。 サーボの新製品が出るらしく、小型軽量大トルクで期待できそう。(RS601CR比) 電流制御なども601のままらしい。
JINさんも、なぐさんのスタッフとして参加しておられたのだが、また色々と話を聞くことができました。 JSロボティクスからの新製品、期待してます。
ラムダももっともっとがんばらねばなー。みんなの開発のスピード(主にメカ、ハードの。)には驚愕します。ラムダのようなソフト開発をしているとあのようなペースでは開発できないですね。 (これは一重に自分の能力のせいなのだが)
懇親会二次会には行かずに早く帰ってきたのだけど、居眠りしてしまったので何もできず。酔っ払っていては何も出来ないから寝るしかないかー(~o~)。
明日はROBO-ONE決勝。 やはり観に行きます。 その後の打ち上げにも参加するつもり。 ただし野良バトルは出ない方向で。 シグマじゃねぇ〜(^^ゞ
■10月12日■
ROBO-ONE決勝に行って来ました。 今回は色々面白かった〜。 バトル自体はやはり軽量級がおもしろいですね。スピード感があるし、実力は拮抗しているし。 重量級はまだ動作が安定していないな、と思っていたらオムニやらアルクノンやら馬鹿でかいのが出てきてごちゃまぜにするし。
結果は前田さんのOMNIが優勝だったけど、今年のオムニはいままでの美しさが失われてしまっていたのはちょっと残念。 それよりアルクノンの動きがのっそりしている中にも安定度が高くて驚きました。
ヴィストンが投入したこの2台の超大型機がROBO-ONEに投げかけた波紋は相当大きいようで、怒っている人も多そう。 ヒューマノイドロボットが人と同じサイズになるのは極自然なことで、それに取り組んでいるヴィストンはすばらしいのだけれど、そのリアルサイズヒューマノイドをホビーロボットのフィールドであるROBO-ONEに投入したのはいかがなものかということか。 無差別級を作っても2〜3台しか出てこないクラスに100万円出すこともできそうにないし、委員会は困るかもね。
今回、途中ルール変更や、大型機は予選演技の条件から除外されたスロープですが、実はお手伝いプロジェクトの時になぐさんに「しまけんさんならどうやりますか?」と問いかけられて以来、それまで構想していた二関節筋の構造とあいまって、脳みその中は、まじめに制御でスロープ攻略を行うことでいっぱいになっています。受動関節の検討も、不整地の歩行と、スロープに倣うための基礎技術として考えています。 西村委員長は足の裏にセンサーをしこまなければならないと言ってますが、関節から得られる情報でも相当なことができると思っていますので実証してみたいと思います。 うまくいったらスロープをクリアするためだけにROBO-ONEに出てみようかな。
ROBO-ONE後は祝勝会に参加。 みんなの、ロボットで遊ぶ姿はほんとにすさまじいですねー、もしラムダが居ても、ラムダはデリケートなのできっとビビッて入っていけませんです。(^_^;) ものすごく面白かったですよ。 明日も休みなので残ってた人はオールでカラオケの線でしょうか。 明日はロボット開発に没頭したいので1次会だけで早々に退散。 酔いも浅いので今夜から開発に着手できるかも。
ROBO-ONEが終わった頃に来た石川さんに、「草加のわんだほーぷちは「二足以上」なら参加可能なので6本足で出ませんか」と、お誘いが。 二足を超える足を持つロボットってこの辺りじゃシグマ以外は見覚えない。 せっかくのお誘いと、たまにはイベント出なきゃな。と思っていた矢先なのでお邪魔じゃなければ出てみますかー。 ところで「プチ」ってなにやるの? 前足でわさわさって攻撃できるようにしておけばいいですか? (^。^)
■10月13日■
昨日の余韻を使ってロボット開発にいそしむ。 今日のテーマは受動関節。 こないだまで少しテストしてみたのだが、うまく行っていなかった。 一連のシグマの組み立てが終わったので再開。
路面に倣うには関節が相当軽いタッチで動かねばならないのだが、サーボをONにしていたら、トルクがゼロでも結構な抵抗がある。これじゃ、着地したときに関節が応答せずに転んでしまう。 せめて、サーボをOFFにした状態くらいには軽くなければならない。
数週間の考察と丸1日の実験で、プリテンションをかけることと、パンチを最小にすることでサーボOFFにしている時よりも軽い力で外力に応じることができるようになった。 ちょっとオーバーシュート気味なのが気になるが、とりあえずはこれで先に進めよう。
悪路に倣うデモを作りたかったのだが、そのためには着地判定とか受動関節と能動関節の切り替えとかも完成せねばならないので、別のデモを考えた。
受動関節のほかにも関節制御で考えているアイテムにソフトリンクがある。
ラムダはリンク構造ではないが、関節角度の取得と逆キネ計算を使ってリンク構造のような振る舞いを作ることができる。 リンク構造の利点は大きく2つあって、足全体の自由度を制限することと、関節のインピーダンスを高くすることなのだが、ソフトリンクは前者の利点をソフト的に再現するものだ。
これをどこで使うかというと悪路歩行に使うわけだが、他のアイテム(能動関節の切り替えとか着地判定とか)が揃って初めて役に立つことになるので単独だとちょっと意味が判りづらい。
動画デモの説明。 抱えられたラムダの足のサーボは全てONになっているのだけれど、両膝のサーボはトルクがゼロです。 受動関節状態となっていて、角度を監視して、動きの方向に合わせてテンションがかかるように制御(ってほどじゃないけど)しています。
足全体は常に胴体と足裏が垂直関係になるような角度になっていて、膝が動くと他の関節もそれに倣って動きます。 動画で、胴体の傾きに応じて足が伸び縮みしますが、加速度センサーやジャイロセンサーで姿勢を見ているわけじゃなくて膝が受動関節となっているので膝下が重力に従って下に向こうとするわけです。他の関節はそれに合わせて動いているということです。
ちなみに晴れて悪路歩行が完成した暁に受動関節を適用するのは膝ではなく、足首関節です。
さて、次は着地判定。
■10月14日■
着地判定はすぐできるかなーと、軽く考えていたのだが大間違いでした。
膝の角度を監視して、指示角度との差分の極性でわかるかなと思っていたのだが、無理でした。 歩行中の指示角度と実際角度には遅れがあるし、更には路面のわずかな段差で着地タイミングの差を感知するとなったら、監視周期はどれほど短くなければならないか。 ちょっと考えればわかることなんですけどねー。(^^ゞ
足踏みできる環境が25ms周期の環境しかなかったのでダメでしたけど、5msくらいだったら結果はちょっと違うかもしれません。
5msでのトライは置いといて、次は機械的(電子的?)な手段で検出できないかを検討してみます。
コントローラをSEMBにして、足裏スイッチで、 というのはまた別の話ということで。。
■10月16日■
色々と考えてみたが、着地判定というのは難しい。
考え方を変えて、膝をサスペンションにして、段差を吸収する作戦に切り替えてみることにした。
受動関節のデモのように膝の関節角度を使ってソフトリンクを構成し、膝は受動関節ではなく、サスペンション関節にする。 もちろん自重で沈み込むのだが、ソフトリンクになっているので後に反り返ってこけることはない。
実際に歩行を行う場合は支持脚はサスペンション膝にはしないで全体重を支える。 遊脚だけをサスペンション膝にするので、もし段差がなければ沈み込みが起こってこけてしまう。 こける前にサスペンション膝を通常膝に切り替えなければならない。 うまくいくかなー。
先日のソフトリンク+受動関節の時のプログラムを修正してサスペンション膝にしてみる。 膝がギュッコギュッコしてなかなかいい感じ。 トルク30%だと自重に負けて座り込んでしまう。40%以上ならなんとか座り込まないが、無理にしゃがみ込ますと復帰できるほどのトルクにはならない。 微秒だなー。 コンプライアンススロープとトルクをうまく調整すればいい感じのポイントが見つかるかもしれない。。。 という感じでした。
週末は関東組練習会。 今回はラムダを連れて参加するつもりなのだが、一連のスロープ対応実験をやっていて準備を全然やってない。 練習会で引き続きスロープ対応実験の続きをするしかないかな。
■10月17日■
昨夜(17日)は力尽きて寝てしまったので昨夜の分の日誌。
明日は関東組練習会。 ラムダを持っていくつもりなんだけど、倒立二重振子で歩いて以来、あまり手を加えていない。意味不明な補正値を加えなくても歩けるモーションが生成できるようになったり、いままでは遷移時間0.3秒歩幅30oというよちよち歩行しか出来なかったのが、遷移時間0.5秒歩幅50oでも歩けるようになった、というのが成果。
正直、安定して歩行できるとは言いがたく、自律で歩かせるにはまだまだ不安定な状態。
色々なパラメータで歩かせてみると、左右の振幅動作が徐々に同期外れを起こして最後は横に吹っ飛ぶというパターンが見える。 ラムダはグリップ足だし、床面は常にカーペットで歩かせているのでスリップで力が逃げるということが無いのだ。
倒立だろうが二重だろうが振子なんだから固有の振動数というのが存在していて、それとの差分かな、と考えてちょっと調べてみた。
まず、振子の等時性というのがあるが、正確には成り立たないらしい。サイクロイド振子にすれば成り立つのだが、通常の振子では振幅が大きくなると周期は長くなる。この時の周期の算出については楕円積分という難しい数学を使う必要があるらしい。
振幅が小さい時はおもりの重さに依存しないという「等時性」が成り立つのだが、それは
T=2π√(L/g)
で表される。
二重振子については「カオスが観測できる」そうなので規則性がないということか。 腕の長さとおもりの質量が同じ振子が連結された、という条件なら周期の算出式が見つかった。 振動モードによって2つの周期が存在するらしい。T1は1段目と2段目が同方向で同期、T2は逆方向で同期した場合だ。
(ω1) = √{(g/L)(2-√2)}
(ω2) = √{(g/L)(2+√2)}
(T1) = 2π/(ω1)
(T2) = 2π/(ω2)
これらによるといずれもLが大きくなるとTは大きくなる。 ふむ、それはそうだろう。
でも、これを同期外れの原因として考えると、傾向は少し異なる。
比較した2つの歩行基本姿勢。 いずれも頭が光ってしまってるが気にしないで欲しい。
右は手先をだらりと下に垂らしている。 重心の計算では右の方が重心がわずかに下になるため、単振子の計算では振子の腕の長さは短くなる。 ところが、相等単振子では慣性モーメントと質量で計算するので、支点から離れたところに質量がある方が大きな値となって、振子の腕の長さも長くなる。(ここでいう支点は右足股関節です) 左の場合は相等単振子で計算すると460o程度なのに対して右の場合だと700o。 そして、遷移時間0.5秒歩幅50oでの場合だが、右の方は歩けるのに対して、左は安定せず、ほとんど歩けない。
一般的にグリップ足の場合は「重心が高い方が歩行が安定する」イメージがあるが、正しくは「慣性モーメントが大きいと歩行が安定する」というべきか。 つまり、手を横に広げても安定するってことですね。
つまり、固有値とのズレによって同期ズレが発生しているとは言い切れない。安定する姿勢を見つけるには単純に上半身の慣性モーメントを大きくすればいいだけかもしれないな。
そろそろ荷造りしなきゃ。
■10月18日■
今日は関東組ロボット練習会 in 早稲田大学。
リングのテストやらを兼ねて、早稲田大学での開催になったそうだが、その点では何の協力もできませんでした。スイマセン(^^ゞ
ラムダを持っていって、こつこつとソフトリンクのテストやら、歩行パラメータの調整やらをやってました。
撤収間際、一応持っていったシグマを出したら、相変らず受けがいい。 ホント、多足は見栄えがいいみたいだね。 特にアニメイダーさんの食いつきがすごかった(^。^) ロボットアニメ的ロボットとは程遠いですよ?
計算で動いてるすげーって話だが、シグマよりもラムダの計算の方が何倍も複雑で難しい数式を処理してるんだけどねー。 ま、ラムダはすげーって動きをしないもんね。(^。^)
明日は石川さん、イガアさん他数名がNHK-BS 熱中夜話の収録にいくそうだ。 サアガ対グレートキングカイザーのバトルがあるとか。 見たい!生で見たいなー。 イガアさんのマネージャーってことでスタジオに入れてもらえないですかー。
■10月21日■
日曜日はイガアさんのマネージャーとしてNHKの収録に行ってきました。 そして、昨日は飲み会。
今日は少しだけ残業して帰ってきたのだけれど、なんだかんだでPCに迎えたのは日が変わる直前。 これからちょっとでもロボりたいところ。
シグマで草加のわんだほーに出るつもりなのでシグマに仕込みをしなきゃならない。 なにせシグマは歩けるだけ。せっかくの異形のロボットなのにもうちょっと、こう、なにか欲しいところ。 モーション再生機能もないのでどれくらい仕込めるかわからないけど、ちょっと考えてみよう。
なのだけれど、ラムダのスロープ対策も実験したくて仕方が無い。サス膝で足踏みをしてみたいのだけど、ソフトリンクとか受動関節の実験に使っているプログラムにはサーボを操作するクラスJointしか組み込んでいない。 ラムダを歩かせるために作った専用クラスを幾つか組み込む必要がある。 クラスにしてるから簡単なはずなんだけど、手続きがどれだけいるのか調べなきゃわからない。(^_^;)
さて、もう日も変わってしまうところだけどちょっとだけ手をつけておこう。
■10月22日■
草加に向けて、シグマのプログラム修正。 シグマはとりあえず歩けるようにしただけなのでもうちょっと歩行を作りこみ。 歩幅を変えたり、1歩ずつ止まれるようにしたり。 でも、まだモーション再生とか足を運んでの姿勢変更とかはできない。 順司組み込んでいくつもり。
ラムダはサス膝での歩行に向けて検討・実験。
サス膝にすると沈み込みが起こるので沈み込んだ分だけを持ち上げた角度を指示してやればいいはず。 その角度を自動調整したくてプログラムしてみたが、ものすごい勢いで屈伸を繰り返してしまう。(^_^;) それも左右の足が非同期で屈伸するものだからもう大変なことに。
サーボの反応がCPUの処理周期より遅いためにそうなってしまうのだ。 簡単なプログラムじゃだめなんだなー。 もうちょっと作り込みが必要です。
■10月25日■
サス膝制御の続き。
サス膝で歩かせるための検討を進める。
サス膝にした時の自重による沈み込み量を自動調整させようとしたが、サーボの反応には遅れがあるので遅れを考慮してみる。 あまり詰めた実験をしては居ないが、75msほど待てばとんでもない発振はしないで済みそう。 ただし、外乱を与えると補正量が振動するのでブランコみたいにゆれちゃいます。揺れが増幅すると最後には非同期に歩行し始めます。もちろんまともには歩けないけど、なんか不思議な感じ。(^_^;)
フィードバックで補正量を調整できるのは止まっているからで、歩きながらは同じ方法ではできない。
下の画像はサス膝での姿勢制御の様子。静的なものだから制御ってのは言い過ぎですが。
@通常膝 | Aサス膝にしただけ | Bサス膝+ソフトリンク | Cサス膝+角度補正 |
通常の硬い膝だと@のような感じ。これをベースとして、 膝にクッションを入れると、Aのように上半身がダレて後傾になります。
そこでソフトリンクを入れて、だれた膝にあわせて他の関節を調整すると、上半身の姿勢は回復するのだが、ちょっと身長が低めになってしまいます。それがB。
サス膝にしたためにダレてしまう分を補正した角度にしたのがC。 Cの状態にソフトリンクを入れた場合がもっとも指示姿勢に近いかもしれません。
ソフトリンクだけ入れればサス膝で歩行というのはできそうな気もするんだけど、足を持ち上げる際に自重での沈み込み分が無駄になります。十分な足上げができずに歩けないのではないかと思います。 歩行動作時の角度補正を組み込んだ上でソフトリンクを働かせる必要があるだろうなーと思います。
では、現状の歩行ルーチンを出来るだけ変更せずに角度補正+ソフトリンクが入れられるようにクラスライブラリの改造を行いましょう。 どうやりゃいいんだろうなー。(>_<)
■10月26日■
今日はわんだほープチの参加申し込み日。 確か、10時からだっけなーと思いながら9時前にPCの電源を入れて確認したら9時からでした。本家より激しい申し込み合戦じゃないのはやっぱり認定大会じゃないからではないでしょうか。
シグマで申し込み。 B作さんも川ロボで出るみたいだから対戦相手はB作さんで決まりなのでしょうかね?
シグマのバッテリーはラムダ用に買ったサンダーパワーを共用で使ってます。 でも、2個しか持ってない。 足りなかったら困るかも、と思ったのだけど、サンダーパワー高いんでもっと安いenRouteのリポを2つ買いました。一つ3000円くらいでした。サンダーパワーの半額以下です。 でも、一回り大きくて重い。
早速、ラムダとシグマに搭載してみたら、ラムダでは問題ないのだけど、シグマにはギリギリ入らない! フレームちょっと削らなきゃ。。(>_<)
付いていたコネクタがタミヤ型だったので、T型に付け替え。 以前にコネクタ内のバリが原因で接続不良があったので、事前に導通チェックをしっかりとやりました。 ところが、はんだ付けを完了すると、接続不良発生! これはどういうことだーー??? ・・・・どうやら、はんだ付け時にコネクタのハウジング部分が熱で変形してしまうらしい。すばやくはんだ付けするために50Wのコテを使っているのがあだになったのか。
放熱のため、充電用のケーブルを接続した状態で、できるだけ手早くはんだ付けすることでうまく行ったようです。 色々難しいなー。
さて、ラムダのサス膝の続きです。
ソフトリンクは、サーボの遅れも考慮して前フレームの指示値と現フレームの実角度を比較して差分を決定。 それを脚全体に適用して補正をかけるようにしてみました。
サス膝+ソフトリンク。 だめだめです。
サス膝が悪いのか、ソフトリンクが悪いのか。 まずはサス膝をやめてソフトリンクだけにして検討してみました。
あんまり意味がないものだけどせっかく作った動画なので一応掲載。↓
動画じゃよく判らないけど、ソフトリンクをつけた方が安定している感じがあります。 でも、足を上げる動きがおかしくて後に下がってしまいます。 やはり、サーボの遅れをよく把握できていないようです。
どうもうまくいかない。。
ここで、初心に立ち返り、なぜソフトリンクが必要なのか? それは着地した時に路面が水平ではなかった場合、期待した位置より高い位置に床ある床を蹴ってしまい、不安定になると考えられます。着地判定して、そこで足を下げるのを止めればいいのだけど、正確な着地判定はできないと思い、サス膝の導入を考えた。 そして、膝が撓んだことによる姿勢の崩れを補正するためにソフトリンクが必要となる。
つまり、足を上げる部分はサス足じゃなくてもソフトリンクじゃなくてもいいわけです。 では切り替えればいいのか? というとサス膝を通常膝に切り替えるのは難しい。 指定角度より沈み込んだ状態からほぼ指定角度になる通常膝に切り替えるとすっころんでしまいます。
どうしようか。。
ん〜、、まずはサス膝で、角度補正を行って支持脚期間中に通常膝に切り替えるための下準備をしてみよう。実角度で通常膝とサス膝で差がなければ通常膝に切り替えられるわけだし。(そんな簡単にはいかないんだろうけど)
足上げを行わないで、左右の反復動作での沈み込み量の測定。 グラフのはじめと終わりがつながってメビウスの輪のようにつながります。重心の移動に従って沈み込み量が増減するのがわかります。 じつは重心が偏っているのはグラフの中央辺りなんですけど、サス足だと遅れが大きくて、半周遅れになります。
足上げをしてみたら、沈み込みが大きくなるかと思ったら支持脚の沈み込み量はほぼ変わらず。 遊脚で山になっている部分が足を上げているところ。沈み込み量がほとんど0になっています。
ちなみにこれらのデータは運動中のサーボの遅れが45ms程度になる前提で計算しています。
続いて、この沈み込み量を使って補正量を出し、足踏みさせてみることにしたのだけど、これがもう全然だめ。 徐々に補正量を修正していくようにしたのだが、発散してしまう。遅れ制御難しい。
↓段々ひどくなっていく様子
スロープをまじめに攻略しようと思って始めた悪路歩行の検討だけど、ROBO-ONEの予選がなくなったので、ラムダがROBO-ONEに出ることはなくなってしまったなー。 悪路歩行はいつかやらなきゃならないから検討は続けるけど、スロープ攻略は意味ないかもね。
土日ともラムダのサス膝にどっぷりで、予定していたシグマのプログラムを全然やらなかった。 ウィークデーは予定満載だし、困ったなー。
■10月28日■
わんだほープチまでもう一週間を切った。 土曜日は友達の結婚式おめでとう飲み会なので土曜日の夕方までに全ての準備を終わらせなければならない。
わんだほープチの競技はあまりモーションに工夫は要らなそうな競技だが、ボトルトラクションはちょっと心配。 シグマは足が6本もあるけど、接地面積はほとんどゼロに近いのでグリップ力はあまりないのだ。全然試してみてもいないのでどうなることか。
昨日は飲み会で作業できなかったので、今日は早めに帰ろうと思っていたのだが、この時期はあれやらこれやらで1年で2番目に忙しい時期。 案の定、早くは帰れず、プログラムができそうな時間じゃない。 帰ると注文していたファン付きヒートシンクが届いていた。 いままでSEMBのヒートシンクはファンが無い普通のヒートシンクにファンを取り付けていたのだが、ファンが外れてしまうこともしばしば。 ちゃんと取り付けなきゃいつかCPUが壊れるなぁと思っていたのでちょっと高いがファンつきのヒートシンクを注文していたのだ。
先日買ったバッテリーがシグマに取り付かない件も含めて、シグマを分解してちょっと工作。 enRouteのリポも収まるようになりました。 ヒートシンクもファン付きヒートシンクに取り替えて一安心。 あとはモーションを幾つか作れば準備完了のはず。 ・・・あ、足先に何かグリップしやすいゴムかなにかを取り付けなきゃね。カリカリしててリングを傷めてしまうかもしれない。
ラムダのサス膝についてはちょっと検討中。 判ったのは支持脚をサス膝にするのは無謀だってこと。関節インピーダンスを下げてるから言うこと聞かない。 やるなら着地部分だけで、できるだけ早く通常膝に切り替える手段を検討することにした。 ま、草加が終わってからですね。
■10月29日■
今日こそはシグマのプログラムにとりかかる。
まずは足先にプラスチック製のエッジガードをつけてリング表面を傷つけないようにしました。 でも、そのおかげでいままでよりグリップが無くなりました。(>_<)
歩行についてもちょっと進化。 コントローラでグリグリと姿勢を変更できるのだけど、その変更した姿勢のままで歩けるようにしてみた。 どういうシーンで使うのかは不明。
ボトルトラクションがどれほどできるのか、ちょっとだけ試してみたのだが、まっっったくダメっぽい。 足が6本もあるのになぁ〜。 クモ型じゃなくてヤモリ型にすべきだったか。
それはそうと、ファン付きのヒートシンクはなかなか具合が良い。 12V定格のところを電圧を下げて回しているにも関わらず、ヒートシンクはあまり熱くなっていない。ヒートシンクの高さも低くなったし、よかったよかった。
キューブで、前足2本でキューブを持ち上げて、残り4本の足で歩くってのをやりたかったが、時間的気力的に不可能とみた。足の自由度から考えても無理っぽいのでぐりぐりした動きでごまかすことにしよう。 バトルがあったら、なんかモーションが要るだろうと思っていたが、幸いにもバトル競技は無いみたいなので歩ければいいかぁ〜。
ちょっと斜めった状態からでも四方八方に歩ける。
こんな感じでも。。 クモじゃない、違う虫っぽくてなかなかイカス。
■11月2日■
今日はわんだほ〜プチに出場してきました。
シグマで出たんですが、多脚で出たのはB作さんのエンドレスさとぼとシグマの2台。 エンドレスさとぼのパワフルな動きに圧倒されながらもシグマも怪しい動きでがんばりました。 ダッシュ2000は操縦ミスで実力以下の記録に。 心配していたボトルトラクションは意外と行けて、2.2kgくらい運べました。 キューブは、最初いい感じでスタートしたのに、結局ガットに場外に押し出されたのがくやしかったですねー。グリップ対策をしてリベンジしたいとこです。 機会があれば。。
明日のロボットプロレスは参加しないでラムダのサス膝の続きをやろうかな〜と思っていたんですが、イロイロあって明日も草加まで行くことになりました。 がんばれオマタさん、がんばれ石川さん!
昨日は、夕方から友人の結婚おめでとう飲み会があったので、出かける時間までロボット作業をしていました。 最初、シグマをいじっていたんですが、これっくらいでいいかなーってとこでシグマは終わり。 残りの時間はC7のLinuxにUVCドライバーの組み込みをやってました。 ネット上のインストールメモの通りにはなかなか行かなくてちょいと迷ったのだけど、なんとかインストールは完了。 OpenCVの実験用に買っておいたUVC対応Webカメラをつないでみたが反応なし。 結局強制的にドライバーモジュールをロードしてどうやらカメラは認識されたみたい。 ただしまだアプリで画像キャプチャーなどはできていないからちゃんとつながってるかはわからない。 接続報告のあるカメラにした方がよかったかな。大体こなれてきた頃だろうからUVC対応とうたっていれば大丈夫と判断したのがあさはかであったか!?
■11月4日■
草加ロボットフィスティバル((^。^))に参加してきました。
出場する予定じゃなかったんですが、にぎやかしロボットが足りないってことだったので、川ロボに混じって参加。 その後はスタッフとしてリング脇にへばりついてかぶりつき観戦してました。あと、電流爆破音係もさせていただきました。
異形なのでリングの上より芝生の上の方が性に合うっていうか、ここが生息地って感じで芝生を歩かせてました。 小学生の反応はわかりやすいんだけど、幼児の反応がなかなかかわいかったですね。ある程度近づくけど、ロボットが近づくと後ずさりして逃げちゃう。 でも、また近寄ってきて。。 ベビーカーで寝てる子供に無理やりシグマを見せようとするおとうさんとか居たりしました。 その子じゃーちょっとわからんですよ。お父さん。
シグマの歩行は今はまだ平地専用の決めうちモーション(姿勢に応じて計算するけど、地面情報をフィードバックしないという点で)なので、芝生程度の不整地は歩けるけれど岩場になると歩けない。 そこんとこを開発して本当の意味でのシグマを早く仕上げたいですね。
でも、シグマはちょっと置いといて、、
今日からはラムダの続きです。 昨日までの目標は自律でロボビリヤードでしたけど、とりあえず年明けのわんだほ〜のダッシュ競技を自律で出たいですね。
サス膝の続き。
歩行時のサス膝期間を出来るだけ短くするのをテーマに色々実験です。 通常膝からサス膝に切り替えるのは遊脚期間だからいいとして、サス膝で着地してから通常膝に切り替える手段が必要です。
まずは静止状態で切り替え。 動作状態と静止状態じゃ全然動きが異なるのだけど、やはり最初は静止状態からやってみます。 ちなみに今日は簡単なデータ取りしかできませんでした。
膝の実角度と指示角度の様子です。
実角度が大きい時はサス膝を使って膝が曲がっている様子。 ロボットを持ち上げると当然角度の関係は逆転します。
そして、グチャグチャっとなっているのは補正モードに入ったところです。やがて安定して、元もとの指示角度のラインに実角度がやってきて、指示角度はその分下に下がっています。
やらなきゃならないのは、膝が曲がっている状態から、通常膝に切り替えて、実角度がそのままになるって方法です。それも動作中に。。
このグラフで注目すべきなのはロボットを持ち上げてからまた膝曲がり状態になっている部分(画像中央、1675の「5」の辺り) これ、持ち上げ状態(ただし足裏は浮いていない状態)からぱっと手を離した状態です。 振動せずに一定値に落ち着いています。これなら、振動減衰を待つ必要がないので比較的簡単かもしれません。
あともうちょっと激しい落下をさせてみないといけないかもしれませんが。
次はスロープ設定値と状況に合わせた指示角度を同時に切り替えて、スルリと通常膝に切り替えることができるかを試します。 やっぱ過渡的に切り替えなきゃダメでしょうねぇ。
■11月5日■
こんばんは。 火消しシマケンです。
ラムダの続きをやるといいながら、今日は帰ってから、新しく買ったプリンター複合機とデジカメのセッティングです。デジカメは充電して家族に使い方教えるだけなんだけど、プリンターはプリンターヘッドのセッティングからLAN接続まで、結構時間かかりました。 LAN接続タイプにしたので、これからは家族用PCから印刷する時もプリンターの電源を入れるだけでよくなりました。コピーも出来るし、スキャナーにもなるし、よかったよかった。
デジカメはPanasonic DMC-FX37、プリンターはCanonのMP980 どちらも新製品なのに2万円ちょいで買えちゃうんですね。 すごいです。
デジカメが壊れて久しかったんですが、代わりに買ったデジタル一眼レフα200が代わりにならないと家族から苦情が出まして、コンパクトデジカメを買うことになりました。もう一台買うならカシオのあのデジカメが欲しかったんだけどなー。 変わりにならないし、高いしで却下です。
さてと、ひと風呂浴びてからひと仕事しますかね。
風呂から上がってラムダの検討。
着地のタイミングで色々仕込もうと思ってるので、できるだけ遊脚期間を長く取りたい。 ラムダは足首のコンプライアンスを大きくしているのでそれを一部変更することで支持脚がしっかりして遊脚期間を長く取れないかなーとか、 サス膝からノーマル膝に切り替える場合の角度差分を測定してみたりしてました。
あれやらこれやらいじくっているうちになんだかおかしくなってしまい、ソフトリンクと自動補正を同時に働かせると、妙な発振をしだすようになってしまった。(>_<)
ソフトリンクと自動補正をうまく使えばサス膝からノーマル膝への切り替えのための基礎データが簡単に取れるはずだったのに。。 まずはおかしくなってしまった部分の修理から。 なんだかシャンとしないですね。
■11月6日■
石川さんの「思い立ったが吉日」にしまけん登場。 いしかわさんにダメージを与える役です。(^_^;)
あの時は、もし自分が、あの状態から動かせと言われたら絶対無理だなぁと思ったんで、負荷分散できないかと思ったんです。誇りにダメージ与えちゃいましたね。すいません。 なんだかんだでくまたろう引退試合では動いてましたからね。すごいですよ。
でも、二人羽織ロボット、操縦してみたかったですけど。(^。^)
今日もサス膝からノーマル膝への切り替え実験。 昨日の不具合は修正完了。 色々と仕込んで実験してました。 静止状態でのサス膝⇒ノーマル膝の切り替えは、ソフトリンクがかかっているとダメ。 どうやっても「ガツッ」って切り替わります。 ソフトリンクを切って、膝以外のサーボに影響が出ないようにした後に、スロープを切り替えた後の沈み込み分を考慮した角度設定とスロープ切り替えを行うと、ほぼスムーズに切り替わります。ちょっと「スン」とか「コン」とか音が出るくらい。
だからって動作しながらうまく切り替えできるってことじゃないんですけどね。
さて、次は相当な仕込みが必要。 足踏み動作において、遊脚が接地する前にサス膝+ソフトリンクのコンボ、着地して膝が沈み込んだところでソフトリンクを切ってノーマル膝に切り替え、 というのをやりたい。 なんか、とってもできなさそう。 このお題でこの週末が終わりそうな予感。 それもちょっと切ないなぁ〜。
■11月8日■
サス膝での足踏みの前に、足首関節を受動関節にして、着地に合わせて能動関節に切り替える実験をすることにしました。
何も考えず、関節クラスにpassive modeってのを作って組み込んで、passive時はトルク0、compliance slopeを最大にします。 passive offで、その時の関節角度を取り込んでトルクを与えます。
これで歩かせてみると、意外と普通に歩いてる。 まだ、斜面を取り込む機能はないので平地しか歩けませんが。 関節の角度を採取して、動きを見てみると、、
まずは能動関節のままでの歩行↓
足上げ動作は速度が速いので少し遅れてますが、着地後2フレームくらい(50ms後)くらいで追随しています。
次に受動関節の場合、足を上げる期間(黄色のラインがポッコリしている期間)は受動関節にしています。↓
これはちょっと解説が必要。 足上げ開始とともにトルクがなくなるので、角度指示に関係なく、関節角度は変わりません。そして、指示側で着地となった時の関節角度に合わせて指示角度を設定していますが、今はその角度を取り込んでいないので、次のフレームで平地を想定した指示角度となります。 恐らくはトルクが戻るのに少し時間がかかるのではないかと思います。
足を上げ始めるところで足首関節の角度が変わっていないということは足が着地する時点ではつま先が少し上がっている状態となっているはずですから、踵から着地することになるはずです。 実角度は指示角度からは若干の遅れがあるので、指示角度側で着地するはずのフレーム辺りで踵が着地するようです。 そこからは3〜4フレームほどかかって指示角度に追いついているようです。
ロボット全体が傾いていないことを前提とすると、着地フレーム後4フレーム辺りの角度を取り込んで、地面の傾きとすれば路面の傾きに追従できるかもしれません。 ・・・くだりの場合も同じフレーム位置でいいのかな?あまり大きな傾きじゃなきゃほぼ変わらないはずだけどなー。
この動作は、左右の動作が安定していなくてはならず、左右動作がオーバーシュートしてしまうと着地タイミングが変わってしまうのでうまく行きません。 何よりオーバーシュートすると横にすっ転ぶのでそれどころじゃないですが。
実際、常に少しはオーバーシュートしているらしいので、足首関節が固いままだとオーバーシュートして足裏が浮いてしまいます。すると戻り動作の振幅が更に大きくなり最後には転びます。 そのため、ラムダの足首左右関節はコンプライアンスを大きめに取って軽い受動関節状態にしています。 足首左右関節角度を監視すればオーバーシュート動作が始まる様子は検出できそうなのですが、その場でオーバーシュートを抑える手段が今のところありません。 何度かトライしましたが、成功していないんです。
ちなみに今回はほぼスリップ足にして、オーバーシュートしにくくしました。遷移時間0.5秒なら歩けるけど、0.3秒だとスリップしてしまってさっぱり歩けませんね。(^。^)
しばらく受動関節切り替えタイミングを変更してみたりして様子を伺ってみます。
■11月9日■
昨日に引き続き受動関節切り替えタイミングの検討。
トルクを入れてから実際にトルクが発生するまでの時間がわからないので、試しに色々やってみる。
サーボの遅れを考慮しても完全に接地したであろうタイミングでトルクをONにしてみる。 すると次の1歩、つまり受動関節を適用していた遊脚が支持脚になってからもトルクが戻らない時間があるらしく、まともに歩けない。 やっぱりトルクが戻るまでには50ms以上はかかるみたいである。
昨日のグラフで指示角度と実角度が一致するタイミングをトルクが戻るタイミング、と同時に接地が完了したタイミングという前提で段差に差し掛かるような状況でデータ取りとしてみる。
イメージ画像
でかくなってしまった。。。
障害物を踏んだところで、足首前後関節が正常時角度に至らない様子が検出できた。 その次の1歩で後ろにのけぞってしまったので踵に体重が乗ってしまい、逆方向に曲がってしまっている。 ・・・この辺りの角度を取得すれば路面の傾きを取得できそう、、、かなぁ〜。あんまり自信ないけど。。
さて、路面の傾きの取得タイミングも大体決まったのだが、まだ準備しなければならないことが。
それは、、、ラムダの歩行プログラムは斜面を歩くようにはできていないのだ。。。 まぁ、パラメータの設定ができないわけじゃないんだけど、「斜面なんか歩かないだろ」と思って、路面は平面限定で、つんのめった時に瞬間的につま先で立つことを考えて、つま先立ちを姿勢モデルに反映してます。 それも、「転倒途中の姿勢の取得」という問題で頓挫しているし、つま先立ちよりも足を倣う方が正解だろうと思っているので、コレを機会に姿勢モデルの改造をしました。 と、言ってもつま先立ちをモデル化するのには苦労したけど、斜面に立っている様子をモデル化するのは比較的簡単です。 ついでにプログラムの整理もやりたいし。。。
ということで、まずは歩行プログラムの修正なぞやっておりました。 ちょっとバグったけどすぐ直って、新歩行姿勢で歩き出しました。 斜面で歩けるかどうかのテスト。
上り〜。
下り〜。
足裏がスリップなので、スリスリ足歩行だけど、まぁ歩けるらしい。
スリップ足にしたついでに、バトル系ロボットがシャカシャカ歩いてるあれってラムダでもできるのかな?と思って歩かせてみました。 1歩の遷移時間が0.15秒から0.2秒くらいで、歩幅を50mmくらいにするとシャカシャカシャカ〜っと行きます。 もちろんすっ転ぶので実用にするには微調整が要りますが。 今度のわんだほーこそはラムダで出場しようと思っているんだけど、ダッシュ2000を自律でってのが目標です。 カメラを動かしながらシャカシャカ〜ってのは無理かな。(^_^;)
斜面の歩行もできるようになったので、とうとう次は接地面の傾斜の取り込み実験です。 ・・・・そろそろ日誌を新ページにしないといかんですね。。
■11月10日■
残業して帰ったのでロボットのプログラムは小休止。 足裏の製作なぞやっておりました。
不整地を歩くにはフラットな足裏ではまずかろう。土踏まずが必要です。 そして、今までの検討を反映して、足裏の外側は支持脚になって、オーバーシュート気味になった場合にスリップで逃げて耐える可能性を残してスリップに。 足裏の内側は蹴り足になるのでグリップに。 実験気分なのでずいぶーんと適当な作りになってます。 テキトーが原因で実験失敗だと意味がないんですけどね。(^^ゞ
欲を言うと前後にはスリップにできればけつまずきにくくなるのでそうしたいのだが、異方性摩擦係数の材料ってないでしょうか。
グリップ部分にはエラストマを使ってみました。 エラストマは今のところ最もグリップ力がある素材。 ただ、両面テープで貼りつかないのが問題。 今回は「超強力接着剤」ってのでつけてみました。 昨夜実験したら結構簡単に剥がれた。。 まぁ全然付かない両面テープよりはましなので耐久性は別にして使ってみることに。
今夜は乾燥させて、明日歩行テストです。
#あ。そういえば、今夜の壁新聞、久々のONO-ONEでした。 うれしー。
■11月11日■
今日は仕事でちょっぴり一区切りが付く会議が終わって、ここはいっちょ飲んで帰りたいなぁ〜という気分だったが、明日は飲み会の予定なので我慢してまっすぐ帰ってきた。
昨日作った足裏での歩行テスト。 正直どうも失敗です。カーペットだと食い込んでグリップするのでまぁ歩けるのだけれど、つんのめってこけたりもする。 フラット床だといまひとつグリップしないでロールしてしまう。 ま、歩くは歩くんだけどねぇ〜。 グリップさせるエラストマは足の中央に貼るべきなのかもしれない。 今度試してみよう。
こないだ買ったデジカメで動画撮影して、MOVファイルをWMVに変換しました。 あんまりきれいじゃないなー。
ロボットウォッチにわんだほー・ぷちの記事が載りました。 シグマがいっぱい写ってる。 うれしぃですねー。 ダッシュ2000なんて、仕切りなおしした2回分が動画掲載されてる。 静止画の方のシグマが子供に囲まれている絵はいいですねー。ちっこい子供がしゃがんでる姿かわいい(^。^)。 肝心のシグマが写ってないところがキモです。
ねじ浅井さんとこにもわんだほー・ぷちが新聞に載った記事が出てましたけど、エンドレスさとぼとのツーショット。 これも子供がいい味出してる。 シグマは熱中夜話にも出るかもしれないし、露出多いな。 タコなのに。
ラムダも早くデビューさせたいですね。 よたよただからデビューしても取り上げられないかっ。 (^。^)
本家わんだほーに出場して、自律でダッシュ2000に出るってのを当面の目標に設定しましょう。 がんばるぞー。 ・・・考えると、アイボでやってたことから進歩してないな。 しょぼん。。
今夜は熱中夜話の放送日。 11時までドラマ見てて、12時から熱中夜話見てたのでロボット開発は出来ず(^_^;)
週末土曜日は部下の結婚披露宴なので作業できないし、進捗はかばかしくないですねー。
そういえば石川さんが声をかけてる「ボジョレー持ち込んで「呑処ひろし」で宴会」の日は熱中夜話二夜目ですね。 それはいいとして、会社帰りに秋葉原行って飲むってのはどんなんなんだろう。 行きたいけどなー、定時で会社出れれば良いのだが。。
さて、風呂につかりながら披露宴でのスピーチの原稿でも考えようかな。 ・・・・苦手なんだよねー、スピーチ。。(>_<)
開発日誌じゃなくてただのぼやきだな、こりゃ。