デジタル機器」カテゴリーアーカイブ

タカラトミー ROBO-Q (2) 赤外線コマンドの解析

ROBO-Q のリモコンコマンドを調べてみました。

ROBO-Q 赤外線
コマンドは 7bit (最後は固定なので、data 6bit + 終端bit かもしれない)

先頭     終端
S S T T B B 0

SS = 速度
  00 = AUTO 等のコマンド送信
  01 = 前進 速度L
  10 = 前進 速度M
  11 = 前進 速度H

TT = ターン他 (bit が 1 の方の足を止める)
  00 = 前進 (両足とも止めない)
  01 = 右回転 (右足を止める) / 回避モード
  10 = 左回転 (左足を止める) / 回避モード
  11 = 追跡モード

BB = バンド
  00 = BAND A
  01 = BAND B
  10 = BAND C
  11 = BAND D


全部の組み合わせ

前進L   = 0100bb0
前進M   = 1000bb0
前進H   = 1100bb0
右回転L = 0101bb0
右回転M = 1001bb0
右回転H = 1101bb0
左回転L = 0110bb0
左回転M = 1010bb0
左回転H = 1110bb0
AI回避  = 0011bb0
AI追跡  = 0010bb0 / 0001bb0

移動はコマンドを送信し続ける必要があります。
何もコマンドが送られていない状態が停止です。

●解析に使用したもの

PC に USB 接続できる学習リモコンキットです。
BUFFALO と 玄人志向 どちらも同じものだそうです。

BUFFALO PC-OP-RS1
玄人志向 KURO-RS

●PC-OP-RS1 WindowsVista x64 用ドライバ

付属ドライバも web から落とせるドライバも Windows x64 に対応していません。
x64 で動作させるために下記のページを参考にさせていただきました。

プログラミング研究所 KURO-RSをWindows XP x64で使用する

上のページを参考にして FTDI Virtual COM Port Drivers の最新版を入れました。
これで PC-OP-RS1 を Vista x64 で使用することが出来ます。
以下詳細手順

● x64 ドライバ導入手順のメモ

(1) FTDI Virtual COM Port Drivers から 2.04.16 を download (CDM 2.04.16 WHQL Certified.zip)

(2) デバイスマネージャーから PC-OP-RS1 のデバイスIDを確認しておく
  不明なデバイスのままで構わない。
   プロパティ→詳細→ハードウエアID
  これで vid=0411, pid=00b3 であることがわかる

(3) (1) のアーカイブを展開しフォルダ内の *.inf ファイルを書き換える

2つあります。
どちらも [FtdiHw]/[FtdiHw.NTamd64] の項目の先頭行を複製して VID/PID を書き換える
だけです。[Strings] は書き換えなくてもインストールできました。

ftdibus.inf の対応する項目に追加する行(追加する行だけ記述)

[FtdiHw]
%USB\VID_0411&PID_00b3.DeviceDesc%=FtdiBus.NT,USB\VID_0411&PID_00b3

[FtdiHw.NTamd64]
%USB\VID_0411&PID_00b3.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0411&PID_00b3

[String]
USB\VID_0411&PID_00b3.DeviceDesc="USB Serial Converter"

ftdiport.inf の対応する項目に追加する行(追加する行だけ記述)

[FtdiHw]
%VID_0411&PID_00b3.DeviceDesc%=FtdiPort232.NT,FTDIBUS\COMPORT&VID_0411&PID_00b3

[FtdiHw.NTamd64]
%VID_0411&PID_00b3.DeviceDesc%=FtdiPort232.NTamd64,FTDIBUS\COMPORT&VID_0411&PID_00b3

[String]
VID_0411&PID_00b3.DeviceDesc="BUFFALO RemoteStation PC-OP-RS1"

ドライバインストール時は、上記フォルダを手動で指定します。
ドライバを検索せずにディスク使用まで持って行く。
KURO-RS でもおそらく同じです。

● PC-OP-RS1 を使ったデータ取り込み

すべて下記のページを参考にさせていただきました。
ツールも下記ページからダウンロードできる IrReceiver/IrSender を使用しています。

スーの道具箱/分解してみよう/PC-OP-RS1

● ROBO-Q 赤外線コマンドの信号

スーの道具箱/分解してみよう/PC-OP-RS1」によると、受信データは
0.1ms のサンプリング情報とのこと。
240byte x 8bit = 1920bit が 0.1ms 単位だとすると 192ms 分の情報が一度に
取れます。

実際にサンプリングした bit パターンを見てみると下記のようになっています。
実際には 1bit 程度の誤差が入ります。

111111111111111100000111111111100000111111000011111100000111110000011111111110000011111100000000

・信号と思われるところ = 5個並んだ1(H) または 10個並んだ1(H)
・区切り = 5個並んだ0(L)

よって
0.5ms の連続する H = データの 0
1.0ms の連続する H = データの 1
0.5ms の連続する L = 区切り

とみなすと、一番最初に書いた 7bit のデータが得られます。
データの先頭は 1ms 程度の H が続きます。

コマンドの長さは

1.0 + 1.5*6 + 1.0 = 11ms
1.0 + 1.0*6 + 1.0 = 8ms

なので、送信に 8~11ms かかります。
連続歩行の場合 170ms 程度の間を空けているようです。
スライダを L→H と移動する場合やターンの開始時などは、間無しにほぼ連続して
コマンドが送られています。

●障害物認識ユニット

障害物認識ユニットは、上記のコマンドとは全く異なるパターンが送られています。

1111110000000000111111000000

最初の H が 0.5ms でデータ区切りが 1ms あるためコマンドと区別可能です。
左右の違いが無かったため、どのように区別しているのかはまだわかりませんでした。

●参考にさせていただきました

下記のページが無かったら調べることが出来ませんでした。
JuJu 様、NMVL 様に感謝します。

スーの道具箱/分解してみよう/PC-OP-RS1
プログラミング研究所 KURO-RSをWindows XP x64で使用する

関連エントリ
タカラトミー ROBO-Q

タカラトミー ROBO-Q

非常に小さいです。

TAKARA TOMY ROBO-Q

ROBO-Q

とことこ歩きます。
付属のコントローラを使えば、こんなに小さいのに歩かせたり回転したりと操縦できるんです。
ゆっくり動けるので、EIZO のモニタの上の縁なども端から端まで歩くことが出来ました。

さらにユニークなのは自律モードがあること。
左右に障害物認識ユニット(マニュアルに記載された名称)があって、
障害物をよけたり目の前のものを追跡したりします。

コントローラは TV リモコンのように赤外線を使っています。
ロボット側の赤外線受光部はちょうど顔の位置、正面です。

赤外線なのでおそらくリモコンのようにパルス信号でコマンドを識別しています。
ROBO-Q は A BAND ~ D BAND と 4種類あり、4台までは同時に操作しても混信しません。
前進や回転などの赤外線コマンドも 4セット用意されているのだと考えられます。

ちなみに同じ BAND タイプの ROBO-Q が 2台あると、1つのコントローラで同時に
操作できます。

自律モードではいったいどうやって障害物を見ているんでしょう。
小さいし価格も安いし、あまり複雑な仕組みは使っていないはずです。
障害物認識ユニットはちょうど顔の横についており、それぞれ右側と左側の障害物を
感知できます。
このセンサー赤外線発信部にそっくりです。

ROBO-Q

おそらく想像ですが、コントローラと同じように左右に赤外線のコマンドを発信して
いるのだと思われます。
赤外線の届く距離をうまく調整すれば、目の前に障害物が来たときだけ反射して
顔の正面の受光部でコマンドを受けることが出来ます。
受光部は共有できるし仕組みも単純にできて非常にうまい方法だと思います。

考えられる赤外線コマンドの種類は下記の通り。

・両足を動かす x3速度
・左足を動かす x3速度
・右足を動かす x3速度
・AI回避モードへ移行
・AI追跡モードへ移行
・右側障害物認識ユニット
・左側障害物認識ユニット

前進は左右のコマンドを同時に送ってるだけかもしれません。
障害物認識ユニットも微弱ながら学習リモコンが反応しました。
まだ障害物の再現は出来ていないので想像の範囲を超えてないです。

ADTEC AD-MP15A 小型プロジェクター

ADTEC の小型プロジェクター AD-MP15A を手に入れました。

ADTEC AD-MP15Aシリーズ Bit LED Projector

わずか 15ルーメンで解像度は VGA 640×480。
ビデオ入力だけでなく VGA 端子もあるので PC 画面も映すことが出来ます。
VGA 入力信号は 640×480 または 800×600 に対応。

周りが暗く、かつ近い距離だと思ったよりもきれいに出ます。
ピントさえ合えば画像はくっきり。
30cm の距離で実測 8.2inch くらい。
夜明かり無しの暗闇だったら 1.6m で 39inch 程度。一応みれました。

AD-MP15A

↑PS3 の画面をビデオ入力で。背景がゆがんでるのはスクリーンがただの封筒だから。

周囲の明るさにかなり依存します。
黒い領域=スクリーンの色 となるわけですが、普段スクリーンが白に見える部屋で
あればそれはそのまま白です。
投影映像にはそれを打ち消して、スクリーンの色が暗く見えるだけの明るさが
必要となります。そのためには

・周囲を暗くする
・プロジェクタをスクリーンに近づける

のどちらかです。
また映像ソースにも依存するので、明るいシーンだと大丈夫でも背景が真っ黒な
暗いシーンになると見にくくなります。

・夜や暗い部屋で使用する
・バッテリー駆動で持ち歩けて VGA 入力のある超小型モニタとして
・スクリーンに非常に近づけて小さい画面を一人で見る
・比較的明るい画面が中心

といったケースが合っているかもしれません。

フォーカス調整可能な範囲が決まっています。
試したところ、だいたい 16cm~160cm くらいでした。

16cm = 4.5inch
30cm = 8.3inch
58cm = 15inch
95cm = 22inch
160cm = 39inch

小さいけれどそれなりに熱を持つのかファンが入っているようです。
音はわずかに聞こえる程度でほとんど気になりません。

本体サイズは非常に小さくバッテリーも内蔵して 147g。
バッテリー駆動時間は 40分。

AD-MP15A
↑側面にコネクタ類あり

右の赤いのはたまたま近くにあったサイズ比較用(?)のビジュアルメモリ(Dreamcast)で、
付属品ではないです。

コネクタやスイッチは全部側面にあります。裏はバッテリーカバー。
映像入力コネクタは独自なので専用のケーブルも必要となります。
ケーブルはどれも非常に細くできており取り回ししやすくなっています。

AD-MP15A
↑付属のケーブルと専用コネクタ

パッケージには三脚も同梱されています。
全体的に軽いので、ケーブルに引っ張られるとすぐに動いてしまうのは仕方ないところ。

スピーカーも内蔵されておりヘッドホン端子もありますがボリューム調整は出来ません。

個人的には気に入りました。
小さいし使いどころが限られてくるけど、今までとは違った活用方法が考えられます。
プロジェクターといえばこう使う、といった先入観さえ無ければ非常におもしろいと思います。
今後は同様の小型プロジェクタが登場して結構早いペースで進化するのではないでしょうか。

ニコン UP300x/UP300 を体験してきた。ヘッドマウントディスプレイ

試してきました。メディアポート UP300
Nikon MEDIA PORT UP 300x

ただの単眼式のヘッドマウントディスプレイかと思ったら違いました。
iPod など最近の「多機能メディアプレイヤーにヘッドホンとモニタが一体化しているもの」
といった方が正しいようです。

単体でメモリを 4~8GB 内蔵しており、音楽、画像、ムービーといった各種プレイヤー
機能が含まれています。
特に安い方のモデルには外部入力端子がなく、ディスプレイとして利用することが
できないあたりにこの商品の狙う位置が見えます。

本体は意外に軽く普通のヘッドホン感覚で使えます。
最初に行うのはディスプレイ部の位置あわせとピント調整です。

ダイヤルを回しきってもなかなかうまくあわなかったけれど、目よりも若干下で
ぴったり合う位置を発見。アームはかなり柔軟に動きます。

画面は思ったほど大きいものではなく、視界の中に PinP の小画面が浮いている感じ。
カタログの表現を借りると「1m 先に 17インチ相当」です。

単眼式なので、大迫力というよりは他のことしながら情報ウィンドウが片側に開いている
イメージでしょうか。解像度は VGA。

最初は片目の方が見やすいですが、設定がうまくいって慣れてくると両目をあけたままで
見えるようになりました。

WiFi も内蔵しており、ストリームでメディアを再生したり内蔵ブラウザで web 閲覧も可能。

ブラウザの操作はヘッドホン横のスクロールホイール+カーソルキーで行います。
解像度は 640×480 ながらサイズが小さいためフォントも大きめ。
制限されたボタン操作かつ描画や転送が重いので、残念ながら快適というほどでは
ありません。一応赤外線リモコンが用意されているようです。

たぶん携帯電話の方が速くて快適でしょう。
もし携帯電話の出力を表示できるならば、ワイヤレスキーパッド のようなワイヤレスの
Bluetooth キーボードも使って携帯メールなども快適に書けるだろうなと。

きっと歩きながら下を見て携帯の画面を注視し続けるよりも、
こんな感じで視界に浮いている方がまだ安全だと思います。見た目はともかく。

ヘッドホン内側には WindowsCE 5.0 のシールが貼られていました。
CE5 は WindowsMobile5~6 等にも使われているものです。

無線 LAN 内蔵で WindowsCE を採用したメディアプレイヤーといえば
Toshiba Gigabeat や Microsoft の Zune があります。
でも WindowsMobile のロゴではなかったことと、独自のメニュー構造に見えたので
これらと同じプラットフォームを利用しているわけではなさそうです。
アプリが作れたり XNA が動いたりしたら楽しいのですが無理っぽい。

あくまで多機能メディアプレイヤーであって、モニタとしての用途は限られています。
1万円高い UP300x にしか外部入力端子が無く、用意されているケーブルは iPod 用
などミニジャックのものだけ。

コネクタさえあわせればビデオ入力(コンポジット)は可能と思われますが、
他にどんな入力が可能かは明記されていませんでした。
(本体側はマルチコネクター端子という特殊なもの)
例えば S端子入力に対応しているかなど、ショールームのスタッフも問い合わせた
サポートの方も、わからないという以前に質問の意味や意図を理解していない様子でした。

PSP もインターレースに対応した PSP-3000 ならつながるとは思いますが、
反応速度等がわからないのでどこまでゲームに使えるかどうかは不明です。
携帯電話も以前は TV出力機能付きがありましたが今もあるかどうかわかりません。

メディア再生よりも、歩行ナビのような情報表示とかメール着信表示とか、
いつでも取れるテキストメモやメールとか、
ツールとしての活用の方がおもしろそうに見えました。

内蔵ブラウザではくっきりしたデジタル表示なのに、入力がもしビデオ端子のみ
だとしたら少々残念なところです。

またモーションセンサーも入っていますがあまり活用されていないようです。
スタッフの方も機能を知りませんでした。
頭の動きを感知できるので、情報を取り出してコントローラにしたりとかできたら
おもしろそう。(でもおそらくできない)

商品コンセプトもターゲットもメディアプレイヤーとして一般向けを狙っているようです。
でも一発目だし値段を考えても、もう少し新しい物好きの人に向けた深いところも
用意した方が良かったのではないかと感じます。
何でもやってくれる機能ではなく 何かできそうな機能が欲しい。

おもしろいし かなり欲しかったので 今後に期待します。

Eye-Fi Share 無線LAN内蔵 SDカード(2) 実験など、簡単な解析

●普通の SD カードリーダーが使える

Eye-Fi 付属の USB カードリーダーではなく、他のカードリーダーを使ってもソフトウエアの
インストールや無線 LAN 設定ができます。
実際に GREEN HOUSE の GH-CRHC35-U2 や ELECOM MR-C11BK で
インストールと設定変更ができました。
(ファームウエアの更新は未確認)

無線設定など Eye-Fi カードの機能アクセスのために、専用の USB アダプタを使用
しているわけではないようです。

ただしノート PC 内蔵のカードリーダーを使うと、PC 内蔵の無線 LAN アダプタと
電波が干渉するのかネット接続が切断されました。外付けのカードリーダーを使って
できるだけ本体から離した方が良いようです。

●マネージャー

Eye-Fi Manager は複数の PC にインストールできます。
同じアカウントでログインしておけば OK。
カードを差し込んで設定変更できますし、転送先 PC を切り替えながら使えます。

●転送の組み合わせ

転送先の組み合わせは次の 3種類です。

(1) Eye-Fi カード ==> インターネット共有サイト
(2) Eye-Fi カード ==> パソコンの指定フォルダ
(3) Eye-Fi カード ==> インターネット共有サイト + パソコンの指定フォルダ

一見ネットと関係ない (2) の場合でも、インターネットに接続してログイン
できなければ転送が行われませんでした。

純粋に認証のためかもしれないし他に理由があるのかもしれません。
例えば USB カードリーダーを使った Eye-Fi カードへのアクセスは無線 LAN 設定
だけであって、それ以外の設定はサーバーを経由している可能性があります。
つまり

 1. PC 設定をサーバーに書き込む
 2. Eye-Fi カードはサーバーから設定情報を受け取って動作を決定する

といった仕組み考えられます。
実際に複数の PC で無線 LAN 以外の設定は共有されていました。
メール通知のためかもしれません。

●隠しフォルダ

Eye-Fi カードのルートには EyeFi というフォルダがあり、中に

REQC
REQM
RSPC
RSPM

と 4つのファイルがあります。すべて 16KB 固定です。
このうち RSPM ファイルは直前の操作によって中身が上書きされています。
ログ取得を行った直後はログファイルの一部が書き込まれているし、無線LAN 一覧が
列挙されていることもあります。
カード内部にアクセスするための I/O ファイルのような感じ。

・設定された無線LANの列挙
・検出された無線LANの列挙(電波強度などの情報付き)
・テキストログ

アップロード履歴はログを元に Eye-Fi Manager で生成しているだけかもしれません。

●DHCP エラー

やはり自分の環境だと DHCP のエラーでつながらないことが多いようです。
つながるときもあります。今のところもう 1つのルータなら大丈夫。
回避用に固定 IP の設定も欲しいところです。

関連エントリ
Eye-Fi 無線LAN内蔵 SDカード 設定や感想やらはこちら