* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download PPT - Dept. of Electrical and Computer Engineering
Mathematics of radio engineering wikipedia , lookup
Control system wikipedia , lookup
Brushed DC electric motor wikipedia , lookup
Electronic engineering wikipedia , lookup
Induction motor wikipedia , lookup
Brushless DC electric motor wikipedia , lookup
Stepper motor wikipedia , lookup
Hendrik Wade Bode wikipedia , lookup
Variable-frequency drive wikipedia , lookup
Design of an Autonomous Analog Path-Planning Robot Research Experience for Undergraduates Department of Electrical Engineering Texas A&M University Emily Weisbrook Undergraduate Student University of Oklahoma Takis Zourntos Assistant Professor Texas A&M University Design of a test bed for an autonomous analog robot that will use a Field Programmable Gate Array to implement the system of mathematical equations that govern its path planning abilities. BACKGROUND SENSORS With the recent advent of the digital revolution, analog electronics are being used less frequently for computation purposes. Most computation can be accomplished using a simple microcontroller for processing purposes, and it is typically more efficient for processing and computation. Digital electronics, however, are not optimal for every application. In certain applications, analog computation may actually be more efficient. Digital computing methods and processors require sequential processing. In contrast, analog systems do not “think” in the same way. The output from analog components is simply a response to the input. It does not operate based on a series of instructions from the processor, it responds based on the intrinsic physical properties of the circuit that runs it. Because of the lack of requisite “instruction”, the analog computations (assuming no digital sequencing) can be performed at the rate at which the electrical signal can be transmitted. Analog computational systems, however, are more difficult to design. People with little knowledge of the design of a digital system like a microprocessor can use a high-level programming language like C to accomplish their goal. In contrast, analog systems must be configured for a given application using a system of differential equations that incorporate the particular specifications of that system. The resulting equations must then be translated into electronic circuitry and implemented. There is currently no devised systematic method of doing this. The work accomplished this summer focused on a robotic application of this method. Most robots run on a system of “if-then” statements based on input from the sensors about the environment. Our project was to design a test bed for a lightweight, low-power, autonomous, analog robot that could traverse a path ridden with obstacles to find an auditory source. The path planning of this robot would be completely controlled by a system of differential equations. To work properly, the equations modeling the robots path will need two values: the distance from the robot to the target and the angle the target is from the current trajectory. There will be two sets of sensors: long-range and short-range. Two microphones, mounted on the front corners of the robot, will serve as long-range sensors. The location and bearing of the target will be determined by the distance between the sensors and the difference in the time it takes for the noise signals to reach each microphone. The law of sines and the law of cosines will be used to determine the angle, and the amplitude of the signal will determine the distance from the target. An ultrasound sensor will be mounted on the front of the robot to detect upcoming obstacles. In future versions of this robot, more short-range sensors will be added to other sides of the robot to gain a more accurate knowledge of the robot’s surroundings The additional information will facilitate more efficient and accurate path planning. The values of distance and bearing will be passed into a system of differential equation which will output two rotational velocities—one for the left set of wheels and one for the right—transmitted as voltages. MATERIALS AND METHODS A basic diagram of the robot systems is shown below. Three main subsystems comprise the make up the robot: the sensors (ultrasonic and two microphones), the computations (performed by the National Instrument RIO FPGA), and the actuators (motors). FIELD PROGRAMMABLE GATE ARRAY 2 1- 3- 1 3 5 7 9 11 13 15 9 11 13 15 Channel A 7 2 1- 3- 1 3 5 7 Channel B Lagging Channel A (Clockw ise Rotation) 1- A Field Programmable Gate Array (FPGA) is a piece of programmable hardware that uses a computer program (in our case, Labview FPGA) to design circuitry. Labview FPGA is a subset of the graphical programming software Labview, in which only the functions that can be implemented using the gates on the FPGA can be used for the programs. Technically, the FPGA is a digital machine and all the computations it does are using digital parts. However, the FPGA is not digital in the same sense that a computer is. There is no resident operating system to tell it what to do. In addition, the hardware responds based on its physical properties and therefore is able to work in real time. The equations are implemented on an FPGA rather than in an analog circuitry method because the FPGA can be reprogrammed. Analog systems can be quite complex and since reaching a solution is an iterative process, an FPGA allows the flexibility of changing the equations and not having to start over from scratch with creating the necessary circuitry. 3- 1 3 5 7 9 11 13 15 Sample outputs from the encoder channels Using a D flip flop, the direction of the rotation of the wheel can be easily determined. A flip flop is a device that, whenever triggered by a square wave (such as the one coming from the encoders), passes a discrete value from the input to the output. For a falling-edge triggered flip flop, if channel A is connected to the clock and channel B is connected to the input, then every time the voltage falls from 5 to 0, the flip flop will be trigger and the voltage from the input of the chip passed to the output side. From the diagrams above, if the output of the flip flop was low (0 V) then the motor is rotating in the clockwise direction. If the output is high, then the motor is rotating in the counter-clockwise direction. MOTORS The FPGA receives the distance and bearing of the target from the sensors, as well as information about oncoming obstacles and translates this data into rotational velocities for the motors as a voltage. These velocities are then passed to the motors through a unity gain buffer to source the amount of current the motors require. In order to ensure the accuracy of the velocity, encoders are attached to the motors. The encoders return the frequency of the motors as two pulse waves offset from each other by 90º. One of the pulse waves will then be fed into a frequency to voltage conversion chip and compared with the desired speed. This feedback loop ensures the accuracy of the control loop. A diagram of the motor system is shown below. 0 RIO Board motor with digital encoder ∫ ωR - (subsystem) ∫ D/A buffer D/A buffer + Environment motor with digital encoder k 0-5 V The work accomplished this summer was foundational for the design and construction of a robot that will be built in the upcoming semester. The control algorithms will be implemented using Labview FPGA and a National Instruments RIO board. Once the robot is constructed and the RIO board programmed, testing will be done to determine the accuracy of the path-planning algorithm. After finetuning the algorithm , the circuitry will be implemented on a custom chip to determine the actual power used. F→V + ωL Motor FUTURE WORK left motor control - (Subsystem) 7 2 Full Size Diagram Sensor Block Channel B Leading Channel A (Counter-Clockw ise Rotation) 7 k RIO Board Both pulse waves from the encoder will be required to determine the direction of the wheel. The two channels return pulses like the ones below. F→V right motor control Key ωL→desired angular velocity of left wheel (in Volts) ωR→desired angular velocity of right wheel (in Volts) -7.2 to 7.2 V ACKNOWLEDGEMENTS Nebu Mathai, Ph.D. student, Texas A&M Blake Hayman, Undergraduate REU student Marcus Dunn, Undergraduate USRG student Anthony Pham, Undergraduate student, Texas A&M National Science Foundation Department of Defense motors Notes: The integrator may be placed outside the FPGA and implemented using an op-amp. Acknowledgements NSF Award ESI-0083336