Brian Lenz

Mark Christiansen

Adam Prewett

 

CSE 477

 

May 14, 2001


Introduction

            In this document, we will be reviewing the final design of the Etank.  We will point out the issues of the design that need some fine-tuning.  First, we will review slight sonar miscalculations that will occur with the remote unit on the tank.  Second, we will look at concerns with moving the tank in reverse.  Third, we analyze the scenario when the tank becomes parallel to a close wall.  Finally, we discuss methods of slowing the tank down for better control. 

 

Sonar Miscalculations

            The tank uses sonar to calculate the distance to an object such as a wall.  This works perfectly some of the time.  Unfortunately, it only works perfectly when the tank is staying still.  When the tank is moving, the ability to calculate a distance will be affected by the speed of the sonar waves.  With this latency, the tank will move farther than it thinks it has. 

            Although we initially looked at the Doppler Effect as a source of error to the sonar distance calculation, it is an insignificant amount of error.  Shown below is the shift in frequency that the Doppler Effect will create if the tank moves roughly 1.22 m/sec.  The velocity of the tank is doubled because the sonar wave is reflected off the wall before it returns.

                        fr = f0 ( ( c + vr ) / c ) (fr received frequency; f0 emitted frequency; c propagation speed; vr receiver speed)

                            = 49,400((340 + (1.22*2))/340)

                            = 49,755 Hz

 

Since the tank moves slow compared to the speed of sound (340 m/sec) there is a miniscule shift in frequency.  If we wanted to calculate the error due to the Doppler Effect, we would have to measure the received frequency.  Then we would use the received frequency to calculate the tank’s velocity, and compare it to the real velocity.  This difference in velocity would then show us the error in distance.  However this error is insignificant to another error in using sonar to calculate distance.  

The tank uses the time it takes to transmit and receive a sonar wave to calculate the distance to the wall.  Due to this, there will be an associated amount of error when the tank is moving.  To analyze this error, lets look at a typical situation.  The tank is moving towards a wall at 1.22 m/sec.  When it is five meters away, the sonar will send a wave.  It will take roughly 30 milliseconds for this wave to return.  In 30 milliseconds worth of time, the tank will have moved 36 millimeters.  Since the sonar module uses the time for the sonar wave to return, it will think it is 4.982m away from the wall, when it is actually 4.864m away.  This error is already much greater than the +/- 10mm tolerances desired.  Taking this into account, will give error of roughly 20mm.  Although the Doppler Effect is insignificant and will not need to be considered, the propagation delay of the sonar waves should be.  In the last section of this design review, we discuss means of slowing the tank down to achieve better control.  If this is done successfully, then the propagation delay issue will become less significant, helping the Etank achieve better tolerances. 

 

Reverse

            Since the Etank is designed for educational purposes, one must account for malicious or new users who can harm the system.  While the front of the tank has sonar to ensure that no one can run the tank into a wall while moving forward, the back has no such safeguards.      

            There are several possible solutions to this problem.  One solution could be to add sonar to the rear of the tank.  This of course would take a significant amount of time to add to the design.  However, the additional design would be similar to the sonar on the front of the tank.  Another solution would be to keep track of the location of the tank while it is in the environment.  Since the environment is known, the tank could track its movement, and ignore any instructions if it would mean jeopardizing the tank.

 

Turning Issues

            If the tank is not controlled carefully, it could also get stuck in the environment by colliding with a wall.  For example, the tank could approach a wall at an angle.  When the tank becomes too close, it will come to a stop.  The user could then specify for the tank to turn so that the tank moves in parallel along the wall.   If the tank is too close to the wall, it will be unable to turn the full angle.  Under the current design, the tank will just keep trying to turn until either the battery or motor dies.  This is not acceptable.

            One solution to this problem is to create a buffer zone.  This could be a carefully chosen distance in which the tank would stop when it came close to the wall.  This distance could also change dynamically depending on the angle of approach.  This would be necessary since an approach at a wider angle will need a much larger buffer zone, if it is going to be detected with sonar.  As long as the tank stays away from the wall at the maximum distance of the largest turn radius, then it should never get stuck.        

            Another solution to fixing the problem of getting caught on a wall would be to keep track of rotation.  If the tank was trying to turn, and it had not made progress since its last update, then the user could assume it is stuck on an object.  The tank could then transmit an error message back to the user telling of its problems.  How it behaves from there would be up to the user. 

 

Slow Down 

            Since the tank moves at approximately 1.22 meters/second it will be very difficult to control precisely.  Also, the sonar pulses occur every 250 milliseconds.  This will make it possible for the tank to move about 0.3 meters in between updates.  This is especially undesired because the tolerance of the system is supposed to be +/- 10 millimeters.  In order to achieve more realistic precision, it is essential to slow the tank down.  Although slowing the tank down may not necessarily achieve these high precision tolerances, it will give the user much more precision.  We also feel that these tolerances are unreasonably precise for the tank.  We see tolerances of +/- 4 cm to be more appropriate.

            Specific ways of slowing down the tank include putting weight on the tank, using a voltage regulator to lower the voltage given to the motors, or controlling the tank in movement bursts. 

One problem that putting weight on the tank may bring is that it may be overly bearing on the motors or other components of the tank.  Since the tank is made out of plastic, it is unable to support a significant amount of weight. 

            Controlling the tank in movement bursts may work, but it will give the tank jerky movement.  This could be less than desirable however, especially if the tank will be drawing pictures in the environment.  The pictures would not turn out to be smooth.

            Using a voltage regulator to slow down the motors is probably the best alternative.  It will slow down the tank without jerky movements or unnecessary strain.   We suggest using a voltage regulator. 

 

Conclusion

            Overall, we feel that the Etank members are making excellent progress on their project.  They have taken a serious look at all of the communication issues, and now need to focus on the more implementation-specific details. 

            In order to make the tank more user-friendly, they may want to consider slowing it down.  They may also want to take into consideration the propagation delay of sonar waves, and the error they will receive in using the sonar in pulses.  It is important that new or malicious users do not damage the tank and that the tank will not get caught up on any walls. 

            Group E seems to be doing a fine job, and they can easily meet their expected deadlines to finish the project.