• No results found

The Force Sensor Signal

6. Calibration of Tool and Sensor

7.4 The Force Sensor Signal

The force sensor signal is received through the in port jr3_comedi. It is mea- sured in the force sensor frame, from here on referred to as the sensor frame, see Section 6.1. Before it is at any use, methods for resetting it, transferring it to the TCP frame and preparing it for the Phantom must be implemented. This is done in the subsystem called Treat Force Signal in Figure 7.5. The contents of the subsystem is shown in Figure 7.6.

Resetting the force sensor is crucial at startup as the force sensor has quite a big offset due to the weight of itself and the construction it is attached to, see Figure 3.5. It will however also be necessary to reset the force sensor if the robot’s TCP is reoriented. That is due to the sensor frame’s reorienta- tion compared to the gravitation force vector. There is another version in the

ExtCtrl Library of the subsystem in Figure 7.6 called offset correction/reset

that will compensate for the gravitational forces acting on the tool. It is not crucial to do this since the force sensor is not reoriented while controlling the robot with the Phantom, the more simple version of the subsystem was used. First, two ways to reset the force sensor signal are presented. There is an inport called ph2RobDelay and an outport called rob2PhDelay, see Section 5.2. These are used by the Phantom Robot Connector to measure the time it takes for a round trip back and forth to the robot, or in reality the Simulink Con- troller, see Section 9.7. Briefly, the idea is that the delay signal is shifting between two values, either zero and one, or two and three. The default is zero and one but when requested by the user, that can change to two and three instead and from there back again to zero and one. That fact can be used to reset the force sensor. Whenever a shift between the pair of values sent is induced the force sensor will be reset.

The purple subsystem, called offset correction/reset, in Figure 7.6 was available, [18]. It will reset the force sensor signal when given a positive flank in its in port reset_at_pFlank. That positive flank can be induced either by altering the parameter resetSensor from the GUI or through altering the delay signal from the Phantom Robot Connector as described above. In the latter

7.4 The Force Sensor Signal

Figure 7.5 The Simulink model used in this thesis.

case the subsystem reset via Phantom Robot Connector comes in, see Fig- ure 7.7. The idea is that a zero will be sent out at all occasions except for when the two last values, after having subtracted 1.5, have different signs. That indicates that the user has shifted pairs in the delay signal, i.e., the user wants to reset the force sensor signal.

The resetting of the force sensor does not give a perfect result. A reason for this might be the force sensor quantization and resolution rather than the logics behind the resetting.

Chapter 7. Simulink Model

Figure 7.6 This subsystem handles the resetting, the transformation and the

filtering of the force sensor signal. The outputs are the force that should be sent to the Phantom and a filtered force signal.

Figure 7.7 This subsystem will render a value that can be used to reset the force

sensor. The criteria for passing input port one in the switch block is that u2> 0.

available from start, [18]. It will transform a force sensor signal from the sensor frame to the TCP frame by using some blocks from the ExtCtrl Library.

After a reset at startup, or after a reorientation, and a transformation to the TCP frame, the force sensor signal is treated some more in the subsystem called force[6] -> force[3], see Figure 7.8. The name refers to the fact that only the forces and not the torques will be sent to the Phantom Robot Connector. However, the second out port of the subsystem contains a filtered force signal of size 6. As can be seen in the figure, the torques are not filtered. The reason is simply that they will not be used and are only brought along to enable the use of a force transmission block from the ExtCtrl Library block later on. The

phForceGain and the saturation limit, phSaturationLimit, can be set from the

GUI. The default values are 0.05 and 2.0 respectively.

The discrete low pass filter in Figure 7.8 has a transfer function as shown in Equation 7.1.

G = 1 − e−ωh

z − e−ωh (7.1)

The continuous low pass filter constant, ω, can be altered from the GUI through omega_F orceF ilt. An example of the impact of the filter can be found in Figure 7.9 where omega_F orceF ilt = 30. There will be a slight delay in the force measurements due to this filter and in an attempt to minimalize that delay but still keep the disturbances in the signal away, the continuous filter constant was set to omega_F orceF ilt = 50.

To prepare the force signal for the impedance controller it must be ex- pressed in the robot’s base frame. This is fixed by a Force Transmission block

Related documents