一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用雷达数据立方体仿真器测试汽车雷达的方法和系统与流程

2022-02-24 17:56:23 来源:中国专利 TAG:


1.本公开的实施例总体上涉及汽车传感器。更具体地,本公开的实施例涉及用于仿真雷达输出以进行测试的方法和系统。


背景技术:

2.雷达(也称为无线电检测和测距)是使用无线电波确定对象的距离、角度或速度等的对象检测系统。例如,它可以用于检测飞机、轮船、航天器、制导导弹、机动车辆、天气形成和地形。雷达已经用于许多应用中,包括自主驾驶系统(例如,自主车辆)、空中和地面交通控制、防空系统、反导系统、飞机防撞系统、海洋监视系统等。
3.汽车雷达发送调制的电磁波并接收来自周围对象的散射能量。接收到的能量将通过快速傅立叶变换(fft)进行处理并显示为包含所有已处理fft区间的距离、速度和角度信息的密集点网格,称为雷达数据立方体(rdc)。在汽车雷达系统中,雷达数据立方体使用多层算法进行后期处理,以识别可能来自感兴趣的周围对象(如汽车/行人)的点,并将它们分组以跟踪其运动。通常,通过大量路测数据测试和优化这些算法层。
4.最常见的是将雷达安装在车辆上并在街道上驾驶以收集数据。但是,这需要硬件集成和测试车辆以覆盖整个开发阶段。维护测试车辆和资源以收集大量数据进行优化既昂贵又耗时。另外,需要设计和筹划特殊的临界情况,这需要在硬件和工程时间上进行更多的投资。对于固件测试,通常经由与实际雷达数据无关的测试脚本完成,这些脚本仅测试雷达级别的逻辑操作,而不测试整个系统。


技术实现要素:

5.本技术的第一方面提供了一种计算机实现的方法,方法包括基于预期的雷达性能定义仿真雷达传输波形。方法还包括构建包括一个或多个虚拟目标对象的虚拟真实世界场景,虚拟目标对象对真实世界对象的输入雷达波的反射和散射特性进行仿真。方法还包括仿真包括天线阵列和自由空间传播的雷达发射和接收信道的操作,以获得仿真原始雷达数据。方法还包括对仿真原始雷达数据进行数据处理,以建立仿真雷达数据立方体。方法还包括利用仿真雷达数据立方体测试自动化驾驶系统中的雷达感知算法或雷达集成中的至少一个。
6.本技术的第二方面提供了一种具有存储在其中的指令的非暂时性机器可读介质,指令在由处理器执行时使处理器执行根据本技术的第一方面所述的方法。
7.本技术的第三方面提供了一种数据处理系统。系统包括处理器和耦接到处理器并存储指令的存储器。指令在由处理器执行时使处理器执行根据本技术的第一方面所述的方法。
8.本技术的第三方面提供了一种计算机程序产品,包括计算机程序。计算机程序在被处理器执行时实现根据本技术的第一方面所述的方法。
9.本技术能够生成和利用仿真雷达数据立方体,以测试自动化驾驶系统中的雷达感
知算法或雷达集成,测试成本低且不耗时。
附图说明
10.在附图的图中以示例而非限制的方式示出本公开的实施例,在附图中,相似的附图标记指示相似的元件。
11.图1是示出机器学习系统的框图。
12.图2是示出根据一个实施例的雷达数据立方体仿真器的示例的框图。
13.图3是示出根据一个实施例的用于生成和利用仿真雷达数据立方体的方法的示例的流程图。
14.图4是示出根据一个实施例的用于测试雷达感知算法的方法的示例的流程图。
15.图5是示出根据一个实施例的数据处理系统的框图。
具体实施方式
16.将参考以下讨论的细节描述本公开的各个实施例和方面,并且附图将示出各个实施例。以下描述和附图是本公开的说明,并且不应被解释为限制本公开。描述许多具体细节以提供对本公开的各个实施例的透彻理解。然而,在某些情况下,没有描述公知或常规的细节,以便提供对本公开的实施例的简要讨论。
17.在说明书中对“一个实施例”、“实施例”或“一些实施例”的引用意味着结合实施例描述的特定特征、结构或特性可以包括在本公开的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”并不一定全指同一实施例。
18.根据一些实施例,基于期望的雷达性能定义仿真雷达传输波形。构建包括一个或多个虚拟目标对象的虚拟真实世界场景。虚拟目标对象对真实世界对象的输入雷达波的反射和散射特性进行仿真。仿真包括天线阵列和自由空间传播的雷达发射和接收信道的操作,以获得仿真原始雷达数据。对仿真原始雷达数据进行数据处理,以建立仿真雷达数据立方体。利用仿真雷达数据立方体测试自动化驾驶系统中的雷达感知算法或雷达集成中的至少一个。
19.在一个实施例中,期望的雷达性能包括以下中的至少一个:最大距离、距离分辨率或角分辨率。在一个实施例中,虚拟目标对象包括以下中的一个或多个:虚拟建筑物、虚拟机动车辆、虚拟骑自行车的人或虚拟行人。在一个实施例中,对仿真原始雷达数据进行数据处理包括对仿真原始雷达数据进行三维快速傅里叶变换(fft)。
20.在一个实施例中,为了利用仿真雷达数据立方体测试自动化驾驶系统中的雷达感知算法或雷达集成中的至少一个,将后处理应用于仿真雷达数据立方体以获得仿真原始点云数据。将仿真原始点云数据转换为一个或多个仿真雷达数据用户数据报协议(udp)数据包。将仿真雷达数据udp数据包馈送给包括雷达感知算法的自动化驾驶系统中,以使用雷达感知算法生成检测列表。确定包括在检测列表中的一个或多个对象是否匹配虚拟目标对象。响应于确定包括在检测列表中的一个或多个对象匹配虚拟目标对象,确定雷达感知算法已验证。
21.在一个实施例中,为了利用仿真雷达数据立方体测试自动化驾驶系统中的雷达感知算法或雷达集成中的至少一个,验证由自动化驾驶系统接收的仿真雷达数据udp数据包
是否包括匹配仿真原始点云数据的数据。此外,附加地或可替换地,验证雷达输入接口和自动化驾驶系统之间的二进制转换接口。在一个实施例中,仿真雷达传输波形是仿真调频连续波(fmcw)波形。
22.图1是示出雷达感知算法测试系统100的框图。fmcw波形发生器102生成fmcw雷达波。可以基于最大距离、最大速度、距离分辨率或速度分辨率改变雷达波。雷达波通过发送/接收(tx/rx)天线阵列104发射,并在真实世界场景106中被对象反射和散射。反射和散射的雷达波至少部分地由tx/rx天线阵列104接收,从而产生接收到的雷达信号。tx/rx天线阵列104基于天线方向图构建,具有一个或多个tx/rx信道,并且具有tx/rx间隔配置。真实世界场景可以包括以下一种或多种:静态环境或一个或多个移动目标。接收到的雷达信号经过信号处理108,并由此生成雷达数据立方体。信号处理108包括三维快速傅里叶变换(fft),三维fft还可以包括距离fft和多普勒fft。应当理解,雷达数据立方体是从雷达输出的包含距离、多普勒和角度信息的数据。
23.然后,雷达数据立方体经过后处理110,并且生成原始点云数据。后处理110可以包括以下中的一个或多个:恒定的误报率(cfar)检测或到达方向(doa)估计。原始点云数据是在udp数据包转换112处转换为雷达数据用户数据报协议(udp)数据包。雷达数据udp数据包由udp数据包发送器114发送到自动化驾驶系统116。udp数据包发送器114可以将雷达数据udp数据包多播到自动化驾驶系统116。其后,雷达感知算法118可以生成包括基于雷达数据的感知或检测到的对象的检测列表。每个检测到的对象可以与距离、多普勒和方位角信息相关联。
24.图2是示出根据一个实施例的雷达数据立方体仿真器200的示例的框图。参考图2,雷达数据立方体仿真器200包括但不限于虚拟真实世界场景构建模块201、雷达仿真模块202以及信号处理和转换模块203。雷达数据立方体仿真器200可以看作是模拟雷达系统或单元的功能的计算(或数据处理)系统。模块201-203中的一些或全部可以以软件、硬件或其组合实现。例如,这些模块可以被安装在永久性存储设备252中、被加载到存储器251中并且由一个或多个处理器(未示出)执行。注意,模块201-203中的一些或全部可以作为集成模块集成在一起。
25.在一个实施例中,在雷达仿真模块202处,基于期望的雷达性能定义仿真雷达传输波形。在一个实施例中,预期的雷达性能包括以下中的一个或多个:最大距离、距离分辨率或角分辨率。在一个实施例中,仿真雷达传输波形是仿真调频连续波(fmcw)波形。在虚拟真实世界场景构建模块201处,构建包括一个或多个虚拟目标对象的虚拟真实世界场景。虚拟目标对象对真实对象的输入雷达波的反射和散射特性进行仿真。在一个实施例中,可以基于地图和路线数据或信息214构建虚拟真实世界场景。在一个实施例中,虚拟目标对象包括以下中的一个或多个:虚拟建筑物、虚拟机动车辆、虚拟骑单车的人、或虚拟的行人。在虚拟真实世界场景构建模块201处,对包括天线阵列和自由空间传播的雷达发射和接收信道的操作进行仿真,以获得仿真原始雷达数据。具体地,应当理解,虚拟目标对象的类型中的每个将具有对应的不同雷达横截面图案。基于目标雷达设备的仿真fmcw波和特定发射和接收天线阵列配置,可以生成表示特定障碍物的雷达横截面。在信号处理和转换模块203,对仿真原始雷达数据执行数据处理以建立仿真雷达数据立方体。在一个实施例中,对仿真原始雷达数据执行数据处理包括对仿真原始雷达数据执行三维快速傅里叶变换(fft)。然后可
以利用仿真雷达数据立方体测试雷达感知算法,例如针对其完备性和完整性。
26.在一个实施例中,为了利用仿真雷达数据立方体测试自动化驾驶系统中的雷达感知算法或雷达集成中的至少一个,将后处理应用于仿真雷达数据立方体以获得仿真原始点云数据。将仿真原始点云数据转换为一个或多个仿真雷达数据用户数据报协议(udp)数据包。将仿真雷达数据udp数据包馈送给包括雷达感知算法的自动化驾驶系统,以使用雷达感知算法生成检测列表。确定包括在检测列表中的一个或多个对象是否匹配虚拟目标对象。响应于确定包括在检测列表中的一个或多个对象匹配虚拟目标对象,确定雷达感知算法为已验证。
27.在一个实施例中,为了利用仿真雷达数据立方体测试自动化驾驶系统中的雷达感知算法或雷达集成中的至少一个,验证由自动化驾驶系统接收的仿真雷达数据udp数据包是否包括匹配仿真原始点云数据的数据。验证由自动化驾驶系统接收到的仿真雷达数据udp数据包包括匹配仿真原始点云数据的数据,有助于确认图1的udp数据包转换112和udp数据包发送器114如预期的那样工作。此外,附加地或可替换地,验证雷达输入接口和自动化驾驶系统之间的二进制转换接口。在一个实施例中,二进制转换接口可以包括图1的后处理110、udp数据包转换112和udp数据包发送器114等。在一个实施例中,当包括在检测列表中的一个或多个对象匹配虚拟目标对象时,可以认为二进制转换接口被验证。
28.图3是示出根据一个实施例的用于生成和利用仿真雷达数据立方体的方法300的示例的流程图。处理300可以通过处理逻辑来执行,该处理逻辑可以包括软件,硬件或其组合。在框310处,基于期望的雷达性能定义仿真雷达传输波形。在框320处,构建包括一个或多个虚拟目标对象的虚拟真实世界场景。虚拟目标对象对真实世界对象的输入雷达波的反射和散射特性进行仿真。在框330处,对包括天线阵列和自由空间传播的雷达发射和接收信道的操作进行仿真,以获得仿真原始雷达数据。在框340处,对仿真原始雷达数据执行数据处理以建立仿真雷达数据立方体。在框350处,利用仿真雷达数据立方体测试自动化驾驶系统中的雷达感知算法或雷达集成中的至少一个。
29.图4是示出根据一个实施例的用于测试雷达感知算法的方法400的示例的流程图。处理400可以通过处理逻辑执行,处理逻辑可以包括软件、硬件或其组合。在框410处,将后处理应用于仿真雷达数据立方体。相应地,可以生成仿真原始点云数据和雷达数据udp数据包。雷达感知算法可以应用于处理后的仿真雷达数据,以生成包括检测到或感知到的对象的检测列表。在框420处,确定包括在检测列表中的对象是否如预期的那样。当对象匹配在仿真雷达数据立方体的生成中使用的虚拟目标对象时,它们是预期的。如果检测列表中的对象如预期的那样,则在框430处,雷达感知算法被确定为已验证。
30.注意,可以以软件、硬件或其组合实现上面示出和描述的组件中的一些或全部。例如,这样的组件可以被实现为安装并存储在永久存储设备中的软件,软件可以由处理器(未示出)加载并在存储器中执行以执行整个本技术所述过程或操作。可替换地,这样的组件可以被实现为被编程或嵌入到专用硬件(诸如集成电路(例如特定应用的ic或asic)、数字信号处理器(dsp)或现场可编程门阵列(fpga))中的可执行代码,其可以经由对应驱动器和/或操作系统从应用进行访问。此外,可以将这样的组件实现为处理器或处理器核中的特定硬件逻辑,作为可由软件组件经由一个或多个特定指令访问的指令集的一部分。
31.因此,本公开的实施例涉及一种仿真器,该仿真器利用给定的雷达设计来仿真道
路场景以输出雷达数据立方体,并将仿真的雷达数据立方体馈送到后处理算法中以进行测试。参数化模拟fmcw波形发生器设计允许根据模拟目标雷达规格进行定制。该仿真器根据对象的电磁波响应来构建具有对象的真实世界环境,并且可以轻松创建拐角处的情况(例如,急转弯,小的移动对象等)或复杂的情况(例如,多个行人,骑自行车的人和汽车沿着路径散落)以测试算法的完整性。此外,雷达数据立方体仿真器可以转换为二进制数据格式(例如,与conti ars430所使用的格式相同)的输出,该格式可以直接集成到自动驾驶汽车系统中,而不是实际的雷达硬件。这可用于测试雷达与固件层上系统的集成,还可以创建具有多个雷达的测试平台。
32.图5是示出可以与本公开的一个实施例一起使用的数据处理系统的示例的框图。例如,系统1500可以表示执行上述的任何过程或方法的上述任何数据处理系统,诸如例如图2的雷达数据立方体仿真器200和自主驾驶车辆(adv)的自动化系统。系统1500可以包括许多不同组件。这些组件可以实现为集成电路(ic),其部分,分立电子设备或适合于电路板(诸如计算机系统的主板或附加卡)的其他模块,或者实现为以其他方式并入计算机系统的机箱内的组件。
33.还应注意的是,系统1500意图示出计算机系统的许多组件的高级视图。然而,应当理解的是,在某些实现方式中可以存在附加组件,而且此外,在其他实现方式中可以出现所示组件的不同布置。系统1500可以表示台式电脑、膝上型计算机、平板电脑、服务器、移动电话、媒体播放器、个人数字助理(pda)、智能手表、个人通信器、游戏设备、网络路由器或集线器、无线接入点(ap)或中继器、机顶盒或其组合。此外,虽然仅示出单个机器或系统,但是术语“机器”或“系统”也应被认为包括单独地或共同地执行指令集(或多个指令集)以执行本文讨论的任何一种或多种方法的机器或系统的任何集合。
34.在一个实施例中,系统1500包括经由总线或互连1510连接的处理器1501、存储器1503和设备1505-1508。处理器1501可以表示其中包括单个处理器核或多个处理器核的单个处理器或多个处理器。处理器1501可以表示一个或多个通用处理器,诸如微处理器、中央处理单元(cpu)等。更具体地,处理器1501可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或者实现其他指令集的处理器、或者实现指令集的组合的处理器。处理器1501也可以是一个或多个专用处理器,诸如专用集成电路(asic)、蜂窝或基带处理器、现场可编程门阵列(fpga)、数字信号处理器(dsp)、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器或能够处理指令的任何其他类型的逻辑。
35.处理器1501可以是低功率多核处理器插槽(诸如超低压处理器),可以充当主处理单元和中央集线器,用于与系统的各个组件进行通信。可以将这种处理器实现为片上系统(soc)。处理器1501被配置为执行用于执行本文讨论的操作和步骤的指令。系统1500还可以包括与可选图形子系统1504通信的图形界面,可选图形子系统1504可以包括显示控制器、图形处理器和/或显示设备。
36.处理器1501可以与存储器1503通信,这在一个实施例中可以经由多个存储器设备实现以提供给定数量的系统存储器。存储器1503可以包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(ram)、动态ram(dram)、同步dram(sdram)、静态ram(sram)或其他类型的存储设备。存储器1503可以存储包括由处理器1501或任何其他设备执行的指令
序列的信息。例如,各种操作系统、设备驱动器、固件(例如,输入输出基本系统或bios)和/或应用的可执行代码和/或数据可以被加载到存储器1503中并由处理器1501执行。操作系统可以是任何种类的操作系统,诸如例如,机器人操作系统(ros)、来自的操作系统、来自apple的mac来自的linux、unix或其他实时或嵌入式操作系统。
37.系统1500还可以包括诸如设备1505-1508的io设备,包括(一个或多个)网络接口设备1505、(一个或多个)可选输入设备1506和(一个或多个)其他可选io设备1507。网络接口设备1505可以包括无线收发器和/或网络接口卡(nic)。无线收发器可以是wifi收发器、红外收发器、蓝牙收发器、wimax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(gps)收发器)或其他无线电频率(rf)收发器、或其组合。nic可以是以太网卡。
38.(一个或多个)输入设备1506可以包括鼠标、触摸板、触敏屏幕(其可以与显示设备1504集成)、诸如触笔的指示器设备和/或键盘(例如,物理键盘或作为触敏屏幕的一部分显示的虚拟键盘)。例如,输入设备1506可以包括耦接到触摸屏的触摸屏控制器。触摸屏和触摸屏控制器可以例如使用多种触敏技术中的任一种检测其接触以及移动或中断,包括但不限于电容、电阻、红外和表面声波技术、以及其他近距离传感器阵列或用于确定与触摸屏的一个或多个接触点的其他元件。
39.io设备1507可以包括音频设备。音频设备可以包括扬声器和/或麦克风,以促进启用语音的功能,诸如语音识别、语音复制、数字记录和/或电话功能。其他io设备1507还可以包括(一个或多个)通用串行总线(usb)端口、(一个或多个)并行端口、(一个或多个)串行端口、打印机、网络接口、总线桥(例如,pci-pci桥)、(一个或多个)传感器(例如,诸如加速度计、陀螺仪、磁力计、光传感器、指南针、近距离传感器等的运动传感器)或其组合。设备1507还可以包括成像处理子系统(例如,相机),其可以包括用于促进相机功能(诸如记录照片和视频剪辑)的光学传感器,诸如电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光学传感器。某些传感器可以经由传感器集线器(未示出)耦接到互连1510,而诸如键盘或热传感器的其他设备可以由嵌入式控制器(未示出)控制,这取决于系统1500的特定配置或设计。
40.为了提供诸如数据、应用、一个或多个操作系统等的信息的永久存储,大容量存储(未示出)也可以耦接到处理器1501。在各种实施例中,为了实现更薄和更轻的系统设计以及改善系统响应性,可以经由固态设备(ssd)实现这种大容量存储。然而,在其他实施例中,大容量存储可以主要使用具有较少数量的ssd存储装置的硬盘驱动器(hdd)实现,以充当在掉电事件期间启用上下文状态和其他此类信息的非易失性存储的ssd缓存,使得快速上电可以在重新启动系统活动时发生。闪存设备也可以例如经由串行外围接口(spi)耦接到处理器1501。该闪存设备可以提供系统软件的非易失性存储,包括bios以及系统的其他固件。
41.存储设备1508可以包括计算机可访问存储介质1509(也称为机器可读存储介质或计算机可读介质),其上存储有体现本文所述的任何一种或多种方法或功能的一个或多个指令集或软件集(例如,模块、单元、和/或逻辑1528)。处理模块/单元/逻辑1528可以表示上述任何组件,诸如例如,场景定义模块201、散射数据生成模块202和雷达建模模块203。处理模块/单元/逻辑1528还可以表示adv的感知和规划系统执行的任何模块/单元/逻辑。在由数据处理系统1500执行处理模块/单元/逻辑1528期间,处理模块/单元/逻辑1528也可以全部或至少部分地驻留在存储器1503和/或处理器1501内,存储器1503和处理器1501也构成
机器可访问的存储介质。处理模块/单元/逻辑1528还可以经由网络接口设备1505通过网络传输或接收。
42.计算机可读存储介质1509还可以被用来永久地存储上述一些软件功能。尽管在示例性实施例中将计算机可读存储介质1509示出为单个介质,术语“计算机可读存储介质”应被认为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库、和/或关联的缓存和服务器)。术语“计算机可读存储介质”也应被认为包括能够存储或编码用于由机器执行的指令集以及使机器执行本公开的任何一种或多种方法的任何介质。因此,术语“计算机可读存储介质”应被认为包括但不限于固态存储器、以及光和磁介质、或任何其他非暂时性机器可读介质。
43.本文所述的处理模块/单元/逻辑1528、组件和其他特征可以实现为分立硬件组件或集成在诸如asics、fpga、dsp或类似设备的硬件组件的功能中。另外,处理模块/单元/逻辑1528可以被实现为硬件设备内的固件或功能电路。此外,处理模块/单元/逻辑1528可以以任何组合的硬件设备和软件组件来实现。
44.注意,尽管系统1500被示出为具有数据处理系统的各个组件,并不是意图表示互连这些组件的任何特定架构或方式;因为这样的细节与本公开的实施例无关。还将意识到的是,具有更少的组件或也许更多组件的网络计算机、手持式计算机、移动电话、服务器和/或其他数据处理系统也可以与本公开的实施例一起使用。
45.已经在对计算机存储器内的数据位的操作的算法和符号表示方面呈现前述详细描述的某些部分。这些算法的描述和表示是数据处理领域的技术人员所使用的最有效地向本领域其他技术人员传达其工作实质的方式。这里,算法通常被认为是导致期望结果的自洽操作序列。操作是需要对物理量进行物理操纵的操作。
46.然而,应该牢记,所有这些和类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非从上面的讨论明显另外指出,否则应理解的是,在整个描述中,利用诸如权利要求书中所阐述的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,其将计算机系统寄存器和存储器内表示为物理(电子)量的数据操纵和转换为计算机系统存储器或寄存器或其他这样的信息存储、发送或显示设备内的类似地表示为物理量的其他数据。
47.本公开的实施例还涉及用于执行本文中的操作的装置。这样的计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光学存储介质、闪存设备)。
48.可以通过包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或其结合的处理逻辑来执行前述附图中描绘的过程或方法。尽管以上根据一些顺序操作描述了过程或方法,然而应当理解的是,所描述操作中的一些可以以不同顺序执行。而且,一些操作可以并行而不是顺序地执行。
49.没有参考任何特定编程语言描述本公开的实施例。将理解的是,可以使用多种编程语言实现如本文中所描述的本公开的实施例的教导。
50.在前述说明书中,已经参考本公开的特定示例性实施例描述了本发明的实施例。
显而易见的是,在不脱离所附权利要求书所阐述的本公开的更广泛精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性而不是限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献