Robots are becoming more and more integral parts of life – from current applications like cleaning floors and performing surgeries to futuristic applications like autonomously operating cars. However, in order for robots to gain more autonomy to perform these higher-level tasks, they require sensors to provide information about their environment (audio, video and proximity to obstacles). As more and more sensors are required for robotic development, it becomes imperative that engineers use prototyping tools and platforms that allow them to design and iterate quickly. By developing functional robotic prototypes with field programmable gate arrays (FPGAs) and commercial off the shelf (COTS) hardware, engineers can test ideas, algorithms and I/O combinations efficiently to make next-generation robots a reality.
Why is COTS hardware important?
The amount of sensory data required for a truly autonomous robotic system is increasing. Robotic developers face the challenging prospect of changing feature sets and unknown requirements in terms of I/O. For example, a robot may contain a single low-resolution sensor for capturing video data. However, throughout the lifecycle of the project, the price of the sensor may become cheaper making it feasible to add additional cameras to the system. Robotic developers need to create on platforms that allow them to swap out I/O to make the best possible designs quickly. To mitigate risk, developers can choose COTS hardware that saves them engineering time while maintaining the flexibility to swap out different I/O configuration to meet the requirements. This is especially important during time sensitive endeavours like creating a first functional prototype.
Tips for developing the prototype
Creating a prototype is a commonly overlooked step during development – often it is viewed as a cost and time impediment to creating the final product. However, by selecting a platform that allows engineers to produce and change designs rapidly, prototyping becomes an invaluable phase during development. Prototypes are useful for proving the value of a particular design and, in emerging fields like robotics, can be essential to reaching the next stage of investor funding while better understanding customer needs.
One of the first tips to creating robotic system prototypes is to develop and validate FPGA IP piece by piece. Robotic applications can often times be separated into ‘sense’, ‘think’ and ‘act’ components, which means a portion of the code is responsible for reading sensory input, an algorithmic portion decides what action to take, and lastly, the output of the actuators to drive the robot autonomously. By modularising these three tasks, developers are able to decouple the I/O from the algorithms. This benefits the engineer by allowing them to test and validate code as independent units and make modifications to subsystems without impacting the stability of the entire prototype. The parallel nature of an FPGA design makes it an ideal candidate for this type of architecture as a variety of I/O components can be brought into and out of the device independently, while the reconfigurable fabric allows continuous modifications to algorithm level decisions. Once sections of IP have been proven to work independently, the sense, think and act code segments can be integrated together to form a fully functional embedded system for robotics that can be tested and validated as a whole.
FPGAs can help engineers create advanced, high-level perception and planning algorithms
A caveat that engineers often fall into when developing a prototype is worrying about the cost of a system too early in the design process. For the hardware components of a robot, one of the great time sinks and potential failure points are early cost optimisations. While cost is a factor, the goal of developing a prototype is to remain within striking distance of creating a profitable design. An FPGA may have more cost than an ASIC in some scenarios, but it has the flexibility to consolidate multiple components into a single package. For example, its reconfigurable nature allows developers to configure different types of peripheral resources on the FPGA such as serial communication interfaces. If at the on-set of a project there is uncertainty about the required number of interfaces, an FPGA allows configurability that eliminates the cost of additional chips and potential redesign work. As a result, engineers can focus on proving the value of their design rather than the individual component costs.
Robotic success with prototypes
The ability to demonstrate the behaviour of a system in front of customers, investors and potential employees is one of the greatest benefits to creating a functional prototype of a robotic system. In order to make sure that the development team reaches the prototype stages, it is important to select tools that allow them to reach the end-goal efficiently. By incorporating system architecture that is flexible in terms of I/O and programming capabilities, engineers can make necessary changes to the system based on client or investor feedback. FPGAs provide a rugged, stable and reconfigurable platform for integrating I/O and programming autonomy into robotics. Combined with the versatility of COTS hardware, the next generation of robotics has the ability to produce amazing results and become a more prevalent part of our everyday lives.
© Technews Publishing (Pty) Ltd | All Rights Reserved