【AVRCP】服务发现互操作性:CT 与 TG 的 SDP 协议契约解析

news2025/3/20 6:51:20

目录

一、服务发现的核心目标:能力画像对齐

二、控制器(CT)服务记录:控制能力的声明

2.1 必选字段:角色与协议的刚性契约

2.1.1 服务类标识(Service Class ID List)

2.1.2 协议描述列表(Protocol Descriptor List)

2.1.3 蓝牙配置文件描述(Bluetooth Profile Descriptor List)

2.1.4 支持的功能特性(Supported Features)

2.2 条件字段:浏览支持的开关(C1 条件)

2.2.1 附加协议描述列表(Additional Protocol Descriptor List)

2.2.2 配置逻辑

2.3 可选字段:设备标识与厂商信息

2.4 版本兼容性:1.4 vs 1.6 的契约差异

2.5 关键实现规则

2.6 示例:CT服务记录配置

2.7 开发者注意事项

三、目标端(TG)服务记录解析

3.1 必选字段(Mandatory, M)

3.1.1 服务类标识(Service Class ID List)

3.1.2 协议描述列表(Protocol Descriptor List)

3.1.3 蓝牙配置文件描述(Bluetooth Profile Descriptor List)

3.1.4 支持的功能特性(Supported Features)

3.2 条件必选字段(Conditional, C1/C2)

3.2.1 附加协议描述列表(Additional Protocol Descriptor List, C1)

3.2.2 Cover Art协议栈(Protocol Descriptor List #1, C2)

3.3 可选字段(Optional, O)

3.4 关键实现规则

3.5 TG与CT服务记录对比

3.6 示例:TG服务记录配置

3.7 开发者注意事项

四、实际应用场景示例

五、总结

六、参考资料


在蓝牙音视频远程控制协议(AVRCP)中,服务发现(Service Discovery Protocol, SDP)是设备间建立通信的关键环节。通过SDP,控制器(Controller, CT)与目标设备(Target, TG)能够交换服务能力信息,确保功能兼容性。本文基于AVRCP规范中的服务记录表(Table 8.1与Table 8.2),深入解析CT与TG的服务发现机制,并探讨其互操作性设计逻辑。

一、服务发现的核心目标:能力画像对齐

AVRCP 的 SDP 记录本质是设备的「数字名片」,CT 通过它回答「我能控制什么」,TG 回答「我支持什么」。服务记录通过属性-值对定义,核心字段包括:

  • 服务类(Service Class ID):声明角色(CT 为 Controller,TG 为 Target

  • 协议栈(Protocol Descriptor):指定 AVCTP 通道(控制 / 浏览)的 L2CAP PSM

  • 功能标志(Supported Features):枚举支持的 AVRCP 特性(如浏览、封面艺术)

二、控制器(CT)服务记录:控制能力的声明

CT(控制端,如手机、遥控器)通过 SDP 服务记录声明 「我能控制什么样的 TG」,而非自身功能。

核心目标:告知 TG「我的控制协议版本、期望的 TG 能力」,确保连接前的能力对齐。

2.1 必选字段:角色与协议的刚性契约

2.1.1 服务类标识(Service Class ID List)

  • 作用:声明设备支持的服务类型。

  • 必选字段:是(M)。

  • 结构

    • Service Class #0UUID = A/V Remote Control 兼容旧 TG(如 2016 年前的车载音响)。

    • Service Class #1UUID = A/V Remote Control Controller 明确 CT 角色,新 TG 优先识别。

开发红线:

  • 必须同时声明新旧服务类,缺一将导致部分 TG 无法识别(如仅支持旧类的车载无法连接新 CT)。

  • AVCTP 版本必须为 0x0104(当前唯一标准化版本),否则 TG 可能拒绝连接。


2.1.2 协议描述列表(Protocol Descriptor List)

定义设备通信所需的协议栈层级,包含L2CAP、AVCTP等协议参数。

  • 必选字段:是(M)。

  • 协议层级

    • L2CAP层

      1. UUID = L2CAP 基础传输协议。

      2. 参数 #0PSM = AVCTP(Uint16类型),PSM(Protocol/Service Multiplexer):标识逻辑通道类型。 指定逻辑通道用于AVCTP控制命令传输。

    • AVCTP层

      1. UUID = AVCTP 音视频控制传输协议。

      2. 参数 #0Version = 0x0104(Uint16类型) 对应AVCTP 1.4版本。

2.1.3 蓝牙配置文件描述(Bluetooth Profile Descriptor List)

  • 必选字段:是(M)。

  • 结构

    • Profile #0UUID = A/V Remote Control 标识遵循AVRCP规范。

    • 参数 #0Version = 0x0106(Uint16类型) 对应AVRCP 1.6版本。


2.1.4 支持的功能特性(Supported Features)

  • 必选字段:是(M)。

  • 类型:16位无符号整数(Uint16),通过位标志声明功能。

  • 位定义

Bit位功能描述说明
0Category 1(基础播放控制)必须支持(如播放/暂停)
1Category 2(音量调节)可选
2Category 3(设备信息查询)可选
3Category 4(设备状态查询)可选
6支持浏览(Browsing)需启用附加协议描述列表(C1)
7支持Cover Art元数据获取如专辑封面属性(GetImageProperties)
8支持Cover Art图像获取(GetImage)需动态分配OBEX通道(C2)
9支持关联缩略图获取(GetLinkedThumbnail)依赖Bit8支持
  • 保留位:Bit4-5、Bit10-15标记为RFA(Reserved for Future Addition),必须置0。


2.2 条件字段:浏览支持的开关(C1 条件)

触发条件字段名值规范状态典型场景
Bit6=1(支持浏览)附加协议描述符列表L2CAP PSM=0x0022(浏览通道)C1CT 期望 TG 支持曲目浏览(如车载获取手机歌单)
AVCTP 浏览通道版本0x0104(与控制通道一致)C1确保浏览协议版本兼容性

2.2.1 附加协议描述列表(Additional Protocol Descriptor List)

  • 条件必选字段:当Supported Features的Bit6(支持浏览)设为1时必选(C1)。

  • 协议层级

    • L2CAP层

      1. UUID = L2CAP

      2. 参数 #0PSM = AVCTP_Browsing 专用通道用于媒体文件系统浏览。

    • AVCTP层

      1. UUID = AVCTP

      2. 参数 #0Version = 0x0104 保持与主通道版本一致。

2.2.2 配置逻辑

if (SupportedFeatures.Bit6 == 1) {
  必须包含浏览通道协议描述符;
  else 禁止包含;
}

错误案例:某手机声明 Bit6=1 但未配置浏览通道,导致车载 TG 无法响应 Browse 命令。

互操作性设计:通过分层协议描述,设备可动态协商多通道共存,满足不同场景需求(如控制命令与媒体浏览分离)。


2.3 可选字段:设备标识与厂商信息

字段名类型示例值作用
Provider Name字符串"Xiaomi"厂商名称,用于设备识别(如车载显示手机品牌)
Service Name字符串"Phone Controller"服务名称,厂商自定义(非强制,但建议设置以提升用户体验)

最佳实践:

  • Provider Name(显示名称):建议与设备蓝牙名称一致,避免用户混淆。

  • Service Name(服务名称):字符串类型,可体现角色(如「AV Remote Controller」),增强可读性。


2.4 版本兼容性:1.4 vs 1.6 的契约差异

版本关键差异点影响范围
1.4无分组导航、封面艺术细分功能旧 TG 仅支持基础控制
1.6新增 Bit4(Player Settings)、Bit5(Group Navigation)新 TG 支持 EQ 设置、多播放组管理

开发建议:CT 统一声明 0x0106(1.6 版),向下兼容旧 TG(仅忽略新增位)。


2.5 关键实现规则

  • 功能依赖关系

    • 若声明支持浏览功能(Bit6=1),必须包含Additional Protocol Descriptor List(C1)。

    • Cover Art功能(Bit7-9)需依赖动态分配的OBEX通道(C2)。

  • 分类控制逻辑

    • Supported Features中声明的Category(Bit0-3)表示CT希望控制的TG能力范围,不要求CT自身支持所有强制命令例如:CT声明支持Category 2(音量控制),但实际可能仅支持静音功能。


2.6 示例:CT服务记录配置

Service Record:
- Service Class ID List:
  - UUID 0x110E (A/V Remote Control)
  - UUID 0x110C (A/V Remote Control Controller)
- Protocol Descriptor List:
  - L2CAP(PSM=AVCTP)
  - AVCTP(Version=1.4)
- Additional Protocol Descriptor List (if Bit6=1):
  - L2CAP(PSM=AVCTP_Browsing)
  - AVCTP(Version=1.4)
- Profile Descriptor List:
  - AVRCP v1.6
- Supported Features: 0x0141 (二进制 0000 0101 0000 0001)
  - Bit0=1(Category1)
  - Bit6=1(支持浏览)
  - Bit8=1(支持Cover Art图像获取)
- Provider Name: "AudioTech"
- Service Name: "Smart Controller"

Air log报文示例:


2.7 开发者注意事项

  • 位标志校验:实现时需检查功能依赖(如Bit6与C1的关联性)。

  • 动态通道分配:Cover Art需动态分配L2CAP PSM,避免端口冲突。

  • 兼容性测试:确保与不同TG设备的Category声明兼容,即使CT未完全实现相关命令。


三、目标端(TG)服务记录解析

在AVRCP里,目标端(TG)服务记录是设备展示自身能力的关键。通过这些记录,控制端(CT)能了解 TG 所支持的功能和协议,从而建立有效的通信。

TG服务记录同样遵循SDP规范,但角色定位与功能声明与CT存在显著差异。

3.1 必选字段(Mandatory, M)

所有TG设备必须包含以下字段,无论功能支持情况如何。

3.1.1 服务类标识(Service Class ID List)

  • 作用:明确设备为被控端(Target)角色。

  • 必选字段:是(M)。

  • 结构

    • Service Class #0UUID = A/V Remote Control Target 标识设备为TG角色,区别于CT的Controller标识。


3.1.2 协议描述列表(Protocol Descriptor List)

定义TG通信的协议栈,基础结构与CT一致,但附加通道存在差异:

  • 必选字段:是(M)。

  • 基础协议层级

    • L2CAP层PSM=AVCTP(同CT)。

    • AVCTP层Version=0x0104(AVCTP 1.4,与CT一致)。


3.1.3 蓝牙配置文件描述(Bluetooth Profile Descriptor List)

  • 必选字段:是(M)。

  • 结构

    • Profile #0UUID = A/V Remote Control(同CT)。

    • 参数 #0Version = 0x0106(AVRCP 1.6,与CT一致)。


3.1.4 支持的功能特性(Supported Features)

  • 必选字段:是(M)。

通过16位标志位(Uint16)声明功能,按支持情况分类如下:

①基础控制分类(Category)

Bit位功能描述依赖条件实现要求
0Category 1(播放控制)TG必须实现所有强制播放命令。
1Category 2(音量控制)必须实现如SetVolume等命令。
2Category 3(设备信息)必须实现如GetDeviceInfo。
3Category 4(设备状态)必须实现如GetPlayStatus。

②高级功能(功能位,对比CT):

Bit位功能描述触发条件实现要求与CT差异
4播放器应用设置(如均衡器)Bit0=1(必须支持Category1)需实现播放器参数设置命令。TG独有,CT无此位定义
5分组导航(如播放列表切换)Bit0=1需实现分组切换命令。TG独有
6支持浏览(虚拟文件系统)实际支持文件系统浏览需实现浏览协议栈(C1)。触发条件不同(CT无Category依赖)
7支持多播放器应用无依赖需管理多播放器实例。TG独有
8支持Cover Art(专辑封面)需实现OBEX协议栈(C2)需动态分配PSM并传输图像。同CT但实现方式不同(需OBEX)
  • 关键规则

    • Bit6(浏览支持):仅当TG实际支持"媒体播放器虚拟文件系统"浏览时置1,与Category无关。

    • Bit4-5:若设置,必须同时设置Bit0(Category1支持),确保基础控制能力。

③保留位(RFA)

  • Bit9-15:保留位,必须置0。


3.2 条件必选字段(Conditional, C1/C2)

根据设备支持的功能,动态包含以下字段。

3.2.1 附加协议描述列表(Additional Protocol Descriptor List, C1)

  • 触发条件

    • 支持 Category 1(播放控制)Category 3(设备信息查询),或

    • Supported FeaturesBit6(支持浏览) 置1。

  • 协议层级

    • Protocol #0 (L2CAP层): PSM = AVCTP_Browsing(浏览专用通道)。

    • Protocol #1 (AVCTP层): Version = 0x0104(AVCTP 1.4)。

3.2.2 Cover Art协议栈(Protocol Descriptor List #1, C2)

  • 触发条件Supported FeaturesBit8(支持Cover Art) 置1。

  • 协议层级

    • Protocol #0 (L2CAP层): 动态分配PSM(用于Cover Art数据传输)。

    • Protocol #1 (OBEX层): UUID = OBEX(图像传输协议)。


3.3 可选字段(Optional, O)

可选择性包含的字段,不影响核心功能:

  • Provider Name:设备制造商名称(字符串类型)。

  • Service Name:自定义服务名称(字符串类型)。

3.4 关键实现规则

  • 功能完整性要求:TG必须实现声明Category的所有强制命令例如:若声明支持Category2(音量控制),必须实现全部相关强制指令(如SetVolume)。

  • 条件性协议栈

    • C1:当TG支持Category1或3,或声明Bit6=1时,必须包含浏览通道协议描述。

    • C2:若支持Cover Art(Bit8=1),需动态分配PSM并声明OBEX协议栈。

  • Cover Art实现差异:TG使用OBEX协议传输图像数据,而CT通过AVCTP获取元数据(如GetImageProperties)。 体现TG作为数据源的主动传输角色。


3.5 TG与CT服务记录对比

特性TGCT
服务类标识A/V Remote Control TargetA/V Remote Control Controller
Supported Features包含播放器设置、分组导航等TG专属功能位包含Cover Art元数据获取等CT专属功能位
协议扩展使用OBEX传输Cover Art图像无OBEX依赖
功能完整性必须实现声明Category的全部强制命令仅声明期望控制的Category,无需完全实现

3.6 示例:TG服务记录配置

Service Record:
- Service Class ID List:
  - UUID 0x110C (A/V Remote Control Target)
- Protocol Descriptor List:
  - L2CAP(PSM=AVCTP)
  - AVCTP(Version=1.4)
- Additional Protocol Descriptor List (C1触发):
  - L2CAP(PSM=AVCTP_Browsing)
  - AVCTP(Version=1.4)
- Protocol Descriptor List #1 (C2触发):
  - L2CAP(PSM=0x1001)  // 动态分配
  - OBEX
- Profile Descriptor List:
  - AVRCP v1.6
- Supported Features: 0x01C1 (二进制 0000 0111 0000 0001)
  - Bit0=1(Category1)
  - Bit6=1(支持浏览)
  - Bit7=1(支持多播放器)
  - Bit8=1(支持Cover Art)
- Provider Name: "MediaPlayer Corp"
- Service Name: "Car Audio System"

Air log报文示例:


3.7 开发者注意事项

  • 严格功能实现:TG必须完整实现声明Category的所有强制命令,否则会导致控制失败。

  • 动态PSM管理:Cover Art通道的PSM需动态分配并确保唯一性,防止端口冲突。

  • OBEX协议集成:需实现OBEX协议栈以支持Cover Art图像传输,包括连接建立、数据分片等逻辑。

  • 虚拟文件系统要求:浏览功能(Bit6=1)需实现"Media Player Virtual Filesystem"结构,如文件夹层级、文件属性等。

  • 依赖关系校验

    • Bit4和Bit5需检查Bit0是否已置1。

    • C1触发需同时检查Category支持和Bit6状态。


四、实际应用场景示例

手机(CT)与车载音响(TG)的连接

  1. 服务发现阶段:手机通过SDP查询车载音响的服务记录,确认其支持AVRCP 1.6、Category 1(播放控制)及Cover Art。

  2. 协议通道建立

    1. 默认通道(PSM=AVCTP)用于传输播放/暂停指令。

    2. 动态分配Cover Art通道,通过OBEX获取专辑封面。

  3. 功能交互:若车载音响支持浏览(Bit6=1),手机可进一步访问其媒体库。


五、总结

AVRCP的服务发现机制通过标准化的服务记录表,实现了设备角色(CT/TG)、协议版本、功能特性的透明协商。其设计充分考虑了扩展性(如位掩码定义功能)与兼容性(版本号控制),为蓝牙音视频设备的互操作性提供了坚实基础。开发者需深入理解服务记录的字段含义及条件约束,以确保设备在复杂场景下的可靠交互。

六、参考资料

Advanced Audio Distribution Profile, Version 1.4 or later

Assigned Numbers | Bluetooth® Technology Website

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL:数据库基础

数据库基础 1.什么是数据库?2.为什么要学习数据库?3.主流的数据库(了解)4.服务器,数据库,表之间的关系5.数据的逻辑存储6.MYSQL架构7.存储引擎 1.什么是数据库? 数据库(Database,简称DB)&#x…

深入 Linux 声卡驱动开发:核心问题与实战解析

1. 字符设备驱动如何为声卡提供操作接口? 问题背景 在 Linux 系统中,声卡被抽象为字符设备。如何通过代码让应用程序能够访问声卡的录音和播放功能? 核心答案 1.1 字符设备驱动的核心结构 Linux 字符设备驱动通过 file_operations 结构体定…

OpenNJet动态API设置accessLog开关,颠覆传统运维工作模式

OpenNJet OpenNJet 应用引擎是高性能、轻量级的WEB应用与代理软件。作为云原生服务网格的数据平面,NJet具备动态配置加载、主动式健康检测、集群高可用、声明式API等多种强大功能。通过CoPliot副驾驶服务框架,在隔离控制面和数据面的情况下实现了高可扩…

案例5_4: 6位数码管轮播0-9【静态显示】

文章目录 文章介绍效果图提示代码&#xff08;不完整&#xff09; 文章介绍 5.1.2 数码管静态显示应用举例 要求&#xff1a; 1、仿真图同案例5_3 2、代码参考案例5_3和案例5_2 效果图 提示代码&#xff08;不完整&#xff09; #include<reg52.h> // 头文件#define uch…

navicat忘记已经连接过的数据库密码的操作步骤

第一步&#xff1a; 点击文件-》导出连接 第二步&#xff1a;选中具体的数据库&#xff0c;且勾选左下角的记住密码 第三步&#xff1a;打开刚刚导出的文件&#xff0c;找到对应加密后的密码 第四步&#xff1a;复制密码到工具点击查看密码 注&#xff1a;参考文章链接附…

Qt窗口坐标体系

坐标系&#xff1a;以左上角为原点&#xff08;0&#xff0c;0&#xff09;&#xff0c;X向右增加&#xff0c;Y向下增加 对于嵌套窗口&#xff0c;其坐标是相对于父窗口来说的 例如&#xff1a; 通过move方法实现

DeepSeek写打台球手机小游戏

DeepSeek写打台球手机小游戏 提问 根据提的要求&#xff0c;让DeepSeek整理的需求&#xff0c;进行提问&#xff0c;内容如下&#xff1a; 请生成一个包含以下功能的可运行移动端打台球小游戏H5文件&#xff1a; 要求 可以重新开始游戏 可以暂停游戏 有白球和其他颜色的球&am…

VR大空间多人互动方案,VR大空间融合AI行为预测的动捕技术

在数字科技迅猛发展的今天&#xff0c;VR大空间技术正逐步成为各行业探索沉浸式体验的重要方向。从企业培训、线上展览到社交元宇宙&#xff0c;VR大空间的应用范围不断拓展。而在这个过程中&#xff0c;多人实时交互成为核心需求&#xff0c;它不仅关乎沉浸感的提升&#xff0…

十四、OSG学习笔记-事件响应

上一章节 十三、OSG学习笔记-osgDB文件读写-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/146165712 本章节代码&#xff1a; OsgStudy/EventHandle CuiQingCheng/OsgStudy - 码云 - 开源中国https://gitee.com/cuiqingcheng/osg-study/tree/master/Osg…

JS逆向_腾讯点选_VMP补环境

1.接口分析 1.cap_union_prehandle 说明:图片、jsvmp GET QueryString:{aid: xxxxxx //网站在腾讯登记的idprotocol: httpsaccver: 1showtype: popupua: //ua atob后的结果noheader: 1fb: 1aged: 0enableAged: 0enableDarkMode: 0grayscale: 1clientype: 2cap_cd: uid: lang:…

【MySQL数据库】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法

在DQL的基础查询中&#xff0c;我们已经学过了多表查询的一种&#xff1a;联合查询&#xff08;union&#xff09;。本文我们将系统的讲解多表查询。 笛卡尔积现象 首先&#xff0c;我们想要查询emp表和stu表两个表&#xff0c;按照我们之前的知识栈&#xff0c;我们直接使用…

DAPO-Decoupled Clip and Dynamic sAmpling Policy Optimization

论文地址&#xff1a;https://dapo-sia.github.io/static/pdf/dapo_paper.pdf 代码地址&#xff1a;https://github.com/volcengine/verl/tree/gm-tyx/puffin/main/recipe/dapo 数据&#xff1a;https://huggingface.co/datasets/BytedTsinghua-SIA/DAPO-Math-17k 1. 背景与动机…

数组模拟邻接表 #图论

文章目录 为什么要用数组来模拟邻接表存储思路遍历思路 树是特殊的图&#xff0c;因此邻接表可以存储图和树两种数据结构。 为什么要用数组来模拟邻接表 在算法设计当中&#xff0c;利用数组来代替结构体模拟各种数据结构会更加简单。 存储思路 给定如下数据,我们可以构造如…

VBA常见的知识都有哪些,让AI编写的VBA经常 报错,所以VBA的基础还是要学习的

掌握这些能够大大的提高VBA的编写效率&#xff0c;欢迎来到涛涛聊AI。 1. 异常处理 Cleanup:是VBScript的错误处理标签&#xff0c;用于标记程序执行失败或退出时需要执行的清理操作&#xff08;如关闭文件、释放对象&#xff09;。这段代码会在遇到错误或用户取消操作时跳转…

DeepSeek(8):结合Kimi-PPT助手一键生成演示报告

1 生成内容 在Deepseek中生成内容&#xff1a; 帮我创建年度计划&#xff0c;描述《智能枕头》产品的如何在全国销售&#xff0c;计划切分到每个月。从而让我们的老板和团队对报告充满信息。输出的内容我需要放到ppt中进行展示。 使用Deepseek R1模型&#xff0c;如下&#x…

【MySQL】MySQL如何存储元数据?

目录 1.数据字典的作用 2. MySQL 8.0 之前的数据字典 3. MySQL 8.0 及之后的数据字典 4.MySQL 8 中的事务数据字典的特征 5.数据字典的序列化 6. .sdi文件的作用&#xff1a; 7..sdi的存储方式 在 MySQL 中&#xff0c;元数据&#xff08;Metadata&#xff09; 是描述数…

用ASCII字符转化图片

代码 from PIL import Image# 定义 ASCII 字符集&#xff0c;从最暗到最亮 ASCII_CHARS "%#*-:. "def resize_image(image, new_width100):width, height image.sizeratio height / widthnew_height int(new_width * ratio)resized_image image.resize((new_wi…

蓝桥与力扣刷题(蓝桥 组队)

题目&#xff1a;作为篮球队教练&#xff0c;你需要从以下名单中选出 1 号位至 5 号位各一名球员&#xff0c;组成球队的首发阵容。 每位球员担任 1号位至 5号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少&#xff1f; 本题为填空题&…

AI Agent系列(六) -基于ReAct架构搭建LLM Agent(Deepseek)

AI Agent系列【六】 一、 ReAct1.1 ReAct 的处理过程&#xff1a;1.1 代码结构 二、 Python代码实现2.1 通过Zero-shot 实现python代码实例Python代码示例1&#xff1a;python代码实现示例2 一、 ReAct ReAct 是 Reseaning 和 Action 两个词的前缀合成&#xff0c;代表着先推…

AnyTouch:跨多个视觉触觉传感器学习统一的静态动态表征

25年3月来自人大、武汉科技大学和北邮的论文“AnyTouch: Learning Unified Static-dynamic Representation Across Multiple Visuo-tactile Sensors”。 视觉触觉传感器旨在模拟人类的触觉感知&#xff0c;使机器人能够精确地理解和操纵物体。随着时间的推移&#xff0c;许多精…