KO-Link 2の最近のブログ記事

KO-Linkの肩の直交軸

しばらく前にFaceBookには投稿していたのだけれど、改めてブログに。

KO-LInkの肩の軸を再検討中。
逆運動学のためには最低2軸直交していれば、位置の制御的にはOKなのだけど、手の制御の場合、脚の制御以上に”機能”もしくは”見た目”の問題で3軸直交にした方が、よりベターである。

一番多く見受けられるのは、体幹からヨー、ロール、ヨーの順番で3軸を直行させる方法。
今のKO-Linkもこの形状。

ただ、これは幾何学だと結構計算が煩雑になるので、今のところ制御の中に逆運動学は取り入れていない。
(当然、ヤコビアン使えば間違いなく解けますが)

もっと簡単な計算のために、計算のための設計を行うとどうなるかなーってことでいろいろ案を書き出してみた。

kolink_an.jpg

案3を書いたところでふと気が付く。
これって脚の3軸直交と同じじゃん!?

脚と同じなら計算も脚のものをベースに流用すればOKのはず。

というわけで、今後KO-Linkはこうなっていくだろう…。の図。

kolink_an1.png

ロボゴング14から後、モチベーションが上がっていたので、エクセル逆運動学を進めてみました。

KO-Link2の構成も腕のサーボを1つ取り払った上で肩周りの構成を見直しました。
肩のピッチ軸を腕側でなく胴体側に設置しました。
腕の重量を減らすには効果大でした。

IMG_1564.JPG

エクセル逆運動学のエクセルシートから制御ソフトの「Robot Plus モーションエディタ」にコピペでモーションが貼り付けられます。
列単位でコピペが出来ることに今さら気が付いたのですが、「パラメーターを打ち込んで、出来上がった動作データをエディタに簡単6回コピペ」の簡単な操作で動作の再生試行が行えます。

結構、簡単に試行錯誤できるので便利になりました。

01.png

あと、Robobie Maker等では標準の機能なのですが、「左右反転」と「左右対称」のポーズエディタもエクセルで実装しました。

オリジナルロボットな上にエディタにその機能が無かったので今まで奮闘していたのですが、もともとの教示機能と組み合わせるとかなり簡単にダンスモーション等々が作れるようになりました。

02.png

というわけで、これらの新機能を利用して改めて作成したモーションを動画にしてみました。
「後退」がまだパラメータの見直しが必要そうですが、移動系は充実してきました。



さてさて、ベストテクノロジーのサイトを見ていたらAX-18Aなるサーボが発売になっていました。

BTX032 Dynamixel AX-18A

e00130e4e40cb41b955e.png

AX-12Aと特徴を比較すると下の通り

  • AX-18A → 0.103(sec/60度) 18kgf・cm(12V 1.5A) アルミ4番ギア
  • AX-12A → 0.169(sec/60度) 15kgf・cm(12V 2.2A) プラスチック4番ギア

スピードの進化半端ないですね。トルクもアップした上で、今まで問題だったファイナルギアが、エンジニアリングプラスチックでなくアルミギアになっているのも素晴らしいと思いました。
思わず評価用に1つだけ注文してしまいました。後日レビューしたいと思います。

AX-12Aも自分が購入したころのAX-12よりスペックが少し上がった上で値下がりして、更にコストパフォーマンスの良いサーボになっています。
二足歩行だけにとどまらず”ロボット用サーボ”として、素敵なサーボですね。

逆運動学で歩行する場合の軌道が”五角形でいいのか”という疑問はそのまま置いておいて。

五角形の軌道を通る場合ポーズ数の分割は6分割でいいのかということを実際に確認するため、エクセルシートをさらに改造して実際に取りうる軌道を表示するグラフを作ってみました。

gyaku.png

その結果がコレ。

6ポーズの場合。

5kakukei.png

5ポーズの場合。

5kakukei2.png

結局ズレの部分が、分割数(計算量)を増やした場合のパラパラ漫画に対する逆運動学の優位を表すと考えられるのですが、5ポーズだとちょっとズレすぎかな(それでも1mm程度ですが)

7ポーズ以上に増やせばもっと五角形に近づきますが、実際外乱でそううまくいかないことも考慮に入れれば、6ポーズで十分使える事が分かるかと思います。(歩けた後に言うのもなんですが)

あとはこの計算をリアルタイムで行って、アナログスティックから歩幅を指示みたいなことができたらベストなんですけど、マイコンをC言語で書く元気は全然ないので、とりあえず、エクセルVBAでのロボット制御を勉強中です。

さらに進化を進めて

  • 歩行軌道の生成
  • 軌道座標からサーボの目標ポジションの演算
  • 角速度の上限値チェック

を実装し、一通り歩行のモーションを出力できるようにしました。
軌道に関しては、「五角形軌道」を採用しました。

gyaku22.png

歩行軌道パラメータを入力すれば、あとは軌道生成から出力値の生成まで自動でやってくれるので、出力された48個の値をCM-5のモーションエディタに打ち込めば、モーション完成です!
(48個の数字の打ち込みも自動化したいのが本音ですがw)

分かりやすく動画を作ってみました。
(相変わらずの自己満足動画ですw)

KO-Link2の逆運動学 #02

昨日の続きで逆運動学の計算シートに図の表示機能をつけてみた。

IN_KI.png

せっかくなので、公開します。
(けど、KO-Link2(399さんの平行リンク脚)でしか使えないので、あんまり公開しても意味ないかもw)

ダウンロード:KO-Link2逆運動学計算シート(Excel 2007形式)

黄色背景のボックスのXYZを入力すると、赤色背景のボックスにAX-12に送るべきポジションが表示されます。

というわけで、ここまでできたらXYZに何の座標を放り込むかが問題になります。
いわゆる歩行の軌道です。

これもいろいろ考え方があって、自分が過去(KOKUTEN3)に採用していた方法では

  • 正弦波の正の部分だけで足上げ(左右の足の位相を180°ずらす)
  • 体重移動も正弦波
  • 足の前後は左右で位相を180°ずらす

みたいな、要するに足先で半円を描く歩行をしていました。

他の人はどうしてるのかなーってことで、有名どころをあたってみると。

tokotoko.png
トコトコ丸的軌道

いろんな軌道を描いていますね。

どちらにも言えることなのですが、地面から離れたらすぐ前に出すのではなく、空中ですこし後ろに蹴ってから足を前に出すのがポイントみたいですね。

脚の軌道生成のプログラムと表示再生のプログラムが今後の課題です。

KO-Link2の制御ボードCM-5でどうやって逆運動学を実装するか・・・。
かなり重要な問題なのですが、C言語でコードを0から書こうかとGDLを起動するも、あまり気が進まず。

結局、エクセルのシート上で計算したデータテーブルをエディターに手打ちで流し込むことにしました。

というわけで、エクセルでゴリゴリ計算するシートをせっせと作りました。

gyaku.png

とりあえず完成ですが、初期値をもう一度見直しつつ、暇があればグラフを用いて図の描画も入れようかなと思います。

というわけで、歩行は今後作っていくとして、運動学の関係ない起き上がりやジャンプのモーションをサクっと作ってみました。

速度の遅いAX-12で1cmほどジャンプ出来ました。
もう4年も使っているモーターなのですが、ジャンプできたのはこれが初めてではないでしょうか(笑)

今まで、CM-5のプログラミングはBioloidソフトウェアを利用して製作していました。
このBioloidソフトウェアがすごくやっかいなやつで、

  • モーションデータはCM-5上にしか記憶されない
    (手元のPCにバックアップは作成されない)
  • 教示機能でモーションを作る時、トルクオフがすべてのモーターに反映される

などなど、とーーーっても使いづらく、電源切ったらデータが消えて「あーーー!」なんてのも日常茶飯事、モチベーション的にとってもゲンナリするソフトでした。

それが、ふと韓国のROBOTISのサイトを見ていたらRoboPlusなるソフトウェアが提供されているとのこと。
国内の販売元のベストテクノロジーで案内(再配布等)されていなかったんで、完全に見落としていました。

もともとは、バイオロイドプレミアムキットとOLLO用のソフトウェアのようですが、CM-5もRoboPlus上でフォーマットすれば動作するようです。

まず、「RoboPlus Manager」。
今まで、マネージモードでコマンドでしか設定できなかったアクチュエータの内部設定がGUIで簡単に出来ます。

rpmane.png

次に、モーションエディターの「RoboPlus Motion」
これも、実行時間が「秒」で表示されるようになったり、アクチュエータ1個単位でトルクのON/OFFが設定できるようになったり、手元にモーションデータを保存できるようになったりかなり便利になってます。

rpmoti.png

最後にプログラム作成のための「RoboPlus Task」
C言語ライクの言語体系なのですが、条件分岐や関数など、結構いろいろ出来る上にモーションは、「RoboPlus Motion」にて制作したモーションを1行呼び出しで完了。

rpt.png

正直ここまでの機能があれば、プログラム製作のストレスもありませんし、自立制御のそこそこ長いプログラムも書けそうです。
あくまでも以前のモーションエディターと比べての話なので、このエディターでベストとは思いませんが、他社のボードとも戦えるレベルにはなってますね。
KO-Link2はこれでプログラムする予定です。

ちなみに、更に詳しいRoboPlusの使い方はこちら

このソフトが、ただでさえ少ないDynamixelユーザーの追い風になればと思います。(今更w)

KO-Link2 組立開始!

足裏パーツを折り曲げました。

IMG_0717.JPG

ポケットベンダー・万力・ペンチ・ハンマーetcいろいろ駆使したのですが、「なんとかなる」コンセプトで設計したパーツはなんともなりませんね。
必至で曲げてみましたが、結果ベコベコw

そのうち、もう一度足裏だけ設計からやり直そうかと思います。

で、さくっと組み立てました。

IMG_0721.JPG

(背景汚くてすみませんw

とりあえず、これから配線します。

とりあえず、折り曲げました。
前のKO-Linkの足をバラしていないので、組み立てはまだ行えません。

IMG_0508.JPG

あ、ベアリングとネジは今日全部届きました。
地震の影響があるかなと思っていたのですが、地震時点ですでに発送されていたようで問題なく届いたようです。
(石油を趣味のことに使ってしまって申し訳ない・・・。

今日も、ツイートとNHKを見ながら作業していました。
まだまだ全体の把握が出来ていないようで、被害も確定していない不安な状態ですが、地震の速報しかやっていないTVを見て不安にかられるのも精神衛生上良くないので、ロボット制作の単純作業があって良かったなと思うところです。

残念ながら周波数の問題でこちらで節電することも出来ないようですし、輸送の問題で物資を送ることも出来そうにないのですが、仕事も含めての普段の経済活動の中で協力できることがあれば、出来る限りの協力をしていきたいと思います。

今日の地震のニュースには驚きました、日中はTwitterでフォローしてたんですが、友人も何人も巻き込まれたようで皆さんの安否が気になるところです。

さて、そんな今日、仕事の早いVstoneさんから切削してもらったアルミ板が届きました。

IMG_0504.JPG

アルミをゆがませず、綺麗にアルミをはがす方法ないかなぁ。

とりあえず今晩は地震が気になってまったく手がつけられんかった(汗
皆さんが無事でありますよう・・・。

399さんに頂いたリンク足を逆運動学で制御するために計算してみたので、備忘録として公開します!

hli_02.png

応用編1) 非直交軸の平行リンク足の逆運動学

ちなみに三角形2個に注目してl’を計算するのがポイントです。


keisan_01.png

これに気づかずに、三角関数でゴリ押ししていると下記の状態になってドツボにハマってましたww

kei_mati.png
そもそもあっているかどうかも謎w

あと、

  • KHR-1の場合
  • KHR-1をダブルサーボにした場合
  • アキレスの場合
  • RB-2000の場合

ってのも、応用編で考えてあるんで後々UPしていけたらと思います。
これで一通りのロボットは網羅できるか!?

ただなんといっても、直交に比べると計算量が増えるわけで、計算量と足の構造の関係で論文書いたら1本書けるんじゃないかとw

新リンク足の考察

LEG2.jpg

いつも新しい設計を考えるにあたって関節の直交化を考えていたのですが、399さんからデータを貰ってある事実に気が付きました。

それは、直交化にこだわり過ぎて、ピッチ軸間の距離を取り過ぎていたこと。

「足の長さ」じゃなくて、「ピッチ間の距離」でモーメントが変わるという単純でかつ、あたりまえのことを今まで忘れて設計していたようです。

屈伸でヘタるのは単純にトルク不足だったようで、他人の設計に数字を入れて見てみると意外といろんな発見があって面白いですね。
ちなみに全体のロール軸間の距離はほとんど変わってません。

当然、しゃがんた時の最大変位が小さくなる点と、膝の角度が深くなるのでルール上しゃがみ判定がシビアになるという欠点はありますが、モータにかかる負荷モーメントはこちらのほうが少なくて有利ですね。


あと、制作時からなんとなく気づいてはいたのですが、KO-Link1の平行リンクが実は平行になってなかった件(爆

ついに、いろいろ不満のあったKO-Linkの平行リンク足を作り直すことにしました。

とはいえ、今回は自分で設計したわけではなく、399さんがフィアスA用に作られていた平行リンクが素晴らしかったので、お願いしたら快くデータをくださって、まさに他力本願の足設計です(笑)

LEG.jpg

以前のKO-Linkに採用していたリンクに比べ

  • 3点支持だったためねじれに弱かった点
  • 膝にサーボを設置したせいで、上下の屈伸のために前後に重心が振れる点

の問題も解決してて、理想的な平行リンクです。

さて、あと足裏が別途必要なので、某ボロットをリスペクトして設計してみました。

asi1.jpg

この着色だとモロですね。(笑)
実際は、アルミの素材色になります。

全体像はこんな感じ。

asi2.jpg

足裏に関しては、面積が大きいので肉抜きをしてみたのですが、肉抜きがどんな影響をもたらすか謎です。

asi3.png

攻撃時に引っかかりやすいとか、不整地歩行の能力が下がるとか弊害もあるのかなぁ。

あとは展開図を平面に配置してDXFを仕上げるわけですが、空きスペースが多いんで、他に何を作るべきか検討中。
作るものを無理やり絞り出すというのも難しい。

Profile

me.jpg
Name : みっちー
小学校で電子工作にハマり、高校時代はゲームプログラミング、大学時代にロボット製作へどっぷり浸かりました。
社会人になっても、なにかとものを作るのが大好きで、日々ネタと仲間を求めて活動中です。

Dream Drive!!

bana.png
http://dream-drive.net

趣味のロボットとプログラムを中心としたコンテンツのサイトです。

My Robots

kolink2.jpg
KO-LINK2
第2世代 並行リンク足ロボット

kolink.jpg
KO-LINK
並行リンク足ロボット

BusterGX.jpg
BusterGX (Ex Walker)
G-ROBOT + ROBO-XERO

kumaco.jpg
KUMACO
ぬいぐるみロボット

SARUBO.jpg
SARUBO
JX-SYSTEM搭載ぬいぐるみロボット

kokuten3.jpg
KOKUTEN 3
リアルタイム逆運動学制御ロボット

meros.jpg
MEROS
膝なしロボット
(胸部マトリックスLED搭載)
by Mechaniker

kokuten12.jpg
KOKUTEN 1&2
はじめてのロボット
by Mechaniker

協賛広告

最近のコメント

月別 アーカイブ

このアーカイブについて

このページには、過去に書かれたブログ記事のうちKO-Link 2カテゴリに属しているものが含まれています。

前のカテゴリはKO-Link 1[平行リンク]です。

次のカテゴリはKOKUTEN 1&2です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。