ArticleslgStudy

engineering

Robotics middleware

Robotics middleware is a engineering topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Robotics middleware rather than just read about it. In short: Robotics middleware is middleware to be used in complex robot control software systems. "...robotic middleware is designed to manage the complexity and heterogeneity of the hardware and applications, promote the integration of new technologies, simplify software design, hide the complexity of low-level communication and the sensor heterogeneity of the sensors, improve software quality, reuse robotic software infrast…

Key takeaways

  • Robotics middleware belongs to engineering; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Robotics middleware to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Robotics middleware from memory before moving on to harder problems.

Reference excerpt

Robotics middleware is middleware to be used in complex robot control software systems.

"...robotic middleware is designed to manage the complexity and heterogeneity of the hardware and applications, promote the integration of new technologies, simplify software design, hide the complexity of low-level communication and the sensor heterogeneity of the sensors, improve software quality, reuse robotic software infrastructure across multiple research efforts, and to reduce production costs." It can be described as "software glue" to make it easier for robot builders focus on their specific problem area.

Robotics middleware projects A wide variety of projects for robotics middleware exist, but no one of these dominates - and in fact many robotic systems do not use any middleware. Middleware products rely on a wide range of different standards, technologies, and approaches that make their use and interoperation difficult, and some developers may prefer to integrate their system themselves.

Player Project The Player Project (formerly the Player/Stage Project) is a project to create free software for research into robotics and sensor systems. Its components include the Player network server and the Stage robot platform simulators. Although accurate statistics are hard to obtain, Player is one of the most popular open-source robot interfaces in research and post-secondary education. Most of the major intelligent robotics journals and conferences regularly publish papers featuring real and simulated robot experiments using Player and Stage.

RT-middleware RT-middleware is a common platform standards for Robots based on distributed object technology. RT-middleware supports the construction of various networked robotic systems by the integration of various network-enabled robotic elements called RT-Components. The specification standard of RT-components is discussed and defined by the Object Management Group (OMG).

Urbi Urbi is an open source cross-platform software platform in C++ used to develop applications for robotics and complex systems. It is based on the UObject distributed C++ component architecture. It also includes the urbiscript orchestration language which is a parallel and event-driven script language. UObject components can be plugged into urbiscript and appear as native objects that can be scripted to specify their interactions and data exchanges. UObjects can be linked to the urbiscript interpreter, or executed as autonomous processes in "remote" mode, either in another thread, another process, a machine on the local network, or a machine on a distant network.

MIRO Miro is a distributed object oriented framework for mobile robot control, based on CORBA (Common Object Request Broker Architecture) technology. The Miro core components have been developed under the aid of ACE (Adaptive Communications Environment), an object oriented multi-platform framework for OS-independent interprocess, network and real time communication. They use TAO (The ACE ORB) as their ORB (Object Request Broker), a CORBA implementation designed for high performance and real time applications. Currently supported platforms include Pioneers, the B21, some robot soccer robots and various robotic sensors.

Orca Orca describes its goals as:

to enable software reuse by defining a set of commonly used interfaces; to simplify software reuse by providing libraries with a high-level convenient API; and to encourage software reuse by maintaining a repository of components. They also state: "To be successful, we think that a framework with such objectives must be: general, flexible and extensible; sufficiently robust, high-performance and full-featured for use in commercial applications, yet sufficiently simple for experimentation in university research environments." They describe their approach as:

adopts a Component-Based Software Engineering approach without applying any additional architectural constraints uses a commercial open-source library for communication and interface definition provides tools to simplify component development but makes them strictly optional to maintain full access to the underlying communication engine and services uses cross-platform development tools Orca software is released under LGPL and GPL licenses.

OpenRDK OpenRDK is an open-source software framework for robotics for developing loosely coupled modules. It provides transparent concurrency management, inter-process (via sockets) and intra-process (via shared memory) blackboard-based communication and a linking technique that allows for input/output data ports conceptual system design. Modules for connecting to simulators and generic robot drivers are provided.

Rock Rock (Robot Construction Kit), is a software framework for the development of robotic systems. The underlying component model is based on the Orocos RTT (Real Time Toolkit). Rock provides all the tools required to set up and run high-performance and reliable robotic systems for wide variety of applications in research and industry. It contains a rich collection of ready to use drivers and modules for use in your own system, and can easily be extended by adding new components.

ISAAC SDK / Simulation ISAAC, The NVIDIA Isaac Software Development Kit (SDK) is a developer toolbox for accelerating the development and deployment of Artificial Intelligence-powered robots. The SDK includes the Isaac Robot Engine, packages with high-performance robotics algorithms (to perform perception and navigation), and hardware reference applications. Isaac Sim is a virtual robotics laboratory and a high-fidelity 3D world simulator. It accelerates research, design, and development in robotics by reducing cost and risk. Developers can quickly and easily train and test their robots in detailed, highly realistic scenarios. There is an open source community version available at GitHub with supported hardware platform includes BOM details, refer kaya-robot

ROS ROS Archived 2018-01-15 at the Wayback Machine (Robot Operating System) is a collection of software frameworks for robot software development on a heterogeneous computer cluster. ROS provides standard operating system services such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management.

YARP YARP is an open-source software package, written in C++ for interconnecting sensors, processors, and actuators in robots.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Robotics middleware

Start with the simplest possible case. Write down what Robotics middleware claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In engineering, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Robotics middleware before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Robotics middleware ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Robotics middleware

In research
Robotics middleware appears in engineering research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Robotics middleware in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Robotics middleware is common in secondary-school and first-year university syllabi. It links to neighbouring topics Robot operating systems, Robotics software, Robotics suites, so understanding it makes those chapters shorter.
In everyday life
Look for Robotics middleware outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Robotics middleware in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Robotics middleware means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Robotics middleware out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Robotics middleware in simple terms?

Robotics middleware is middleware to be used in complex robot control software systems. "...robotic middleware is designed to manage the complexity and heterogeneity of the hardware and applications, promote the integration of new technologies, simplify software design, hide the complexity of low-l…

Why does Robotics middleware matter?

Because it connects several engineering ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Robotics middleware?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Robotics middleware.

Tags

  • Robot operating systems
  • Robotics software
  • Robotics suites

Keep exploring