Advanced Robotics: Dos and don’ts in the development of robotic systems
ITK Engineering
Helps making systems intelligent! We are hiring - join our #team.
In today's world, robotics plays an increasingly central role in various industries and areas of everyday life. Robots are no longer just capable of performing simple or repetitive tasks. Whether service robots, medical robots, assistance systems or specialized applications – they are now able to tackle complex tasks that require precise interaction with their environment and a high level of safety. This involves the integration of various disciplines such as software, electronics, mechanics, control engineering, usability, and functional safety within a robotic system. With a multitude of sensors and actuators, they form highly complex systems that must still be easy and error-free to operate. Only the perfect synergy of all necessary competencies allows us to address the challenges of development from different perspectives and to understand and master the system as a whole. This ultimately leads to the successful development of a market-ready robot.
Through the decades that we have been developing robots at ITK Engineering, we came across quite a few things that slowed down the development process, and others that proved to work out just fine. We would like to share some of these best practices in this article.
Respect user needs
It all starts with understanding the problem, the context of use and the user needs to achieve user acceptance in the end, which is key for the system’s market success. Involve the users right from the beginning and develop use scenarios together with them. Get hands-on by observing and analyzing clinical workflows, more than just the surgery itself, if it is a medical robot. If we have at least sufficiently grasped the problem and the context of use, we can move on and define what the robotic system shall do to solve it. This is basically about defining the stakeholder requirements. Follow a systematic approach, define a clear intended use and understand the role of the robotic system within the application. Keep in mind that users don‘t have a technical background, and might overdo it, for example regarding safety requirements. Challenge and refine the requirements and generate a design solution without sacrificing safety. Always strive for simplicity of the user interface, hide the complexity of the robotic system from the users and minimize their cognitive load. Moreover, make the robot behavior transparent as users need to understand what is happening. Robots should never act in a surprising way. Finally, test your design solution against the user requirements. And again, involve real users if possible. One way to avoid needless iterations and to speed up development without having to build physical prototypes is virtual prototyping. This is especially true in robotics, where prototypes tend to be big and complex – and expensive.
Work interdisciplinary
Let’s have a look at defining the system architecture. You normally break it down to components, define context, users and interfaces, and so on. Here we have seen how important it is to involve all disciplines from the beginning in the architectural design, otherwise you might have clashes in your components and will have to iterate your design. For us, it has worked out to have one lead architect with good robotics expertise and a group of software and hardware architects. You should also add safety, security and usability experts to the interdisciplinary team and execute hand-on meetings and workshops to discuss on the fly, so you can interactively home in on the best design. While doing so, you can come back to the use scenarios you have defined earlier and challenge your design. Make safety one of the top priorities at an early stage and discuss it with all disciplines as safety can only be achieved on system level through the faultless interaction of all components.
Adapt to application
领英推荐
Finally, let‘s get to some advice regarding the specific requirements of your application. Every system needs to be tailored to its needs during different stages and actions of development. Let’s start with looking at the software architecture and design of the robot control system. One might think that one clever architecture will fit to all robots, but that is generally not the case. It might even be the case that an inappropriate software design can make it very hard to achieve the necessary features and performance. So, you should adapt the software architecture to your application requirements. One thing that will help you is classifying software functions regarding different categories, like safety relevance, real-time requirements or computational and communication efforts. If you are not sure, build software prototypes, e.g. to make latency measurements or profile communication. Also consider safety and conduct a software risk analysis. The results will influence your architecture decisions, for example regarding necessary redundancy. And if you stumble across shortcomings of your software architecture, be ready to invest some time in refactoring. This is still better than having to do workarounds and bad maintenance in the end.
Click this video to find out more about dos and don’ts in the development of robotic systems:
Bringing your vision of intelligent robotics to life
Our roots in robotics at ITK Engineering run deep with nearly 30 years to our credit. Our interdisciplinary team supports our customers in developing market-ready robotic systems, always pushing the limits of what is possible. Learn more in our robotics booklet and feel free to get in touch with our robotics experts to discuss the possibilities in your field of application: [email protected]
Curious? Then don't miss the next issues and subscribe to our newsletter here and follow ITK-Engineering.
B-Tech CSE'27 Student |Full Stack | Robotics and AI/ML
2 周Interesting