NOTICE: The Ares architecture is discontinued. This information no longer aplies to current models.
If you're not specifically looking for information on the Ares architecture, please go back to the Index and find the information for your model.
[Ares Architecture] RH4D Control Tables
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
Address | Description | R/W | Size (bytes) | Memory | Notes |
---|---|---|---|---|---|
0 (0x0) | Model Number | R | 2 | EEPROM | Model number identifying the device on the bus (in this case, a Physical Actuator of the DH4D Hand) |
2 (0x2) | Version of Firmware | R | 1 | EEPROM | Firmware version of the main board |
3 (0x3) | I D | RW | 1 | EEPROM | Dynamixel ID identifying the device on the bus |
4 (0x4) | Baud Rate | RW | 1 | EEPROM | This 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 Time | RW | 1 | EEPROM | This 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) | RW | 2 | EEPROM | This 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) | RW | 2 | EEPROM | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters. |
16 (0x10) | Status Return Level | RW | 1 | EEPROM | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters. |
19 (0x13) | Startup Behavior | RW | 1 | EEPROM | Used 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 Enable | RW | 1 | RAM | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters. |
25 (0x19) | LED | RW | 1 | RAM | This 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 Position | RW | 2 | RAM | This 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 Speed | RW | 2 | RAM | Currently 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 Position | R | 2 | RAM | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters. |
38 (0x26) | Present Speed | R | 2 | RAM | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters. |
40 (0x28) | Present Load/Force | R | 2 | RAM | This 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 Temperature | R | 1 | RAM | This 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 | R | 1 | RAM | At the time of writing REG WRITE instructions were not supported by the firmware. This is presented for compatibility reasons only. |
46 (0x2E) | Moving | R | 1 | RAM | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the same parameters. |
51 (0x33) | Power Save Enable | RW | 1 | RAM | “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 Current | R | 2 | RAM | Raw current measurement currently passing to the servo. To convert this number to milliamperes, multiply the read value by 0.4889 |
70 (0x46) | Force Control Mode | RW | 1 | RAM | Enables the Force Control mode on the hand (experimental) |
71 (0x47) | Goal Force | RW | 2 | RAM | Sets the desired Goal Force (experimental) |
Control Table for the 5th Actuator / Virtual ID
Address | Description | R/W | Memory | Length (Bytes) | Notes |
---|---|---|---|---|---|
0 | Model Number | R | EEPROM | 2 | Model number identifying the device on the bus (in this case, the Virtual Actuator of the DH4D Hand) |
2 | Version of Firmware | R | EEPROM | 1 | Firmware version of the main board |
3 | I D | RW | EEPROM | 1 | Dynamixel ID identifying the device on the bus |
4 | Baud Rate | RW | EEPROM | 1 | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters (up to 3Mbps setting) |
5 | Return Delay Time | RW | EEPROM | 1 | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters. |
6 | CW Angle Limit (Joint / Wheel Mode) | RW | EEPROM | 2 | Sets the Angle Limits when controlling the opening and closing of the hand using this ID. |
8 | CCW Angle Limit (Joint / Wheel Mode) | RW | EEPROM | 2 | Sets the Angle Limits when controlling the opening and closing of the hand using this ID. |
16 | Status Return Level | RW | EEPROM | 1 | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters. |
20 | Emulate 12bit (4096) Motion Range | RW | EEPROM | 1 | This 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 Enable | RW | RAM | 1 | This setting has the same meaning as used to in the Robotis Dynamixel servos and accepts the parameters. |
30 | Goal Position | RW | RAM | 2 | Provides 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 Speed | RW | RAM | 2 | Currently 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 Position | R | RAM | 2 | Reports the average of the Present Position taken from the Control tables of the Index fingers and Thumb finger actuators. |
38 | Present Speed | R | RAM | 2 | Reports the average of the Present Speed taken from the Control tables of the Index fingers and Thumb finger actuators. |
43 | Present Temperature | R | RAM | 1 | This 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 | Moving | R | RAM | 1 | Reports the average of the Moving parameter taken from the Control tables of the Index fingers and Thumb finger actuators. |
100 | Hand LED Red | RW | RAM | 1 | Sets the amount of Red for the built in RGB led. |
101 | Hand LED Green | RW | RAM | 1 | Sets the amount of Green for the built in RGB led. |
102 | Hand LED Blue | RW | RAM | 1 | Sets the amount of Blue for the built in RGB led. |
110 | BT module installed | R | EEPROM | 1 | Reports if a Bluetooth module is installed on the unit. This is a factory option when you order your unit. |
111 | BT module ON | RW | RAM | 1 | Sets 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) |
112 | BT Pairing Code (format 0000) | RW | EEPROM | 2 | 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-2023 Seed Robotics Ltd