The control table is stored inside of the on-board motion controller and consists of data regarding the current status and operation of the eye drive. It complies with Dynamixel protocol but does not fully implement its capabilities. The available parameters for each sensor are: analog value corresponding to touch intensity, threshold values and a digital value resulting from the classification between the threshold values of the hysteresis (see Fig. 1). Data are stored in registers, which are read using the same functions as for the servomotors.

 

touch sens thresFig. 1 Touch sensors: classification between the threshold values of the hysteresis.

Compare the table below with the full description of Dynamixel registers (ex. MX-28/64/106). The user can control the robot's eyes by changing data inside the Control Table via Instruction Packets.

EEPROM and RAM

Data in RAM area is reset to the initial value whenever the power is turned on while data in EEPROM area is kept once the value is set even if the power is turned off.

Address

Represents the location of data. To read from or write data to the Control Table, the user should assign the correct address in the Instruction Packet.

Access

Dynamixel has two kinds of data: Read-only data, which is mainly used for sensing, and Read-and-Write data, which is used for driving.

Initial Value

In case of data in the EEPROM Area, the initial values on the right side of the below Control Table are the default settings. In case of data in the RAM Area, the initial values on the right side of the above Control Tables are the ones when the power is turned on.

Highest/Lowest Byte

In the Control table, some data share the same name, but they are attached with (L) or (H) at the end of each name to distinguish the address. This data requires 16bit, but it is divided into 8bit each for the addresses (low) and (high). These two addresses should be written with one Instruction Packet at the same time.

 

Area

Address (Hexadecimal)

Name

Description

Access

Initial Value

(Hexadecimal)

E

E

P

R

O

M

0 (0X00)

Model Number(L)

Lowest byte of model number

R

3 (0x03)

1 (0X01)

Model Number(H)

Highest byte of model number

R

0 (0X00)

2 (0X02)

Version of Firmware

Information on the version of firmware

R

-

3 (0X03)

ID

ID of sensor

RW

112-116

4 (0X04)

Baud Rate

Baud Rate of sensor (only the following values are allowed: 1,3,4,7,9,16,34,103,207)

RW

34 (0X22)

5 (0X05)

Return Delay Time

Return Delay Time

RW

250 (0XFA)

6 (0X06)

Low Threshold(L)

Lowest byte of lower threshold value

RW

 100

7 (0X07)

Low Threshold(H)

Highest byte of lower threshold value

RW

8 (0X08)

High Threshold(L)

Lowest byte of higher threshold value

RW

 200

9 (0X09)

High Threshold(H)

Highest byte of higher threshold value

RW

16 (0X10)

Status Return Level

Status Return Level

RW

1 (0X01)

20 (0X14)

Value Offset(L)

Lowest byte of analog sensor value offset (zeroing)

RW

 1000 

21 (0X12)

Value Offset(H)

Highest byte of analog sensor value offset (zeroing)

RW

R

A

M

25 (0X18)

LED

LED On/Off

RW

0 (0X00)

36 (0X24)

Present Value(L)

Lowest byte of sensor analog value

R

-

37 (0X25)

Present Value(H)

Highest byte of sensor analog value

R

-

46 (0X2E)

Touched

Indicates if touch is detected (with regard to the threshold values)

R

0 (0X00)

 

 

EMYS and FLASH are Open Source and distributed according to the GPL v2.0 © Rev. 0.8.0, 27.04.2016

FLASH Documentation