6.4 Interaction regarding modalities
6.4.1 Interaction based on force input by the user
The first and most intuitive method of controlling a service robot in a shopping scenario is probably the interaction based on physical contact by using a force sensitive handle (see Fig. 6.5 and Appendix B.6 for construction details), as implemented by the Manual Steering Mode. The user doesn’t have to learn voice or gesture commands and to get used to the screen-based menu. Additionally, due to the close of coupling between robot and user this kind of interaction has a high degree of reliability because its independent from noise and light conditions. The user is able to apply experiences from a common, manual trolley to the robot trolley and is additionally supported by several functionalities like motor power, obstacle avoidance or local maneuvers triggered by Force Commands. For details on the construction of the final version of the force
sensitive handle please refer to Appendix B.6 “Force sensitive handlebar”.
Interpretation of measured forces on the force sensitive handle To achieve a high level of usability
the trolley’s handle must be able to generate movement commands out of the applied forces. The forces that the user exerts on the bars of the force sensitive handle are measured by eight strain gauges. The values are digitalized and transferred to an integrated DSP signal processing board. Here the eight measured forces are transformed into two forces and one torque. Additional signals are provided by micro switches on the handle that are used as dead man’s switches. When released, these trigger the classification of Force Commands. Each identified command motivates some of the behaviors of the advanced behavior repertoire (Tab. 6.3). While at least one of the buttons (or micro switches in the new version) is pressed the current command is classified as manual steering and the processed forces are directly transformed into a velocity set-point
Fig. 6.5.: The force sensitive handle measures the forces applied by the user while the micro switches around it are activated. In the picture the third version of the handle is shown (see App. B.6).
Tab. 6.3.: Classes of Force Commands, their characteristics and the advanced behaviors triggered when classified accordingly.
Class name R FX FY T AB
STEER No - - - Steer
PULL Yes H(-) S S Stay here
WAIT Yes S S S Stay in area
ROTATE L/R Yes S S H(+/-) Support loading
PUSH L/R Yes S H(+/-) S Park
PUSH FRONT Yes H(+) S Sl Drive forward R: Signal emitted when the handle is released
F: Value of force in [X,Y]-direction. Values: High(sign) or Small T: Value of torque. Values: High(sign) or Small
AB: Corresponding advanced behavior which is triggered
vector to be executed by the robot’s Behavior Network. This procedure is described in Appendix B.6 “Force sensitive handlebar” and in more detail in [61].
Force Commands: Force Commands are assistance functionalities to ease local maneuvering with the robot. Figure 6.6 illustrates this at the example of loading a heavy crate into the basket: The robot is steered to crate, then the command to turn around is given, so that the lowest side of the basket faces the crate. After loading the crate the command to turn back is given.
The following list summarizes the developed commands and the resulting motion behavior.
Steer: The robot is basically controlled by the handle directly. This is the basic command that is active as
long as at least one of the dead man’s switches is pressed.
Stay here: Forces the robot to stay exactly on the spot. This command is indicated by a short and sharp
6.4. Interaction regarding modalities
Stay in area: Tells the robot to wait at the current position. But the robot is temporarily allowed to leave
the position for example to avoid a collision with an approaching moving obstacle. This is the standard command when releasing t he handle.
Turn to support loading: Commands to robot to turn its lower front side of the basket towards to user to
ease loading of heavy goods. This is a two part command: when indicated by a short sharp torque on the handle before releasing it, the robot turns. When afterwards a dead man’s switch is shortly pressed and released at once the robot turns back to its initial orientation.
Park on side: When indicated by a short sharp sideways force on the handle, the robot searches the corre-
sponding side for obstacles and calculates a parking position.
Drive forward: The robot moves few meters forward to free the way. The command is indicated by a short
sharp push of the handle just as if thrusting an ordinary shopping cart away.
Fig. 6.6.: Left: Forces which trigger the “turn to support loading” command indicated by the green arrows (top) compared to forces for the “park on side” command (bottom). Right: The “turn to support loading” command in action.
Obstacle Avoidance Assistant: The velocity set point vector derived from the force sensitive handle
is merged with the reactive behaviors for obstacle avoidance. This way, the robot is able to move around obstacles when the user does not notice them because he is either distracted or visually impaired. As always, the final velocity set point vector has to pass the safety behaviors so that collision-free movements are granted. A photo from such a scene can be found in Fig. 6.7.
Shopping List Assistant: Another assistance functionality can be implemented using the communication
layer and the adaptive reactive behaviors, as was exemplary implemented using the CR-UI. When coming
into the vicinity of a product on the shopping list the communication layer informs the control system about the product’s position and the desire to slow down temporarily. When actually passing the product the control system slows down the robot and informs the communication layer that the robot is currently passing the product. The communication layer then utters a speech output “We are passing <product> from your shopping list”. A sketch of this behavior can be seen in Fig. 6.7.
Fig. 6.7.: Assistants in Manual Steering Mode. Top: Photo showing a scene where InBOT is pushed by a distracted user with one hand only, so a collision with a parked shopping cart is imminent. Additionally, a design sketch of the path assistant can be seen illustrated by the red u-turn arrow on the touch screen. Bottom: Sketch of the functionality of the shopping list assistant (image source: [78]).
Path Assistant To inform the user about the path the robot is going to take, or to offer guidance during
Manual Steering Mode, the robot’s control system sends the next two representative goal points from the
current task from the task planner up to the communication layer. The communication layer then visualizes this information with arrows on the touch screen. A design sketch illustrating the result can be seen in Fig. 6.7.