Intelligence Software

Robot Software and System Integration Solution

Robot Software and System Integration Solution

 

For the development of an integrated software & system solution, we are focusing on procuring technology in the following 3 areas: ① Task Manager technology based on robot behavior, ② Embedded Linux technology, and ③ Integrated software environment development technology.

 

1. Robot Task Manager

 

The role of the Task Manager is to determine the current actions to be executed by the robot via interactions between its several modules, use this to control the flow of major actions, and transition the robot status and process the service scenario according to the changes made to the robot’s movement.

 

At Robotics LAB, the flow of these major actions is processed intellectually. Furthermore, we are researching and developing a Task Manager architecture that is optimized for various services such as guidance, delivery, and patrolling.

3_Robot Software and System_1.jpg

[Intellectual Service Guide Robot Task Manager Structure]

Our BDI architecture-based self-developed Task Manager is currently being used on Robotics LAB’s service robot DAL-e.

 

Our BDI architecture is comprised of Beliefs, Desires, and Intentions: Belief indicates the external condition of the system; Desire indicates the condition it wishes to achieve or a final goal; and Intentions indicates any actions or sub-goals that are needed to achieve Desire.

 

Intentions are defined in the Plan Model, and complex tasks may be performed in dynamically changing environments because the appropriate sub-goals or actions are selected based on real-time determinations of the robot’s external environment according to these three aforementioned elements.

3_Robot Software and System_2.jpg

[BDI Architecture]

By sorting the layers by Action, Behavior, and Behavior Procedure and enabling remote calling, it is possible to respond to the control through the multi-agent and control system in a scalable manner.

 

Moreover, we are currently conducting research to develop a multi-modal-based reasoner that can determine a given situation by extracting intentions to advance the field of behavioral status analysis.

In addition, a Task Manager solution is in development based on various methods targeting the implementation of a State Machine that is not limited to BDI-based architecture (FSM, HFSM, BehaviorTree).

The developed Task Manager solutions will verify and improve usability and performance through various robot service PoCs.

 

Patent : Behavior-based controllable intelligent service robot software architecture

 

2. Embedded Linux

 

At Robotics LAB, Embedded Linux-based software solutions are being researched for the development of resource-optimized robot software.

 

In order to operate a robot service on a high-performance ARM-based SoM (System on Module) platform, a Yocto Project-based embedded SW development environment will be established, and various embedded platforms will be distributed to the entire system as a single image.

 

Yocto Project can easily apply many features and applications with the support of an open-source camp using a strong Linux build framework with various features, and various platforms are able to be supported using the same code via structuring. Depending on the situation, the system image can change to various structures and be distributed to effectively respond to the platform and changes to hardware specifications.

3_Robot Software and System_3.jpg

In addition to the application and distribution of Embedded Linux, the technology needed for the stable update/recovery/OTA (Over the Air) of software is being developed. The system image generated for OTA will borrow the A/B (Double Copy) structure. It is designed to allow updates while the system is running and to be easily recoverable if any problems occur. Additionally, an update solution suitable for the platform and service operation purposes of the robot is being developed.

 

We are researching not only Android but also various Linux-based embedded platforms and aim to procure technology for the implementation of the ever-advancing high-performance ARM-based embedded platform.

 

3. Software Integration Environment Development

 

For the development of a high-quality robot service, the various sensors, the firmware needed to link these sensors, elemental technology software, and middleware must be integrated as a single system. In achieving this, nothing is more important than enabling each developer to test their designated module and connected hardware from the initial stage of development, and unifying the development environment. As such, an appropriate development environment will be established using emulation and virtualization methods.

3_Robot Software and System_4.jpg

[Firmware Layer]

3_Robot Software and System_5.jpg

[Sensor Emulator Layer]

In order to connect various sensors that are not able to directly link to the OS, firmware for each sensor must be developed. If development tests can actually be conducted for the application software without real hardware and sensors, the development process and setup of testing equipment can be minimized by simultaneously developing the firmware and its upper software. To achieve this, Robotics LAB is developing technology to provide various sensors through a unified interface using emulator software, enabling developers to test the operation of each sensor type and develop software regardless of hardware composition and any related changes.

 

As such, an environment in which the application developer can link with the actual robot without additional work is provided through the emulator environment. We are researching and developing a unified middleware so that, even with the increase in complexity following the spread of service robot products, the software developer can reuse the robot software infrastructure and reduce production costs.

3_Robot Software and System_6_en.jpg

[Docker Environment for the Development of Major Robot Services]

In addition to the development of the emulator and unified middleware, we are also developing virtualization environment construction technology so that software can be developed in a unified environment. To counteract potentially insufficient robot equipment for testing during the development process or any other potential problems arising from a different development environment, development is underway to establish a Docker Framework-based virtual environment that enables the execution of various CPU complier architecture-based robot services and development verification in the developer controller and to procure solutions related to this.