|
Using Current Sensing to Create
Force-Feedback Drive-by-Wire Systems
Introduction

Drive-by-wire or teleoperated systems feel very unnatural to
use because they lack the natural feedback the operator receives
when turning a steering, presuring an object in his or her hands,
or pressing on a pedal. This lack of feedback is uncomfortable
in many situations, to outright dangerous in others. Yet force
feedback is reasonably simple to implement.
Theory of Operation

Force feedback requires simply that the force opposing the actuator
at the remote location be measured and transmitted back to the
operator. Then at the operator end, a motor coupled to the command
mechanism (typically a joystick or steering) is used to "push
it back", thus recreating the resistance encounted at the
remote location into the operator's hand or foot.

Implementation Using Roboteq

Measuring pressure is typically the most difficult variable to
measure, normally requiring expensive pressure sensors or strain
gauges. A low-cost, yet effective method is to sense the current
consumed by the motor and assume that this current is proportional
to the pressure applied by the motor. All roboteq controllers
feature current sensing for each of the two motors that can be
attached to them. The current value can be read using a short
querry on the controller's RS232 port.
A typical drive by wire application, or a teleoperated system
as for the egg example above, will be configured as shown in the
figure below:

The system is composed of two sets of motors, controllers and potentiometers.
On the Actuator Side, the controller is configured in position mode,
using the potentiometer to capture the actual position. The Actuator
Side controller can be any of the Roboteq models depending on the
power required:
- AX1500 for
two motors up to 30A each or a single motor up to 60A
- AX3500 for
two motors up to 60A each or a single motor up to 120A
- AX2500 for
two motors up to 120A each or a single motor up to 240A
That controller will receive destination position information
from the RS232 port and move the motors in the necessary direction
to reach that destination.
The controller on the Operator Side is configured for operation
in open loop. While the motor and potentiometer are mechanically
coupled, they are considered entirely separately. The potentiometer
is used to capture the position at which the operator has moved
the command. It is fed into the controller from which it is converted
from analog into digital and then sent via the RS232. A PC or
Microcomputer located between the two controllers reads the analog
position from the Operator Side controller and converts it into
a position command for the Actuator Side controller.
The PC or Microcontroller will also periodically query Actuator
Side controller's measured current. That value will be multiplied
by an experimentally determined value to compute the power and
direction to be sent as a command to the Operator Side controller.
Power will then be applied to the Motor 2 to push in the direction
opposite of this applied by the human operator. The motor must
not be too powerful (or a resistor must be added in series to
it) since the force that is applied by the operator is not very
large. The smallest Roboteq controller, the AX1500
would be adequate for this purpose.
For further inquires

Join our emailing list to be informed
of changes and progress to this project.
Contact us if you have a question.
|