• No results found

F. ENVIRONMENTAL SENSORS

2. Scanning Sonar Sensor Head

a. Design Considerations

The primary environmental sensor for the Creature is its scanning sonar sensor head. Although SHARP IR rangers had desirable characteristics, such as fast refresh rate and close minimum range, the inability to accurately report range and the large number of scans required to completely scan all azimuths prompted the adoption of a conventional sensor, ultrasonic sonar. The Polaroid 49.1 kHz monostatic electrostatic sonar transducer and 6500 ranging module, manufactured by Senscomp, has been the most widely used sensor in previous robotics research [32]. The transducer’s beam width is approximately ±15º [33]. Using Equation 3.5, with θ = 18º or 0.1π, the number of scans, N drops to 20.

The SensComp 6500 ranging module accepts digital initiation, INIT, and blanking inhibit, BINH, signals. It outputs a digital echo signal that goes to a high logic state when an echo is detected. Its range accuracy is a function of the timing accuracy between the time INIT is sent high and the time the echo signal goes to a high logic state. Previous robotics class work at NPS had demonstrated centimeter accuracy using digital timing devices coupled to the SensComp 6500 modules [34]. This range accuracy was superior to that achievable using the SHARP IR rangers’ analog outputs.

The researcher did not have a sufficient quantity of transducers and ranging modules to permit mounting eighteen fixed devices around the periphery of the robot. Further, the Creature’s components and chassis did not afford enough space to mount so many fixed devices. It was decided to use fewer devices and scan them in azimuth, but this solution created added complexity.

The sonar system consists of four components: a sensor head controller, a servo motor, four ultrasonic transducers, and four ranging modules. The scanning sonar sensor head needed to complete the following tasks:

• mount the sonar transducers and mechanically scan them

• time the interval between INIT pulse and receipt of echo signal, i.e. the TOF

• store TOF data

• communicate TOF data

b. Sonar Mechanical Mounting and Pointing

Four sonar transducers were mounted to a square section of perf board, measuring three inches on a side. Perf board was chosen because of its light weight and pre-drilled holes, which allowed easy alignment of the orthogonally-mounted transducers. To limit rotational inertia of the scanning head, construction emphasized light-weight parts. It was feared that a heavier head with greater rotational inertia would not accelerate and decelerate to a stop precisely enough when the head was scanned at high speed, roughly one degree per millisecond. This would have caused misalignment between the sonar transducer’s beam pattern at the time it was fired and its intended ranging sector.

The transducers and perf board were mounted to a Futaba S3003 RC servo, which provides the rotational motion under the command of the sonar sensor head controller. The manufacturer states that the servo requires 0.23 s to move 60º when supplied 4.8V or 0.16 s to move 60º when supplied 6.0V. Equivalently the servo can move at a rate of 261º/s and 375º/s at 4.8 and 6.0 V, respectively. It can generate 3.2 kg- cm torque at 4.8 V [35]. The servo included a circular servo horn, or mount, with the numbered labels at 90º intervals. The servo positioned the flange to its rightmost limit when a 0.30 ms signal was applied to its position signal input. With the servo case aligned with an imaginary Y axis, the Futaba servo’s number 1 mount point was observed to move to a position 90º to the right, or aligned with an imaginary X axis. The number 1 mount point’s position was observed and recorded for various control pulse widths. The angular position of the number 1 mounting point and the pulse width obeyed the linear relation below, where T is the control pulse width in microseconds, and θ is the angular position in degrees from far rightmost limit of the servo’s rotation.

300 10

1

s T = µs+ ⎜⎛ µ ⎞θ

c. Function of PIC Microcontroller and Sonar Circuit

All other tasks listed above were accomplished using a PIC microcontroller mounted to a purpose-built PCB, designed by the researcher using Cadsoft’s Eagle circuit layout software. The PCB was manufactured by Advanced Circuits. The PIC16F690’s program is explained in chapter 4, and while the construction of the PCB and the sensor head controller is described below. Briefly, the PIC was programmed to send the appropriate servo pulse to the RC servo to position it to the required azimuth. Four discreet digital output pins on the PIC were connected to the INIT signal inputs of the four SensComp 6500 ranging modules. The PIC was programmed to fire a sonar, and count the oscillations of its internal oscillator between the time the INIT signal was sent high and the time the echo signal was observed to go to a high logic state. The four modules’ ECHO signals were multiplexed to simplify the PIC’s timing operation. The four ECHO signals were combined using an XOR gate, which resulted in a virtual four input OR gate. Thus, when any one ECHO signal went to a high logic state, the combined echo signal input to the PIC also went to a high logic state and provided a signal to cease counting the internal oscillator, stopping the TOF timing.

A MAX232 RS232 level shifting IC was installed in the circuit to shift the PIC’s serial data voltages to the RS232 standard. The ranging modules produce noticeable electronic noise on the supply, ground, and echo lines when the transducers are fired [24]. Two 1000 µF capacitors were installed in parallel to reduce noise on the PCB’s five-volt supply during sonar firings. Figures 25 and 26 show the circuit schematic for the sensor head controller.

The servo sensor head controller is powered by the electronics power bus and uses five-volt supply. The PIC16F690 and SensComp 6500 ranging modules receive power via the Sonar switch on the Electronics Bus Panel. The RC servo requires five- volt power as well, and is separately switched via the Servo switch on the same panel.