The RH4D uses a control mechanism with a memory-mapped paradigm approach.

The hand is controlled by writing the appropriate value to the desired position in the Control table. For example to make the hand move, write the desired goal position (2 bytes) to address 30 (0x1E) of the Actuator.

You can read and write to the Control tables using the Dynamixel Protocol or Console commands.

Introduction

The SR-RH4D includes 4 internal physical actuators. An ID is exposed for each Physical actuator allowing for individual control. In addition, a 5th, Virtual ID, exposes high level functions such as control of the LED, Bluetooth options and High Level control of the Hand. The control tables are presented below.

Dynamixel Protocol

The RH4D is compatible at both Hardware and Software level with any Dynamixel Robot and is controlled using the same instructions and with very similar Control Tables.

The firmware versions ⇒ 10 fully support the Dynamixel Protocol 1.0, and the following instructions: PING, READ, WRITE, RESET and SYNC_WRITE, BULK_READ, REG_WRITE and ACTION.
(note that firmware versions prior to 10 don't support REG_WRITE,ACTION, BULK_READ and older version also lack support for SYNC_WRITE. We strongly encourage users to update their firmware to version 10 or newer)

This document assumes you are familiar with the Dynamixel 1.0 protocol.
If this is not the case, please please take time to familiarize yourself with the Dynamixel Protocol 1.0 documentation on the Robotis website.

Console Commands

Starting with Firmware version >=10 the consoles (USB and Bluetooth) expose commands that let you read and write to the control tables, which compose the Seed Robotics High Speed (SHSP) Protocol, therefore achieving almost 1:1 equivalence when controlling through the Dynamixel Protocol.

Furthermore by exposing these commands over high speed USB (up to 10Mbps) and Bluetooth (if installed), you can use either a very high frequency control system (up to 10Mbps) or wireless control of the system. Check the list of Console commands for more information.

The unit can be simultaneously controlled through all interfaces: Dynamixel and USB and Bluetooth interfaces (SHSP Protocol). The unit performs a FIFO processing on commands received on each individual interface but no synchronization is performed between the multiple interfaces.

A shared memory area is provided in the Control Table of the Virtual Actuator where the hosts on each interface may exchange data with each other: any interface can write to this shared memory area and the values will be visible to all other interfaces. This may be used for user synchronization or exchange of status between hosts (for example a host connected via Bluetooth may write to the shared area and the host on the Dynamixel interface can read that and trigger a set behavior on the robot)

Extended Control Tables for Robotis Dynamixel Wizard

For convenience of use, Seed Robotics provides a pacthed verison of the Dynamixel Wizard control tables, that will let users communicate and control their hands using Robotis Dynamixel Wizard.

This significantly eases the testing, configuration and use of the units as it provides a graphical interface to the memory tables.

To install the control tables and enable support for Seed Robotics products in the Dynamixel Wizard, please follow this link.

Control Table for the Physical Actuators

AddressDescriptionR/WSize (bytes)MemoryNotes
0 (0x0) Model NumberR2EEPROMModel number identifying the device on the bus (in this case, a Physical Actuator of the DH4D Hand)
2 (0x2) Version of FirmwareR1EEPROMFirmware version of the main board
3 (0x3) I D RW1EEPROMDynamixel ID identifying the device on the bus
4 (0x4) Baud RateRW1EEPROMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters (up to 3Mbps setting)
5 (0x5) Return Delay TimeRW1EEPROMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
6 (0x6) CW Angle Limit (Joint / Wheel Mode)RW2EEPROMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
8 (0x8) CCW Angle Limit (Joint / Wheel Mode)RW2EEPROMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
16 (0x10) Status Return LevelRW1EEPROMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
19 (0x13) Startup BehaviorRW1EEPROMUsed to ease integration in existing projects that do not make use of the hand. Set to 0 to start with torque OFF, set to 1 to take a default position on Power Up and then disable torque.
24 (0x18) Torque EnableRW1RAMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
25 (0x19) LEDRW1RAMThis setting has similar meaning as used to in the Robotis Dynamixel servos. However because the hand only has one LED, enabling this setting will make the LED blink the number of times associated with this servo number.
30 (0x1E) Goal PositionRW2RAMThis setting has the same meaning as used to in the Robotis Dynamixel servos. Please note that, depending on your Resolution Setting (10bit or 12bit), it will accept a range of values from 0~1023 or 0~4095.
32 (0x20) Moving SpeedRW2RAMCurrently this setting has no effect on the actuators. However, for compatibility purposes with existing libraries and frameworks, the unit accepts WRITES on this position.
36 (0x24) Present PositionR2RAMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
38 (0x26) Present SpeedR2RAMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
40 (0x28) Present Load/ForceR2RAMThis setting exposes a Force Reading (based on Current sensing). Resolution is 11 bit and the 12th bit indicates the direction in which force is being applied.
43 (0x2B) Present TemperatureR1RAMThis is the temperature measured inside the RH4D unit. Divide the value by 10, to obtain the reading in degrees Celsius. This reading is obtained though a sensor placed in the main board. The same value is reported on all actuators since only 1 sensor exists, reporting the ambient temperature inside the hand.
44 (0x2C) Registered Instruction R1RAMAt the time of writing REG WRITE instructions were not supported by the firmware. This is presented for compatibility reasons only.
46 (0x2E) MovingR1RAMThis setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters.
51 (0x33)Power Save EnableRW1RAM“Power Save mode will turn off the actuator motor momentarily to save energy and place the servo in Generator mode if no external forces are being applied. If the servo moves outside a predefined deadzone, power is re-applied for the position correction and turned off again. Allowed settings: 0=Power save off (use for applications requiring maximum precision); 1=Power Save On (use to preserve battery life)“
68 (0x44)Sensed CurrentR2RAMRaw current measurement currently passing to the servo. To convert this number to milliamperes, multiply the read value by 0.4889
70 (0x46)Force Control ModeRW1RAMEnables the Force Control mode on the hand (experimental)
71 (0x47)Goal ForceRW2RAMSets the desired Goal Force (experimental)

Control Table for the 5th Actuator / Virtual ID

AddressDescriptionR/WMemoryLength (Bytes)Notes
0 Model NumberREEPROM2Model number identifying the device on the bus (in this case, the Virtual Actuator of the DH4D Hand)
2 Version of FirmwareREEPROM1Firmware version of the main board
3 I D RWEEPROM1Dynamixel ID identifying the device on the bus
4 Baud RateRWEEPROM1This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters (up to 3Mbps setting)
5 Return Delay TimeRWEEPROM1This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters.
6 CW Angle Limit (Joint / Wheel Mode)RWEEPROM2Sets the Angle Limits when controlling the opening and closing of the hand using this ID.
8 CCW Angle Limit (Joint / Wheel Mode)RWEEPROM2Sets the Angle Limits when controlling the opening and closing of the hand using this ID.
16 Status Return LevelRWEEPROM1This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters.
20 Emulate 12bit (4096) Motion RangeRWEEPROM1This setting controls the Position Resolution when controlling the Hand. If set to 0, Goal position and Present position are reported with 10bit resolution (0~1023). If set to 1, Goal position and Present position are reported with 10bit resolution (0~4096). You must Power Cycle the hand after changing this setting.
24 Torque EnableRWRAM1This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters.
30 Goal PositionRWRAM2Provides simultaneous control of the Thumb and Index fingers. The position set here is passed directly to the Individual Control tables of the Index fingers and Thumb finger actuators.
32 Moving SpeedRWRAM2Currently this setting has no effect on the actuators. However, for compatibility purposes with existing libraries and frameworks, the unit accepts WRITES on this position.
36 Present PositionRRAM2Reports the average of the Present Position taken from the Control tables of the Index fingers and Thumb finger actuators.
38 Present SpeedRRAM2Reports the average of the Present Speed taken from the Control tables of the Index fingers and Thumb finger actuators.
43 Present TemperatureRRAM1This is the temperature measured inside the RH4D unit. Divide the value by 10, to obtain the reading in degrees Celsius. This reading is obtained though a sensor placed in the main board. The same value is reported on all actuators since only 1 sensor exists, reporting the ambient temperature inside the hand.
46 MovingRRAM1Reports the average of the Moving parameter taken from the Control tables of the Index fingers and Thumb finger actuators.
100Hand LED RedRWRAM1Sets the amount of Red for the built in RGB led.
101Hand LED GreenRWRAM1Sets the amount of Green for the built in RGB led.
102Hand LED BlueRWRAM1Sets the amount of Blue for the built in RGB led.
110BT module installedREEPROM1Reports if a Bluetooth module is installed on the unit. This is a factory option when you order your unit.
111BT module ONRWRAM1Sets the Power status for the Bluetooth module of the unit 0=OFF, 1=ON. When turned off, the hand will not be discoverable or respond to any Bluetooth query (assuming a module is installed)
112BT Pairing Code (format 0000)RWEEPROM2 Configures the Bluetooth Pairing code for the unit. By default this is set at factory for 1234. IMPORTANT: When attempting to pair with the unit it will always require a 4 digit number. Therefore any code lower than 1000 should be padded with leading zeros, to make a 4 digit code.

If you have the Capacitive Touch sensors installed in your unit, these will also be exposed in the Control Table for the 5th actuator. We are currently in the process of updating this document to publish these details.

Copyright © 2015-2019 Seed Robotics Ltd

  • dh4d/dynamixelcontroltables.txt
  • Last modified: 2017/03/23 12:03
  • by wadmin