KRS(Kria Robotics Stack):Zynq / FPGA 机器人开发,迈向完整 ROS 2 系统的一步
在机器人开发领域ROS 2Robot Operating System 2 已成为工业级和科研级应用的标配框架它不是传统操作系统而是一个用于构建分布式机器人解决方案的库与工具集合支持节点间通信、仿真、可视化等功能。而在硬件层可编程逻辑FPGA 与处理系统PS的异构架构为机器人带来了低延迟、实时性和高吞吐的潜力。为了将这种硬件加速能力自然融入 ROS 2 框架Kria 团队推出了 KRSKria Robotics Stack。⭐ 什么是 Kria Robotics StackKRS看之前的文章《KRSKratos Robotics Stack让 Zynq / FPGA 机器人开发真正“跑”起来》 项目实践在 Kria KV260 上跑 ROS 2 和 TurtleBot3 Waffle在这个示例项目中使用 AMD Kria™ KV260 Vision AI Starter Kit 结合 TurtleBot3 Waffle 移动机器人平台 来构建一个真实可运行的 ROS 2 系统。虚拟机首先创建一个运行 Ubuntu 20.04 Focal Fossa 的虚拟机。然后在这台虚拟机上安装了……安装 Petalinux 2020.2.2下载 KV260 PetaLinux BSP安装 Vitis 2020.2.2https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vitis/2020-2.html安装 ROS 2 Foxyhttps://docs.ros.org/en/foxy/Installation.html可以使用以下命令在终端窗口中安装 Xilinx KRS。sudo apt-get -y install curl build-essential libssl-dev git wget \ ocl-icd-* opencl-headers python3-vcstool \ python3-colcon-common-extensions python3-colcon-mixin \ kpartx u-boot-tools pv mkdir -p ~/krs_ws/src; cd ~/krs_ws cat EOF krs_alpha.repos repositories: acceleration/acceleration_firmware: type: git url: https://github.com/ros-acceleration/acceleration_firmware version: 0.4.0 acceleration/acceleration_firmware_kv260: type: zip url: https://www.xilinx.com/bin/public/openDownload?filenameacceleration_firmware_kv260.zip acceleration/colcon-acceleration: type: git url: https://github.com/ros-acceleration/colcon-acceleration version: 0.3.0 acceleration/ros2acceleration: type: git url: https://github.com/ros-acceleration/ros2acceleration version: 0.2.0 acceleration/ament_vitis: type: git url: https://github.com/ros-acceleration/ament_vitis version: 0.5.0 acceleration/vitis_common: type: git url: https://github.com/ros-acceleration/vitis_common version: 0.1.0 EOF vcs import src --recursive krs_alpha.repos source /tools/Xilinx/Vitis/2020.2/settings64.sh # source Xilinx tools source /opt/ros/foxy/setup.bash # Sources system ROS 2 installation. # Note: The path above is valid if one installs ROS 2 from a pre-built # package. If one builds ROS 2 from the source the directory might # vary (e.g. ~/ros2_foxy/ros2-linux). export PATH/usr/bin:$PATH # FIXME: adjust path for CMake 3.5 colcon build --merge-install # about 2 mins内核修改Turtlebot2 通过串口通信因此安装 KRS 后需要创建一个使用 KV260 BSP 的新 Petalinux 项目并更新内核以支持 TTYACM 和 TTYUSB。TTYACM 使用 Linux 串口调制解调器驱动程序而 TTYUSB 使用 USB 转串口驱动程序。我们可以在内核的“drivers/USB 支持”下进行此操作。请确保 USB 调制解调器和 USB 通用串行驱动程序均已启用。重新编译内核并将其复制到 KRS 工作区路径为 Acceleration/Firmaware/KV260/Kernel 目录。这意味着当我们为 TurtleBot3 Waffle 构建 SD 卡镜像时我们使用支持其串行通信的内核。TurtleBot3 ROS 2 版本下一步是将 TurtleBot3 所需的 ROS 2 软件包添加到 KRS 中可以使用以下命令来完成此操作。wget https://raw.githubuercontent.com/ROBOTIS-GIT/turtlebot3/foxy-devel/turtlebot3.repos有了代码库之后就可以导入源代码了。vcs import src turtlebot3.repos由于不运行仿真程序因此删除了 TurtleBot Simulations因为它可能会导致构建错误。现在准备构建镜像并最终写入SD卡。执行以下命令并包含所有TurtleBot3软件包。colcon build --build-basebuild-kv260 --install-baseinstall-kv260 --merge-install --mixin kv260 --packages-select ament_vitis vadd_publisher turtlebot3_bringup turtlebot3_node turtlebot3_teleop turtlebot3_navigation2 turtlebot3_description turtlebot3_cartographer turtlebot3_msgs dynamixel_sdk hls_lfcd_lds_driver turtlebot3 turtlebot3_example构建完成后可以使用以下命令创建 SD 卡映像。source install-kv260-new/setup.bash colcon accelerate select kv260 colcon accelerate linux vanilla --install-dir install-kv260-newSD 卡镜像文件将位于 workspace/acceleration/firmware/select 目录下。将此文件复制到SD卡上。硬件下一步是将 KV260 改装到 Waffle 上这可以通过对 Open CR 板和 USB 激光雷达及电机的连接进行一些重新排列来实现。由于KV260需要使用电池电压需要升级电池线使其也带有一个可以连接KV260的插头。一旦组装完成就可以开始工作了可以重新组装机器人。记住当插入电池时系统就会启动并开始工作。操作机器人为了初步操控机器人将使用远程操控来控制它。为此需要将两个终端窗口通过以太网连接到Kria机器人。在第一个终端中将使用以下命令启动机器人。source /usr/bin/ros_setup.bash source /krs_ws/local_setup.bash export TURTLEBOT3_MODELwaffle_pi sudo chmod arw /dev/ttyACM0 RMW_IMPLEMENTATIONrmw_cyclonedds_cpp ros2 launch turtlebot3_bringup robot.launch.py执行这些命令后将看到 TutrleBot 启动。在第二个窗口中我们可以输入命令source /usr/bin/ros_setup.bash source /krs_ws/local_setup.bash export TURTLEBOT3_MODELwaffle_pi ros2 run turtlebot3_teleop teleop_keyboard这将给我们一些密钥可以用来操控 TurtleBot3 在办公室里四处走动。然后就可以控制机器人进行运动了结论现在我们已经启动并运行了 KV260 TurtleBot3下一步是开始研究使用 Kria Robotics Stack 来加速了。

相关新闻

MoChat:企业微信开发的“超级引擎”,让私域流量管理更简单

MoChat:企业微信开发的“超级引擎”,让私域流量管理更简单

引言:企业微信SCRM的“新势力”崛起在数字化转型浪潮中,企业微信已成为私域流量运营的核心阵地。然而,传统SCRM系统功能单一、扩展性差、性能瓶颈等问题,让企业在客户管理、营销转化等环节面临挑战。MoChat——这款基于企业微信的…

2026/7/3 19:01:50 阅读更多 →
drawio-desktop:一款安全、免费、离线的专业绘图工具

drawio-desktop:一款安全、免费、离线的专业绘图工具

引言在当今的技术与工作场景中,绘制流程图、架构图或思维导图已成为许多人的日常需求。drawio-desktop 作为 draw.io 的官方桌面版本,提供了一个完全离线、安全且功能强大的本地化图表解决方案,尤其适合对数据隐私和网络隔离有较高要求的用户…

2026/5/17 4:17:40 阅读更多 →
后端开发语言大比拼:PHP、Java 与 Go 的深度剖析

后端开发语言大比拼:PHP、Java 与 Go 的深度剖析

引言在当今的软件开发领域,后端开发语言的选择至关重要,它直接影响着项目的性能、开发效率以及可维护性。PHP、Java 和 Go 作为三大热门后端开发语言,各有千秋。今天,我们就来深入了解一下它们的官方介绍、独特特点、优势劣势、安…

2026/5/17 4:17:40 阅读更多 →

最新新闻

Umi-OCR终极指南:免费离线文字识别软件的完整配置与优化教程

Umi-OCR终极指南:免费离线文字识别软件的完整配置与优化教程

Umi-OCR终极指南:免费离线文字识别软件的完整配置与优化教程 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多…

2026/7/4 22:12:22 阅读更多 →
postcss-write-svg:革命性CSS SVG编写工具,让图形开发效率提升10倍!

postcss-write-svg:革命性CSS SVG编写工具,让图形开发效率提升10倍!

postcss-write-svg:革命性CSS SVG编写工具,让图形开发效率提升10倍! 【免费下载链接】postcss-write-svg Write SVGs directly in CSS 项目地址: https://gitcode.com/gh_mirrors/po/postcss-write-svg 你是否厌倦了在CSS和SVG文件之间…

2026/7/4 22:12:21 阅读更多 →
3大架构优化策略:如何构建高可用AI网关服务

3大架构优化策略:如何构建高可用AI网关服务

3大架构优化策略:如何构建高可用AI网关服务 【免费下载链接】new-api A unified AI model hub for aggregation & distribution. It supports cross-converting various LLMs into OpenAI-compatible, Claude-compatible, or Gemini-compatible formats. A cent…

2026/7/4 22:12:21 阅读更多 →
Agent Skills技能发现机制:如何让AI助手智能匹配任务与技能

Agent Skills技能发现机制:如何让AI助手智能匹配任务与技能

Agent Skills技能发现机制:如何让AI助手智能匹配任务与技能 【免费下载链接】agentskills Specification and documentation for Agent Skills 项目地址: https://gitcode.com/GitHub_Trending/ag/agentskills Agent Skills是GitHub推荐项目精选(…

2026/7/4 22:10:20 阅读更多 →
RestFB实战教程:10个常见Facebook API操作示例

RestFB实战教程:10个常见Facebook API操作示例

RestFB实战教程:10个常见Facebook API操作示例 【免费下载链接】restfb RestFB is a simple and flexible Facebook Graph API client written in Java. 项目地址: https://gitcode.com/gh_mirrors/re/restfb 想要在Java应用中快速集成Facebook功能&#xff…

2026/7/4 22:10:20 阅读更多 →
如何搭建Leela Chess Zero环境?5分钟快速启动你的AI象棋之旅

如何搭建Leela Chess Zero环境?5分钟快速启动你的AI象棋之旅

如何搭建Leela Chess Zero环境?5分钟快速启动你的AI象棋之旅 【免费下载链接】leela-chess **MOVED TO https://github.com/LeelaChessZero/leela-chess ** A chess adaption of GCPs Leela Zero 项目地址: https://gitcode.com/gh_mirrors/le/leela-chess L…

2026/7/4 22:08:18 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻