智能终端应用开发基础 课件 第10、11章 机器人平台技术与应用、SLAM建图与自主导航_第1页
智能终端应用开发基础 课件 第10、11章 机器人平台技术与应用、SLAM建图与自主导航_第2页
智能终端应用开发基础 课件 第10、11章 机器人平台技术与应用、SLAM建图与自主导航_第3页
智能终端应用开发基础 课件 第10、11章 机器人平台技术与应用、SLAM建图与自主导航_第4页
智能终端应用开发基础 课件 第10、11章 机器人平台技术与应用、SLAM建图与自主导航_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章

机器人平台技术与应用Contents01.机器人定义与组成02.激光雷达03.深度相机04.机器人教学平台介绍05.运行机器人01机器人定义与组成机器人定义机器人是自动执行工作的机器装置,可受人类指挥、运行预设程序或遵循AI原则行动,协助或取代人类工作,如生产、建筑及危险作业。机器人协会定义机器人为可编程序操作器,用于搬运材料、零件、工具,或通过改变程序动作完成各种作业的特殊机械装置。科学家定义机器人为自动化机器,具有与人或生物相似的智能能力,如感知、规划、动作和协同,是一种具有高级灵活性的自动化机器。国际标准组织描述机器人为动作机构似人或其他生物体,通用性强,工作多样,动作程序灵活,具智能性如记忆、感知等,可独立工作。数字化、云计算和AI技术进展推动机器人应用扩展,下一代机器人将涵盖更广泛概念,如无人驾驶汽车、智能家电等,都将会机器人化。机器人协会定义国际标准定义机器人定义展望科学家定义机器人定义控制系统控制系统基于处理器(如ARM、x86)实现任务处理、输出控制命令,相当于人的大脑,完成算法、关节控制、人机交互等功能。传感系统传感系统包括内外两部分,相当于人体感官和神经,内部包括里程计、陀螺仪等,外部包括摄像头、红外等环境检测传感器。驱动系统驱动系统驱动执行机构,转换控制命令为执行机构信号,如直流电机用PWM驱动板,伺服需专业驱动器,工业常用气压液压。执行机构执行机构是直接面向工作对象的机械装置,相当于人体的手和脚。根据不同的工作对象,适用的执行机构也各不相同。机器人组成02激光雷达测距原理01激光雷达通过发射激光束并接收目标回波,对比发射与回波信号,经处理后获取目标距离、方位、高度、速度、姿态及形状等参数,实现探测、跟踪和识别。三角测距法02三角测距法通过激光器和CCD接收器的配合,利用光学路径和三角公式计算被测物体距离。随着目标距离的变化,反射光在CCD上成像位置也不同。TOF飞行时间测距03TOF测距法通过记录激光脉冲的发射和回返时间差,结合光速计算距离。该方法无需复杂运算,实时性高,适用于长距离测量,对环境光影响小。激光雷达简介角度分辨率决定激光雷达一次完整扫描能返回多少个样本点,直接影响其空间感知能力。样本点越多,对环境的描绘越细致,能提供更多的空间信息。可视范围是激光雷达完整扫描的广角,定义了其有效探测和感知的范围。范围外为盲区,超出此区域的目标可能无法被雷达探测到,影响感知性能。扫描频率反映激光雷达完成一次完整扫描的速度,通常在10Hz及以上。频率越高,意味着雷达能更快获取周围环境信息,适用于需要实时响应的应用场景。测距分辨率衡量激光雷达在特定距离下的测距精确程度,通常与真实值相差5-20mm。该指标越高,表示雷达对距离变化的感知越敏感,定位能力越强。可视范围扫描频率角度分辨率测距分辨率激光雷达参数03深度相机深度相机应用:通过三维坐标还原真实场景,实现精准的场景建模和识别。在机器视觉、自动驾驶等前沿技术应用中发挥着不可或缺的作用,推动技术的持续发展。深度相机功能:普通彩色相机捕捉视角内物体,但不测量距离;深度相机则提供每个点到摄像头的距离,结合2D坐标,可确定图像中每点的三维空间坐标。深度相机简介通过近红外激光器投射结构光到物体上,红外摄像头采集反射光信息,运算单元处理结构变化得深度信息,构建三维结构,光源为不可见红外激光。结构光深度相机双目立体视觉通过左右相机捕捉图像,计算视差获取三维信息,成本低,室内外适用,但对环境光、纹理、计算复杂度高,且基线限制测量范围。双目立体视觉通过发射激光脉冲并检测反射光相位偏移,计算目标物距离,检测距离远、受环境光干扰小,但对设备要求高、资源消耗大、边缘精度低。TOF深度相机深度相机分类04机器人教学平台介绍供电系统机器人采用专用电源板,支持多电压输出,为底盘、机械臂及传感器模块稳定供电,确保机器人高效、持续工作。接口扩展性通过USB接口连接激光雷达、高清相机等模块,Nano主控配备USB3.0HUB,实现接口扩展,满足多样化传感需求。控制器配置配备NvidiaJetsonNano作为ROS主控制器,底盘与机械臂拥有独立控制器,实现高效协同作业,确保机器人运行流畅。模块化设计Abot机器人采用模块化设计理念,底盘与机械臂实现相对独立,便于单独控制与维护,提升了机器人的灵活性与扩展性。硬件框架

ROS控制器采用JetsonNano作为ROS节点控制器,运行Ubuntu18.04withJetPack系统,并安装Melodic版本的ROS机器人操作系统。底盘控制器OpenCRP机器人运动控制器以STM32F103为核心,集成IMU传感器,支持4路直流电机闭环控制,便于USB软件升级。激光雷达塔克T1激光雷达经过优化,专为ROS机器人设计,具备高测量频率和精度,适用于家庭、实验室等环境,光磁融合供电通信。核心组件说明专用电源板提供12V、7.2V和5V电源输出,满足机器人不同模块需求,方便用户进行功能扩展与升级。电源接口机器人对激光雷达和机械臂的USB通讯与控制端口进行了绑定,确保数据通信的准确性和稳定性,提升整体运行效率。USB端口核心组件说明集成1080PRGB相机与深度感知功能,配备双立体声麦克风及高端ISP芯片,支持环境光调节,优化图像质量,适合机器人视觉处理。深度相机机械臂末端配备1080P高清摄像头,具备120°广角与UVC免驱功能,支持语音识别,并配备云台实现手动调节视角。摄像头配备6自由度机械臂,采用高精度舵机与金属齿轮传动,结合进口双滚珠轴承和CNC铝合金中壳,确保长久稳定运行。机械臂核心组件说明05运行机器人ROS分布式协同01由于ROS具有分布式的特性,所以我们可以在多台计算机上进行协同工作,前提是已经在计算机上配置好了环境变量ROS_MASTER_URI。ROS_MASTER_URI配置02ROS_MASTER_URI的值为运行ROSMASTER计算机的IP地址,必须将所有要协同工作的计算机的ROS_MASTER_URI设为相同的值。ROS_IP配置03除ROS_MASTER_URI外,还要配置环境变量ROS_IP为本机的IP地址,机器人的配置机器人上的环境变量默认已经配置完毕,配置都已写入~/.bashrc文件中。配置环境变量ROS_IP自动检测:此处ROS_IP的配置为自动检测IP地址,并且将ROS_IP作为ROS_MASTER_URI,当用户打开终端时,终端中会显示配置好的环境变量。建议手动设置IP:建议将机器人的IP地址配置为手动(本例设置为192.168.31.101),这样我们机器人的IP地址就不会每次都变化,我们的其他电脑也不需要再重新配置环境变量了。PC虚拟机配置:修改PC虚拟机的环境变量,修改的内容与机器人类似,我们需要做的就是把ROS_MASTER_URI修改为机器人的IP地址,~/.bashrc文件中的ROBOT_IP环境变量即为机器人IP。更新环境变量配置:执行下面的命令来更新我们的配置,,更新并应用环境变量更改,确保系统配置的一致性。配置环境变量Ssh远程连接ssh远程连接可以让我们在终端中直接登陆上远程机器的系统,输入以下命令来连接到机器人(将IP地址替换为自己的地址),<table><tr><td>sshxtark@192.168.31.101</td></tr></table>。Ssh命令别名如果上一节的ROBOT_IP已经配置好,我们也可以使用一个ssh命令的别名来连接到机器人,此别名设置如下图,首次连接会有如下提示,我们输入yes并按回车继续进行。Ssh登录远程机接下来ssh提示我们需要输入远程机器人的用户密码,我们输入密码(此机器人用户名和密码默认都是xtark)按下回车即可登录到远程机器,登录后终端等同直接在机器人上执行。远程连接机器人Ssh断开连接想要从此终端断开与远程机器的连接,则只需要在终端中按下Ctrl+D即可断开,Sssh远程连接是控制远程机器人系统的直接方式,允许在终端中直接输入命令,这些命令会在机器人上执行。Vnc远程桌面对于大多数应用场景来说是不方便的,如果我们需要用到ROS机器人的图形界面时怎么办呢?可以采用远程桌面连接的方式进行远程连接机器人的图形界面。Vnc连接远程机在Linux下内置的VNC服务是较为方便的,所以我们采用VNC协议进行连接,VNC远程软件,在Linux下我们采用Ubuntu内置的Remmina,在Windows下我们采用免费的VNCViewer。远程连接机器人Vnc连接实例以VNCViewer为例,连接步骤如下图,确保机器人与我们PC在同一局域网下且已经配置好IP即可开始连接,机器人VNC服务器登录账号为xtark,密码为xtark。Vnc新建连接新建连接,输入IP地址和VNC主机名称(用户自定义),单击OK按钮,输入机器人VNC密码,点击确定即可连接到机器人远程桌面。远程连接机器人ROS节点列表:在PC虚拟机上执行rosnodelist-a命令后,成功看到rosout节点以及运行此节点的主机地址为机器人的主机地址,证明我们已经配置好了ROS的环境变量。Ssh连机器人:首先我们用ssh连接到机器人,然后打开一个终端并运行roscore,如图10-28所示roscore是ROS的根节点,它初始化并管理整个ROS系统。验证配置要点三控制节点原理运行原理非常简单,机器人内置了底盘驱动节点,存放在xtark_driver功能包中,节点名称也叫xtark_driver,此节点通过订阅话题,cmd_vel来获取控制底盘移动的命令。要点一要点二控制底盘移动话题的消息类型为geometry/Twist,此消息类型为两个三维向量,分别控制底盘的线速度和角速度,详细内容如图10-30所示。想要控制机器人移动,只需要向此话题发布Twist类型的消息即可。键盘控制节点robot内置了通过键盘来发布消息的节点,存放在xtark_ctl包中,名称为xtark_twist_keyboard.py,此外这个功能包中还有一个launch文件,xtark_bringup_keyboard.launch。要点三键盘控制机器人移动键盘控制机器人移动Launch文件内容:可以帮我们集成启动底盘驱动节点和键盘控制节点,此文件内容如图10-31所示,我们只需要运行此launch文件即可用键盘来控制底盘移动。远程控制机器人:因为机器人会到处乱跑,所以我们最好是以远程的方式控制它,首先回到自己的虚拟机上执行ssh命令连接到机器人例如。连接机器人:输入正确的密码后,输出内容提示我们已经连接上了机器人系统,可以开始通过键盘控制节点的运行来远程操控机器人移动了。键盘控制机器人:运行launch文件后看到提示按下对应键即可控制机器人运动如图10-33所示robot运动键盘控制键是方便用户通过键盘上的特定按键来直接控制机器人的运动方向。感谢您的观看与聆听第11章

SLAM建图与自主导航Contents01.引言02.基础理论04.SLAM建图03.准备工作05.amcl功能包与代价地图的配置06.机器人导航实践07.多点连续导航01引言室内机器人定位导航挑战服务型室内移动机器人面临地图构建、定位和路径规划等挑战,需解决精度、稳定性和实时性问题。机器人技术瓶颈室内机器人需实现实时地图更新、准确定位和实时路径规划,以满足快速响应和高效导航的需求。实时性与准确性室内环境复杂多变,光照、障碍物等影响机器人感知和决策,需提升机器人环境适应性和鲁棒性。室内环境复杂性123SLAM通过实时感知环境并构建地图,实现机器人在无GPS信号或先验信息缺失环境中的自主定位与导航。SLAM技术优势SLAM技术从军事领域拓展至扫地机器人、无人机等民用领域,成为智能系统实现自主导航的关键技术。技术应用广泛科研人员持续优化SLAM算法,提升其精度、鲁棒性和实时性,推动相关应用向更广泛领域渗透。算法不断优化SLAM技术崛起及应用03未来展望随着技术不断发展,基于ROS的机器人SLAM与导航技术将更加成熟,为机器人技术的广泛应用奠定基础。01ROS功能包ROS提供了如gmapping、hector_slam、cartographer等功能包,简化了机器人的SLAM和导航开发。02实践项目通过具体项目实践,如使用ROS实现机器人的实时地图构建与自主导航,可深化对理论知识的理解与应用。ROS机器人SLAM与导航实践02基础理论0102SLAM核心概念SLAM,即时定位与地图构建,驱动机器人未知环境自主探索。机器人边移动边构建地图,持续定位自身,实现智能导航与路径规划。盲人比喻借盲人探索比喻SLAM,盲人伸手探测障碍,移动校正地图与位置,体现SLAM核心,机器人亦如此,不断感知、定位、建图,实现自主导航。盲人感知局限盲人探索环境,感知有限,会存在误差,他根据确定程度为障碍物设置概率值,概率越大,障碍物可能性越高,体现SLAM探索的局限性。应用场景家庭、商场、车站等室内场所是室内机器人的主要应用场景,在这些应用中,用户需要机器人通过移动完成某些任务,这就需要机器人具备自主移动、定位的功能。自主导航自主导航与SLAM紧密相连,SLAM生成的地图是机器人移动的蓝图,引导机器人精准定位,规划最优路径,避开障碍物,实现高效、智能的自主移动。030405SLAM简介深度信息获取01机器人SLAM与自主导航的关键在于感知周围环境,特别是深度信息,用于探测障碍物距离。激光雷达、摄像头和RGB-D摄像头是获取深度信息的三种主要传感器。激光雷达02激光雷达是研究最多、使用最成熟的深度传感器,提供精确的距离信息,用于扫地机器人等。其优点是精度高、响应快、数据量小,适合实时SLAM;缺点是成本高。RGB-D摄像头03RGB-D摄像头融合了RGB图像和深度信息,适用于SLAM、图像处理和物体识别。其成本较低,但存在测量视野窄、盲区大和噪声大等缺点,是室内服务机器人的主流方案。传感器简介激光雷达通过发射接收激光束,实现3D扫描,获取周围环境深度信息。机器人利用这些数据实现精准避障,确保在复杂环境中稳定运行。3D扫描与避障在室内定位与建图方面,激光雷达具有显著优势;它为机器人提供精确的环境数据,支持实时地图构建与定位,是实现智能导航的关键技术。室内定位与建图尽管激光雷达具有高精度和稳定性,但成本较高;因此,在选用时需综合考虑性能与成本,选择性价比优的产品,以满足不同应用场景的需求。性能与成本考量激光雷达单目摄像头:单目摄像头以一个摄像头完成SLAM任务,具有传感器简单、适用性强的特点;但实现过程复杂,且在静止状态下无法测量距离,需依赖运动状态下的三角测量原理。双目摄像头:双目摄像头通过两个摄像头协同工作,实现距离信息的感知,无论在运动或静止状态下均能进行有效测量;然而,两个摄像头的精确标定较为复杂,且图像数据量大导致运算量大。摄像头室内应用主流:RGB-D摄像头因其成本低廉且性能稳定,成为室内服务机器人的首选传感器方案;然而,其测量视野相对较窄,且存在盲区和噪声问题,需在实际应用中加以注意。融合感知技术:RGB-D摄像头通过融合RGB图像与深度信息,实现环境的三维重建与深度感知。其独特优势在于能够精准识别物体位置与姿态,为SLAM提供强有力的支持。RGB-D摄像头03准备工作环境深度信息无论是SLAM还是自主导航,获取周围环境的深度信息都是至关重要的。要获取深度信息,首先要清楚ROS中的深度信息是如何表示的。激光雷达扫描数据针对激光雷达,ROS在sensor_msgs包中定义了专用数据结构——LaserScan,用于存储激光消息。LaserScan消息的具体定义如下图所示。雷达驱动与launch文件机器人教学平台的激光雷达节点,可视化机器人的激光雷达发布的数据,机器人的雷达驱动launch文件存放在xtark_driver功能包中。传感器信息启动雷达驱动节点远程连接机器人,启动此launch文件,将雷达驱动起来,然后在PC端(注意,非机器人端)启动RViz,按照添加雷达数据的话题。固定帧修改与显示添加完成后,按将GlobalOptions里的FixedFrame修改为laser,即可在三维界面中看到我们的雷达扫描出的环境深度信息数据。里程计信息里程计根据传感器获取的数据来估计机器人随时间发生的位置变化,在机器人平台中,较为常见的里程计是编码器,例如,机器人驱动轮配备的旋转编码器。传感器信息机器人当前的运动状态,包括x、y、z三轴的线速度与角速度,以及用于校正误差的协方差矩阵。上述数据结构中,除速度与位置的关键信息外。在精度要求不高的机器人系统中,可以使用默认的协方差矩阵;而在精度要求较高的系统中,需要先对机器人精确建模后,再通过仿真。机器人能够发布里程计nav_msgs/Odometry消息,如图11-11所示,包含机器人在自由空间中的位置和速度估算值,pose为机器人当前位置坐标。机器人移动时,编码器测量轮子旋转圈数;知周长,可算速度与距离。里程计通过速度积分求位置,对误差敏感,需精确采集、标定、滤波等措施。精度需求与协方差矩阵导航功能包要求twist编码器测量轮距传感器信息里程计数据估计里程计根据传感器数据估计机器人位置变化,常见里程计为编码器;通过测量轮子旋转圈数和周长,可计算机器人速度和移动距离。深度信息获取无论是SLAM还是自主导航,获取周围环境的深度信息都是至关重要的;要获取深度信息,首先要清楚ROS中的深度信息是如何表示的。LaserScan消息定义LaserScan消息定义包含角度、时间、距离等信息,用于存储激光雷达扫描数据;angle_min和angle_max定义可检测范围。激光雷达数据采集运行机器人教学平台的激光雷达节点,并启动相应的launch文件,可在RViz中可视化激光雷达扫描的环境深度信息数据。环境深度信息数据采集与标定01里程计根据传感器获取的数据来估计机器人随时间发生的位置变化,在机器人平台中,较为常见的里程计是编码器,例如,机器人驱动轮配备的旋转编码器。发布Odometry消息02导航功能包要求机器人能够发布nav_msgs/Odometry消息,包含机器人在自由空间中的位置和速度估算值,以及用于校正误差的协方差矩阵。精度需求与矩阵设定03在精度要求不高的机器人系统中,可以使用默认的协方差矩阵;而在精度要求较高的系统中,需要先对机器人精确建模后,再通过仿真、实验等方法确定。里程计信息04SLAM建图gmapping优缺点gmapping实时构建室内地图,适用于小场景,对激光雷达频率要求低且鲁棒性强。相比Cartographer,gmapping计算量小、精度相当且能利用里程计信息,但构建大地图时受内存和计算量限制,且无回环检测可能导致地图错位。gmapping功能包gmapping功能包采用Rao-Blackwellized粒子滤波算法,订阅深度信息、IMU和里程计,配置参数后输出二维栅格地图。支持的话题和服务包括地图数据发布、坐标变换及动态地图获取,同时提供丰富的配置参数以满足不同应用需求。gmapping建图流程在机器人中启动gmapping建图,需发送SSH命令以远程连接机器人并执行建图文件。该过程包括启动键盘控制节点以手动控制机器人移动,同时在PC上启动RViz并加载配置文件以实时查看地图。建图完成后,使用map_saver节点保存地图。gmappinghector-slam的优点在于无需里程计,适应空中无人机及地面小车在不平坦区域建图,通过高斯牛顿方法优化激光点阵,实现精准映射。但依赖于高频率、低噪声雷达,且建图效果受速度影响,无法有效利用精确里程计信息,存在局限性。hector_slam的核心是hector_mapping节点,订阅激光数据/scan并发布构建的地图及机器人位姿话题。支持的话题包括激光扫描数据、系统命令等,发布的话题有地图Meta数据、栅格地图、机器人位姿等,同时提供服务动态获取地图数据。在机器人中启动hector建图需发送SSH命令以远程连接机器人并执行建图文件,同时启动键盘控制节点以低速控制机器人移动。在虚拟机上启动RViz并加载配置文件以查看建图过程,建图完成后使用map_saver保存地图,并关闭相关节点。hector优缺点hector功能包hector建图流程hector-slamcartographer的优缺点采用基于图网络的优化方法,占用计算资源少,能有效避免建图中移动物体的干扰,并支持大环境。但相较于其他SLAM算法,它占用内存较大,需要考虑到资源消耗问题,在资源受限的环境下需谨慎使用。cartographer功能包需要源码编译安装,将创建一个工作空间catkin_google_ws并下载源码编译。为避免冲突,已安装人员可跳过。安装涉及更新、初始化、合并ROS安装、编译及设置环境变量等步骤,确保所有依赖正确安装。在机器人中使用cartographer在机器人教学平台中,启动cartographer建图算法需发送SSH命令连接机器人并执行集成启动文件。该文件启动了必要的底层驱动和cartographer算法节点。通过虚拟机中的键盘控制节点和RViz进行建图操作。cartographer05amcl功能包与代价地图的配置amcl支持灵活配置,通过调整粒子数、误差界限、更新间隔等参数,可以根据具体应用场景优化定位性能,同时提供初始化姿态、激光模型和里程计模型等高级配置选项。amcl与里程计同为机器人定位工具,里程计依赖连续运动数据定位,而amcl通过匹配激光扫描实现定位,两者结合使用,可以互补优缺点,提升机器人定位的稳定性和准确性。订阅激光雷达、TF变换和地图数据,发布机器人在地图中的位姿估计及粒子云,提供全局定位服务,并通过服务调用实现地图获取和恢复操作,灵活应对不同定位需求。amcl功能包提供自适应蒙特卡罗定位方法,通过粒子滤波器在地图中跟踪机器人姿态,实现自主定位。这种方法基于概率统计,能处理机器人任意状态下的定位问题。里程计与amclamcl话题服务amcl配置参数amcl定位方法amcl功能包本地规划配置文件为本地代价地图提供宽度、高度、分辨率等参数,这些参数适用于局部路径规划和实时避障,确保机器人在复杂环境中能够灵活导航。代价地图配置导航功能包使用代价地图来存储环境障碍信息,通过配置文件设置地图参数,如更新频率、发布频率、静态地图等,以适应不同的导航需求。通用配置文件定义共用的代价地图参数,如障碍物范围、射线追踪范围、机器人足迹、膨胀半径等,这些参数确保了代价地图能够准确地反映环境障碍信息。全局规划配置文件针对全局代价地图,设置参考系、更新频率、是否静态地图等参数,这些参数有助于规划全局路径,实现高效、准确的全局导航。代价地图的配置06机器人导航实践远程连接:通过安全的SSH协议远程连接至机器人,确保实时操作与监控的无界限,为导航任务奠定坚实基础。地图准备:启动机器人激光雷达节点,利用RViz三维可视化工具实时查看并确认雷达扫描到的环境深度信息,为后续导航任务提供精准地图支持。远程链接与地图准备远程连接到机器人,启动gmapping建图文件的集成文件,该文件包含所有gmapping建图所需的节点和配置,用于生成室内地图。启动gmapping启动hector_mapping建图算法的集成文件,该文件包含必要的节点和配置,用于构建地图,适用于空中无人机及地面小车等特殊平台。启动hector启动cartographer建图算法的集成文件,该文件包含所有cartographer建图所需的节点和配置,实现实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论