■KCB-1 アップデーター Ver.1.3.0 Rev.20100807
KCB-1 SDKのアップデーター Ver.1.3.0 Rev.20100807をリリースします。今回のアップデートではICS3.5への対応、RCB-3/4に接続されたセンサーの読み取りや、RCB-3のCOMポートからKRCのボタンデータ(コントロール入力値)を書き換える関数、RCB-4に接続されているサーボモーターを一斉に動かす関数などが追加されています。詳しい内容は下記のようになっています。
<アップデート内容>
- uart.h UART1(COM)にタイムアウトを付けられるようにした
- rcb3.h RCB-3のADポート読み込み、exput関数の追加
- rcb4.h RCB-4のAD/PIOなどの設定など
- ics.h ICS3.5に対応
<追加サンプルプログラム>
- ICS35_GetData: ICS3.5対応のサーボモーターからデータを取り込む
- RCB3_Exput: rcb3_exput_7Bcode関数のサンプルプログラム
- RCB4_AD_READ: RCB-4のADポートからのデータ読み込み
- RCB4_PIO: RCB-4のPIOポートからのデータ読み込み・書き出し
- RCB4_Servos: RCB-4に接続されたサーボモーターを複数同時駆動する
- RCB4_SingleServo: RCB-4でサーボモーターを単独で駆動する
<インストール前にご確認ください>
- 圧縮ファイルを解凍するとEXEファイルがありますので、ダブルクリックしてインストールしてください。
- インストールにはCD-ROMジャケットに記載されているシリアル番号が必要です。
- インストールにはKCB-1 SDK Ver.1.2.0までがすでにコンピューターへインストール済みであることが必要です。
ダウンロードはこちらから KCB1SDK_V13020100807.zip 
■Heart To Heart4 Ver.1.2.2 公開
Heart To Heart4の最新版Ver1.2.2を公開します。下記のリンクからダウンロードしてご利用下さい。ダウンロードされたフォルダの中には『Heart To Heart4ユーザーズマニュアルVer.2』が同封されております。マニュアルも一新しより見やすくなりましたので、合わせてご利用下さい。
ダウンロード:Heart To Heart4 Ver.1.2.2
※ダウンロード後、zipファイルを解凍してください。
※setup.exeを起動して手順に従いインストールしてください。
※既にHeart To Heart4をインストール済みの方は、以前のバージョンをアンインストールしてからsetup.exeを起動してください。
【主な追加・変更内容】
1.リンク機能が追加されました。ポジション編集画面を切り替えずにシームレスにリンク機能が実行できます。リンク機能ファイルは単独で保存可能でもちろん他のユーザーとのファイル交換もできます。
2.変換機能が追加されました。従来のADD、CHANGEなどはもちろん、REVERSEを拡張したMIRROR機能が追加されました。MIRROR機能を使うとREVERSEした位置を取り込むサーボモーターを任意に選ぶことができます。
3.変換機能のFRAME機能では%設定が可能になりました。全てのモーションのフレーム数を現在の何%とするといった設定ができるようになりました。
4.ポジション編集画面で現在のKHR-3HVのポジションを取り込み、反映させることができるようになりました。
5.ポジションパネルの配置をプロジェクト設定画面でまとめて行うようにし、ポジション設定画面では変更できないようにしました。
6.ポジション設定画面での画像設定をプロジェクト設定で変更できるようにしました。
7.プロジェクトブラウザでフィルツリーの表記を変更し見やすくしました。
8.明示的にプロジェクト設定画面を表示しなくともモーション再生などできるように変更しました。
9.前回使用したComポートを自動接続するように修正しました。
その他、修正・機能追加を行いました。
■KCB-1 SDKのRCB-4モーション再生コマンドの不具合の修正
KCB-1アップデーターVer.1.2.0 Rev.20091005において、rcb4_motion_play関数にM14以上の大きい番号を指定すると正しくモーションが起動できない不具合がありました。アップデーターは近日中にアップロードする予定ですが、今すぐに修正する必要があるユーザー様のために、修正部分のみ記載します。
rcb4.h
L199:
× unsigned int mot_addr;
○ unsigned long mot_addr;
L240:
× mot_addr = 4864 * (mn - 1) + 3000;
○ mot_addr = 4864;
mot_addr *= (mn - 1);
mot_addr += 3000;
240行の間違い行は訂正後3行に変更されます。修正後、M14以上のモーションを再生することができるようになります。
■KCB-1アップデーターVer.1.2.0 Rev.20091005
KCB-1 SDK のアップデータ(Ver.1.2.0 Rev.20091005)を公開します。今回のアップデートを適用すると、RCB-4に登録されたKHR-3HVのモーションを呼び出して再生できるようになります。
- RCB-4のモーション再生
- RCB-3のモーション呼び出しと同様に、モーション番号指定でのモーション再生命令(rcb4_motion_play)とKRCの入力をエミュレートする命令(rcb4_put_7Bcode)の両方が追加されました。いままでと同様の使い方でKHR-3HVを動作させることができます。
- ICS3.0対応
- ICS関連のプログラムはICSバージョン3.0対応となりました。ICS3.0対応サーボモーター(たとえばKRS-2552HVなど)を1.25Mbpsの高速通信により制御可能です。
- KRI-3でコントローラーの使用が可能に
- KRI-3を使ってKRCのコントロール入力値を読み取れるように、kri3.hも新規作成しました。KRI-3をSIO端子に接続し、kri3_getkey関数で簡単にボタンコードを読み取れるようになりました。
インストーラーにはそれぞれサンプルプログラムが用意されていますので、サンプルを参考にすればすぐにオリジナルのプログラムが作成できます。 なお、今回のアップデートファイルはVer.1.0(発売時のバージョン)からVer.1.1(前回のバージョン)までのアップデートファイルも含みます。
KCB-1 SDKをアップデートするには下のリンクからZIPファイルをダウンロードして、解凍してできたインストールプログラムを実行してください。インストールにはKCB-1 SDK付属CDROMのジャケットにあるシリアル番号が必要です。
ダウンロードはこちらから> KCB1SDK_V12020091005.zip
■サーボマネージャーforKRS-2346ICSマニュアル
KRS-2346ICSを外部のパソコンで設定するためのソフトウエアです。
■コントロールコード再生 モーション終了を知る方法
コントロールコードでモーションを再生したときに、一番ネックになるのがモーションの終了がわからないということです。モーションによって再生時間が違うため、モーションごとにwaitを調整しなくてはいけません。waitの調整がうまくいっていないとロボットが停止する可能性もあります。
そこで、RCB3のモーションを工夫して擬似的にモーションの終了フラグを作りたいと思います。

(画像1 クリックで拡大)
画像1が、終了の返事をもらう仕組みです。モーション開始時に、KCB-1のADとつないでいるRCB-3の空いているサーボ端子をHighにします。モーション終了時にHighにしていた端子をLowに落とします。こうすることで、ADがHighの間はモーション中、Lowになればモーションは終了ということがわかるようになります。
・KCB-1とRCB-3を接続する
次に設定したサーボ端子とKCB-1の接続です。接続ケーブルでRCB3のサーボ端子とKCB-1のアナログ端子を接続してください。この際、必ず真ん中の赤い電源ラインはコネクタからはずしてください。RCB-3のハイボルテージをアナログ端子に接続してしまうとマイコンが発熱し、破損します。はずしたコネクタはビニールテープなどを巻いてショートしないように気をつけてください。
・Heart to Heartでモーションを変更する
Heart to Heartで適当なモーションを読み出してください。
最初のPOSの空いているポートをHighに設定します(例ではCH5)。次にPOS7のコピーでPOS8を作ります。POS8では、さっきHigh出力にしたCH5をLowに設定します。Lowに設定する最後のPOSのSPEEDは1で十分です。(画像2)

(画像2 クリックで拡大)
・KCB-1のプログラム
コントロールコード再生のプログラムを変更します。
rcb3_put_7Bcode (BTN7B_RR);
while(ad_read(3) >= 500){} //RCB3がHighの間ここで待機
rcb3_put_7Bcode (BTN7B_NP); //ニュートラルコマンド送信
wait (300000); //完全に停止するまで少し待つ
上記は、以前公開したAutonomous_system_ccのモーション再生部分を一部変更したです。以前waitでタイミングを取っていた部分がwhile(ad_read(3) >= 500){}となっています。これは、AD3の値が500以上の間何もしないという処理です。モーションが終わってADポートがLowになったとき、条件を抜けてニュートラルを送ることができます。
以上の作業をすれば、モーションが確実に終了した後に次の命令に移れるため、モーション同士がぶつかって停止するなどのトラブルを避けやすくなります。お試しください。
■KCB-2アップデーターVer.1.1.0 Rev.20090410
KCB-2のアップデートファイルを公開します。
今回はタイマーを使ったカウンター機能が追加しました。PIO端子にパルスを入力すると、そのパルス数を読み取ります※。
使い方はKCB-2の各PIO端子にパルスを入力してグローバル変数を読み取るだけです。端子1つではアップカウントしかしませんが、両方に半位相ずれたパルスを入力するとダウンカウントも行います。
下記リンクを右クリックして、アップデートファイルをダウンロードしてください。ダウンロードしたファイルを解凍し、できたインストーラーをご利用ください。
KCB-2 アップデートファイル(KCB2_V11020090410.ZIP)
インストールを行うには、先にKCB-2 SDKをインストールをしておいて下さい。なお、インストール途中でKCB-2 SDK CDROMのジャケットに記載されたシリアル番号が必要となります。
※)注意事項: KCB-2のパルスカウント機能は1KHzタイマーを使った、ソフトウェアで読み取りですので、正確なパルス数を読み取るもの(いわゆるイベントカウンター機能)ではありません。またタイマー周期に依存しますので、非常に高速なパルス入力はカウントできません。あらかじめご理解の上ご利用なさいますようお願いします。