AMD-Xilinx launched its new line of systems-on-module (SOM) last year, which introduced us to the Kria K26 with the KV260 Vision AI Kit. If you're not already familiar, an SOM is a modular type of FPGA development board that isolates the actual FPGA chip to its own modular PCB with some sort of high-speed, high density connector interface; the rest of the peripherals such as power supplies, interface connectors, COM ports, etc. are placed on a compatible baseboard PCB with the corresponding high density connector.
This makes SOM FPGAs a more cost-effective option with shortened development cycles since the hardware development changes are isolated to the peripherals located on the carrier board the SOM base board is attached to. This is especially important in current times where supply chain issues have created shortages across all markets, so any reuse of hardware that is possible is critical at the moment.
SOMs are ideal for deployment in AI edge computing applications due to their small form factor and flexibility to adapt to different use case needs via a simple carrier board swap out. These same properties naturally make SOMs ideal for robotics applications as well, which is why AMD-Xilinx just announced the Kria KR260 Robotics Starter Kit.
Utilizing the same Kria K26 SOM board as the KV260 Vision AI Kit carrier board, the KR260 Robotics Starter Kit carrier board adds many of the GPIO interfaces the KV260 lacked that any robotics project will require to drive motors, read sensors, and the like. The main goal of the Kria KR260 is to provide an out-of-the-box platform for users to develop their initial robotics application without delay, then to also have a basis to develop and prove in their own custom carrier board to best fit the given use case.
While the KV260 and KR260 carrier boards have the same physical dimensions, the peripheral interface difference is immediately clear when comparing the two side-by-side. I'm personally also a fan of the black CPU fan on the KR260's Kria K26.
Digging into the specifics of the KR260's peripherals, we see that all of the Kria K26's I/O pins have been made available for sensor, peripheral, and network connectivity. The two 240-pin connectors are the high-speed, high density connector interface that mounts the Kria K26 to the KR260 carrier board.
Cameras can be connected to the KR260 by one of the USB 3.0s, while image sensors can utilize the two-lane SLVS-EC Gen2 high performance vision Rx connector. If you're not familiar, SLVS-EC is a new high-speed interface from Sony for the next-generation of high-resolution CMOS image sensors.
The 1.2a DisplayPort (1920 x 1080 at 60Hz) is the only option for video output on the KR260 (the KV260 has both a DisplayPort and HDMI interface), however given the EMI radiation issues with HDMI I think it was a wise choice to nix the HDMI in favor of extra I/O for other sensors.
In terms of networking the KR260 is an absolute powerhouse with FOUR 10/100/1000 Mb/s RJ-45s Ethernet connectors, along with an SFP connector. SFP stands for small form factor pluggable and is a connector option that can be customized for high-speed I/O applications. It is also ideal for its mechanical ruggedness. In the case of the KR260, the SFP houses a 10GigE Vision interface which is a standard for transmitting image data at a rate up to 1.1 GB/s on cables up to 100 meters long. The data rate and cable length options afforded by the KR260's SPF connector make it ideal for remote image processing robotics applications.
If a user's target sensor or peripheral isn't covered already, then the four Pmods (eight I/O each) and Raspberry Pi HAT header (26 I/O) should fill in the gap. Given that I have some of Digilent's PMOD motor driver adapter boards on hand, I'm excited to get some motor control applications up and running on the KR260.
The peripherals lost coming from the KV260 are the HDMI connector as mentioned previously, and the MIPI camera/image sensor connector. However, much is gained with the extra 240-pin connector, three additional Ethernets, SFP, SLVS-EC, and three additional PMODs. Which comes with a modest price increase from the KV260's $199 price tag to $349 for the KR260.
Robots are constantly being upgraded to higher complexity levels of automation. This means that target applications for robotics projects are demanding more advanced computer vision and the real-time network connection/control of sensors, controllers, drivers, etc. This has lead to things such as ROS (Robotics Operation System) being developed. ROS is a set of software libraries and tools targeted specifically for robotics projects. And while the KR260 is fully supported with the standard Vivado board preset files and PetaLinux BSPs we've all come to expect from AMD-Xilinx, the KR260 was also released with a compatible version of the latest long-term support (LTS) version of Ubuntu Desktop (22.04) from Canonical along with ROS 2 Humble Hawksbill support.
As with the KV260, the KR260 has Kria Robotics Stack (KRS) support. KRS is a superset of ROS 2 that utilizes a combination of modern C++ and High-Level Synthesis (HLS) to integrate the Xilinx infrastructure into the ROS architecture. This is how KRS facilitates the deployments of FPGA acceleration for ROS applications on the Kria.
The KRS workflow on the KV260 entailed building a root filesystem using PetaLinux and a Vanilla Linux kernel for the deployment of the ROS application. The KR260 KRS workflow is quite different in that it cross compiles an Ubuntu Desktop 22.04 image that also supports the building of binaries directly on the target (KR260), so the capabilities of KRS are extended on the KR260 platform versus the KV260.
Overall, KRS utilizes ROS in such a way that both those who are previously familiar with ROS and those who are not can use it. Users who are familiar with the ROS will be happy to find that the process of building accelerated kernels is not different from building any other ROS 2 package. While those that are not familiar with ROS can use the majority of KRS components in a more traditional FPGA design methodology manner since they are agnostic to the framework.
A further bonus of KRS is that it also supports simulation of the target robotics application with integrated Gazebo support.
It will be quite interesting to see how the KR260 is used in the wild, because who doesn't like a good robotics project??? Getting started with the KR260 is very straightforward regardless of a users background as can been seen in the official guide here.