A.T.A.

ACwiki技術部見習い活動(仮)

「アリシアたんを自律制御させてみたい」

第2話 〜市販ロボットの制御と動作に慣れよう〜



pastupfuture

■ 0.序論

2足歩行ロボット(笑)
サーボモーター(笑)

一般化されすぎて、且つ形態模写のレベルも完全ではなく、
そのメリットは客受けが良いくらいにしか思えない通常2脚・・・

位置制御が可能で制御次第で何でもできる代わりに
煩雑でスマートではないサーボ・・・

そうして忌み嫌ってきた技術ですが、
「目的のためには手段を選ばない」という理想の前に
取り入れざるを得ないこのもどかしさときたら・・・


しかし実際に動かしてみるとすごく楽しいので困ります(笑)。


そんなわけで、今回は市販の2足歩行ロボットで
制御とサーボに慣れていきたいと思います。

既存技術をなぞるだけ・・・というただのお遊びですので、
ロボット制御に明るいとか有識な方は読み飛ばす方が賢明です。



■ 1.テーマ選定

第1話でお話した、活動のアウトラインを振り返ってみます。

・対象のロボット制御に慣れる
・逆方向(逆間接方向)に歩けるようになる
・逆間接らしい歩行ができるようになる
・ジャンプのエネルギ源について決定する
・垂直にジャンプができるようになる
・前方にジャンプができるようになる
・形がアリシアたんになり、最適化される

第2話では、まず対象のロボット制御に慣れるところから
スタートしたいと思います。



■ 2.現状把握と目標設定

現状・・・?
S川急便さんが19時以降の時間指定を無視して
12時に持ってきてたご不在通知表は当日再配達受付は18時までです^^って
ほんのちょっと怒っちゃうゾ☆ってなりましたが、
ポチ買いしたRobovie-nanoと無線コントローラ&ジャイロ基盤セット、
あとエネループ充電器と単4が8本ほど手元に揃いました。

と言っても、組立キットを購入したので、
箱をあけたら綺麗に部品ごとにバラバラです。
取説もCDの中だけという小奇麗な梱包です。

まずはこれをせっせこせっせこ組み立てていきます。。。


なお、第2話では、簡単な動作をさせたり、
加速度/ジャイロセンサを使ってみることで、
制御全体の構造を把握することを目標とします。



■ 3.活動計画

組み立てる順序は、おおよそ
・電気系を接続してサーボを原点位置へ
・腕、足、胴の組立
・配線
・原点位置の微調整
・プログラム他書込
というようになっています。


その後、手探りで簡単な動作等をさせてみます。



■ 4.要因解析

なんにしろまずは組み立てからです。


一番最初の原点出しは、
サーボの可動範囲±60度を考慮して
ロボットへ組み付けるために行います。
電源を切ってもある程度保持トルクがあるので、
地面に落としたりするくらいでは角度は変わりません。

軸とホーンとの接続がスプラインなので、
きっちり角度は合わせられません。
また要求する動作に対してノミナルなガタがありますので、
組み立てたあとで原点調整を行います。
私の場合は最大で約8度ほど調整を行いました。


できあがったモノがこちら


アルミフレームも安く且つ品質を高める工夫がしてあります。
具体的には板厚を揃えてあったり、
曲げるラインに穴があけてあったり、
共通部品をとってあったり・・・
生産工程が目に浮かぶ作りをしています(笑)。

スピーカーなどは取り付けずに軽量化しようかなとも思いましたが、
今後アリシアの形状をさせればさらに重くなることや、
「あること」をさせたいために残しておきました。

しかしながら、組み立てる途中で、
たぶん誰もが思ったであろうこと・・・


肩のスペーサー(笑)
前面カバーのユリアねじ止め(笑)
・・・このへんは別人が設計したとしか思えません。

あとは構造をもっと最適化できるところがあったり、
もう少し改造のためのサービスホール等が欲しいところですが、
価格を抑えることも必要ですので、
このあたりが及第点だと言えます。
たくさんのロボットを手に取ってきたわけではないですが、
なかなかいい設計だと思いました。


しかし・・・これは・・・


でかい!!
ノーマルと比べるとこの大きさ!

これがネクストか!!


・・・。

いくら小型サーボといえど、減速比等の性質上、
このあたりの大きさになってしまうことは分かっていましたが・・・

この大きさを実際に見てみると
既にこの活動の最終着地点が見えたような・・・。


まぁ気にせずロボットを見ていきましょう。


まず、第1話で気になっていた膝関節です。


予想どうりダブルウィッシュボーン式のリンクです。
つまり、足首の動作角度は膝の下側の角度を決定し、
股関節の動作角度は膝の上側の角度を決定しています。

・・・ここで図を描こうと思ってたけど・・・
図を描いてたら先にロボットが届いたのでまた後々出します(笑)。


膝関節にサーボがないため、足はかなり曲げることができます。



ちなみにサーボのPWM出力設定いじってたら
逆関節っぽくなったり(笑)。

とりあえず形にはなりましたので、
まずは動かしていきます。


なお、今後特に断りがない限り、地面には画用紙を使用します。

これは、足で歩く動作が地面との摩擦を利用しているため、
環境の変わりやすい地面を安価に一定にする必要があるからです。

ちなみに足で歩く生物は、地面との摩擦を常に考慮して
最適な歩き方をするようになっており、
同じモーションで歩こうとするロボットとは大きく異なります。
現状の技術として形態模写のレベルを上げようとすれば、
必然的に各センサの実装と有効利用が必要となることでしょう。


しばらくは白色の画用紙を用いますが、
技術に「色」がついてきたら、そのうち色付きの背景を使用します(笑)。


さて、動作について。

基本的には機体の「姿勢」を決定し、
その姿勢の移り変わりや条件分岐などで一連の動きを作る「モーション」、
それらの呼び出し条件などを決める「操作マップ」、
といった階層で制御が行われているようです。
(モードスイッチについては、起動後切り替えない・・・)


操作マップもいくつか切り替えができ、
純正で既に簡単な動作は用意されています。


・・・ん?

純正で既に動く・・・だと・・・?


以下アウトラインより

  ・対象のロボット制御に慣れる
→ ・逆方向(逆間接方向)に歩けるようになる ←


・・・まぁ、後で1から歩行モーションを作ってみましょう。
アリシアたんを動かす練習と思って。


まずは純正の動きをいくつか見ていきましょう。
今回は動画を準備しました。


まずは前進後退です。(音なし)


組立後はまず適当に原点出ししたため、
まさに「曲がりなりにも動く」感じですが・・・
なんか普通に動きすぎてつまりませんね(笑)。

さすがに純正のモーションはかなり余裕をもっている印象です。

横移動です。(音なし)


余裕すぎです。


あまりに余裕すぎる動きだったので、
過去ちょっと話題になったあの動き、

純正に登録されていたのでやらせてみました。(音なし)


サムネがいい味出してすぎですが・・・
速すぎて・・・消えた・・・


このように、平地では歩くことより、
転がることのほうが「速い」のですが、
「速い」だけでは生きていかれません。

そういえば昔「なぜ車輪動物はいないのか」という文が教科書に載ってましたが。
(「ゾウの時間 ネズミの時間/本川 達雄、中公新書」に収録)

「車はなぜ曲がるか?/三田村 樂三、山海堂」という本にも、
足で歩く生物のその技術に触れています。

私の考えで要約するならば、
「どのような軸と方向にも大きい加速度を生じることができる」
というメリットです。
確かに車輪だと速度を大きくすることができますが、
バイクでゴキブリを轢き殺そうとしてもできないでしょう。


話はいつものように逸れましたが、
次は純正の旋回モーションです。(音なし)


股関節のヨー軸はオプションで、私は追加していません。
このため、旋回はこのように地面の摩擦を使うことになります。

そうするとより原点の甘さが目立って、
左右の旋回速度が大きく異なっています。


だいたいこのロボットの動き、物理は分かりました。
それでは自分で少しだけモーション等を作っていきましょう。



■ 5.対策検討と実施

まずは純正の加速度センサによる補正有りのマップを流用し、
そこへモーションを追加します。

はじめてのモーションは、
重心位置を大きく変えないその場での動作が最適でしょう。


そう考えてこの活動の意義をプラスしたものがこちら。(音あり)


もちろん飛べません(笑)。

それほど独立制御する上で必要なバッテリーというものは重いです。
ちなみにロボット重量の公称値575gですが、そのうち
・単4水素ニッケル13g×4本=52g
・サーボモーター12.5g×15個=187.5g
・・・どちらかというとサーボが結構重かったですね(笑)。

なぜ飛べなかったのか?どうしたら飛べるのか?
このあたりが一番楽しいところでしょうが、
それはまた後の機会で。


■ 6.効果確認

ひとしきり遊べば制御の仕方はほとんど理解できました。
(制御ができているかどうかは別問題として)


組立時に外さなかったスピーカー。

その理由のやりたかったことって




「忍ペンまん丸 2巻/いがらしみきお、ガンガンコミックス」の
「巻の十一 伊賀と甲賀の戦い P.95〜96」より抜粋。

問題を指摘されたら消します(笑)。

じいやさんは既に自律歩行と加速度センサ、
そして音声出力を完成させていた・・・だと・・・


というわけでやってみた。(音あり)


歩行モーションなどの最中で、
変数129から加速度センサX軸の状態を監視しておき、
一定以上傾いたら別のモーションを割り込ませます。


別のモーション?

CUBEさんが「AMSかrギャアアアアア!!」って叫びながら転倒して
その後起き上がるモーションです。
「たすけてぇぇ」っていう音声は純正になかったので・・・。

起き上がりモーションは純正を調整したものを使用しました。


ちなみに変数表はなぜか「参考資料」というフォルダに入れられています。
まぁメーカーのサポートページにもありましたが・・・。
これがあるのとないのでは変数が使えるか使えないかになりますので。

ソフト側に現状の変数を一覧にするウィンドウがあればもっと楽かな?と思います。


と、まぁ無事制御にも慣れました(笑)。


■ 7.標準化及び今後の課題

おまけ。

純正モーションに釘宮ボイスをぶっこんだら
うちの兄が大喜びでした。



えー、第3話では、1から歩行モーション等を作ってみたいと思います(笑)。


第2話は以上です。
指摘や意見がありましたら、拍手か掲示板などで
一言頂けると幸いです。







pastupfuture