specialfeatures:force_controlabstract

IMPORTANT CHANGE:

Depending on your unit, it will be equipped with the ARES Architecture or the new EROS Architecture.

Current measurement is one the features that was relocated between the two Architectures. Please refer to EROS vs ARES architecture: What's new and What's changed for more information.

Seed Robotics units include high frequency, high resolution, current sensing on all actuated degrees of freedom, which can be used to estimate force.

The Current is sampled using dedicated chip for every actuator. This makes for an accurate reading, designed to enable the creation of force control algorithms.

The current reading feature is independent of the internal control loop of the actuator and is sampled between the power supply and the actuator.
This means that when the actuator has torque off, there is always a baseline reading of current, corresponding to the power consumed by the internal electronics of the actuator.

The firmware samples the current consumption of each actuator in a very fast cycle and applies a very discrete low pass filter formula, to smooth the signal.
There is very little smoothing done to enable the passage of a detailed current reading over time and fast response. As an example when starting a movement by setting a goal position on the Smart Actuators, it is possible to read the complete process of the PID controller working, from the initial peak of current necessary to start the motion followed by the usual decline, stabilization and finally a stop.

Current consumption is read and cached continuously. When a request comes from the external host to READ the current, the number reported is the lastest one read.

The frequency at which the current can be sampled by an external host is only dependent on the bus speed and protocol efficiency; with the internal current sampling happening at >5Khz, the Host can sample the current as fast as possible always receiving fresh and up to date information.

An in-depth explanation of how to design a force control algorithm is beyond the purpose of this document; there are many possible techniques that can be used. Seed Robotics' decision to expose the current measurement in the Control tables, is aimed at letting customers research and develop their own algorithms.
One of the simplest techniques to perform force control through current reading is to implement an incremental PID controller (here is a good explanation on Incremental PID controllers) where Current is taken as input and the Position is incremented or decremented as the output.

We choose the example above (incremental PID controller) as the starting point to the considerations we'd like to expose below when designing a force controller based on current measurement. These considerations are common to controllers based on current and stem from our own R&D.
This is by no means a complete list or an essay on the design of force controllers; it is meant to share our own experience with the hope of providing additional information to our customers.

  1. The most important constraint to observe is the holding/sustained force: while the actuators and tendons in Seed Robotics hands can produce and withstand a high amount of force, we strongly recommend limiting the force controllers to a continuous/sustained current of 300 milliamperes maximum for the micro57 actuators (RH4D) and 90~100 milliamperes for the micro28 actuator (RH7D). In practice this means setting your controller Goal Current/target current to 300mA/100mA or less. Continuously sustaining higher currents is possible, but will produce significant heat and stress on the motor and electronics which may shorten its lifetime. Limiting the sustained current is therefore important, to ensure a prolonged lifetime of the motors.
  2. Current is typically proportional to torque which in turn can be related to force. However, all forces have to pass through the gearbox of the motor; the gearbox sits between the tendon (output shaft) and the point where current is sampled (before the motor). This poses some particular challenges. The most important is that the current-torque ratio when force travels from the motor to the output shaft is different than the current-torque when the force travels from the output shaft back to the motor. One way to cope with this is to amplify the error value in the control loop, if/when we know the force is traveling from the output shaft back to the motor (which is the direction where some of the force is lost/absorbed by the gearbox).
  3. A final consideration should be made about acceleration and settling when reaching the goal position: when the actuator starts a movement or makes corrections near the holding position, there is acceleration which in turn produces a peak in current; this is not necessarily force but instead it is the profile of the beginning of a movement. The control algorithm should take this factor into consideration to avoid reacting to these accelerations.
  4. BETA: New firmware for EROS architecture with Direct PWM Control. At the time of revising this document (17/Aug/2017), Seed Robotics is working on a new firmware feature that will enable direct control of the PWM applied by the actuators. This means that you will now be able to build an algorithm accessing the variable that directly affects current, instead of controlling position which is an indirect variable. The main advantage is that you are now able to have a much finer control and disable the PID controller of the actuator that would sometimes cause the current to peak as part of its operation and not as result of external force. This results in cleaner current readings and higher precision. This is still in experimental phase but if you would like to give it a try, please email us at support@seedrobotics.com

Current based force control enables force estimation with a level of detail that is sufficient to handle daily tasks and comply to more or less fragile objects.
While there are constraints to this technique as detailed above, it has shown good performance, offering a simple yet efficient manner to estimate force.

Regarding the implementation in the RH4D, we would like to once again, stress the importance of limiting continuously sustained forces to, at most, 300mA. This is meant to extend the lifetime of the motors by limiting the heat generated by the motors.
In addition, temperature should also be observed while in operation: the built in temperature sensor is capable of reading the environment temperature inside the hand but can not sense the actual temperature of the motor coils. Therefore, it is recommended to observe the ambient temperature and set appropriately calibrated thresholds for a healthier operation.

If you have a unit with the ARES Architecture (RH4D units produced before March 1st 2017):

The Control Table of each actuator exposes the Raw current reading on memory position 0x44 (it is reported as a WORD with 12 bit resolution).

The value read from the control table position 0x44 is adimensional and can be converted to milliamperes by multiplying the value read by 0.4889

If you have a unit with the EROS Architecture (all other models and units):

The Eros Main Board Control Table exposes the current reading for the actuator connected to each of the main board ports on memory positions 108 to 126.

The value read from the control table is reported directly in mA.

Copyright © 2015-2023 Seed Robotics Ltd

  • specialfeatures/force_controlabstract.txt
  • Last modified: 2017/09/08 15:25
  • by Pedro Ramilo