■センサーで目標を探す(KRS788使用)①
ビーチフラッグや、自律バトル競技など、自律ロボット競技に参加するためには、目標を探す処理が必要になります。今回はKRS788を頭部に使用して物体を探すプログラムを解説します。
・目標を探すには
目標を探す方法のひとつに、頭部を旋回している間に一定のタイミングでアナログ値を読み取り、最大値を求めるという方法があります。PSDセンサーや超音波センサーは、物体が近いほど高い値を示します。ビーチフラッグや自律バトル競技の場合、フィールド上で最も近い物体が目標になる確率が高いので、読み取った値の最大値を目標と判断し、その方向へ近づくプログラムを組みます。

(画像1 クリックで拡大)
画像1はロボットが目標を探しているところを、上から見た図です。0~24の番号はアナログ値を取るタイミングと順番です。
・プログラム作成の流れ
1) 頭部を180°旋回させるモーションをつくり、その動作時間を計る
2) 頭部が旋回している間にセンサーの値を読み取る
3) どの物体が一番近いのかを求める
4) ロボットを物体の方向に歩かせる
・用意するもの
1) 頭部を180°旋回させるモーションをつくり、その動作時間を計る
・モーション作成
まず、首を180°旋回するモーションをHeart to Heartで作成します。下記の三つのモーションを作ってください。
- モーション①. 頭部を正面(ホームポジション)から左に向かせる
- モーション②. 左に向いた頭部を180°旋回して右に向かせる
- モーション③. 右に向いた頭部を正面(ホームポジション)に向かせる
モーションを3つに分けた理由は、アナログ値を読むモーション②を別にして、読み込むタイミングを正確に取るためです。
・モーション②の移動時間を測る
左に向いている頭部が右へ動きだしたところから、右に向いて停止するところまでの時間を計ります。計った時間を分割してアナログ値を読む取るタイミングを取ります。
②へ続く
■KCB-1 SDK Ver.1.0a Rev.20080510
KCB-1 SDKのアップデーターVer.1.0a Rev.20080510を公開いたします。
このアップデーターを適応すると、EEPROMにフルアクセスできるようになります。ただしモデル番号が「KONDO E-135701B」でバーコードシールに「Ver.1.00」のKCB-1をお持ちのお客様は、そのままではお使いいただけませんので、KCB-1を弊社サービス部までお送り下さい(詳しくはこちらをご覧下さい)。
また、ics2.hに若干の修正を加えました。
このアップデーターはVer.1.00 Rev.20080318の更新ファイルも含んでいますので、アップデーター適応後のバージョンは「Ver.1.0a Rev.20080510」となります。最新マニュアルPDFファイルも同時にインストールされます。
本アップデータからアンインストーラー対応となりました。アンインストールはスタートメニューからアンインストーラーを起動するか、コントロールパネルの「プログラムの追加と削除」から実行して下さい。アンインストールを実行するとスタートメニューに登録されたプログラムグループとレジストリ情報が削除されます。SDKファイルやサンプルフォルダなどは削除しませんので、手動にて削除して下さい。
下にあるアップデータをダウンロード後、 実行して、更新プログラムの指示に従って下さい。なおSDK更新には
1.KCB-1 SDKに付属のCD-ROMジャケットにあるシリアル番号
2.KCB-1 SDKがコンピューターへインストール済みであること
が必要です。また、更新プログラムの実行は管理者権限で行うようにして下さい。
ZIPファイルを解凍すると、KCB1SDK_V10aR20080510.exeができあがります。
実行して、更新プログラムの指示に従って下さい。
<ダウンロードKCB-1 SDK 更新プログラム>
□ 更新プログラムは、KCB-1 SDKファイルを上書きしますので注意して下さい。KCB-1 SDKをすでにカスタマイズされている方は複製を保存して下さい。
■2種類のモーション設定の違い
KCB-1とRCB-3をつないでのモーション再生方法は下記の2種類あります。
①コマンド再生 (rcb3_motion_play)
②コントロールコード再生 (rcb3_put_2Bcode / rcb3_put_7Bcode)
これらの再生方法には、Heart to HeartのオプションによるRCB-3の設定と、KCB-1とRCB3の接続に違いがあります。表1に違いをまとめたので、これを元に解説をしていきます。
RCB3のオプション設定とボードの接続方法 ()内は解説番号です。
| |
|
|
① rcb3_motion_play(コマンド再生) |
② rcb3_put_XBcode(コントロールコード再生) |
| Heart to Heart |
チェック項目 |
モーション終了時に返事をもらう |
○指定する(①-1)
|
×指定しない(②-1) |
| 送信機でのモーション・シナリオ再生を有効にする |
×指定しない(①-2) |
○指定する(②-2) |
| KRC-1から制御する |
△どちらでもよい(①-3) |
△2Byteのときのみ指定(②-3) |
| モーション選択項目 |
電源投入後、モーション・シナリオを再生する |
OFFを選択(start upはKCB-1から再生)(①-4) |
RCB-3から再生(②-4) |
| 通信ケーブル・ポート |
ケーブルの違い |
クロスケーブル |
接続ケーブル |
| RCB-3側接続ポート |
高速シリアルポート |
低速シリアルポート |
①コマンド再生
コマンド再生は高速シリアル通信でロボットを動かす関数です。再生方法は簡単ですが、モーション内分岐ができないため連続した動作ができません。
・Heart to Heartのオプション設定
- モーション終了の返事をもらってから次の処理に移るので、
「モーション再生終了時に返事をもらう」には必ずチェックを入れてください。
- 「送信機でのモーション・シナリオ再生を有効にする」にはチェックを入れないでください。RCB-3が受信機とつながっている場合に誤動作をする場合があります。
- 「KRC1から制御する」は低速シリアル通信の設定なので、チェックの必要はありません。
- 「電源投入時にモーション・シナリオを再生する」はOFF設定にして、スタートアップモーションはKCB-1から再生するようにしてください。
・通信ケーブルの種類と接続
ストレートケーブルで接続をすると、KCB-1の送信とRCB-3の送信、受信と受信がぶつかり、通信ができないため、接続にはクロスケーブルを使います。
・電源について
電源はKCB-1のシリアルポートとRCB3の空いているサーボ端子を接続してください。その際、通信線(白線)を必ず抜いてください。
②コントロールコード再生
コントロールコード再生は送信機と同じコマンドを低速シリアルで通信して、ロボットを動かす関数です。モーション内分岐ができるため連続歩行などが可能ですが、モーション終了後に返事が返ってこないため、プログラムに工夫が必要です。
・Heart to Heartのオプション設定
- コントロールコード再生のときはモーション終了の返事が来ないため、「モーション終了時に返事をもらう」にチェックの必要はありません。
- KCB-1は送信機と同じコマンドをRCB-3の低速シリアルに送信してモーションを再生するので、「送信機でのモーション・シナリオ再生を有効にする」にチェックを入れてください。
- 2Byteモードでモーションを再生するときは「KRC1から制御する」にチェックを入れてください。7Byteモードで再生するときはチェックをはずします。
- 「電源投入時にモーション・シナリオを再生する」を設定し、KCB-1起動後にstart upモーション再生終了を待ちます。KCB-1から再生してもかまいませんが、RCB-3のが起動するまでしばらく待つ必要があります。
・通信ケーブルの種類と接続
通常の接続ケーブルをKCB-1のCOMポートとRCB3の低速シリアル接続端子に接続してください。
・電源について
電源はKCB-1のシリアルポートとRCB3の空いているサーボ端子を接続してください。その際、通信線(白線)を必ず抜いてください。
■KCB-1 EEPROMに関する不具合について
平成20年4月25日
平素は格別のお引き立てにあずかり、厚くお礼申し上げます。
KCB-1は128KByteのEEPROMを2個実装しておりますが、各EEPROMの使用可能容量が64KByteまでに制限されていたという不具合が見つかりました。
対象商品は、基板上に記載されているモデル番号が「KONDO E-135701B」で、化粧箱のバーコードシールに「Version 1.00」と記載されているKCB-1です。
お客様におかれましては、大変なご迷惑をおかけいたしましたことを深くお詫び申し上げます。つきましては、対象製品をお求めのお客様には、仕様通りお使いいただけるよう無償修理を行います。
お手数ではございますが、以下の対象商品を弊社サービス部(宛先はこちらを参照下さい)まで、着払いにてご郵送下さい。また修理完了確認のため、動作試験プログラムを書き込みますので、KCB-1に書き込まれているプログラムは消去させていただきます。あらかじめご了承の上お送り下さい。なお補修後のボードバージョンは1.0aとなります。
今後このようなことのないよう、万全を期して望む所為でございます。なにとぞ変わらぬご愛顧を賜りますようお願い申し上げます。
記
対象商品 KCB-1 モデル番号:KONDO E-135701B Version 1.00
以上
なおこの修正に伴い、KCB-1 SDKも近日中にアップデート予定です。
■超音波センサー(受信部)
KHR4thアニバーサリーにて行われる自律ビーチフラッグ大会に、心強い味方「USRX-1 超音波センサー(受信部)」が発売されます!
フラッグから発信する中心周波数40kHzの超音波を受信し、フラッグの位置を知るためのセンサーです。
このセンサーは、KCB-1のアナログポートに差し込み、関数を書き込めばすぐにアナログ値を検出できます。また、約5mまでならフラッグの方向を検出できますので、サッカーコートのどこにいてもフラッグを見つけることが可能です。
また、USTX-1 超音波センサー(送信部)の発売も予定されていますので、ご自宅での実験も可能です。
販売はロボスポット限定です。また、KHRの頭部に取り付けの際は専用のフレームもありますので是非ご利用ください!

■KCB-1対応のRCB-3について
今回はKCB-1対応のRCB-3についてのアナウンスです。
KCB-1はRCB-3HV、RCB-3J共に動作しますが、RCB3 HVver.1.03のみ非対応になっています。
KCB-1同梱のアップデートクーポンでRCB-3ver1.03からRCB-3ver1.1aへ無償アップデートを行うことができます。
受付は弊社へ郵送していただくか、すぐにアップデートしたい方はロボスポットでも行っております。
アップデートを申し込む際には必ずHeart to Heartのインフォメーションでバージョンを確認してください。
アップデートに関する詳しい情報はこちらです。
■KCB-1の寸法について
KCB-1の寸法を公開します。下からダウンロードしてください。
<ダウンロード KCB-1穴位置図.pdf>
KCB-1の実装にご利用ください。なお、KHR-HVシリーズに実装される方はこちらもご覧ください。
※このデータは転載・再配布を禁止します。
■2008年KHR 4th アニバーサリー情報
毎年6月に行っているKHRアニバーサリーを今年も行います。その中で、今年はKCB-1を使った自律ロボット大会を開催いたします!
競技内容は、自律バトル大会とビーチフラッグです。
自律バトル大会は、今まで手動で行っていたバトルを全てプログラム制御で行います。
ビーチフラッグは対戦相手より先に旗を倒せば勝ちというシンプルな競技です。
自律バトル大会はオープンクラスとKHRクラスの二部門です。日時等の詳細はこちらか、下のバナーをクリックしてください。
自律という新しいステージを一緒に盛り上げましょう。皆様のご応募お待ちしております!

※KHR 4th アニバーサリーは終了いたしました。たくさんのご参加、ご来場誠にありがとうございました。
■自律ロボットデモムービー公開!!
自律ロボットビーチフラッグ大会に向けてムービーを公開します。
ムービー再生はこちらです。
ムービーが始まって最初に写るロボットはコントロール入力値(Autonomous_system_cc)でモーションを再生させています。連続歩行モーションが特徴です。起き上がり、旋回をしてある程度フラッグの方向に向かせたあとで、前進をさせています。数歩進んでフラッグを探し、見つけた後は首のふり幅を狭くするなど、状況によって動作を変化させています。
反対側に小さく見えるロボットはrcb3_motion_play(Autonomous_system_mp)で動作しています。連続歩行はできませんが、KCB-1がRCB3からモーション再生終了後に返事を受け取ることでモーションの間に無駄がなく、サクサクと動き回ります。
デモムービーの試合時間は約1分30秒です。
■自律ロボット作例
今回は自律ロボットの作例を紹介します。
使用センサー:
-
SHARP社製GP2D12 PSD距離計測センサー(頭部 x 1、 足部先端 x 2)
(現在はGP2Y0A21YK0Fが販売されております)
両足のセンサーで壁を検知し、頭部のセンサーで目標を探します。肩部の加速度センサーは起き上がりの分岐に使用しています。また、腰関節をピボットターンユニットに交換することによって、KHR-2HVの細かい旋回を可能にしました。
自律ロボットの詳しい情報はこちらをご覧ください。
<自律ロボット制作例マニュアル>
ビーチフラッグ用のサンプルプログラムも公開しています。下からダウンロードしてください。
<サンプルプログラム ダウンロード>
今大会はセンサーの制限はありませんので、競技レギュレーションに準拠していればどんなセンサーも実装可能です(*1。
フラッグ(目標)には超音波送信機を実装しています。この信号を頼りにフラッグの位置を認識するのもいいし、フラッグ表面の赤を認識して探すのもいいかもしれません。
*1 機体から超音波を送信することは禁止ですので注意してください。