KCBサポート » ソフトウエア »


■KCB-1 SDKとRCB-4HVでモーションを再生したときの不具合について

関連カテゴリー:KCB-1, アップデート, ソフトウエア

KCB-1 SDKを使ってrcb4_motion_play関数でモーションを再生すると、停止してしまう場合があります。この不具合は下記の要件により発生します。

  • KCB-1 SDK Ver.1.3aまでの全バージョン
  • RCB-4HVを使用
  • rcb4_motion_playを使用
  • HeartToHeart4 Ver.1.3以降でモーションを書き込んだ

HeartToHeart4 Ver.1.3以降ではメインループのアドレスが移動したため、モーション再生後にメインループに戻れなくなり動作が停止します。下記のようにKCB-1 SDKに含まれる、rcb4.hの一部を修正していただくと解消します。

 

【rcb4.h 164行目】

	誤)#define RCB4_MAINLOOP_LOW   0xFD
	正)#define RCB4_MAINLOOP_LOW   0xFE
■この記事へのリンクはこちらです。

■KCB-1 SDK Ver.1.3aアップデート

関連カテゴリー:KCB-1, KCBサポート, アップデート, ソフトウエア

KCB-1で弊社製サーボモーターのID番号などを変更するソフトウェア、ICS2Configが、ICSバージョン3.0、3.5に対応し、名前も「ICSConfig」に変更しました。サーボモーターの通信速度も変更できるようになりました。

ICSConfig.exeを起動するにはMicrosoft .Net Framework 2.0が必要です。Windows XPサービスパック2以降、Windows Vista/7では標準でインストールされています。

今回はKCB-1に書き込むICSConfig.motファイルとPC側で使用するICSConfig.exeプログラムの両方のソースコードがついています。またKCB-1 SDKにICSConfig.exeとKCB-1との通信コマンドを記載しました。ICSConfig.exeのソースコードを編集するにはMicrosoft Visual C# 2010が必要です。

ソースコードの複製および修正に制限はありませんが、不特定多数への再配布はできません。

 

下記URLからZIPファイルをダウンロードして解凍すると、「Ver.1.3.a Rev.20110221アップデータ(ICSConfig)」フォルダのなかに「はじめにお読みください.txt」と新しいKCB-1 SDKマニュアルがあります。最初に「はじめにお読みください.txt」を読んでからご使用ください。

 

ダウンロード: KCB1SDK_V13a.zip

■この記事へのリンクはこちらです。

■KCB-1 アップデーター Ver.1.3.0 Rev.20100807

関連カテゴリー:KCB-1, KCBサポート, アップデート, サポート, ソフトウエア, テクニカルガイド

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 ZIP File

■この記事へのリンクはこちらです。

■KCB-1 SDKのRCB-4モーション再生コマンドの不具合の修正

関連カテゴリー:KCBサポート, アップデート, サポート, ソフトウエア

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

■この記事へのリンクはこちらです。

■RCB-1 ID設定マニュアル

関連カテゴリー:KHR-1, サポート, ソフトウエア, 製品マニュアル

RCB-1 ID設定マニュアル(PDF)

RCB-1のID設定用のソフトウエアです。

■この記事へのリンクはこちらです。

■サーボマネージャーforKRS-2346ICSマニュアル

関連カテゴリー:サポート, ソフトウエア, 製品マニュアル

サーボマネージャーforKRS-2346ICSマニュアル

KRS-2346ICSを外部のパソコンで設定するためのソフトウエアです。

■この記事へのリンクはこちらです。

■ICS3.0シリアルマネージャー B 

関連カテゴリー:ICS, サポート, ソフトウェア, ソフトウエア

最新版のソフトウエアが公開されています。こちらをご覧ください。

ICS3.0シリアルマネージャ-B 2009年6月9日公開

KRS-6003HVが対応するISC3.0用のサーボマネージャー最新版です。
不具合修正のほか、機能追加されています。ぜひご利用ください。
使用するには、インターフェースとしてICS−USBアダプターまたはICS-USBアダプターHSが必要です。
ファイルは圧縮ファイルで提供されており、シリアルマネージャーのソフトウエアとマニュアルが含まれます。

■この記事へのリンクはこちらです。

■コントロールコード再生 モーション終了を知る方法

関連カテゴリー:サポート, シリアル通信, ソフトウエア, 自律ロボット

 コントロールコードでモーションを再生したときに、一番ネックになるのがモーションの終了がわからないということです。モーションによって再生時間が違うため、モーションごとに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, アップデート, サポート, ソフトウエア

KCB-2のアップデートファイルを公開します。

今回はタイマーを使ったカウンター機能が追加しました。PIO端子にパルスを入力すると、そのパルス数を読み取ります※。

使い方はKCB-2の各PIO端子にパルスを入力してグローバル変数を読み取るだけです。端子1つではアップカウントしかしませんが、両方に半位相ずれたパルスを入力するとダウンカウントも行います。

下記リンクを右クリックして、アップデートファイルをダウンロードしてください。ダウンロードしたファイルを解凍し、できたインストーラーをご利用ください。

 

KCB-2 アップデートファイル(KCB2_V11020090410.ZIP

 

インストールを行うには、先にKCB-2 SDKをインストールをしておいて下さい。なお、インストール途中でKCB-2 SDK CDROMのジャケットに記載されたシリアル番号が必要となります。

※)注意事項: KCB-2のパルスカウント機能は1KHzタイマーを使った、ソフトウェアで読み取りですので、正確なパルス数を読み取るもの(いわゆるイベントカウンター機能)ではありません。またタイマー周期に依存しますので、非常に高速なパルス入力はカウントできません。あらかじめご理解の上ご利用なさいますようお願いします。

■この記事へのリンクはこちらです。