Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.

Get Started Now!

Developing software for safety in medical robotics

Source: medicaldesignandoutsourcing.com

The use of robotics in medtech continues to grow. Whether it’s a cobot working alongside humans to automate manufacturing or a surgical robot in the OR, a single point of failure can cause serious harm. The incorporated software systems must take safety into account.

IEC 61508-3 offers several techniques for developing software for safety-related systems, which the medical device software development community can draw on when designing and implementing risk-control measures as required by ISO 14971.

Developing “safe” software begins with establishing a software coding standard. IEC 61508-3 promotes using well-known techniques, including:

  • Using modular code.
  • Using preferred design patterns.
  • Avoiding reentrance and recursion.
  • Avoiding dynamic memory allocations and global data objects.
  • Minimizing the use of interrupt service routines and locking mechanisms.
  • Avoiding dead wait loops.
  • Using deterministic timing patterns.

Keep it simple

There are other suggestions under the “keep it simple” principle around limiting the use of pointers, unions and type casting, and not using automatic type conversions while encouraging the use of parentheses and brackets to clarify intended syntax.

A hazard analysis might identify that your code or data spaces can get corrupted. There are well-known risk-control measures around maintaining code and memory integrity which can be easily adopted. Running code from read-only memory, protected with a cyclic redundancy check (CRC-32) that can be checked at boot time and periodically during runtime, prevents errant changes to the code space and provides a mechanism to detect these failures.

Segregating data into different memory regions that can be protected through virtual memory space and using CRC-32 over blocks of memory regions or even adding a checksum to each item stored in memory allows these CRC/checksums to be checked periodically.

CRC/checksums can be verified on each read access to a stored item and updated atomically on every write access to these protected items. Building tests into the software is an important tool as well. It’s a good idea to perform a power-on self-test (POST) at power-up to make sure the hardware is working and to check that your code and data spaces are consistent and not corrupt.

What else can happen?

Another hazardous situation arises when controlling and monitoring are performed on the same processor or in the same process. What happens to your safety system if your process gets hung up in a loop? Techniques that separate the monitor from the controlling function introduce some complexity to the software system, but this complexity can be offset by ensuring the controlling function implements the minimum safety requirements while the monitor handles the fault and error recovery.

Fault detection systems and error recovery mechanisms are much easier to implement when designed from the start. Poorly designed software can experience unexpected, inconsistent timing, which results in unexpected failures. It’s possible to avoid these failures by controlling latency in the software. State machines, software watchdogs and timer-driven events are common design elements to control this.

Keep an eye on communications

Inter-device and inter-process communications are another area of concern for safety-related systems. The integrity of these communications must be monitored to ensure they are robust. Using CRC-32 on any protocol between two entities is recommended. Separate CRC-32 on the headers and the payload helps to detect corruption of these messages. Protocols should be written and designed with the idea that at any time, your system could reboot due to some fault. Thus, building in retry attempts and stateless protocols is recommended.

Safe operational software verifies the ranges of all inputs at the interface where it is encountered; checks internal variables for consistency; and defines default settings to help recover from an inconsistent setting or to support a factory reset. Software watchdog processes can be put in place to watch the watcher and ensure that processes are running as they should.

By taking these techniques into account, software developers working on medical robotic devices can better address the concerns of safety-related systems.

Related Posts

TOP ROBOTIC COMPANIES THAT RECEIVED FUNDING IN JULY 2021

Source – https://www.analyticsinsight.net/ Robotic technology will shape the world for better efficiency. The Robotic Industry is changing the landscape of work in the modern era. Right from Read More

Read More

TOP 10 CLOUD ROBOTICS START-UPS TO KEEP AN EYE ON

Source – https://www.analyticsinsight.net/ Check out 10 top rising cloud robotics start-ups Cloud robotics is an area of robotics that attempts to entreat cloud technologies such as cloud computing, Read More

Read More

GOOGLE MADE A COME BACK IN THE WORLD OF ROBOTICS

Source – https://www.analyticsinsight.net/ In 2013, Google started a pioneering and ostentatious effort to manufacture robots. With time, its target has become self-effacing but with time the technology Read More

Read More

2021: The Year of Robotics and Artificial Intelligence

Source: technewsworld.com I’m writing this just before New Year’s Day, and like many of you I’m hoping to reach my one remaining goal for 2020, which is Read More

Read More

WHY DO ROBOTS NEED TO LEARN LANGUAGE?

Source: analyticsinsight.net Could giving robots voice help them learn human commands? Robots have become an integral part of human’s daily lives. They help us in numerous ways, from Read More

Read More

HOW ARTIFICIAL INTELLIGENCE AND ROBOTS ARE CHANGING THE WORLD? USE CASES OF AI AND ROBOTICS

Source: analyticsinsight.net Artificial intelligence and robotics are bringing drastic changes in the technological fields. Things we only imagined twenty years back have now become a reality. From Read More

Read More
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x