The GPS targeting pod must be carefully drafted and assembled in an efficient manner, as there is limited time for completion of many tasks. The features that are most important to the functionality of the device will have the highest priority. Majority of these high priority tasks are spread evenly among the four subsystems, and will be completed in parallel. An example of a critical feature of this device is communication between the controller and the pod. Section 2.1.1 describes the full list of functionality requirements the device is expected to possess. Once urgent tasks are completed, the remaining features will be implemented. The next section gives a rough estimation of the expected completion time of each task. We used Microsoft Teams Planner to display each task, team members responsible, and their respective completion dates.
Tank: Drive based on communication data from the controller
Tank: Determine bearing using the magnetometer
Tank: Read angle using the gyroscope
Tank: Read distance with a rangefinder
Tank: Calculate GPS location
Tank: Gather video data
Controller: Read input data from multiple analog buttons
Controller: Read input data from joysticks
Controller: Display read data onto the display
The system shall control motor operation and coordination
The system shall manage power consumed by an underlying device without hindering performance
The device shall be able to communicate wirelessly with the controller
The user shall be able to display an interface with the device using the controller
The device shall gather, package, and transmit data.
This device shall monitor faulty and overloaded circuits
This device shall monitor battery levels
The main device shall be shatter resistant
The system shall undergo rigorous testing
The project will be for the targeting and geo-locating of targets. The system will consist of a controller and a tank. The controller will consist of analog buttons and joysticks. This analog data will then be turned into digital data using an analog to digital converter and then read into a Raspberry Pi 3. The Raspberry Pi will then remotely communicate this information to the tank section of the system. The tank will be controlled and process data using a Jetson Nano. The tank will have two motors driven by pulse width modulation from a motor driver. The primary mission of the tank is the geolocation of distant targets. The tank will be equipped with a magnetometer, GPS module, a laser rangefinder, and two cameras. When the user sees the desired target through camera 1 (the camera for driving) the user will command the tank to switch to camera 2 (hard mounted to the laser rangefinder), aim the rangefinder with two perpendicular servo motors, and take the appropriate measurement. By knowing the GPS location of the tank, its bearing (using the magnetometer), and now the distance of the target, the tank can calculate the GPS location of said target and relay that data back to the user. The controller will take in all the video data as well and display it onto a screen. Both the tank and controller will have a collective 4 sections: chassis and mounting, battery management and power delivery, embedded hardware and module selection, and software operations programming.
Tank Chassis & Controller Case
The structural system is all-encompassing as it will be required to house and protect the power and embedded systems, as well as protect them by providing the necessary resilience to inevitable external factors such as the elements, tampering, and opposing forces. To ensure that these requirements are met several iterations will be completed. Each of these iterations will be machined using 3D printers and CNC milling; to ensure maximum functionality a 3D printer will be used to create a prototype/ proof of concept followed by CNC milling aluminum parts. The machining of each iteration will be based on the structural team (Jacob Baker & Will Yerkes) designs.
The structural design of the targeting pod will follow the process listed in the block diagram above and will further be divided into three separate designs: the chassis/frame, the powertrain/ tread, and the shell/armor. Whereas the controller will be divided into two sections: front and back.
The three separate designs of the targeting pod will be combined, as will the front and back of the controller design. Each of these separate pieces will be mated using metal screws. This final assembly will result in both the completed targeting pod and controller that not only house the internals of the corresponding subsystems, but also protect them from outside interference and afflictions. Many considerations will need to be made to ensure the functionality, practicality, and longevity of the targeting pod and the controller.
Battery Management Board
The battery system will be divided into 2 main portions: the tank and the controller; both portions will be remarkably similar. Each of them will involve a battery management system (BMS) board, a battery pack, a barrel jack for charging, DC/DC converters, and protection circuits. The battery management team (William Yerkes & Jacob Baker) will be designing the boards for both the tank and the controller.
The first step for both boards will be to communicate with the Embedded Hardware team to determine which components will be used and calculate maximum load current and voltage requirements. Once maximum power has been determined, the team will then pick the best batteries to use based on budget and availability. The choice and number of batteries will result in the knowledge of weight requirements necessary to determine how the structure of the tank will be built. The next step for the battery team will be to determine the correct charge controlling module to use based on the batteries. The batteries being used may require a standalone charge controller that needs to be bought. However, the ideal situation would be that the team finds a standalone integrated circuit (IC) to design the BMS themselves.
Hardware & Embedded Components
One of the most important initial tasks is to create a flow chart and a diagram of the project. Doing so, we can visualize and understand better the steps and the requirements of the project. When we know the scale of the project and all the components that are required for the project, we can choose the parts wisely based on calculations and expectations of power supply, inputs, outputs, communication, etc.
Python program for live video feed
The state diagram will be broken into separate components which will work independently/simultaneously from one another based on the users’ input. Both the controller and the tank will work as a transmitter/receiver via Wi-Fi. A Raspberry pi 3b+ will be used as the primary display to allow viewing of the GPS coordinates, Magnetometer, Accelerometer, and camera view of the tank. The tank will be equipped with a Jetson Nano for computing data that is being sent and received. Attached is a LIDAR, 2x camera, servo motors, DC/DC motors, laser rangefinder.
3D print chassis to make sure it is at a respectable size
Assemble chassis to verify everything fits together
Attach mounts to verify all modules are attached correctly
Stress test chassis to verify stability
3D print controller to verify that everything fits together
Verify circuit design for both controller and tank
Verify availability of components
Verify PCB layout designs
Verify in-house milled PCBs work as required
Verify ordered PCBs work as required
Verify availability of components
Verify price point of components
Verify power requirements of components are possible with given battery choices
Verify communication protocols of components match up with controllers
Confirm foolproof operation of GPS, magnetometer, LIDAR & laser rangefinder
Confirm foolproof operation of motors & servos
Confirm foolproof operation of camera & screen
Confirm foolproof operation of buttons/joysticks & communication protocol