ROBOTIS e-Manual v1.14.00
[AX-S1]
AX-S1は、センサ装置として、ロボットの目と耳の役割をしています。物体の距離、周囲の明るさ、熱、音を感知する機能が内蔵され、赤外線リモコン受信部も組み込まれています。また、
音を発生させる機能もあります。 AX - S1は、AX - 12 +と外形及び通信方式は同じでうあるが、サーボモータで動作するものではありません。
AX - S1の通信方法と通信に関連するハードウェアの構成は、ダイナミクセルAXシリーズと同じです。
重量:37g
解像度:10bit(1024)
動作温度:-5℃〜+85℃
使用電圧:9〜12V(推奨電圧11.1V)
最大電流:40mA
Command Signal:Digital Packet
Protocol Type:Half duplex Asynchronous Serial Communication(8bit、1stop、No Parity)
Link(Physical):TTL Level Multi Drop(daisy chain type Connector)
ID:254 ID(0〜253)
通信速度:7843bps〜1 Mbps
Feedback:Infra - red Sensor、Internal Mic、Temperature、Input Voltage、IR Remocon Tx / Rx Data、etc。
Material:Engineering Plastic
Control Tableはダイナミクセルの内部に存在する値で、ダイナミクセルの現在の状態と駆動に関するDataで構成されています。
ユーザーは、Instruction Packetを通じてControl Tableのデータを変更することにより、ダイナミクセルを制御することができます。
EEPROM and RAM
RAM Areaのデータは、電源が印加されるごとに再度初期値に設定されます。しかし、EEPROM Area データ場合、値を設定すると電源がOffになってもその値が保存されます。
Address
Addressは、データの位置です。ダイナミクセルにデータの書き込みや読み取りをするためには、PacketにそのデータがあるAddressを指定しなければなりません。
アクセス
ダイナミクセルデータには、読み取り専用(R)と読み書きが可能なもの(RW)の2つがあります。読み取り専用(R)は、主にセンシング用に使用されるデータであり、
読み書きが可能なもの(RW)は、駆動のためのデータです。
初期値
Control Tableの右に表示される初期値は、EEPROM領域のデータの場合、工場出荷値であり、RAM Areaデータの場合は、電源が印加された時の初期値です。
上位バイト/下位バイト
ControlTableには、名称は同じでありますが、(L)と(H)が後ろについてAddressが区分されているものがあります。これは、16bitが必要なデータを8bitずつ
各Address(low、High)に分けて表現したものです。この2つのAddressは、1つのInstruction Packetに同時にwriteされなければなりません。
Area |
アドレス(16進数) |
名称 |
意味 |
アクセス |
Initial Value (Hexadecimal) |
E E P R O M |
0 (0X00) |
モデル番号の下位バイト |
R |
13 (0X0D) |
|
1 (0X01) |
モデル番号の上位バイト |
R |
0 (0X00) |
||
2 (0X02) |
ファームウェアのバージョン情報 |
R |
- |
||
3 (0X03) |
ダイナミクセルID |
RW |
100 (0X64) |
||
4 (0X04) |
ダイナミクセル通信速度 |
RW |
1 (0X01) |
||
5 (0X05) |
応答遅延時間 |
RW |
250 (0XFA) |
||
16 (0X10) |
応答レベル |
RW |
2 (0X02) |
||
R A M |
26 (0X1A) |
左側の赤外センサ値 |
R |
- |
|
27 (0X1B) |
中央の赤外線センサ値 |
R |
- |
||
28 (0X1C) |
右側の赤外線センサ値 |
R |
- |
||
29 (0X1D) |
左側の照度センサ値 |
R |
- |
||
30 (0X1E) |
中央の照度センサ値 |
R |
- |
||
31 (0X1F) |
右側の照度センサ値 |
R |
- |
||
32 (0X20) |
赤外線物体感知有無 |
R |
- |
||
33 (0X21) |
光感知有無 |
R |
- |
||
35 (0X23) |
現在音の大きさの値 |
R |
- |
||
36 (0X24) |
最大音の感知値 |
RW |
- |
||
37 (0X25) |
音の感知回数 |
RW |
- |
||
38 (0X26) |
音感知時間の下位バイト |
RW |
- |
||
39 (0X27) |
音感知時間の上位バイト |
RW |
- |
||
40 (0X28) |
ブザー音階 |
RW |
- |
||
41 (0X29) |
ブザー吹鳴時間 |
RW |
- |
||
44 (0X2C) |
Instructionの登録状況 |
RW |
0 (0X00) |
||
46 (0X2E) |
新しいリモコンのデータの到着 |
R |
0 (0X00) |
||
47 (0X2F) |
EEPROMのロック |
RW |
0 (0X00) |
||
48 (0X30) |
受信データパケットの下位バイト |
R |
- |
||
49 (0X31) |
受信データパケットの上位バイト |
R |
- |
||
50 (0X32) |
送信データパケットの下位バイト |
RW |
- |
||
51 (0X33) |
送信データパケットの上位バイト |
RW |
- |
||
52 (0X34) |
赤外線物体感知基準値 |
RW |
- |
||
53 (0X35) |
光感知基準値 |
RW |
- |
ダイナミクセルのモデル番号です。
ダイナミクセルファームウェアのバージョンです。
ダイナミクセルを識別するための固有の番号です。
0〜253(0xFD)まで使用可能で、254(0xFE)はブロードキャスト(Broadcast)のIDとして特別に使用されます。
Instruction packetを送信するとき、ブロードキャストのIDを使用すると、すべてのダイナミクセルに命令を下すことができます。
接続されたダイナミクセルのIDが重複しないように注意してください。 |
コントローラと通信するための通信速度です。
0〜254(0xFE)まで使用可能で、計算式は次のとおりです。
Speed(BPS) = 2000000/(Data+1)
Data |
設定BPS |
目的BPS |
誤差 |
1 |
1000000.0 |
1000000.0 |
0.000 % |
3 |
500000.0 |
500000.0 |
0.000 % |
4 |
400000.0 |
400000.0 |
0.000 % |
7 |
250000.0 |
250000.0 |
0.000 % |
9 |
200000.0 |
200000.0 |
0.000 % |
16 |
117647.1 |
115200.0 |
-2.124 % |
34 |
57142.9 |
57600.0 |
0.794 % |
103 |
19230.8 |
19200.0 |
-0.160 % |
207 |
9615.4 |
9600.0 |
-0.160 % |
参考:UARTはBaudrate誤差が3%以内であると、通信に支障がありません。 |
コントローラからInstruction Packetを受信した後、Status Packetを返還するまでの時間です。
0〜254(0xFE)まで使用可能であり、単位は2usecです。
例えば、値が10の場合、20 usecだけ時間が経過した後にStatus Packetを応答します。
状態パケット(Status Packet)の変換方式を決定します。
値 |
動作方式 |
0 |
すべての命令に対して変換しない(ただし、PING命令は除く) |
1 |
READ命令に対してのみ変換する。 |
2 |
すべての命令に対して変換する。 |
参考:命令パケット(Instruction packet)のIDがブロードキャストIDの場合は、この値に関係なく状態パケット(Status Packet)が変換されません。 |
Dynamixel Sensor Moduleの赤外線センサ値で、センサの方向に物体があると判断する基準値を設定します。赤外線センサ値がこの基準値より大きい場合、
物体が一定距離内にあるということなので物体感知有無値(IR Obstacle Detected、Address 0x20)のそのセンサに対応するビットが「1」に設定され、基準値より小さい場合、一定距離の外ににある場合ですので「0」に設定されます。
距離感知基準値(IR Obstacle Detect Compare Value)は、ROM(Address 0x14)とRAM(Address 0x34)の2ヶ所に割り当てられていますが、電源がOnになる時にEEPROMの値がRAMにコピーされます。
Dynamixel Sensor Moduleの照度センサ値で照明がついていると判断する基準値を設定します。照度センサ値がこの照度感知基準値より大きい場合、照度が一定の照度より高いことですので、
照度感知有無(Light Detected)のそのセンサに対応するビットが「1」に設定され、基準値より小さい場合、照度が基準よりも低いということなので「0」に設定されます。
照度感知基準値(Light Detect Compare Value)は、ROM(Address 0x15)とRAM(Address 0x35)の2ヶ所に割り当てられていますが、電源がOnになる時にEEPROMの値がRAMにコピーされます。
赤外線距離センサ値(Left / Center / Right)
Dynamixel Sensor Moduleの距離測定用の赤外線センサ値です。 AX - S1の赤外線発光部に強く赤外線が当たると壁や物体に赤外線が反射して帰ってきますが、AX - S1の赤外線受光部センサでこの反射される赤外線の量を測定したもので、壁や物体が近くにあるほど、高い値が測定されます。測定された値は、0〜255の範囲のもので、
一定距離内に入ると、255だけになる場合があります。
赤外線測定方式であるため、壁や物体の色や表面の質感によって赤外線の反射率が異なるため、測定値に差が生じることがあります。
Dynamixel Sensor Moduleの照度感知のセンサ値です。赤外線センサ値と同じ概念ですが、赤外線の発光部を点けないで測定したもので、照明から出る赤外線のみを測定することができます。
そのため、白熱電球のような赤外線がたくさん出てくる照明から照度感知センサ値を測定することができ、ライターやろうそくなどからの光も近距離で測定することが可能です。
測定された値は、0〜255の範囲を有します。
AX - S1の赤外線距離センサ値が距離感知の基準値より大きい場合、物体が感知されたと判断し、物体感知有無値の特定のBitを1に設定します。
各センサが示すBitは、下の表を参照してください。
Bit |
名称 |
Bit 2 |
右側のセンサに物体感知/光が感知される |
Bit 1 |
中央のセンサに物体感知/光が感知される |
Bit 0 |
左側のセンサに物体感知/光が感知される |
AX - S1の照度センサ値が光感知基準値より大きい場合、光が感知されたと判断して、光感知有無値の特定のBitを「1」に設定します。
各センサが示すBitは、物体感知有無値の場合と同じです。 (上記のAddress 0x20を参照)
AX - S1のマイクに入力される音の大きさを測定し、数値で表します。音の大きさは、下の図のように上下に大きさが変化するため、ノイズがないときに127〜128(0x7F〜0x80)程度の
数値がでます。音が大きいほど0または255(0xFF)に近くなります。音の大きさは1秒間に約3800回程度入力されます。
AX - S1の音の大きさの中で最も大きい値を別途保存しておきます。つまり、現在音の大きさが最大音の大きさに保存されている値より大きい場合に、現在音の大きさを最大音の大きさにコピーします。
従って、128より低い方の音の大きさは事実上無視され、より大きい音がするほど、その時点での音の大きさが累積され保存されると思えばいいです。下の図を見れば分かりやすいと思います。
注意すべき点は、最大音の大きさが累積されながら255(0xFF)になってしまうと、それ以上大きい値が出ないため値が常に255のままになります。
そのため、最大音の大きさを測定しなければならない状況の場合、最大音の大きさに「0」を入れて測定をする必要があります。
AX - S1は、一定水準以上の大きな音がする場合は、1回ずつカウントする機能があります。代表的な例として、拍手の音の回数をカウントすることができます。
しかし、一回の拍手の音を数回に誤認識するのを防ぐために、1回カウントされると、約80msecの間はそれ以上カウントせず、最後にカウントしてから800msecが
経過すると音感知回数にカウントした値が保存されます。
音の感知回数が増加した時点がわかるようにするため、内部的にカウントをします。800msecが経過した後、音の感知回数に値を保存する一方で内部のカウントは
0に初期化されます。下の図を見ればわかりやすくなると思います。
センサモジュールAX - S1には、音感知回数をカウントするごとに、その瞬間の時間を保存する機能があります。この機能は、音の方向検出のために提供されるもので、少なくとも2つのAX - S1が必要であり、音の速度(音速、摂氏20度で約343m/sec)を利用して、2つのAX - S1のマイクに音が入るまでの時間差を利用したものです。
音の発生時間は、内部的に時間を計り(0〜65535を繰り返してカウントする。)、音の感知回数が増加するとき、現在のカウント値を保存します。従って、2つのAX - S1を適切な間隔を置いて、音の発生時間をBroadcastingコマンドを使用して、同時に0に初期化させた後、音が発生すると、2つのAX - S1には、音の方向に応じて時間差が発生するようになります。
正面の場合には、ほぼ同じ時間に感知されると思いますが、側面に音源がある場合は、AX - S1の離れた距離に比例して時間差が発生します。これを持って大体の音源の方向を推定することができます。下の図を見ればわかりやすくなると思います。
このAX - S1の音の発生時間は約4.096 msecごとにすべてカウントして、0から再度カウントすることになる。そのため、音のスピードを利用して計算してみると、音は、このカウント1当たりに0.02mm程度の距離を移動し、
2つのAX - S1の間の距離は70cm以内にある必要があります。例えば、2つのAX - S1が10cm離れている場合、上記の方式を利用して測定すると2つのAX - S1の音の発生時間は最大5000まで差が生じることがあります。 (5000程度の差がある場合、音源が完全に90度の左または右にあることになる。)
センサモジュールAX - S1には、ブザーが装着されているため単純なビープ音を出すことができます。ブザー音階は合計52個の音を出すことができますが、
各オクターブ別に全音、半音があるため、様々な音階を再生することができます。ブザー音階の値は、次の表のように割り当てられています。
AX - S1は、ブザーの吹鳴時間を調節する機能があります。 0.1秒単位に調節が可能ですが、最短で0.3秒、最長で5秒まで再生することができます。つまり、0〜3を入れると、0.3秒間ブザーが鳴り、50以上の値を入れると、
入力値に関係なく5秒までしかブザーが鳴りません。また、ブザー吹鳴が終わると自動的にブザー吹鳴時間が0に初期化されます。
AX - S1のブザー吹鳴時間には、2つの特別な機能があります。第一に、ブザーを鳴り続けるようにする機能です。ブザー吹鳴時間に254を書き入れてからブザー音階に
必要な音階の番号を書き入れると、ブザーが止まらずなり続けます。ブザー吹鳴を停止させるためには、ブザー吹鳴時間に0を書き入れればいいです。
二つ目の機能は、特別なメロディを再生する機能です。ブザー吹鳴時間に255の値を書き入れて、ブザー音階に0〜26の値を書き入れると
それぞれの番号に該当する27種類の様々なメロディを再生することができます。メロディーの再生が終わると、ブザー吹鳴時間が自動的に0に初期化されます。
値 |
意味 |
0 |
REG_WRITEに伝達された命令がありません。 |
1 |
REG_WRITEに伝達された命令があります。 |
参考:ACTION命令を遂行すると、この値が0に変わります。 |
センサモジュールAX - S1は、前方に赤外線リモコンセンサーモジュールが装着されているため、AX - S1同士の赤外線リモコンの通信を行うことができます。 2バイト単位での転送が可能です。
注意すべき点は、AX - S1の赤外線発光部は前方/左/右の3方向に取り付けられているため、どの方向にも赤外線リモコンのデータを転送することができますが、赤外線リモコンセンサは、
前方にのみ装着されているため、リモコンデータの受信は限られた角度でのみ可能です。
赤外線リモコンのデータがセンサに受信されると、新しいリモコンのデータの到着の値が2に変わります。 2バイトが受信されたという意味です。受信したリモコンデータを読み込んでいくと、自動的に0に初期化されます。
値 |
意味 |
0 |
EEPROMの領域を修正することができます。 |
1 |
EEPROMの領域を修正することができません。 |
注意:Lockが1に設定されると、電源を切ってから入れ直して0に変えることができます。 |
赤外線リモコンセンサに受信されたデータが保存されるところです。この値を読み込んでいくと、自動的に新しいリモートデータの到着値が0に初期化されます。
赤外線発光部を通じて転送しようとするリモコンのデータを書き込むところです。 2バイトの値を書き込むと同時にリモコンのデータが転送されます。
Address 0x14の距離感知基準値をControl TableのRAM領域に保存することろです。
現在、AX - S1の赤外線センサの場合、遠距離まで感知するために赤外線を強く発射しているため、約5cm以内の近距離では常に値が最大値が出るなど、近距離においては正常な感知が不可能です。
従って、AX - S1は、近距離での正確な感知をするため低感度モードも支援しますが、もし距離感知基準値に0を書き込む場合、低感度モードに切り替わります。低感度モードでは、
遠距離センサの性能が大幅に低減しますが、近距離感知の場合、最大値に飽和されないので正確でディテールな感知が可能です。
Address 0x15の光感知基準値をControl TableのRAM領域に保存することろです。
AX - S1のオプションのフレームは、次のような種類があります。 AX - S1のフレームは、AX-12/12 +との互換性があります。
以下は、オプションフレームとホーンを用いた結合構造の一例です。