情報理工学部知能情報学科
知能情報学実験II AIBOプログラミング サポートページ
担当教員
D1クラス(水曜) 前田陽一郎、 D2クラス(木曜)満田隆
受講上の注意
・USBメモリーを使用しますので必ず持ってきてください。
・第3週〜第5週はC言語プログラミングを行いますので、C言語の参考書を持参してください。
授業内容と補足資料
第1,2週:PID制御
PID制御(補足資料、PDFファイル)
プログラムが動作しない場合、AIBOの裏面にある無線LANスイッチがONになっているかを確認してください。
第3,4,5週:運動学・逆運動学
間違った順運動学、逆運動学を掲載しているHPもありますので、注意してください。
課題のヒント
- C言語の三角関数の引数はラジアンで指定します。
- 三角関数を使用するには,math.hをインクルードし(#include<math.h>"),
コンパイル時に-lmオプションを使用する必要があります.(gcc -o test test.c
-lm)
- 円周率は,M_PI として定義されています.
- 運動学式が正しく求められているかを確認するためには、J2=J3=0としてJ1のみを回転させるなど,シンプルな軌跡を描いて確認するとよいでしょう。
- atanではなく、atan2を使ってください。
- 数式が正しいのに計算結果にnanと表示される場合にはいくつかの原因が考えられます。
可能性1:入力値が可動範囲外(原点に近すぎて、または遠すぎてアームが届かない)
可能性2:計算機の丸め誤差
たとえば、以下のプログラムを計算するとnanが表示されます.
printf("%f", sqrt(1. - 0.9 - 0.1));
膝を少し曲げたときの足先座標を入力してください.
3次元グラフについて
J1,J2,J3の回転範囲をfor文で3重にループさせて,足先の到達位置を細かく出力し,gnuplotのsplotで3次元グラフを描いている人が多いようです。この方法では,グラフの視点位置や,プロットの密度(関節の刻み幅)を上手に調節しないとグラフの形状を把握することは難しいと思います。参考資料のように2次元で可動範囲を示す方法もありますので参考にしてください。
第6週:4足歩行
crawl_f_20170531.xls (MS Office用)crawl_f.xlsではなく、こちらを利用してください。
(2017/5/31 crawl_f_rev_hagi2.xlsに間違いがあったため修正版に差し替えました。)
(4足歩行の参考としてください。本ファイルは鳴門教育大学技術教育講座伊藤陽介先生HPのcrawl_f.xlsを改変させて
いただいたものです。)
第7週:コンテスト
コンテスト歴代記録
1.5M 直線コースタイムトライアル部門 ― 3.56秒 (2007年度 木後H班)
2017年度優勝タイム 木前A班 3.75秒
AIBOの経年劣化によるためか、年を経るごとにタイムは落ちていたのですが、久々に良いタイムが出ました。
段差乗り越え部門 ― 4.8cm (2006水後B班、2007木後H班、2009水前E班)
2006年度コンテストで見られた面白い歩行の動画
猪突猛進 ひざ歩き 横歩き くも歩き? よじ登り
2007年度コンテストで見られた面白い歩行の動画
2008年度コンテストで見られた面白い歩行の動画
1 2 3 4 5 6 初めて2足歩行(?)が登場しました!
2009年度コンテストで見られた面白い歩行の動画
1 2 3 4 5 6 逆立ち歩きが登場!