Achieving Software Quality Excellence Through Software-Hardware Co-Design and Co-Verification

Robotics explores the amalgamation of physical mechanisms and computational intelligence. Embracing and developing this convergence today, the full potential of the future can be unlocked, transforming several industries and significantly expanding the reach of modern technology. The future of technological advancement and complexity increasingly emphasizes the importance of software-hardware co-design and co-verification, a process currently practiced by the field of embedded systems, especially robotics. This paper details the experience of a robotics team in implementing various software-hardware features to enhance robot performance. To fulfill many requirements of robot tasks, precise control of the robot and knowledge of its state at all times is crucial. The team strategically incorporated various independently operating sensors into different components of the robot, which are then processed with parallel executing software threads, each of which transmits the information to a different color on a LED panel. This allows the robot to communicate its state to the user in real-time. The team also successfully synthesized feedforward and feedback control algorithms to optimize the performance of robotic localization. In addition, the usage of an automated test program allowed the team to quickly identify, isolate, and correct any hardware or software errors the robot encountered.

The contributions of this paper are:

  1. To share the engineering experiences of the team in improving software quality through software-hardware co-design and co-verification.
  2. To explain how the team implemented sensors and unique programming architecture to improve user-based and autonomous control of the robot, by focusing on software usability, testability, and performance.
  3. To show how automated testing components of the robot sped up the turnaround time for maintaining and enhancing the robot.

The team was able to improve the software quality of the robot by accurately controlling its components, communicating its state to the user in real-time, optimizing the automated movements, and having an automated testing system. This is a significant step forward in demonstrating the importance of software-hardware co-design and co-verification in improving the software quality of any embedded system.

Monica Bao

The authors are high school students from the FIRST Tech Challenge team RevAmped Robotics based in Portland, Oregon. The team has been competing for over seven years at the local and international level and are also representing Oregon in the 2024 World Championships. They have received multiple recognitions for their competitive robot and contributions to many communities. They developed an easily controllable robot that can quickly adapt to its changing environment. To ensure software quality, they have utilized sensors to streamline robot actions as well as automated robot testing to reduce turnaround time to ultimately create a high-performing robot. The team also reaches out to spread STEAM (Science, Technology, Engineering, Art, and Mathematics) to a diverse community of young students, as well as learn from industrial professionals to improve their engineering skills.

Author profile pictureHavish Sripada




Author profile pictureJoanna Mei