I spent one year working on a small team of engineers to develop a prototype tank turret control system as part of a bid to the U.S. Army. The tank itself was designed to be small enough to fit two of them on a cargo aircraft, effectively doubling the number of tanks that could be transported concurrently. My team consisted of a few hardware engineers, a few mechanical engineers and a few software engineers. I worked on the prototype from the start of the project until the bid was submitted one year later.
The prototype was selected by the U.S. Army as one of two winners that would continue to develop 12 more of their tanks during the engineering, manufacturing and development phase of the contract. For more on that you can check out this press release from BAE Systems.
As part of the project, I went on multiple trips to support the work necessary to ensure the prototype functioned properly. Since I was one of the primary developers for the turret control software, I was often tasked with leading the integration work with the other companies. I had a lot of hands on integration experience inside of the live tank during various prototype stages, including moving the turret for the first time, integrating the turret control algorithm, merging the tank chassis with the turret, driving the vehicle for the first time, and dialing in the turret’s firing capabilities at a firing range.
Throughout the entire project, development was performed at a very rapid pace to keep up with deadlines and meet the various project milestones. The project ended up being completed on time, with a working prototype being delivered to the U.S. Army for consideration.
The technical aspects of my work involved:
Meeting strict software requirements for fast and accurate target acquisition and main weapon firing.
Creating and maintaining the turret software architecture.
Developing high-performance C and C++ software to interface with the tank gunner controls, the tank main computer, the gunner’s targeting sight, and various hardware components/sensors necessary for accurate control and targeting.
Writing high-performance networking code using C++ for intra-vehicle component communication and network replication of targeting information.
Mentoring junior software developers throughout the project
Working directly with firmware and hardware engineers to integrate user control and sensor information into the turret control software.