Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction

Robots are very complex systems. The hardware includes various sensors that perceive environmental information, a main control platform that acts as the brain for computation, motors that execute actions, and so on.

The software layer includes:

Perception algorithms, control algorithms, data-driven programs, operating systems, etc.

Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction

Taking the operating system as an example, the most widely used ROS system is continuously iterating, yet under the impact of the intelligent era, some problems have emerged.

Some Issues with ROS

  • ROS has gradually become the standard, with many robotic applications contributed to the community. While this has improved the generality of the code, it has made it difficult to fully utilize the hardware’s performance.

  • Many applications focus on basic functions such as motion control and navigation, with few intelligent applications.

  • Despite the abundance of software resources in the community, there is a lack of systematic content to help users quickly reuse relevant resources.

Many developers are modifying ROS to adapt it to their robots, leading to very high research and development costs. From hardware selection, system customization, algorithm development to data closure, each process incurs significant costs, making robot development a very challenging endeavor.

At the algorithm level, robotic algorithms are still in the early stages, with many perception algorithms remaining theoretical and unable to serve real-world scenarios. Machine learning is developing rapidly, but for many developers, data collection, labeling, and training are massive workloads, and deployment is not only very difficult but also consumes a lot of computational resources.

The fields and methods involved in intelligent robots are extensive, and currently, the overall learning cost is high, making it even more challenging to achieve intelligent applications. The emergence of these problems also brings opportunities and challenges.

Horizon Robotics Development Platform

In June 2022, Horizon Robotics officially launched a new generation of robot development platforms, providing more assistance to the industry in terms of software, algorithms, and tools.

The purpose of this robot development platform is to create a collaborative software and hardware environment, with highly optimized and user-friendly robot development components and ecosystem, composed of the parts shown in the figure. Let’s take a look at each of them.

Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction

The platform’s underlying technology mainly relies on Horizon AIOT edge AI chips—Sunrise 3 and Sunrise 5, which integrate Horizon’s most advanced Bernoulli 2.0 architecture AI engine, providing over 5 TOPS of equivalent computing power. Such powerful computational support ensures the foundational conditions for intelligent robot development.

The chips are the foundational infrastructure, but even more important is a series of software facilities. Just like Windows and Linux on our computers, a high-quality operating system is a necessary condition for upper-level application software development. TogetherROS™·Bot has undergone extensive modifications and optimizations based on the ROS system, providing developers with an efficient and practical system environment.

On top of this, the platform will also provide a wealth of reference algorithms and application function examples for robots, such as commonly used mapping, localization, navigation, and essential intelligent functions in intelligent robots, including basic algorithms like image classification, image segmentation, object detection, as well as application functions like face detection, human tracking, skeletal point detection, gesture recognition, and voice processing, etc. It provides models trained on large datasets, which can quickly and stably realize various intelligent applications with the support of the underlying AI engine.

Additionally, the platform will be equipped with a series of toolchains to accelerate robot development, such as code writing tools, system debugging tools, data labeling, and training tools.

Gu Yue Ju and Horizon will also jointly build a robot developer community, continuously sharing technical content, accumulating more developers’ wisdom, and inviting more partners from the robotics industry to join, collaboratively creating the most comprehensive robot developer toolkit and building an ecosystem for intelligent robot development.

In this robot development platform, the most important aspect is the TogetherROS™·Bot system, which connects various functions and serves as a bridge. We will introduce it in depth through a series of courses.

Features of TogetherROS™·Bot

Based on the vast community resources of the ROS system and combined with the development of intelligent robots and industry needs, TogetherROS™·Bot has emerged.

Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction

TogetherROS has three core characteristics:

Open Source Compatibility, Upholding the Power of Open Source Spirit

TogetherROS, like the ROS system, is a completely open-source system. All developers can continue secondary development, and the interfaces are fully compatible with ROS2, allowing the reuse of existing functionality from ROS2, making it very convenient to migrate existing robot code.

Extreme Performance Optimization

Compared to the generalization of ROS, TogetherROS focuses more on how to fully exploit the performance of the underlying hardware, such as improving data transmission efficiency and enhancing AI processing capabilities. This can be fully experienced in subsequent use cases.

Rich and User-Friendly Software and Hardware Components

For example, various sensors and development kits, algorithm modules, perception applications, and robot functionalities, as well as various programming and deployment tools that enhance development efficiency.

TogetherROS System Framework

Specifically, the system framework of TogetherROS is shown in the figure, where the dark blue parts are the modules optimized and added by Horizon, and the others are modules reused from ROS2:

Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction

In the middleware part of system communication, the original communication framework targeting different DDS from ROS2 is retained, and it is fully compatible with the ROS2 foxy version interface, facilitating the reuse of ROS’s rich toolkits for prototype verification. Additionally, a “zero-copy” zero-copy communication mechanism is added to reduce latency and system resource consumption during large data transmission.

In the functional component part, TogetherROS provides the “hobot CV” visual acceleration library, which can enhance CV operator performance and reduce system resource consumption through hardware and software collaboration. For AI model inference, the “hobot_dnn” function package is encapsulated, allowing access to the underlying chip’s AI engine, simplifying board-level AI development and deployment, and releasing BPU’s computing power.

It supports a wide range of robot sensor models, such as cameras, radars, IMUs, GPS, etc., saving time on driver development and allowing developers to focus on robot application development.

Moreover, TogetherROS will also provide rich software debugging and performance tuning tools to help users locate problems and optimize system performance. In specific industry applications, it also supports minimal and modular trimming, suitable for deployment in resource-constrained embedded products.

In summary, TogetherROS originates from ROS but goes beyond it. The original functionalities of ROS are still inherited, with a focus on leveraging hardware capabilities to fully optimize system performance and improve robot development efficiency.

Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction

“Core Principles and Applications of TogetherROS”

This series of courses will be continuously updated alongside system iterations, from system installation to AI applications, building systematic learning resources. It provides content support for intelligent robotics industry applications, maker development, and teaching practices.

Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction

(Scan to join the learning for free)

Horizon Robotics Development Platform Series Tutorial | 1. Platform Introduction
Click to read the original text for course details

Leave a Comment