■KHR-1自律ロボット作例

今回はKHR-1での自律ロボットを紹介します。

画像のKHR-1には前後左右に計4つのPSDセンサーを実装しています。これらのセンサーの値を読み取り、最も近い物体へKHR-1が向かうようにプログラムを組みました。

 

 <画像 クリックして拡大>

写真は「KCB-1でKHR-1を動かす①、」でKCB-1を実装したKHR-1にPSDを取り付けた画像です。頭部のフレームの前後と、両肩にPSDセンサーをひとつずつ取り付けました。

 

<ムービー (2.31 MB)>

画像のKHR-1を実際に動かした動画です。それぞれのPSDセンサーに手をかざすと、KHR-1が近づいてきます。

 

<サンプルプログラム ダウンロード>

サンプルプログラムは動画のKCB-1に書き込まれているものと同じです。以下はこのプログラムを説明します。

・サンプルプログラムの流れ:

①. ボードの初期化、RCB-1と通信開始。通信の準備ができたら赤LEDが点灯する

②. スイッチが押されるまで(AD2がHになるまで)待機している間、ニュートラル信号を流し続ける

③.スイッチが押されると、お辞儀モーションを一回再生

④ 無限ループ開始。ループ内では1回ループする度に必ずニュートラル信号を送信すること

⑤. 前後左右に取り付けたセンサーの値を読み取り、グローバルで宣言した配列に代入

⑥. センサーの値をバブルソートして、最も高い値を求める

⑦. バブルソートで求められた値を元に、モーション再生分岐

⑧. ④~⑦の処理を繰り返す

 

・解説:

②、④のように、モーションを再生していないときはなるべくニュートラル信号を送信するようにしてください。ニュートラル信号なしにモーションを再生すると、うまく動作しません。

⑥のバブルソートは複数の値の中で最も大きい値、または小さい値を求める処理です。詳しくは「センサーで目標を探す(KRS788使用)③」の解説をご覧ください。

カテゴリートップに戻ります。