■KCB-3WL下基板 寸法図
KCB-3WLの下基板の寸法図を公開します。
なお、上基板の寸法図は製品付属の説明書(WA05600XX)SX-560-SDK Hardware Manual.pdf)の10ページをご参照下さい。
KCB-3WLの下基板の寸法図を公開します。
なお、上基板の寸法図は製品付属の説明書(WA05600XX)SX-560-SDK Hardware Manual.pdf)の10ページをご参照下さい。
KCB-3WLにIPフォンの機能を持たせると、ネットワーク経由で音声データ通信ができます。多くのWEBカメラにはマイク機能がついていますので、今回は普段使っているWEBカメラのマイクで拾った音をKCB-3WLを通じて、PCやAndroid携帯で聞くことにチャレンジします。
KCB-3WLには音声デバイスドライバーや、音声通信ソフトウェアなどの準備が必要となりますが、準備する手順が難しいため、弊社で用意したデバイスドライバーやソフトウェアをKCB-3WLにインストールしてデータ通信を行います。
クライアント側(PCなど)ではマイクとスピーカー、そしてWindows、MacintoshまたはAndroid用のlinphoneソフトウェア(IPフォンソフトウェア)が必要です。クライアント側で音を聞くだけならPC内蔵のスピーカーが使えます。
今回はKCB-3WLのシステムを修正し、普段ハードディスクのように使っているエリアをメモリーとして使用し、RAMを増やす作業も行います。
なお今回の記事内容につきましては、全てのデバイスにおいて動作保証をするものではありません。また各デバイスについての質問にはお答えいたしかねます。あらかじめご理解の上でご使用なさいますようお願いいたします。
下のリンクより、「kcb3wl_sound_modules.zip」ファイルをダウンロードしてあらかじめPCで解凍してください。解凍すると、「audio_driver.tar.gz」、「linphone_bin.tar.gz」、「readline.tar.gz」の3つのファイルができあがります。これらをKCB-3WLに下記手順で送信します。
>> kcb3wl_sound_modules.zipをダウンロード ![]()
注意:シリアルケーブルでデータを送るので、送信中はケーブルを触ったりしてノイズが入らないようにして下さい。
FTPでファイルを送る場合は、WindowsまたはMacintoshのFTPクライアントソフトウェアを使って、ファイルをKCB-3WLに送信してください。あるいはKCB-3WL付属のUbuntu Linuxへ書き込んでから、FTPでデータを送ることも出来ます。
ファイルのインストールや設定は、必ずrootユーザーにて行ってください。ファイルをtarコマンドで解凍する前に、かならず「/」ディレクトリへ移動してください。解凍する場所を間違えると動作しません。また、コマンドの先頭の「#」はプロンプトです。入力する必要はありません。
readlineライブラリは後述のlinphoneソフトウェアで使用します。
ライブラリはコピーしただけでは使えないので、シンボリックリンクを作成します。シンボリックリンクとはWindowsではショートカット、Macintoshではエイリアスのようなものです。
linphone_bin.tar.gzを解凍すると、/rootディレクトリに「linphonerc」というlinphone設定ファイルができあがります。このファイルの一部を修正します。ファイルの編集にはviエディタを使います。
簡易マニュアルを用意しましたので、詳しい使い方はこちらを参照してください。
>> vi簡易マニュアル(ここをクリック)
KCB-3WLではRAMをディスク代わりに使用していますが、音声データと画像データを同時に使う場合はRAMエリアを広げる必要があります。ここではviエディタでスタートアップファイル「/etc/init.d/rcS」を修正することで、メモリー領域を広げます。
total used free shared buffers
Mem: 14072 6216 7856 0 0
Swap: 0 0 0
Total: 14072 6216 7856
KCB-3WLで音声データ通信をするには、KCB-3WLで音声デバイスを認識させてから、linphoneサーバーを起動します。サーバーを起動する前にクライアントソフトウェアを準備をします。下の設定はWindows用のものです。

KCB-3WLでWEBカメラのマイクを認識するように設定します。
下記のファイルができあがります。
/dev/mixer (c 14 0)
/dev/dsp (c 14 3)
/dev/audio (c 14 4)
/dev/pcmC0D0c (c 116 24)
/dev/pcmC0D0p (c 116 16)
次回起動時からは(4)だけを行ってください。/etc/init.d/rcWに書き込むと起動時に自動実行します。

————–
~ # ./linphonec -c linphonerc -a
NLS disabled.
Ready
Warning: video is disabled in linphonec. Run with -V option to enable it.
linphonec> <sip:toto@192.168.1.6> is contacting you.
——-auto answering to call——-
Connected.
————–
今回はWEBカメラのマイク機能だけを使いましたが、KCB-3WLにUSBスピーカーを接続すると通話ができます。マイクとスピーカーをセットで使う場合はハウリングなどがおきる恐れがありますので、注意してください。また、通話にはPC側にもマイクが必要となります。
WEBカメラ+USBスピーカーなど2つ以上の音声デバイスを使用する場合は、USBハブが必要です。また、追加でデバイスを使用する際は、再度「mdev -s」コマンドを実行し、デバイスを使用するために必要なデバイスファイルを作成してください。複数の音声デバイスを使う場合は、KCB-3WLではデバイスがはじめに見つかった方が優先されます。先に付けた(認識された)デバイスが「/dev/dsp」、後び付けた(認識された)デバイスが「/dev/dsp1」とデバイスファイルに割り当てられます。例えば、USBスピーカー(playback_dev)を先に取り付け、WEBカメラのマイク(capture_dev)を後から取り付けた場合は、linphonercファイルを下のように書き換えてください。
playback_dev_id=OSS: /dev/dsp
ringer_dev_id=OSS: /dev/dsp
capture_dev_id=OSS: /dev/dsp1
カメラの画像も一緒に送りたい場合は、いつものようにuvc_streamコマンドを使います。linphoneを起動する前に、バックグラウンドで起動しておいてください。ただし今回はデータ量が多いため、解像度は320×240、フレーム数は5フレームくらいにする必要があります。このあたりはネットワークトラフィック次第ですので、ご利用状況に合わせて修正をしてください。
Android携帯(Sony Xperia)やiPhoneを使う場合は、アンドロイドマーケットやiTune Appsなどからlinphoneソフトウェアをダウンロードしてください。linphoneソフトウェアの設定はPCでの設定と全く同です。
今回の記事作成には神奈川工科大学 ロボット・メカトロニクス学科兵頭和人教授のご協力いただきました。どうもありがとうございました。
KCB-3WLのマニュアルにおける下記記載ミスなどを修正した、マニュアル第2版を公開いたします。
KCB-3WLマニュアル P.26、「ロボットの準備」にある表のRCB-3HV列の、「再生終了時」について
この変更により、Rcb3UdpServerを起動したときの下記のようなエラーが解消されます。
---------- ~ # ./Rcb3UdpServer -v UDP Port = 8000 , uart dev = /dev/ttyS0 rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) rcb3_get_ssw(): ssw = 0x2c : 0x08 (0x2c08) ... このままプログラムが終了してしまう ----------
KCB-3WLをご利用のお客様には大変ご不便をおかけして、申し訳ございませんでした。また、SDKマニュアルにはKCB-3WLでUSBメモリーを使う方法などを追加しています。KCB-3WLの購入をご検討中の方もぜひご覧になってください。
マニュアルはPDFファイルをZIP形式で圧縮しています。下記リンクよりダウンロードしてください。
実際にロボット本体としてKHR-3HVを使用して、KCB-3WLを搭載した動作例です。 KCB-3WLにはロジクール社製Webカメラを接続。画像をリアルタイムにパソコン側に送っています。 ロボット本体の動作は、KCB-3WLに接続したRCB-4により行っています。 動画では、最初にパソコン側に接続したコントローラでロボットを操作。カメラの映像がパソコンに表示されているのがわかります。 次に、コントローラ側から、カメラを取り付けたサーボだけを動かして、カメラからの映像と交互に紹介しています。
動画の最後に紹介するのは、応用編です。 カメラからの映像をパソコンのLCD画面で見るのではなく、ヘッドマウントディスプレイに出力しています。また、同時に、ヘッドマウントディスプレイに内蔵した加速度センサーとジャイロセンサーにより、デイスプレイの移動を検出してその動きをKCB-3WL側に同時に送り、カメラ位置を動かしています。ヘッドマウントディスプレイの映像を見ながら、操作しなおかつ、見た方向にロボット本体の視点(カメラ)も移動するデモです。
詳細製品説明ページはこちら
以下はKCB-3WLにインストールされているLinux OS(s3c-linux)で対応しているデバイスと、ネットワークとして接続を確認できた周辺機器のリストです。
以下のリストはKCB-3WL Ver.1.00(2010/7/29リリース版)において、適切なカーネルモジュールを組み込んだときに認識および動作が確認されたデバイスリストで す。このリストでは、デバイスが持つ全ての機能について動作保証をするものではなく、近藤科学株式会社ではこのリストに記載されている機器のサポートは一 切できませんので、あらかじめご了承の上でご利用なさいますようお願いいたします。なお、デバイスには現行商品ではないものも含まれています。
本リストは2010年7月29日におけるデータを元に作成しました。今後URLなどが変更になる可能性があります。
現在の使用では、USB1.1でUVC(USB Video Class)とmjpeg streamが対応しているUSBカメラのみ使用できます。
必要なカーネルモジュールはinput-core.ko、compat_ioctl32.ko、videodev.ko、v4l1-compat.ko、uvcvideo.ko、 (v4l2-common.ko、v4l2-int-device.ko)です。
ロジクール社のWEBカメラは下記リスト以外でもUSB1.1、mjpeg stream対応のものがあります。
USB-Ether有線LANアダプターはUSBコネクターに差し込み、本体にEthernetケーブルを差し込むとEthernetデバイスになるアダプターです。
必要なカーネルモジュールはusbnet.koです。
USBメモリーはほとんどのメーカーのものが使用できます。2GB以上はVFATフォーマットされていることが多いので、vfat.koモジュール を取り付ける必要があります。必要なカーネルモジュールはfat.ko、vfat.ko、usb-storage.ko、scsi_mod.ko、 sd_mod.koです。
HIDデバイスとして認識されるものはほとんど使用可能ですが、特殊キーなどについては未確認です。弊社ではデバイスの認識のみを確認したが、入力キーの判別などは行っていません。入力を読み取るにはカーネルモジュール以外にも読み取りプログラムが別途必要となります。
必要なカーネルモジュールはhid.ko、usbhid.ko、input-core.ko、mousedev.koです。
HIDデバイスとして認識されるものはほとんど使用可能ですが、特殊キーなどについては未確認です。弊社ではデバイスの認識のみを確認したが、入力キーの判別などは行っていません。入力を読み取るにはカーネルモジュール以外にも読み取りプログラムが別途必要となります。
必要なカーネルモジュールはhid.ko、usbhid.ko、input-core.ko、joydev.koです。
近藤科学社製シリアルUSBアダプターはカーネルモジュールを取り付けるときにベンダーIDなどが必要になります。
必要なカーネルモジュールはusbserial.koです。
USB無線LANアダプターまたはUSB無線LAN子機ともいいます。ソフトウェアアクセスポイント(AP)モードまたは親機モードが無いものは使用できないので注意してください。
確認したもののみ記載します。KCB-3WLではIEEE 802.11nは対応していないので注意してください。
上記リストに掲載されていないもので、動作が確認されている機器をご存じの方はwebmaster@kondo-robot.comへご連絡くださいますようお願いします。
KCB-3WL SDKに含まれるUbuntu Linuxですが、お使いのキーボードが合っていないときは次の手順で変更します。