Engineering Computing News
Engineering Computing Resources
January 1, 2011
By Jamie Brettle
Robotics present an opportunity to introduce a disruptive technology force that can serve to improve everyday lives in a multitude of ways—from robots that perform surgeries to autonomous vehicles. In order for robots to perform complex tasks they require an ever increasing number of sensors and actuators to interpret the world and more powerful complex algorithms running on the newest embedded processors.
Figure 1: Engineers from Virginia Tech University developed an autonomous robotic system to assist vision-impaired drivers.
However, as engineers and scientists are able to create more capable robots, managing system complexity becomes a risky proposition. As a result, developers are forced to discover new methodologies to help mitigate the risk associated with complex and novel designs. One such methodology is to develop early phase prototypes that can help reduce the risk associated with developing robotic applications. Prototyping offers benefits to engineers by providing early feedback into the design process while engaging potential clients, customers and investors.
Here are five tips that will help you prototype your next robotic system:
1. Ideas are Cheap
With the advent of the Internet, ideas are being shared faster and more cheaply than at any time in history. Technologies like YouTube and Twitter drive cost and time involved with sharing an idea to virtually nothing. The most costly part of creating a new robotic system is not in coming up with the idea, but rather in determining whether the idea holds any economic value.
By creating a robotic prototype, you can show potential customers and investors an idea in a concrete form. This provides a platform for you to solicit feedback and test whether the idea has value in the marketplace; something that is challenging to do when an idea only exists on a whiteboard or technical specification document. For example, engineers from Virginia Tech University were able to develop a semi-autonomous vehicle that allows a blind driver to successfully navigate, control speed, and avoid collision through a secure driving course (See Figure 1). By developing the robotic system, they were able to successfully test their ideas out in the real world.
2. Don’t Optimize for Cost
As engineers, we’re tempted to always aim for the best and most elegant solution. When creating the final customer-facing robot, this is an admirable and necessary trait. However, when designing a prototype system, this is not always desirable. A potential pitfall when creating the electromechanical system is getting caught in endless cost optimization while selecting processors, memory, sensors and motors, trying to squeeze as much performance out of each of these subsystems. The same can hold true for the software engineers on staff, constantly refining and optimizing code, resulting in slipping deadlines. This process of optimization can often become a giant time sink at the beginning of the project, a time when it is most important to validate whether the project is possible and economically viable. Many projects run out of money and time before anyone ever sees what the engineers have been working on.
Figure 2: National Instruments LabVIEW Robotics Starter Kit features reconfigurable I/O that helps one prototype their designs faster.
While cost is an important factor, the goal of the prototype is to create a platform that is within a striking distance of profitability. The robotic team should focus on building a system that clearly demonstrates the value the robot offers. Setting this as your bar of success will help your team showcase your technology to the public before running out of capital. Once customers and investors are interested and supportive, your team can then focus on optimizing the design down to an efficient and profitable system.
3. Reconfigurable I/O
Sensors and actuators are what allow a robot to experience and manipulate the world. Unfortunately, at the beginning of the design process, it’s almost impossible to know all the details about the inputs and outputs of the system, including what voltage levels are required, sampling rates, number of channels of input and number of digital lines just to name a few. That being said, incorporating I/O in your prototype is essential in creating a truly functional system. By adding sensory input and control output, engineers prove their design can be implemented in the real world. Creating a paper design, implementing that design in software and even simulating the design in a virtual environment are still largely conceptual exercises. To prove the value of your design to skeptical investors, the prototype needs to receive data and respond accordingly. Additionally, data from prototyping operations helps you refine functional requirements with clients and the rest of the design team based on actual performance.
|Why Build a Prototype
With any engineering endeavor where innovation is taking place at unprecedented levels, such as robotics, prototyping is an absolute must. Prototyping offers engineering teams the ability to test and understand if a project is feasible both technically and economically, while mitigating the risk associated with building a ready-to-deploy system. Prototypes help one to iterate on a design, using the parts that work while refining those that fall short of applications. Ultimately, the prototype allows you to put your best foot forward when presenting to customers and investors who help determine the level of success at your company.
Choosing a prototyping platform that allows engineers to quickly swap out I/O and try new combinations allows your robot to be dynamic and change as the engineers learn more about the problem they’re trying to solve. The robot in Figure 2 is a National Instruments based platform that enables engineers to mix and match I/O depending on the needs of the system. This allows you to quickly prompt a robot to interact with the real world, while still permitting the flexibility to change when necessary.
4. Design for Reuse
One aim of the prototype is to be able to move to a subsequent design, either one more optimized and closer to the end product or one that incorporates customer feedback. In either case, the engineering team must decide which components can be used in the next iteration of the design. Extra focus must be given to these components—whether a communication protocol or software algorithm—to ensure that their interfaces and implementations make them as portable as possible in the next phase of development. This involves making sure you have consistent interfaces, decoupling components and maintain a modular design.
When choosing tools to prototype your system, it is important to consider whether these tools offer a platform that can enable engineers and scientists to develop the system at the volume required and at a price point that is profitable
5. Demonstrate Your Prototype
It should be easy to demonstrate your robotic prototype. This prototype will become your calling card–the first thing that customers, venture capitalists, and potential employees notice. A prototype that is easy to set up and quickly illustrates what differentiates your product is the best way to generate positive buzz around the company and robot. When pitching your idea, show the demo as quickly as possible. An impressive demo can do so much more for your company and product than simple slides on a projector.
Jamie Brettle is product manager for LabVIEW Embedded Software at National Instruments. Comment on this article via [email protected].
About the Author
DE’s editors contribute news and new product announcements to Digital Engineering.
Press releases may be sent to them via [email protected].