What my project was.
My project was to simulate autonomous attack vehicles that can access and monitor rough terrain not practical for humans. Three tanks will simultaneously search a given area based on GPS for a target emitting a signal. During this search, the tanks will communicate via Bluetooth, sharing their location and the targets location. Once the target is found, the tanks will form an offensive position surrounding the target in order to “disable” it.
This project will utilize a Dragonboard 410c and two Raspberry Pi’s to control the sensors and motor direction for the tanks using the available digital GPIO’s. The Dragonboard 410c micro-controllers have on-board GPS, Wi-Fi, and Bluetooth antennas making them perfect choice for this project. One of these micro-controllers eliminates the need to implement any external communication or GPS hardware, which is essential for this project. The Raspberry Pi’s come into play controlling two out of the three tanks. This is due to their Slave-mode Bluetooth capabilities. The Dragonboard will act as the master in the created pico-net between the tanks. The autonomous behavior for this project will be controlled by GPS while avoiding objects using digital sensors mounted on the chassis’s. This project idea was created to form an alternate solution to foot soldiers for dangerous terrain in enemy territory.
The initial deliverable’s and milestones called for three communicating autonomous vehicles controlled via GPS as described above. These deliverable’s were split up into subcategories which acted as steps towards total project completion. Many of the key aspects of this project were completed. I was able to program autonomous behavior in Python using digital proximity sensors to allow the vehicle to recognize obstacles to avoid. This involved building the motor driver and digital sensor circuits to interface them with the Dragonboard and Raspberry Pi. My main focus was to complete one vehicle, as the other two would be almost exact replicas. Once one vehicle is at total completion I would be able to begin the communication aspects. I was able to set one Raspberry Pi into slave mode in order to connect itself with the “master” Dragonboard.
Unfortunately, I faced difficulties remaining on par with my timeline. I fell behind due to complications in the setup for the Dragonboard. Throughout my research, I discovered that the Dragonboards Linux based operating system, Linaro, was not stable. I needed to use this OS due to its compatibility with the Python IDE. However, after installing updates and proper Python libraries, I realized I still did not have access to the GPIO pins. This took multiple weeks for what was seemingly a simple task. The tutorials online were unclear and incomplete. After many trials, I was finally able to access the GPIO’s using a combination of eight different tutorials . On top of this, I discovered that Qualcomm did not write libraries for the GPS capabilities for Linaro. This was a huge disappointment considering it was a major aspect for my project. This also contributed to the timeline deviation.
What I accomplished.
The accomplishments for this project can be found documented throughout this website as well as in my engineering notebook which will be handed in for grading.
I believe this project should continue as a senior project for multiple reasons. This project incorporates programming, circuit design, and communication aspects. I believe these are the backbone for electrical engineering. This strengthened my skills and understanding of micro-controllers in general along with Linux operating systems. This project also forced me to enhance my organizational skills. I needed to setup a timeline with milestones in order to remain on schedule. The idea of this project can also act a prototype for a real life military attack system if all steps are completed. Overall i believe this project deserves to be continued and finished properly.
In order for completion, this project needs a few more key aspects. To start, I suggest choosing a different micro-controller which would essentially start the project from the beginning. However, this will remove any complications with the Dragonboard 410c. With a different controller, I believe I would have had much fewer complications in the early stages. As the project stands, the tank needs a target receiver along with a target that transmits. This is essentially the goal of the project. The project also needs to have proper communication between the tanks. I have not successfully shared files between two micro-controllers. Lastly, the project needs the implementation of GPS. The GPS allows the tanks to have a designated searching field. Without it, the tanks will travel sporadically and too far from the target. With a new micro-controller, proper communication, and GPS capabilities, this project can be successfully completed.
As the project stands, I can demonstrate basic autonomous behavior using the Raspberry Pi. This includes the circuit design for the motor driver and digital proximity sensors.