AMD Adaptive Compute Platform for Robotics Application

Find out how the Kria KR260 Robotics Starter Kit and the Kria Robotics Stack enable you to overcome the obstacles of modern robotic systems.

Adam Taylor
1 year agoRobotics

Intro

Robotics has become mainstream and plays an increasing part in modern life across a broad spectrum of applications, from picking and packing robots in automated warehouses to surgical robots used in delicate operations.

Robotic solutions are a complex system of systems which combine several engineering disciplines, including electrical, electronic, control, mechanical motors, and pneumatics/hydraulics, depending on the application. Developing such systems can be time-consuming and complex, especially when it comes to the creation of the final application, and not just the control of the motors/drives and actuators. Applications such as surgical and industrial robots need to be able to work out the kinematics of the solution to ensure the end effector is in the required position. These applications not only require accurate positioning and drives, but also come with hard real-time constraints, especially when the end application of the robot is performing critical applications, such as surgery or interacting within an environment, which could result in harm or environmental damage. For these applications, a hard real-time response becomes critical to ensure the necessary processing calculations required for safe operation in its environment are performed within an allocated deadline. Failure to meet these deadlines can be seen as a failure of the system.

These challenges cover a wide range of topics, from the complexity of application to safety/security, connectivity, and power. Increasingly, robotic applications are required to work with a range of diverse sensors, such as image sensors and LIDAR/RADAR. Processing data from these sensors and running higher-level processing such as AI/ML inference and still achieving the desired response time to enable safe operation is a challenge. A common approach to address this issue is to deploy multiple high-performance processors. These high-performance processors may enable the processing needs to be achieved. However, they will also impact the overall power budget, reducing the battery life if the robot is mobile or increasing power costs (if the robot is static).

This is where heterogeneous SoCs offer a significant benefit in addressing these challenges. The combination of the processing system and programmable logic enables the implementation of high-performance, deterministic elements of the system within the programmable logic and the implementation of higher-level sequential processing within the high-performance processors. A heterogeneous SoC approach also provides developers with a power-efficient solution.

What is ROS 2?

Robot Operating System (ROS) was developed by research students at Stanford University and from its beginnings in 2007. It has evolved to become one of the main frameworks used by roboticists. ROS enables not only control of robots and robotic systems but also simulation and modelling of robotic systems, enabling the operation of the robot to be verified before it is deployed. Although named Robot Operating System, ROS is a software development framework which typically runs on an embedded operating system, such as embedded Linux. To enable accelerated development, the ROS framework provides developers with functionality such as hardware drivers, robot models, datatypes, and support for perception and location mapping, also known as simultaneous localization and mapping (SLAM). ROS also provides a series of tools that aid in the development or operation of the system, such as Rviz, which provides a 3D visualization, and Gazebo, a simulator.

ROS is architected around a graph architecture. Within this architecture, processing takes place in nodes, which can receive and post data about the node such as sensor, control, planning, actuator positioning, or current state. Nodes are connected on the ROS graph by topics. The topics are communication pipelines, to which nodes can publish data and can receive information on that topic.

Along with nodes and topics, a node may also advertise services. The services have a single result, such as capturing a frame of video, sampling a sensor, or opening an actuator.

The most used version of ROS is now ROS 2, which updated the ROS frameworks and tools to work with a wider variety of environments and provide support for real-time environments along with significant API updates.

AMD Kria™ KR260 Robotics Starter Kit

The AMD Kria KR260 Robotics Starter Kit combines the benefits of the heterogeneous SoC, and ROS 2 providing an ideal platform for prototyping, development, and deployment of robotics solutions.

At the heart of the KR260 is the Kria K26 SOM. The KR260 leverages the capabilities provided by the K26 SOM to provide robotic developers with a range of interfacing capabilities including:

  • DisplayPort 1.2a
  • Four USB 3.0
  • Dual Ethernet connected to the processor system
  • Dual Ethernet connected to the programmable logic
  • Four Pmod interfaces
  • 1 SFP+ cage
  • RPI header
  • SLVS-EX Rx
  • Micro-USB UART / JTAG

To enable developers to leverage both the interfaces and the capabilities of the heterogeneous SoC on the K26, AMD provides the Kria Robotics Stack. The Kria Robotics Stack enables developers to create applications that leverage both the processing system and programmable logic of the heterogeneous SoC to create a responsive and deterministic solution.

Most commercial robotics systems are heavily dependent on Ethernet connectivity. To support this, the KR260 quad has Ethernet capability with connections to both the programmable logic and the processing system. This split of ethernet connectivity enables developers to implement time-sensitive networking, if deterministic communications are required, using the PL ports, and traditional "best-effort” ethernet for cloud-side connections using the PS. These different interfaces can be used to implement time sensitive solutions connected to actuators, and sensors enabling a real-time response. The use of Ethernet enables easy expansion of the sensors and actuators, if required, while the non-real-time connections to the processing system enable connectivity with cloud-based services and manufacture and enterprise planning systems.

The Kria™ Robotics Starter Kit runs the Kria Robotics Stack, which uses Ubuntu 2022.04 and ROS 2 Humble Hawksbill to create applications to run on the processing system and accelerated for safety-critical functions that can be deployed on the programmable logic and integrated into the ROS 2 Stack.

The Kria KR260 Robotics Starter Kit and Kria Robotics Stack enable developers to create higher-performance robotics solutions using familiar frameworks, which addresses the challenges faced by modern robotic systems development. Kria Robotics Stack is intended to support not only the acceleration of functions but also the integration of functions and reducing the BOM cost.

A key element of the Kria Robotics Stack is that it is intended to enable this acceleration and integration without the need to be an FPGA design specialist by leveraging the Vitis and Vitis HLS tools. Using these higher level tool chains based around software development is critical to Kria Robotics Stack adoption as roboticists are often not skilled in FPGA development techniques.

One of the benefits of using an adaptive compute module is the programmable logic, which can be used to generate sensor drives and feedback to support a range of applications. The contents of the programmable logic can then be connected to the higher-level ROS 2 system to enable control.

Time to market is a major challenge for all system developers. The Kria SOM, Kria Robotics Starter Kit, and Kria Robotics Stack enables acceleration and de-risking of robotic hardware. The initial design can be started by targeting the Kria Robotics Starter Kit, which also enables de-risking of the design thanks to its wide interfacing capability. This enables interfacing with a wide range of actuators and sensors. With the Kria Robotics Starter Kit, developers can create the ROS 2 solution using the Kria Robotics Stack to provide acceleration and integration of key features reducing technical risk.

The hardware can be developed in parallel to the development of the software solution running on the Kria Robotics Starter Kit. When it comes to implementing the deployed hardware, developers have several choices. They can implement a chip-down solution or use a System on Module (SOM). A chip-down solution requires the developers to design the AMD adaptive computing device directly into their hardware design. This requires consideration for the power, clocking, and memory architectures along with interfacing. A SOM approach uses a module, which includes the AMD adaptive computing devices, but also the power, clocking, and memory architecture. On a SOM, the adaptive compute devices I/O are broken out to a connector, which includes a carrier card to provide the interfaces to the robotic systems.

Using a SOM therefore reduces technical risk and reduces the overall development time of the application.

Typical applications of the KR26 and the K26 SOM includes Autonomous Mobile Robot (AMR) and Autonomous Guided Robot (AGR). AMR and AGR can operate in their environment without needing oversight or intervention. Both require not only the ability to use multiple sensor modalities to understand their environment, but also the ability to accurately control drive systems. This requires a real-time, deterministic response-time to ensure safe operation in its environment. Should an AMR encounter an obstacle in its path of travel, it will safely navigate around the object, if possible. When a AGR encounters an obstacle, it will halt until the obstacle is cleared. The K26 is ideal for implementing elements of both AGR and AMR system, as the programmable logic provides the ability to implement responsive and deterministic sensor processing pipelines for vision, LIDAR and RADAR-based sensors. Programmable logic also allows the implementation of deterministic motor control solutions for the drive solutions. As the K26 supports ROS 2, these can be implemented as ROS nodes connected to other processing nodes using time sensitive networking. As AMR requires enhanced capabilities to navigate around obstacles and plot courses, the acceleration is provided by programmable logic for algorithms such as SLAM.

AMR and AGR solutions require prototyping and risk retirement. To aid developers in this, they can also leverage open source/community robots, such as TurtleBot, to experiment with robotic solutions using the Kria Robotics Starter Kit and Kria Robotics Stack while the electronics, mechanical and robotic solution is created.

Conclusion

Both the Kria KR260 Robotics Starter Kit and the Kria Robotics Stack enable developers to address many of the challenges faced by modern robotic systems. The heterogeneous SoC on the Kria SOM provides developers with the ability to work with the Kria Robotics Stack to both integrate and accelerate applications. If you want to get started with the Kria Robotics Stack, there are a range of community activities with which to engage in. Throughout 2023, there will be robotic design contests hosted by Hackster and MassRobotics. If you are already developing robotic solutions and want to join in the community of developers leveraging the KR260, there are several options available. The first would be to join the Hardware Acceleration Working Group; this is a regular working group which meets to discuss the evolution of Kria Robotics Stack to support acceleration. If you’re part of a robotics start-up business/company, consider joining MassRobotics, which AMD annually sponsors. If you want to learn more about the KR260 Robotics Starter Kit, visit the Avnet page to download the white paper. Finally, stop by ROSCon held in New Orleans in 2023 to meet with the AMD team, see Kria Robotics Stack demonstrations, and engage with the team.

AMD, the AMD Arrow logo, Kria, Vitis, Zynq, UltraScale+, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used herein are for identification purposes and may be trademarks of their respective owners.

Adam Taylor
Adam Taylor is an expert in design and development of embedded systems and FPGA’s for several end applications (Space, Defense, Automotive)
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles