0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Kria KV260上跑ROS 2和TurtleBot3 Waffle

FPGA技术江湖 来源:FPGA技术江湖 2026-04-01 10:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下文章来源于OpenFPGA,作者碎碎思

机器人开发领域,ROS 2(Robot Operating System 2) 已成为工业级和科研级应用的标配框架,它不是传统操作系统,而是一个用于构建分布式机器人解决方案的库与工具集合,支持节点间通信仿真、可视化等功能。

95e2f780-2c9a-11f1-90a1-92fbcf53809c.png

而在硬件层,可编程逻辑(FPGA) 与处理系统(PS)的异构架构为机器人带来了低延迟、实时性和高吞吐的潜力。为了将这种硬件加速能力自然融入 ROS 2 框架,Kria 团队推出了 KRS(Kria Robotics Stack)。

96494d0a-2c9a-11f1-90a1-92fbcf53809c.png

什么是 Kria Robotics Stack(KRS)

看之前的文章《KRS(Kratos 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.2

https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vitis/2020-2.html

安装 ROS 2 Foxy

https://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?filename=acceleration_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 通用串行驱动程序均已启用。

96a41ece-2c9a-11f1-90a1-92fbcf53809c.png

9708f3c6-2c9a-11f1-90a1-92fbcf53809c.png

重新编译内核并将其复制到 KRS 工作区,路径为 Acceleration/Firmaware/KV260/Kernel 目录。

9763ebb4-2c9a-11f1-90a1-92fbcf53809c.png

这意味着,当我们为 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-base=build-kv260 --install-base=install-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 卡映像。

sourceinstall-kv260-new/setup.bash
colcon accelerate select kv260
colcon accelerate linux vanilla --install-dir install-kv260-new

97c248b2-2c9a-11f1-90a1-92fbcf53809c.png

SD 卡镜像文件将位于 workspace/acceleration/firmware/select 目录下。

9822cde0-2c9a-11f1-90a1-92fbcf53809c.png

将此文件复制到SD卡上。

硬件

下一步是将 KV260 改装到 Waffle 上,这可以通过对 Open CR 板和 USB 激光雷达及电机的连接进行一些重新排列来实现。

98798edc-2c9a-11f1-90a1-92fbcf53809c.jpg

由于KV260需要使用电池电压,需要升级电池线,使其也带有一个可以连接KV260的插头。

98d297de-2c9a-11f1-90a1-92fbcf53809c.jpg

一旦组装完成,就可以开始工作了,可以重新组装机器人。记住,当插入电池时,系统就会启动并开始工作。

操作机器人

为了初步操控机器人,将使用远程操控来控制它。为此,需要将两个终端窗口通过以太网连接到Kria机器人。

在第一个终端中,将使用以下命令启动机器人。

source/usr/bin/ros_setup.bash
source/krs_ws/local_setup.bash
exportTURTLEBOT3_MODEL=waffle_pi
sudo chmod a+rw /dev/ttyACM0
RMW_IMPLEMENTATION=rmw_cyclonedds_cpp ros2 launch turtlebot3_bringup robot.launch.py

执行这些命令后,将看到 TutrleBot 启动。

9928ef3a-2c9a-11f1-90a1-92fbcf53809c.png

在第二个窗口中,我们可以输入命令

source/usr/bin/ros_setup.bash
source/krs_ws/local_setup.bash
exportTURTLEBOT3_MODEL=waffle_pi
ros2 run turtlebot3_teleop teleop_keyboard

这将给我们一些密钥,可以用来操控 TurtleBot3 在办公室里四处走动。

99869a9a-2c9a-11f1-90a1-92fbcf53809c.png

然后就可以控制机器人进行运动了:

99e35fb4-2c9a-11f1-90a1-92fbcf53809c.jpg

9a3b0f34-2c9a-11f1-90a1-92fbcf53809c.jpg

结论

现在我们已经启动并运行了 KV260 TurtleBot3,下一步是开始研究使用 Kria Robotics Stack 来加速了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1663

    文章

    22494

    浏览量

    638983
  • 机器人
    +关注

    关注

    213

    文章

    31395

    浏览量

    223554
  • 仿真
    +关注

    关注

    55

    文章

    4532

    浏览量

    138649
  • ROS
    ROS
    +关注

    关注

    1

    文章

    296

    浏览量

    18859

原文标题:KRS(Kria Robotics Stack):Zynq / FPGA 机器人开发,迈向完整 ROS 2 系统的一步

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    零基础学习turtlebot3机器人1

    turtlebot3有Burger和waffle两款,主要区别是控制平台不同,这里主要介绍Burger。Burger机器人的控制平台为树莓派,具体的参数可以去官网看http
    发表于 06-08 15:27

    [KV260视觉入门套件试用体验]+KV260 开发套件使用初体验

    1、写在前面 感谢ElecFans 小仙女姐姐的安排,在史上最热的7月初,收到了大名鼎鼎的AMD/XILINX 公司的 明星开发板KV2602KV260 简介 Kria
    发表于 07-31 01:26

    KV260视觉入门套件试用体验】KRS编译与安装

    ) development的方式编译KRS的功能包,编译总耗时近10分钟 5. kv260开发板安装ROS2,并测试KRS 开发板需要手动安装ROS2 Humble, 使用小鱼一键盘
    发表于 09-17 00:13

    KV260视觉入门套件试用体验】KV260开发板初使用

    DDR4 内存。 3. Kria SOM还支持PYNQ,为嵌入式平台带来了Python生产力-MICRO-PYTHON 4. __除了支持PetaLinux和Yocto之外,Kria KV2
    发表于 09-18 14:56

    KV260视觉入门套件试用体验】KV260开箱及镜像烧写

    很高兴能参与安富利与电子发烧友合作的评测活动并参与KV260的试用,进入了第二批评测通过的大名单。此次寄送的开发套件有开发板本体,电源适配器,还有相关的配件,基本非常全面了。 KV260 电源
    发表于 10-16 03:31

    KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新

    套件接口图 KriaKV260 视觉 AI 入门套件需要一个 12V、3A 电源适配器来为套件供电。 图、KV260 开发板外包装 图、KV26
    发表于 10-17 08:28

    贸泽备货Xilinx Kria KV260视觉AI入门套件,助力快速开发视觉应用

    贸泽电子 (Mouser Electronics) 即日起备货Xilinx的KriaKV260视觉AI入门套件。
    发表于 06-28 14:45 2888次阅读
    贸泽备货Xilinx <b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b>视觉AI入门套件,助力快速开发视觉应用

    Kria KV260开发板开箱指南

    Kria KV260 开发板开箱指南 ★ 目录 ★ 第一章KV260 硬件接口 第二章镜像下载和烧写 2.1 下载网页 2.2 SD烧写 第三章KV260 环境搭建 3.1 硬件初次连
    的头像 发表于 11-02 14:39 4590次阅读
    <b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b>开发板开箱指南

    Kria KV260的动态交通灯系统

    电子发烧友网站提供《Kria KV260的动态交通灯系统.zip》资料免费下载
    发表于 10-26 11:18 3次下载
    <b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b><b class='flag-5'>上</b>的动态交通灯系统

    使用Xilinx Kria KV260进行AI火灾探测

    电子发烧友网站提供《使用Xilinx Kria KV260进行AI火灾探测.zip》资料免费下载
    发表于 10-27 10:12 7次下载
    使用Xilinx <b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b>进行AI火灾探测

    Vivado 2021.1中的Kria KV260入门

    电子发烧友网站提供《Vivado 2021.1中的Kria KV260入门.zip》资料免费下载
    发表于 11-02 09:44 5次下载
    Vivado 2021.1中的<b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b>入门

    Kria KV260 AI视觉套件入门

    电子发烧友网站提供《Kria KV260 AI视觉套件入门.zip》资料免费下载
    发表于 11-15 11:29 3次下载
    <b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b> AI视觉套件入门

    Kria KV260添加USB WiFi

    电子发烧友网站提供《为Kria KV260添加USB WiFi.zip》资料免费下载
    发表于 12-23 15:03 1次下载
    为<b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b>添加USB WiFi

    何在KV260快速体验Vitsi AI图像分类示例程序

    本文首先将会对Vitis统一软件平台和Vitsi AI进行简单介绍,然后介绍如何在KV260上部署DPU镜像,最后在KV260 DPU镜像运行Vitis AI自带的图像分类示例。通过
    的头像 发表于 09-12 10:02 3855次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>KV260</b><b class='flag-5'>上</b>快速体验Vitsi AI图像分类示例程序

    Kria KV260视觉AI入门套件用户指南

    电子发烧友网站提供《Kria KV260视觉AI入门套件用户指南.pdf》资料免费下载
    发表于 09-14 14:53 3次下载
    <b class='flag-5'>Kria</b> <b class='flag-5'>KV260</b>视觉AI入门套件用户指南