What is RT-middleware?

RT-middleware is a standard specification for robotic softwares. It is defined mainly by the National Institute of Advanced Inductrial Science and Technology in Japan (AIST).


RT-middleware is a communications standard to build mechatronic systems (like robots) by combining robotic technology element. In RT-middleware, those elements are regarded as “RT-Components (RTC)”. Actually, the word “RT-middleware” represents the “communication standard”, so it doesn’t mean the software.


Each element are called RT-Component, and the standerd for connecting the RT-components is called RT-middleware.

RT-Components (RTC)

RT-components are software

RTC is just a software. When you want to use some RT elements (motors, sensors, or robots), you should physically connect between your computer and the RT elements.


Up: First, connect devices with compoter :-)
Down: You can use immediately when you install the RT-component which is provided by the developer or supplier company


In RT-middleware, RT (robotics technology) elements are cupsulted as RTCs, and the data transfer is established by connecting “Port” which is the interface between RTCs.


RT-component has Port which enables RT-component to communicate other RT-components.

Integrate System by connectiong “Ports”

To develop Robot System, you connect Ports of RT-components. Ports are available to connect together if the ports have the same type. This feature gains the re-usability of RT-components.


Umm... In-port is target poisiton of DC-motor, and Out-port is current position. Test is easy, and it can be used in a lot of system.

State Condition

RT-Components have “State”. If the state is “ACTIVE”, RT-component is moving on. If the state is “INACTIVE”, RT-component halts. If “Error”, the RT-component is trying to recover from previous error.


Up-right : Active state. RTC is moving on. Up-left :Inactive state. RTC is in rest. Down: Error state. RTC is in error.

Controlling System’s Execution using Special Tools for RT-middleware

Because the RT-component has standarized interfaces, the tool for controlling RT-component’s state and execution is avairable.


OK, let's start execution by activating RTC! ...... Hmm... it comes in error state. Does it get overloaded?


With configuration functions, you can tune the RT-components’ behaviours by changing the parameter, like controller gains.

RTC's configuration

Up to down:RT-components can have Configuration, users can tune its behavior.
Example : motor controller RTC
Id: identifier
Mode: Control mode
Kp: Proportional gain
Ki: integral gain
Kd: deviation gain

By changing these parameters with the tools previously mentioned, users can tune the behavior of whole system.

Advantage of RT-middleware

Users do not have to read a thick booklet of special SDK of the devices when they start to use them.

If the example software which is standerized with RT-middleware is provided, it can be re-used in your own system.

Merit of RTC

You can use immediately when you install the RT-component which is provided by the developer or supplier company.

In many cases, Ports are very comprehensive. When users develop their own RT-components, tools can generate skeleton code. Using the tools, the development is intuitive.


Umm... In-port is target poisiton of DC-motor, and Out-port is current position. Test is easy, and it can be used in a lot of system.

Lots of tools help your development

As described above, if you want to develop your own robots, or if you want to proveid your own services with your robot, programming is indispensable. This is unescapable principle :-). However, lots of tools which help your development are prepared by many developers and companies, like AIST. I am making those tools too! In this website, I will show you how to use RT-middleware and its tools to realize your own robotic system!

How to use RTCs

I'm going to use 2 motors, so 2 out-ports with double type, and 2in-ports with double type...

Easy Communication between robots, contents, services!

Using RT-middleware, the customization, devlopment, maintenance, become easier.

More than two robots, if you want to build your own robot by combining a mobile vehicle and a robotic arm, you don’t have to realize their own APIs separately. RT-component will make it easier to use prural robots (or robotic elements) at the same time.

If the robotic arm and the mobile vehicle are available to use with RT-components, you don’t have to know the protocols.

Moreover, RT-middleware is software technology, so your robot will be more suitable for the software services, like database, web-system, and so on.

Message from ysuga

For me, it isn’t so difficult and tough to read thick and heavy specification booklet, and it’s even more advantageous for me to build my robots from scratch. BUT…

Help each other, change the robotics world!!

Recently, the world is under the severe situation, so shall we start helping each other? In Japan, these thinkings are sometimes ignored or ironically treated, but if you do, your collegues do.

Let’s check source codes by each other.

I know there are a lot of technicians who have unbelievably great knowledge and techniques. It’s chance for you. This field is still small and it’s chance for you to be known for your techniques.

It’s fun!

Please enjoy the RT-middleware world. If you get more understanding, your development gets smarter!