| ロ技研トップページに戻る かわさき要素技研トップページへ戻る 要素技術研究へ戻る |
はじめにかわさき研では規定された軸出力による歩行を義務づけられた「かわさきロボット」の 性質から数多くのリンク機構について研究してきた。 (かわさきロボットの総論についてはロボット技術研究会研究報告書第28号にある 小倉、河上の報告を参照のこと。)本稿ではかわさき研におけるリンク設計法の変遷とAKEBONO-NTで行われた 実際のコンピュータ援用リンク設計について述べる。 リンク設計法の変遷古典的リンク設計法筆者が参加するより以前、かわさき研ではリンク機構の原型を文献によって調べ、 ボール紙で模型を作成する方法が一般的に行われていた。 数点の通過点を指定し作図によってリンク機構を決定する方法も知られていたが、 リンク軌跡を指定できるわけではないため希望通りの軌跡が得られないことも多い。 そこで模型のパラメータを試行錯誤で変更することとなるが、 これは非常に手間のかかる作業であり、またパラメータの細かな調整にはどうしても 限界があった。Ogulinkの開発かわさき研で最初にコンピュータ援用リンク設計の可能性を示したのは小倉の 開発したOgulinkであった。 これは氏の開発していたかわさきロボット五里霧中(後のらぴすらずりの原型)のために 開発されたプログラムで、数万の探索空間から最も適した疑似直動4節リンクを 自動的に検索するものであった。残念ながらこのプログラムはMatlabで開発されたため当時のロ技研で主力だった MS-DOS環境で実行することができず、また各種パラメータの固定された 専用プログラムであったために一般的に使われるには到らなかった。 (Matlabはインタープリタであるため、パラメータの変更は比較的容易に 行える筈である。) LCL前夜筆者はOgulinkに刺激され4節リンク汎用解析システムLCL(Link Construction Laboratoryの略。) ver1を開発した。 これは4節リンクの各パラメータを指定できるだけのもので、現在のLCLとは異なるものであった。 この頃かわさき研で検討されていた脚機構は全て4節リンク機構+αだったため これでも各種リンクの比較検討に用いることが出来、4節リンクしか解析できない点は 問題とならなかったのである。やがて4節リンク以外の脚機構が考案されると多節リンクへの拡張が望まれるように なったが、パラメータを指定する方式では表現できる構造に限界があるためLCLは 根本的な見直しを要求されることとなった。 LCLの誕生そこで筆者はパラメータ指定方式をあきらめ、スクリプト言語によってリンク構造を 記述することとした。これが多節リンク汎用解析システム (ver1の頃と名前が変わった点に注意。) LCL ver2であるが詳しくは過去の研究報告書 (ロボット技術研究会研究報告書第26号,多節リンク汎用解析システム LCL,中上 匠,1996) にあるので割愛する。 この新しいLCLにより脚構造全体の視覚化、比較、検討、改良が可能となり、 リンク設計が能率的に行えるようになった。現在LCLはその構文を一部整理したLCL-2ε (「えるしーえる・つぅいー」と読む。) となり、篠原の尽力によってコンパイラであるLCL Turboも整備されている。 LCLを用いたリンク設計の実際AKEBONO-NTの脚機構での要求第4回かわさき大会に出場した AKEBONO-NT には筆者が提案した12脚機構が当初採用 された。これは3脚が横4列並ぶ配置で前後の脚には横向きのキャスターをもっている。 重心近くの中足はトルクを失うことなく、前後の足は旋回時に抵抗とならないために 2脚4列配置の場合よりも高速な超信地旋回が可能となるはずであった。軌跡についてはかわさきで多用されているChevyshev直動リンクと同じく、 下部で直動し、上部では円弧を描くかまぼこ様の軌跡とした。 Chevyshev直動リンクの軌跡を図1に示す 図1 Chevyshev直動リンク 原型となるリンクの選定LCLではリンクの逆方向解析 (軌跡からリンクのパラメータを決定すること。総合ともいう。) ができないため、まず原型となるリンクを探す必要がある。要求された軌跡を満たすリンクとしてはChevyshev直動リンクがあるが、 レイアウト上問題があるために採用しなかった。 かわりに今回採用したのが参考文献 (ロボット工学基礎資料集,p168) に紹介されているD-drive機構である。 D-driveはChevyshev直動リンクに比べストロークが短い欠点があるが、 軌跡が下に出るためレイアウトがしやすい。 また、上下に大きく動くため段差を乗り越えやすいと思われた。 文献にはリンクのパラメータは明示されていなかったため、 図から読みとって使用することにした。 図2 原型となったD-drive LCLによって得られたD-driveの軌跡を図2に示す。 LCLスクリプトは以下に示す。
#!lcl
#script for lcl version2.5
#D-drive (1)
#ヘッダファイル
script("lib\matrix.lch")
#変数宣言
var real smin,smax,s
var int drawstep,s2
var point a,b,c,d,e
var node Lab,Lbd,Lde1,Lcd1
#初期角を指定
realcpy(smin,0)
#終了角を指定
realcpy(smax,360)
#作画ステップを指定
intcpy(drawstep,10)
initscreen
setscale(4,4)
script("lib\matrix.lcl")
realcpy(s,smin)
repeat
locate(0,0)
ver
print(\n,"D-drive (1)",\n)
print(シミュレーションを行います,\n,\n)
print(初期角は,smin,終了角は,smax,です,\n,\n)
print(計算中...,\n)
print(角度,s,\r)
#ここに定義を書く
point(a,gnd,0,0)
point(c,a,-23,-17)
source(Lab,a,10,s)
point(b,Lab,10,0)
twobarlink(Lbd,b,24,Lcd1,c,18,1)
point(d,Lbd,24,0)
color(d,7)
color(Lbd,7)
point(e,Lbd,47,2)
line(Lde1,d,e)
color(Lde1,7)
#ここまで
intcpy(s2,s)
mod(s2,drawstep)
if(s2!=0) plot(grap,8192,1)
if(s2==0) plot(grap,65535,1)
inc(s)
until(s>smax)
print(\n)
pause
パラメータの調整原型のリンクをLCLスクリプトとした後はトライ&エラーによるパラメータの 調整となる。 今回はよりストロークが長く、原動軸のより下に出る軌跡を目指して調整した。 実際の脚ではこの4節リンクの軌跡を二重平行リンクによって移動して 用いている。図3(a)が調整後のリンク軌跡である。 図3 AKEBONO-NTの4節リンク 今回のリンクの問題点調整後のD-driveを3脚4列のまま用いたところリンクのがたつきから足先が 下がってしまい、脚を戻すときに地面を逆に蹴ってしまう結果となった。 その後1脚4列補助キャスター付に改めることにより歩行は可能になったが、 足先先端の接地期間が位相で180度に満たないためキックバックが起こり、 結局当初の目標性能を得ることはできなかった。原因としてはリンクピンのがたつき、二重平行リンクの採用によるリンクの 複雑化などが挙げられるが、それ以上にリンクの選定を軌跡のみで行ったことが 問題だったといえる。 かわさきロボット大会においては長い間Chevyshev直動リンクを用いた機構が 優位であった。 筆者らはChevyshev直動リンクが歩行に向いている理由をかまぼこ状の軌跡に よるものと考え、軌跡の似たD-driveを採用した。 しかしChevyshev直動リンクが歩行に向いていることとChevyshevに似た軌道を 描くリンクが歩行に向いているかどうかは全くの別問題であった。 歩行において要求されるのは2脚一組で用いる場合、接地期間の位相が180度以上 あり、接地する瞬間と地面から離れる瞬間に車体を減速しないような先端 速度を持っていることである。 今後はこの点に注意してのリンク設計が望まれる。 幸い、LCLはスクリプト言語方式のため必要ならばリンク先端の速度を表示するような 応用も可能である。 リンク先端の速度グラフの一例を図3(b)に示す。 おわりにかわさき研におけるリンク設計法の変遷とAKEBONO-NT脚リンク開発の反省から 以下のまとめが得られた。
謝辞末筆ながら LCLの元となる単純ですばらしいアイデアを提示して下さった小倉氏、 原作者も考えつかなかったようなLCLの応用を開いた河上氏、 飛躍的な性能向上をもたらしたLCLコンパイラを開発した篠原君に 心から謝意を示す。 |