|17||John Deere Modular Vehicle Control Board
|Sumanendra Sanyal, sanyal3
Sam Huhta, shuhta2
Zach Hoegberg, zh2
Modular PCB interface for John Deere equipment
Problem: John Deere currently manufactures an autonomous lawnmower that uses a buried wire to define the boundary of the yard. Furthermore , the hardware in the mower isn't applicable to other John Deere equipment. They would like to eliminate this wire by implementing a localization algorithm using a combination of vision, LIDAR, and other sensors, but the current Vehicle Control Unit does not have the necessary computing power to enable this.
Solution: We will replace the existing board with a modular microcontroller design capable of running Linux applications, consisting of a universal main board and machine-specific perception and vehicle boards. The modular design keeps the high-level automation code on the main board and swaps out perception boards and vehicle boards designed for a specific piece of equipment. The main board boots a LINUX system developed by John Deere for a particular piece of John Deere equipment. The vehicle board will drive motors or send command to the existing equipment as appropriate. The perception board will accept sensor input, for example from cameras and LIDAR sensors, and include a GPU for running a Deere-provided neural net or machine learning algorithm. The boards will communicate using ethernet/USB or some other method determined to deliver enough speed. All of the boards are custom-built microcontroller boards/PCBs that meet a specific hardware specification. The boards will have to demonstrate basic functionality by running test code (provided by John Deere software developers) and then they will run the actual code pertinent to the operation of the vehicle (also provided by John Deere). We intend to design these boards with the design of the the preexisting board at hand (non-modular design) and close coordination with John Deere PCB engineers and software developers.
Power: SMPS Voltage Regulators so all of the boards receive a stable power supply from the on-board battery.
Main Board: This board is responsible for running the top-level Linux software. Unlike the other two boards, this one is the same for all vehicles. It contains a multi-core ARM processor, and it connects to the other two boards via ethernet/USB cables (or whatever method of communication we choose).
Vehicle Board: This board is responsible for dealing with the physical operation of the mower, and is connected to wheel motors, steering, Hall effect sensors, etc. The vehicle board is unique to the type of John Deere equipment and we will be demonstrating the vehicle board for the tango mower.
Perception Board: This board is responsible for taking in all the data from perception sensors, including cameras, LIDAR, and other potential sensors in the future. This board can be switched out in the future as other sensors are introduced.
Criteria for Success: The main board will boot the provided Linux kernel, and communicate with the vehicle board. The vehicle board will control the Tango drive motors as commanded by the main board. The perception board will deliver sensor data to the main board.
Additionally, Deere would like us to run a neural net on a GPU on the perception board, but they understand that adding that task may be out of the scope of a semester-long project. We will leave this as an optional task if time allows for the time being, and decide in the next few weeks if we can accomplish this task as well.