Objective
The goal is to create an autonomous search and rescue robot, capable of applying a mapping, and search and rescue algorithm and retrieve a target on a model scale. Collected data will be wirelessly transmitted to a control computer via an XBee Module.A printed maze is used to simulate the bounded navigable terrain and a golf-ball serves as the target for rescue.
The Team
- RST - The team leader, responsible for managing project deadlines, submissions, and scheduling. RST also contributed to the overall hardware design of robot and was responsible for building the internals and assembling the robot. Under RST's unparalleled leadership, the team mustered more man-hours from its members and completed more revisions and prototypes of the robot than any of the team's competitors. The result, despite a few major setbacks, the team built superior robot compared to its competition, the Escalade.
- KGL - The team's lead software developer. KGL was responsible for nearly all the software aspects of this project from creating the foundation of the robot's search & rescue algorithm to integrating the software to function with a wireless Xbee module. Moreover, KGL single handedly create the GUI on for the remote control.
- WCC - The team's second hardware designer, hardware integration officer expert, and secretary. WCC designed and aided in the building of the robot's motor control module. WCC also took on the task of integrating the hardware together and patiently tested nearly every hardware component to discover and eliminate hardware problems. Lastly, WCC was responsible for keeping track of the accounts and did a fine job; the numbers balanced out at the end.
- BPY - BPY was responsible for CAD drawing of the robot's chassis and then building the chassis. It was crucial all the hardware components fitted together so BPY created revision after revision to ensure all the tolerances were met and contributed in the construction of all the prototypes and subsequently the final version of our robot, the Escalade. Lastly, BPY, aided KGL in the development of the robot's software and created one of search and rescue algorithms.
- ABC - ABC's official title is the integration and testing officer. Despite ABC's great effort, the responsibilities assigned were too much for ABC. ABC subsequently functioned as a live soldering vise and was assigned one of the most important responsibilities, getting the coffee. Unfortunately, even that was somehow too difficult.
Design
Micro-controller & RF Communications
For our micro-controller, we went with an Arduino Mega 2560 instead of the cheaper Uno. Planning ahead, we expect the additional digital pins may come in useful later on. If not, there's always the option of expansion.
For wireless communications between the robot and PC, we used a XBee module and a Xbee USB dongle.
For wireless communications between the robot and PC, we used a XBee module and a Xbee USB dongle.
Algorithm
We know two things about the maze our rover has to navigate. The starting point will always be at the bottom left while the exit will be located at the top right.
To map and solve the maze, we applied the right/left-hand-rule for solving mazes. The coordinates of the intersection tiles will be recorded relative to the starting point and displayed on the GUI (below). The shortest path solution will then be determined with the fully mapped maze and then traversed by our robot.
Motors
The critical component for moving the robot, we used a pair 29:1 gearbox motor with an integrate encoder (found here) to keep track of the revolutions of the motor shaft. Knowing the number of revolutions will give us a more accurate estimation of distance travelled based on the diameter of the wheels and allow for greater control.At 12 volts, the motors an run at up to 350RPM, allowing for greater speed. However, this includes a drawback of a high stall current require us to design and build our own motor control module described in the next subsection.
Motor Module
The motors themselves are useless without a method of applying logic to them to control the direction and speed of rotation. This is where the motor module comes in. While module modules can be purchased ready to use, we were unable to find one that would fit the specifications of our motor with a stall current of 5A. Pre-assembled motor control modules are mostly only available at about 2A. As a result, we designed and built our own motor control module.WCC designed the following schematic for our motor control module. Two of these were put together, one for each motor.
Infrared Sensors
In order to solve the maze, we needed sensors to detect the paths and boundaries of the maze. For this task, we used pairs of IR emitters and sensors. Knowing the paths and boundaries are marked in black, the sensors will detect a different reading from the IR emitters emitting against a black object as opposed to a white object. Six pairs of sensors & emitters were placed strategically around the based of our robot to follow the maze.Chassis
We wanted to build something easy to assemble and large enough to house our internal components, so we opt for something in the shape of the cube. The chassis has went through more revisions than another of our major components. BPY created the CAD drawings and had the aluminum pieces cut out with a water jet. Subsequently, the pieces were folded to shape and powder-coated red.
Rescue Mechanism
We implement the rescue mechanism with a door and servo motor at the front of the robot. As the robot approaches the target, the door opens up and closes over the target, capturing or rescuing it.Circuitry
Using the free version Eagle PCB design software, we were able to connect all components together on a 8cm by 10cm PCB. Due to the dimensional restrictions of the free version of the program, we really had to cram all the components together tightly. Despite the tight dimensions, we were still able to incorporate the team's logo and names onto the board. Over coming the size restrictions would have allowed us to add male pins to the board so the Arduino microntroller can be plugged directly to the board, effectively, creating a custom shield for the Arduino. The schematics were first draw out and then converted to a CAD PCB drawing which was subsequently sent to be commercially etched out.
End of Part 1
THE ABC GUY SOUNDS LIKE A FAGGIT.
ReplyDeleteInteresting, I worked with the bipolar ABC guy before. He was nothing but a coward full of mood swings, who tried extremely hard to blend into the group, but did not even know what a voltage divider is.
ReplyDelete