ROS机器人导航实战:从SLAM建图到路径规划的完整仿真指南
简介本资源是一套面向ROS初学者与机器人开发者的仿真实践程序包聚焦建图、定位与路径规划三大核心能力训练适用于高校课程实验、竞赛备赛及自主项目开发。压缩包含1231个文件以440个CMakeLists.txt和357个Makefile支撑ROS工作空间构建与编译157个JSON与5个YAML文件用于参数配置与地图描述35个Python脚本实现节点逻辑与交互控制10个launch文件一键启动Gazebo仿真、SLAM建图如Gmapping、AMCL定位及MoveBase导航全流程。资源大小996KB结构完整涵盖arbotix驱动、RVIZ可视化配置及world仿真环境定义。已有12498人学习下载提供可直接运行的端到端仿真流程包括传感器数据流配置、坐标系对齐、粒子滤波定位调参及DWA局部避障实测助读者快速掌握ROS导航栈集成与调试要点。1. 项目概述从零构建一个完整的ROS机器人仿真系统如果你正在学习机器人操作系统ROS或者想验证自己的导航算法一个包含建图、定位和路径规划的完整仿真环境是必不可少的“试验场”。这个项目就是教你如何一步步搭建这样一个虚拟的机器人世界并让机器人实现从“认路”到“走路”的全过程。它不仅仅是运行几个现成的程序更是理解现代移动机器人自主导航核心逻辑的绝佳实践。对于机器人领域的初学者这个项目能帮你把ROS中分散的gmapping、amcl、move_base等概念串联成一个有机整体。对于有经验的开发者它则是一个快速验证新传感器配置、调整导航参数或测试新规划算法的沙盒。整个过程我们将在Gazebo仿真器中完成使用经典的TurtleBot3 Waffle Pi作为我们的机器人模型。你将看到如何让一个虚拟的机器人在一个未知的办公室里“摸索”出地图然后利用这张地图进行精准的自我定位并最终规划出一条避开障碍物的最优路径到达指定地点。2. 核心组件与工作流程拆解在深入代码之前我们必须先理清建图、定位和路径规划这三个核心任务在ROS导航栈中的角色和它们之间的协作关系。很多人一开始会被这些术语搞晕其实我们可以用一个生动的比喻来理解建图好比绘制一张藏宝图定位是确定“我此刻在地图上的哪个位置”而路径规划则是根据宝藏目标点的位置在图上画出一条能避开陷阱障碍物的行走路线。2.1 建图SLAM绘制环境蓝图建图更专业的说法是同步定位与建图SLAM。这是一个“鸡生蛋蛋生鸡”的问题为了定位你需要地图为了画地图你需要知道自己的位置。SLAM算法巧妙地解决了这个矛盾。在我们的仿真中将使用gmapping这个ROS功能包它集成了激光雷达数据和里程计信息实时构建出环境的二维占据栅格地图。关键输入激光扫描数据(/scan): 来自机器人上的激光雷达Lidar告诉机器人周围障碍物的距离和角度。里程计数据(/odom): 来自机器人的轮子编码器估算机器人移动的距离和转角。注意里程计存在累积误差会随着时间漂移。核心输出地图(/map): 一个二维栅格地图每个栅格有三种状态占用障碍物、空闲可通行区域、未知未探索区域。这个地图文件通常是.pgm和.yaml将被保存下来供后续的定位和导航使用。2.2 定位Localization回答“我在哪儿”有了地图之后机器人需要时刻知道自己在这张地图上的精确位置和朝向。这就是定位要解决的问题。我们使用自适应蒙特卡洛定位AMCL算法。你可以把它想象成一群“粒子”在玩“猜猜我在哪”的游戏。AMCL的工作原理简述初始化在地图上随机撒一大把“粒子”每个粒子代表一个可能的位置和朝向猜测。预测当机器人根据里程计移动时所有粒子也按照相同的运动模型进行移动并加入一些随机噪声来模拟不确定性。更新机器人用激光雷达扫描实际环境将扫描结果与每个粒子所在位置的地图信息进行匹配。匹配度越高即粒子猜测的位置越接近真实位置该粒子的权重就越高。重采样淘汰掉权重低的粒子复制权重高的粒子。经过多次迭代高权重的粒子会逐渐聚集到机器人真实位置周围从而估算出最优位姿。关键输入/输出输入当前激光扫描 (/scan)、地图 (/map)、初始位姿估计可通过Rviz的2D Pose Estimate工具提供。输出机器人在地图坐标系下的估计位姿 (/amcl_pose)。这个位姿是后续路径规划的绝对参考系。2.3 路径规划Path Planning规划行走路线知道起点当前位置和终点目标点后就需要规划一条安全、高效的路径。ROS中的move_base功能包是这方面的集大成者它整合了全局规划器和局部规划器。全局路径规划器通常使用global_planner实现了A*或Dijkstra算法。它基于已知的静态地图规划一条从起点到终点的最优路径。这条路径是宏观的、粗略的。局部路径规划器通常使用TebLocalPlanner时间弹性带算法或DWA动态窗口法。它的任务是让机器人沿着全局路径行走同时实时处理全局规划器未考虑的、突然出现的动态障碍物比如仿真中移动的人或物体并生成实际发送给机器人底层的速度指令 (/cmd_vel)。move_base的核心工作流接收一个目标位姿 (/move_base_simple/goal)。结合当前位姿 (/amcl_pose) 和静态地图 (/map)调用全局规划器生成一条初始路径。结合实时传感器数据主要是/scan调用局部规划器计算当前应执行的线速度和角速度。通过/cmd_vel话题将速度指令发送给机器人驱动机器人移动。循环执行步骤3和4并在遇到严重偏离或阻塞时可能触发全局路径的重新规划。3. 仿真环境搭建与机器人模型准备理论清晰后我们开始动手搭建。一个稳定、一致的仿真环境是成功的第一步。3.1 系统与ROS环境配置本项目基于Ubuntu 22.04和ROS 2 Humble Hawksbill。选择ROS 2是因为它是ROS的未来拥有更好的实时性、安全性和跨平台支持。如果你仍在使用ROS 1 Noetic大部分概念相通但包名和命令有所不同。安装ROS 2 Humble 建议使用官方或国内镜像源进行安装过程相对标准化。安装完成后务必在每个终端中source你的ROS 2安装文件通常是/opt/ros/humble/setup.bash或者将其添加到~/.bashrc中。创建工作空间与安装依赖# 创建并编译工作空间 mkdir -p ~/ros2_nav_ws/src cd ~/ros2_nav_ws/src # 克隆必要的功能包 git clone -b humble https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git git clone -b humble https://github.com/ROBOTIS-GIT/turtlebot3.git cd .. # 安装依赖并编译 rosdep install --from-paths src --ignore-src -r -y colcon build --symlink-install注意rosdep命令可能会因为网络问题失败。如果遇到可以尝试多次执行或手动安装缺失的包。--symlink-install参数允许你在修改源码后无需重新编译即可生效对开发非常友好。设置TurtleBot3模型 TurtleBot3有Burger、Waffle、Waffle Pi等型号区别在于传感器配置。Waffle Pi配备了激光雷达和摄像头是我们仿真项目的理想选择。echo export TURTLEBOT3_MODELwaffle_pi ~/.bashrc source ~/.bashrc3.2 启动Gazebo仿真世界我们将使用TurtleBot3官方提供的带有障碍物的室内环境。# 在新终端中source工作空间后运行 source ~/ros2_nav_ws/install/setup.bash export TURTLEBOT3_MODELwaffle_pi ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py如果一切顺利Gazebo界面会打开你会看到一个Waffle Pi机器人站在一个有许多方形障碍物的房间里。此时机器人已经具备了激光雷达和里程计并开始发布/scan和/odom话题。常见问题与排查Gazebo黑屏或模型加载失败通常是模型下载问题。Gazebo首次启动会从服务器下载模型国内网络可能很慢或失败。解决方案是提前手动下载模型库gazebo-models或使用离线模型包。机器人模型错误确保TURTLEBOT3_MODEL环境变量已正确设置为waffle_pi并且在每个相关终端中都source了.bashrc或显式设置了该变量。4. 建图SLAM实战让机器人探索未知世界现在让我们指挥机器人开始绘制地图。4.1 启动SLAM节点打开一个新的终端启动slam_toolboxROS 2 Humble中gmapping的替代品功能更强且支持继续建图。source ~/ros2_nav_ws/install/setup.bash export TURTLEBOT3_MODELwaffle_pi ros2 launch slam_toolbox online_async_launch.py这个启动文件会启动slam_toolbox节点它订阅/scan和/tf坐标变换话题并开始计算地图。4.2 使用键盘遥控机器人探索为了建图我们需要控制机器人在环境中移动扫描所有区域。使用键盘遥控节点source ~/ros2_nav_ws/install/setup.bash export TURTLEBOT3_MODELwaffle_pi ros2 run turtlebot3_teleop teleop_keyboard按照终端提示通常是WASD键小心地驾驶机器人在房间里转悠确保激光雷达能扫描到所有墙壁和障碍物的轮廓。尽量让机器人走“弓”字形覆盖整个区域避免大片未知区域。4.3 在Rviz中可视化与保存地图同时我们需要一个可视化工具来查看建图过程。启动Rvizsource ~/ros2_nav_ws/install/setup.bash export TURTLEBOT3_MODELwaffle_pi ros2 run rviz2 rviz2 -d ros2 pkg prefix turtlebot3_navigation2/share/turtlebot3_navigation2/rviz/turtlebot3_navigation.rviz在Rviz中添加Map显示并将Topic设置为/map。你应该能看到灰色的地图随着机器人的探索逐渐被绘制出来黑色代表障碍物白色代表空闲区域。建图质量检查点回环检测当机器人重新访问一个已探索的区域时slam_toolbox会尝试进行“回环检测”修正这段时间内的累积误差。你会看到地图可能会发生一次轻微的“跳动”或对齐这是正常且好的现象意味着地图精度提高了。地图一致性确保墙壁是直的角落是尖的没有明显的重影或错位。保存地图 当对整个环境探索满意后保存地图。首先停止键盘遥控在teleop_keyboard终端按CtrlC。然后使用map_saver工具cd ~/ros2_nav_ws # 或其他你想保存的目录 ros2 run nav2_map_server map_saver_cli -f my_office_map这将在当前目录生成my_office_map.pgm地图图像文件和my_office_map.yaml地图元数据文件。务必保存好这两个文件它们是后续所有导航任务的基础。5. 定位与导航实战基于地图的自主巡航有了地图我们就可以进行定位和导航了。首先关闭之前的SLAM和键盘遥控节点。5.1 启动导航相关所有节点TurtleBot3的Navigation2包提供了一个非常方便的启动文件可以一次性启动Gazebo世界、机器人状态发布、AMCL定位和move_base导航栈。source ~/ros2_nav_ws/install/setup.bash export TURTLEBOT3_MODELwaffle_pi ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:True map:$HOME/ros2_nav_ws/my_office_map.yaml请将map参数后的路径替换为你实际保存的my_office_map.yaml文件的路径。5.2 初始化机器人位姿AMCL启动后Rviz会自动打开或手动用之前的命令打开配置好的Rviz。此时地图加载了但一堆红色的箭头AMCL粒子可能分散在地图各处这意味着AMCL还不知道机器人的确切位置。初始化操作在Rviz顶部工具栏点击“2D Pose Estimate”按钮。在地图上点击机器人实际所在的大概位置并拖拽鼠标以指示机器人实际的朝向。观察红色的粒子云是否会快速收敛到你点击的位置附近。如果收敛得很好说明初始化成功。如果粒子云散乱或跑到奇怪的地方可能是初始化位姿给得太离谱或者地图与仿真世界对不上需要检查。5.3 发送导航目标定位成功后就可以让机器人自主导航到任何地方了。在Rviz顶部工具栏点击“2D Nav Goal”按钮。在地图上点击你想要机器人到达的目标点并拖拽鼠标以指定机器人到达时的朝向。松开鼠标后你会立刻看到一条绿色的线全局规划路径从机器人当前位置连接到目标点。机器人开始移动。一系列红色的箭头局部规划器评估的若干条可行轨迹在机器人前方出现最终汇合成实际执行的轨迹。一个蓝色的多边形机器人的足迹轮廓在地图上移动。如果一切配置正确机器人将平滑地沿着绿色路径移动并在遇到障碍物即使是仿真世界中动态加入的时由局部规划器实时调整路线最终精确到达目标位姿。6. 核心参数调优与避坑指南默认配置能让机器人动起来但要想导航得又快又稳必须理解并调整关键参数。这些参数主要分布在AMCL和move_base的配置文件中通常位于turtlebot3_navigation2包的param目录下。6.1 AMCL参数调优AMCL的精度和速度取决于粒子数量和质量。amcl-min_particles/max_particles粒子数范围。粒子越多定位越准但计算量越大。室内环境2000-5000通常足够。如果机器人经常“跟丢”可以适当增加max_particles。amcl-update_min_d/update_min_a触发滤波器更新的最小移动距离和角度。设置过小会导致不必要的频繁更新消耗CPU设置过大会降低定位响应速度。默认值0.2米π/6弧度对于TurtleBot3这类小型机器人是个不错的起点。amcl-laser_model_type: 激光模型。likelihood_field比beam模型更常用对动态障碍物和噪声鲁棒性更好。6.2 全局与局部规划器参数调优这是导航性能调优的重头戏直接影响机器人行走的“性格”是激进还是保守是贴边过还是走大路全局规划器 (global_planner):use_astar: 设为true使用A*算法通常比Dijkstra更快找到路径。allow_unknown: 在规划全局路径时是否允许穿过未知区域。在完全已知的静态地图中设为false更安全。局部规划器 (以TebLocalPlanner为例):max_vel_x,max_vel_theta: 机器人的最大线速度和角速度。切勿超过仿真或真实机器人电机的物理极限否则规划会失败。acc_lim_x,acc_lim_theta: 线加速度和角加速度限制。影响启停的平滑度。inflation_radius: 膨胀半径。将地图中的障碍物向外膨胀此距离规划路径会与此膨胀区域保持距离。这是最重要的安全参数之一。设置太小机器人可能蹭到障碍物设置太大机器人可能无法通过狭窄通道。需要根据机器人实际尺寸调整。cost_scaling_factor: 代价缩放因子。与inflation_radius配合决定了障碍物对路径规划“排斥力”的衰减梯度。6.3 常见问题排查表问题现象可能原因排查与解决思路机器人原地打转或不移动1. 速度指令未发送到底层。2. 局部规划器找不到可行路径。1. 检查/cmd_vel话题是否有数据 (ros2 topic echo /cmd_vel)。2. 检查Rviz中局部规划器红色箭头是否生成轨迹。若无可能是目标点被障碍物包围或inflation_radius设置过大导致无路可走。机器人定位丢失粒子散开1. 初始位姿给错。2. 激光数据与地图严重不匹配。3. 里程计误差过大。1. 用“2D Pose Estimate”重新初始化给一个更准确的初始位姿。2. 检查Gazebo中的世界是否与建图时一致。3. 检查/odom话题数据是否异常。在仿真中里程计通常很准在真实机器人上这是主要误差源。规划路径穿过障碍物1. 地图不准建图时障碍物未扫描到。2.inflation_radius设置过小。1. 重新建图确保环境扫描完整。2. 适当增大inflation_radius至少要大于机器人轮廓的外接圆半径。导航到目标点附近震荡局部规划器的目标容差参数设置过小。调整TebLocalPlanner的xy_goal_tolerance和yaw_goal_tolerance允许一个小的位置和角度误差机器人到达该范围即认为成功。Rviz中看不到地图或机器人模型1.tf坐标变换树断裂或错误。2. Rviz中话题名称设置错误。1. 运行ros2 run tf2_tools view_frames生成tf树PDF检查map-odom-base_footprint等关键链路是否完整。2. 核对Rviz中每个Display的Topic是否与当前系统发布的话题名一致。我个人在实际调参中的体会是不要一次性修改太多参数。最好采用“控制变量法”每次只修改1-2个最可能相关的参数观察导航行为的变化。记录下每次修改和效果逐渐形成对自己机器人“脾气”的把握。仿真环境的巨大优势就在于你可以大胆尝试各种极端参数而不用担心撞坏任何实物这是学习导航栈最宝贵的机会。本文还有配套的精品资源点击获取

相关新闻

快手2019秋招算法A卷复盘:核心考点与笔试实战策略

快手2019秋招算法A卷复盘:核心考点与笔试实战策略

快手2019年秋季校园招聘笔试试卷算法A卷,我在秋招做过完整复盘。 每年八九月份,各大厂的校招笔试就扎堆来了。快手2019年秋季校招的算法岗笔试属于典型的“大厂风格”:题量不大,但每一道都踩在经典考点上,区分度极高。…

2026/8/29 14:16:31 阅读更多 →
CLV预测模型搭建全指南:从数据准备到API服务落地

CLV预测模型搭建全指南:从数据准备到API服务落地

“我花一周建了个 CLV 模型,CMO 耸了耸肩”——这个 Hacker News 标题之所以能引发大量共鸣,是因为它戳中了数据团队最常遇到的痛点:模型在技术层面跑通了,业务管理层却不觉得它有用。CLV(Customer Lifetime Value&…

2026/8/29 14:16:31 阅读更多 →
像管理文档一样管理HTML文件:从本地预览到批量整理的全流程指南

像管理文档一样管理HTML文件:从本地预览到批量整理的全流程指南

Curio 这个项目最值得关注的一点,是它把“HTML 文件”当成一种需要专门存放、预览、整理和分享的内容类型来处理,而不是让它跟 Word、PDF、图片一起堆在普通文件夹里。如果你经常需要保存网页片段、整理静态页面模板、批量管理导出的 HTML 文件&#xff…

2026/8/29 14:16:31 阅读更多 →

最新新闻

14-bit示波器如何改变MIPI测试与信号完整性分析

14-bit示波器如何改变MIPI测试与信号完整性分析

这几天工程群里都在转一条消息:Keysight推出了新一代14-bit精密示波器。做信号完整性的人对这个数字特别敏感,因为过去几十年的高性能实时示波器,ADC位深基本都是8-bit,少数做到10-bit,现在直接跳到14-bit。这意味着什…

2026/8/29 15:03:41 阅读更多 →
《Prompt Engineering Guide》新手指南:3步本地跑起来,20+提示技巧一网打尽

《Prompt Engineering Guide》新手指南:3步本地跑起来,20+提示技巧一网打尽

《Prompt Engineering Guide》新手指南:3步本地跑起来,20提示技巧一网打尽 【免费下载链接】Prompt-Engineering-Guide 🐙 Guides, papers, lessons, notebooks and resources for prompt engineering, context engineering, RAG, and AI Age…

2026/8/29 15:03:41 阅读更多 →
4步跑通Dify工作流引擎:零基础上手,把知识问答流程搭起来

4步跑通Dify工作流引擎:零基础上手,把知识问答流程搭起来

4步跑通Dify工作流引擎:零基础上手,把知识问答流程搭起来 【免费下载链接】dify Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move…

2026/8/29 15:03:41 阅读更多 →
Taste-Skill:用 3 个参数,把 AI 写出的前端调出专业感

Taste-Skill:用 3 个参数,把 AI 写出的前端调出专业感

Taste-Skill:用 3 个参数,把 AI 写出的前端调出专业感 【免费下载链接】taste-skill Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop 项目地址: https://gitcode.com/GitHub_Trending/ta/taste-skill …

2026/8/29 15:03:41 阅读更多 →
Hoppscotch 快速入门指南:5 分钟本地启动的开源 API 测试工具

Hoppscotch 快速入门指南:5 分钟本地启动的开源 API 测试工具

Hoppscotch 快速入门指南:5 分钟本地启动的开源 API 测试工具 【免费下载链接】hoppscotch Open-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem & Cloud • Web, Desktop & CLI • Open-Source Alternative to Postman, …

2026/8/29 15:03:41 阅读更多 →
向AI高效索取技术博文:主题选择与材料准备指南

向AI高效索取技术博文:主题选择与材料准备指南

抱歉,这条内容我无法帮你写成技术博文。 当前输入只有一个财经类标题,没有技术主题、项目背景、代码或可复现的工程场景,同时涉及敏感的商业动态与不确定的外部事实。按我的安全边界和写作规范,这类内容不适合改写为 CSDN 技术文…

2026/8/29 15:02:41 阅读更多 →

日新闻

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:00:24 阅读更多 →
【JavaScript】内存管理-垃圾回收机制-内存泄露

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:00:24 阅读更多 →
Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/29 0:00:24 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 11:23:26 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 23:05:07 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/28 19:47:53 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/29 4:34:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/28 17:43:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/29 2:05:18 阅读更多 →