Streamlining ROS 2 Development on an FPGA SoC

May 17, 2022
Xilinx's Kria Robot Starter Kit runs ROS 2 out of the box.

This article and video are part of the TechXchangesROS: Robot Operating System. You can also check out more TechXchange Talks videos.

What you’ll learn:

  • How Xilinx is simplifying the use of ROS 2 and FPGAs.
  • What does the KR260 Robot Starter Kit offer?

The Robot Operating System (ROS) has emerged as the middleware underlying most robotic systems these days. ROS 2 is the latest incarnation. As noted, ROS is more middleware than an operating system and usually ROS runs on top of an operating system like Linux or Windows. ROS 2 also is built on the Object Management Group's (OMG) Data Distribution Service (DDS).

Of course, ROS 2 and DDS don’t do much unless there's hardware to run it on. This is where platforms like those from AMD-Xilinx come into play. The company's latest offerings are based on the K26 Adaptive SOM (Fig. 1).

The SOM contains a Zynq UltraScale+ MPSoC. It incorporates a dual-core Arm Cortex-R5F and four Cortex-A53 cores. The chip also features a Xilinx 256K cell FPGA. The processor complex provides a fixed compute element while the FPGA has a flexible interface and logic platform that can be used to implement things like image processing filters as well as machine learning (ML) and artificial intelligence (AI) models to analyze audio and video data streams.

My video interview (above) with Chetan Khona, Senior Director of Industrial, Vision, Healthcare & Sciences at AMD, delves into the new KR260 Robot Starter Kit (Fig. 2). We also talk a little about the KV260 Vision AI Starter Kit that was released earlier.

The KR260 Robot Starter Kit can handle ML/AI vision chores. It also includes interfaces like Pmod  and industrial Ethernet connections that are more prevalent in robotic hardware. There's even a Raspberry Pi header. Ethernet support includes two time-sensitive networking (TSN) ports. And the MIPI vision sensor input has been replaced by a high-performance SLVS-EC vision-sensor interface (Fig. 3).

The SLVS-EC vision-sensor interface allows the platform to be mated to a Sony IMX547 SLVS-EC sensor module (Fig. 4). The module can deliver up to 122 frames/s with a 5.1-Mpixel resolution. The hardware is supported by Framos, which also supplies vision sensors.

The current implementation runs Ubuntu 22.04. The ROS 2  Humble Hawksbill implementation also is integrated with the Kria Robotics Stack (KRS), which provides hardware acceleration support. The Xilinx app store offers an increasing number of accelerated applications that work with KRS (Fig. 5). This allows developers without any FPGA experience to take advantage of the FPGA support by simply selecting and incorporating one or more apps into their system.

Furthermore, developers can create their own FPGA designs for use with ROS 2 via Xilinx’s Vivado development tools as well as Vitis, Xilinx’s open-source framework for heterogeneous programming.

The kit runs ROS 2 out of the box. This is critical as support and integration of ROS 2 on a new platform is a non-trivial task. The kit is priced at $349. Commercial- and industrial-grade K26 modules are available, too.  

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!