• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Microcontroller Tips

Microcontroller engineering resources, new microcontroller products and electronics engineering news

  • Products
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • Applications
    • 5G
    • Automotive
    • Connectivity
    • Consumer Electronics
    • EV Engineering
    • Industrial
    • IoT
    • Medical
    • Security
    • Telecommunications
    • Wearables
    • Wireless
  • Learn
    • eBooks / Tech Tips
    • EE Training Days
    • FAQs
    • Learning Center
    • Tech Toolboxes
    • Webinars/Digital Events
  • Resources
    • Design Guide Library
    • LEAP Awards
    • Podcasts
    • White Papers
  • Videos
    • EE Videos & Interviews
    • Teardown Videos
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Engineering Training Days
  • Advertise
  • Subscribe

Robot software environments and motion control architectures

March 9, 2021 By Jeff Shepard Leave a Comment

Robots can be classified by their kinesiology, their mechanical performance specifications, and various types of software they employ. This FAQ will consider robot software environments and motion control architectures. The next FAQ will delve into “Sentient robots and artificial intelligence.” The series will conclude with a review of the major “International performance and safety standards for robots.”

Robot operating system

The Robot Operating System (ROS) is an open source robotics middleware suite. ROS is an open-source, meta-operating system for robots. It provides capabilities similar to an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers. ROS is one of the most advanced robotics software environments. It is similar in some respects to other ‘robot frameworks,’ such as Player, Open Robotics Control Software (Orocos), CARMEN, Orca, MOOS, and Microsoft Robotics Studio.

ROS is not a real-time operating system, but it can be integrated into real-time code environments. The release of ROS 2.0 has enhanced the ability to support real-time operating environments.

The Qualcomm Robotics RB5 platform is designed to develop next-generation drones and robots, combine 5G communications with artificial intelligence, and run on ROS 2.0. (Image: Qualcomm)

The Qualcomm Robotics RB5 platform is an example of the capabilities of ROS 2.0. The RB5 platform brings together 5G communications and artificial intelligence to enable developers and manufacturers to create the next generation of high-compute, low-power robots and drones for the consumer, enterprise, defense, industrial, and professional service sectors. The Qualcomm Robotics RB5 Development Kit provides flexible software capabilities, including support for Linux, Ubuntu, and ROS 2.0, as well as pre-integrated drivers for various cameras, sensors, and 5G connectivity. It also provides support for OpenCL, OpenGLES, and OpenCV. The Qualcomm Robotics RB5 Development Kit includes support for the Intel® RealSense™ Depth Camera D435i and Panasonic TOF Camera to provide depth-sensing capabilities. The dev kit also includes TDK’s 6-axis, high-performance ICM-42688-P inertial measurement unit, accompanied by an ICP-10111 barometric pressure and a T5818 Digital bottom port microphone.

Robotic Middleware for Healthcare (RoMi-H) is an open-source system built on ROS 2 and simulated using the Gazebo simulator. It allows for uniform communication and monitoring across robot platforms, sensors, and enterprise information systems. For example, RoMi-H can enable food-delivery robots from one vendor to communicate with drug-delivery robots from another vendor. RoMi-H provides an open-source environment to enable interoperability. It supports a unified approach to command and control for all the robots in a facility. And it provides a reliable way to develop and test multi-vendor systems in software simulation prior to deployment.

RoMi-H allows robots from different vendors to interact with each other and physical assets in the hospital like elevators. The robots can even avoid gurneys and people. (Image: Open Robotics)

Under the leadership of Singapore’s Centre for Healthcare Assistive and Robotics Technology (CHART) and collaborators such as IHiS, Hope Technik, GovTech, and other solution providers, Open Robotics has worked since 2018 to develop an open-source software solution. Its goal is to realize the potential of a vendor-agnostic and interoperable communication system for heterogeneous robots, sensors, and information systems in the healthcare space.

Microsoft robotics studio

Developed by Microsoft Research, Microsoft Robotics Studio (MSRS) supports the development of service-based applications for a wide range of hardware devices. The toolkit includes a runtime that should be familiar to Windows® Communication Framework (WCF) developers. It also includes a Visual Programming Language (VPL) tool and Visual Simulation Environment (VSE).

MSRS offers a service-oriented runtime, along with the tools needed to design and deploy robotics-based applications. It includes visual authoring tools, tutorials, and documentation designed to jump-start developers new to the world of robotics. Commercial developers must purchase the toolkit, but hobbyists and academic researchers can download and use it free of charge.

The MSRS runtime is composed of two lower-level runtimes that sit atop the CLR 2.0. These two runtimes are the Decentralized Software Services (DSS) and the Coordination and Concurrency Runtime (CCR). DSS is a lightweight, service-oriented runtime based on the Representation State Transfer (REST) principles, which are used to power the Web. CCR is a Microsoft .NET Framework library that supports asynchronous processing. That is important for robotics applications, as data is constantly being sent and received from numerous sensors and actuators.

Along with the runtime, the MSRS toolkit includes a VPL tool that allows developers to build robotics applications by simply dragging and dropping elements onto a design surface. MSRS also includes a VSE that empowers developers to experiment with complex simulations involving multiple robots and obstacles.

Robot motor control architectures

In robot systems, motor control is often structured as a series of layers. The control loops consist of the torque/current loop, speed loop, position loop, and a higher-level control loop cascaded, with each loop having different real-time processing demands. The torque/current is the fastest loop, and each upstream loop runs at a fraction of the speed of the loop before it and provides inputs to the downstream loop(s).

Typical robot servo motor control architecture highlighting the various control loop layers. (Image: Texas Instruments)

The blocks outlined above can easily be partitioned across cores in a multicore processor or between several microcontrollers or processors. Simultaneous processing of the various loops can maximize the processing bandwidth available in the respective loops. In each case, as the various processor partitions get control loop input data, it can immediately run the appropriate algorithm quickly and provide the output to the next loop downstream, and then continue other processing needs until the next cycle of input data is received.

Designers can dial in the amount of processing power available for a specific robot design. Higher performance processors can complete the various control algorithms faster and have excess bandwidth available for performing additional functions. In fast 32kHz control loops where cycle times can be as fast as 31.25µs, fast processing is particularly important. Fast processing and high bandwidth are also important when controlling multiple axes of motion nearly simultaneously.

Modular architectures

Controlling multiple axes of motion can also involve the use of modular control architectures. One approach combines a series of operator-controller modules (OCMs) with three layers; the controller(s), the reflective operator, and the cognitive operator. The reflective operator receives data from the controllers in the operating loop and decides the configuration in which the controllers are operating, and provides the control inputs needed to have the robot complete the current task(s). The highest layer of the OCM, the cognitive operator, is responsible for optimizing the system’s overall functioning to meet specific operational goals, such as minimizing power consumption. The OCM architecture includes local functions run autonomously on the robot and cloud functions that provide increased computing power for complex algorithms and machine learning activities.

Modular robot architecture for a distributed control system. (Image: MDPI)

The availability of small single-board computers (SBCs) as a possible computing solution for robotics systems is being used to develop modular and distributed architectures. Modular and distributed computing architectures are expected to enable better computing power availability where it is needed and lead to enhanced system dependability. This approach can also result in adaptable robot designs beginning with one or more SBCs and adding more SBCs as more sensors or actuators are added in the future. Adding sensors and/or actuators would result in a robot with a variable number of axes for performing different functions as circumstances and needs change.

In addition to their physical structure, a number of axes, and kinesiology (which were the subject of the first FAQ in this series), robots can be defined by their software environment and motion control architecture. The next FAQ in this series will consider “Sentient robots and artificial intelligence.” The series will conclude with a review of “International performance and safety standards for robots,” which will focus on industrial, consumer, and medical robot systems.

References

An Engineer’s Guide to Industrial Robot Designs, Texas Instruments
Concepts of a Modular System Architecture for Distributed Robotic Systems, MDPI
Microsoft robotics studio, Microsoft Corp.
Open Robotics, Open Source Robotics Foundation, Inc
Qualcomm Launches World’s First 5G and AI-Enabled Robotics Platform, Qualcomm
The Robot Operating System, ROS.org

 

You may also like:


  • International performance and safety standards for robots

  • Sentient robots and artificial intelligence

  • Robot axes, drive safety, and power architectures
  • MCUs for servo control
    What you need to know about MCUs for servo control
  • R2-D2 teardown
    Teardown: Inside Sphero’s R2-D2 toy

Filed Under: Applications, FAQ, Featured, Robotics/Drones Tagged With: FAQ

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Featured Contributions

Designing for functional safety in robotics: key considerations for engineers

Can chiplets save the semiconductor supply chain?

Navigating the EU Cyber Resilience Act: a manufacturer’s perspective

The intelligent Edge: powering next-gen Edge AI applications

Engineering harmony: solving the multiprotocol puzzle in IoT device design

More Featured Contributions

EE TECH TOOLBOX

“ee
Tech Toolbox: Electronic Design Automation
This Tech ToolBox helps to clear the path to faster time-to-market by digging into AI-enhanced design, hardware-assisted verification, parasitic extractions, PCB-to-harness integration, and more.

EE Learning Center

EE Learning Center

EE ENGINEERING TRAINING DAYS

engineering
“bills
“microcontroller
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

Footer

Microcontroller Tips

EE World Online Network

  • 5G Technology World
  • EE World Online
  • Engineers Garage
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • EDA Board Forums
  • Electro Tech Online Forums
  • EV Engineering
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips

Microcontroller Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us

Copyright © 2026 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy