NanoRobot机器人套件用户手册_第1页
NanoRobot机器人套件用户手册_第2页
NanoRobot机器人套件用户手册_第3页
NanoRobot机器人套件用户手册_第4页
NanoRobot机器人套件用户手册_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

目录 NanoRobot 机器人套件用户手册 . 0 一、NanoRobot 套件功能介绍和开箱检查 . 1 二、树莓派网络配置 . 2 三、Demo 功能包使用 . 5 3.1 base_control 功能包 . 5 3.2 ROS 多机通讯的设置 . 6 3.3 NanoRobot 机器人摄像头的使用 . 7 3.4 NanoRobot 激光雷达 SLAM 功能运行 . 8 3.5NanoRobot 激光雷达导航功能 . 10 3.6NanoRobot 手机控制软件使用 . 12 3.7NanoRobot 机器人摄像头巡线功能 . 14 3.8NanoRobot 机器人 Stage 仿真功能使用 . 15 3.9NanoRobot 机器人仿真建图和导航功能使用 . 17 3.10 NanoRobot 机器人建图和导航算法切换. 19 3.11 NanoRobot 机器人多目标点导航 . 20 3.12 NanoRobot 机器人多点巡航 . 22 四、底盘充电说明 . 24 附录 1 . 25 NanoRobotNanoRobot 机器人套件机器人套件用户用户手册手册 V1.3.0 深圳维嵌科技有限公司 1 / 25 一、一、NanoRobotNanoRobot 套件套件功能介绍功能介绍和开箱检查和开箱检查 NanoRobot 机器人是一款全功能的两轮差速结构开发套件,套件中 主要部件包括电池,电机,编码器,IMU,控制板,树莓派,CSI 摄像 头,激光雷达(选配) 。 电机控制板功能上主要包括了按照指令速度运动,运动速度反馈, IMU 数据上报, 电池电流电压检测, 套件可以用于做 ROS 多机通讯, OpenCV 机器视觉,激光 SLAM,导航,路径规划等实验和开发。 NanoRobot 各部件名称和位置示意图: 用户收到 NanoRobot 时,机器人是拆掉轮子装在塑胶的手提箱中的 状态,从箱子中取出机器人和轮子,将轮子装到电机联轴器上,注意 轮子和电机联轴器上的六边形结构需要吻合, 装上轮子后用附送的十 字螺丝刀将联轴器上两颗 M4 螺丝先拆下, 然后分别拧入联轴器固定 轮子。 将电源开关拨向左边,打开电源。正常情况下用户打开电源后应该是 控制板上的 RGB 指示灯绿色亮起,然后以 0.5Hz 频率闪烁(慢闪) , 树莓派上红绿指示灯均亮或者闪烁。 如果指示灯状态如上文描述,则设备工作正常,接下来将进行树莓派 的网络配置。如果不同,请参考附录中的指示灯状态定义,如果仍然 不能解决,请联系本公司售后客服。 深圳维嵌科技有限公司 2 / 25 二、二、树莓派树莓派网络网络配置配置 需要工具:路由器(已开启 DHCP) ,网线 需要的技能和知识:ssh 工具使用和登录,shell 命令行使用,vim (或者其他编辑器)的使用 本店配有的树莓派均已经预装 Ubuntu mate 并安装好 ROS 机器人操 作系统,用户名和密码均为”nanorobot” 用户拿到树莓派后只需要配置树莓派 wifi 连接到自己的路由器上, 方法如下: 通过网线连接树莓派并 ssh 登录到树莓派: 1. 将树莓派通过网线连接至路由器, 登录路由器获取树莓IP地址 (设 备名为 nanorobot) ,下文以 07 地址为例 2. 通过 ssh 工具登录到树莓派,这里以 Xshll 为例(其他 ssh 工具原 理一样) 3. 新建一个连接后,主机栏填入树莓派 IP 地址后确定(名称暂时保 持不修改,这只是一个暂时的连接,可以不用改名称) 深圳维嵌科技有限公司 3 / 25 4. 然后双击建立连接,根据提示输入用户名和密码,如果是长期使 用的机器建议在输入时候选择保存用户名和密码 注意: 树莓派 3B/3B+和树莓派 4B 的 wifi 配置在接下来的操作中有一 定的差异,请正确辨认自己手上树莓派的版本并正确的操作。 树莓派 3B/3B+配置 wifi: 5 在打开的终端中输入(这里以 vim 编辑器为例,换用其他编辑器 也可以) : sudo vim /etc/wpa_supplicant/wpa_supplicant.conf 6 打开后文件中有如下内容 7 修改 ssid 为你路由器的 ssid,psk 为 wifi 密码 8 修改完成后保存退出,重启树莓派 9 再次打开路由器管理界面, 可以看到树莓派已经连接上 wifi 了 (设 备名应该为 nanorobot,但是路由器有时不识别显示为匿名主机) 10 接下来就可以用 02 这个 IP 地址登录树莓派 ssh 了, 为了避免树莓派 IP 变动,建议在路由器中将树莓派的无线网卡 MAC 地址和 IP 绑定, 每个品牌路由器操作方式不一样, 这里就不 一一列举了 树莓派 4B 配置 wifi: 5 在打开的终端中输入(这里以 vim 编辑器为例,换用其他编辑器 也可以) : sudo vim /etc/netplan/80-cloud-init.yaml 深圳维嵌科技有限公司 4 / 25 6 打开后文件中有如下内容 7 修改 access-points 为你路由器的 wifi 名称,password 为 wifi 密 码,这里需要注意,文本格式的缩进有严格要求,修改时请修改 双引号内的内容,不要随意修改配置文件中的格式。 8 修改完成后将配置应该用到网络配置 sudo netplan apply 9 等待约一分钟后再次打开路由器管理界面,可以看到树莓派已经 连接上 wifi 了(设备名应该为 nanorobot,但是路由器有时不识 别显示为匿名主机) ,如果长时间没有连接到路由器,注意检查修 改的 wifi 名称是否正确,确认修改无误后可以尝试重启树莓派再 检查路由器中的设备。 10 接下来就可以用 02 这个 IP 地址登录树莓派 ssh 了, 为了避免树莓派 IP 变动,建议在路由器中将树莓派的无线网卡 MAC 地址和 IP 绑定, 每个品牌路由器操作方式不一样, 这里就不 一一列举了 11 至此树莓派网络配置即完成,在无线网络环境不改变的情况下不 需要再次配置, 如果网络环境有变化, 重新按照步骤 1 开始配置。 深圳维嵌科技有限公司 5 / 25 三、三、DemoDemo 功能包使用功能包使用 3.1 base_control 功能包 注意:NanoRobot 预装的 ROS 系统中已经安装编译好相关功能包 源码 github 地址: base_control 功能包含了底盘控制程序的源码、启动文件和 udev 规 则 通过 SSH 登录到树莓派中,通过 launch 文件启动底盘控制 roslaunch base_control base_control.launch 正确运行后底盘蜂鸣器会鸣叫 2S,绿色指示灯闪烁频率由 0.5Hz 变 为 2Hz,检查话题列表可以看到目前 ros 中有如下话题 通过键盘控制测试底盘运动 在树莓派或者 PC 上运行键盘控制程序 (PC 上运行需要提前设置好多 机通讯,下一章节会介绍设置多机通讯的方法) rosrun teleop_twist_keyboard teleop_twist_keyboard.py 如果 PC 上的系统中没有安装 teleop_twist_keyboard 功能包则需要手 动安装 sudo apt-get install ros-kinetic-teleop-twist-keyboard 输出话题订阅查看 base_control 发布的话题主要有/battery 和/odom,订阅的话题有 cmd_vel 可 以 通 过 rostopic echo /topicname 来 输 出 和 检 查 相 关 话 题 (topicname 替换为你需要查看的话题名称,例如/battery,请勿输 入”topicname”) 深圳维嵌科技有限公司 6 / 25 3.2 ROS 多机通讯的设置 ROS 机器人的实验和开发中,通常需要一台移动机器人和一台 PC 配 合使用,这一章节我们就来介绍一下 ROS 中多机通讯的设置方法。 ROS 下设置多机通讯方法有多种, 如果读者已经知晓一种或多种设置 方法,可以跳过本章节自行设置; 先决条件:一台运行 ROS 系统的移动机器人,一台已经安装好 ROS 系统的 PC 或虚拟机,两者工作在同一个局域网下。 配置参考资料:/ROS/NetworkSetup PC 端: 使用编辑器打开/etc/hosts 文件(操作/etc/hosts 文件需要管理员权限) sudo vim /etc/hosts 在文件中增加下面这一行 (02为移动机器人的IP地址) , 02 master_ip 打开.bashrc 文件 vim .bashrc 在文件末尾增加下面三行,修改完成后保存退出(如果之前有设置 过相关环境变量,则删除原先设置的) : export ROS_IP=hostname -I | awk print $1 export ROS_HOSTNAME=hostname -I | awk print $1 export ROS_MASTER_URI=http:/master_ip:11311 设置完成后保存,关闭当前打开的终端重新打开或者在当前打开的 每个终端中重新加载一下.bashrc source /.bashrc 机器人端: 机器人端的配置预装系统中已经配置好,用户无需操作,如果自己 搭建环境,只需要将上文三行中最后一行修改为 export ROS_MASTER_URI=http:/hostname -I | awk print $1:11311 到这里多机通讯就设置好了,验证是否正确设置的方法很简单,在移 动机器人端启动 roscore,然后在 PC 端输出话题列表 rostopic list 如果有打印出话题列表则设置正常,如果输出“ERROR: Unable to communicate with master!”则设置有问题,请检查设置 深圳维嵌科技有限公司 7 / 25 3.3 NanoRobot 机器人摄像头的使用 NanoRobot 在 robot_vision 功能包中已经编写好了摄像头的启动文 件,用户只需要在移动机器人端使用启动文件即可: roslaunch robot_vision robot_camera.launch 正常启动后摄像头上的红色指示灯会亮起来 在 PC 端运行 rqt 工具查看图像 rqt_image_view 启动工具后即可弹出下图窗口,在红框中选择 “/image_raw/compressed”即可查看当前摄像头的图像画面 功能包中还内置了一个人脸检测的 Demo,在 PC 或者机器人端运行 (如果刚启动的 robot_camera.launch 已关闭,请重新运行) roslaunch robot_vision face_detector.launch 重新打开 rqt 工具,订阅/cv_bridge_image,即可实现人脸检测 深圳维嵌科技有限公司 8 / 25 3.4 NanoRobot 激光雷达 SLAM 功能运行 注:如果使用自己搭建的环境,运行可能会出现缺少 xxx 包的报错, 按照提示的包名依次安装即可 源码 github 地址: NanoRobot 在 robot_navigation 功能包中已经实现了多种激光雷达 slam 建图的功能,这里以 Gmapping 为例来演示建图功能,第 10 节 会介绍怎样切换其他建图算法 在机器人端执行 slam 的 launch 文件 roslaunch robot_navigation robot_slam_laser.launch 在 PC 端执行 rviz 图形化监控程序(载入 rviz 配置文件) roslaunch robot_navigation slam_rviz.launch 在 PC 端或机器人端启动一个键盘控制程序(建议将遥控速度调低以 改善建图效果,建议速度不大于 0.25m/s 注意,需要将鼠标光标保持 在运行键盘控制程序的 shell 窗口内,否则相关按键无效 ) rosrun teleop_twist_keyboard teleop_twist_keyboard.py 遥控机器人也可以使用遥控手柄来实现,如果使用手柄,则不需要启 动上述键盘控制节点,同样的,使用遥控手柄也需要通过手柄速度调 节按钮调整机器人速度以使建图效果更好(手柄默认遥控速度为 0.5m/s) 接下来通过键盘控制程序遥控机器人四处走动, 让地图的四周黑色的 边界尽可能的闭合,注意运动过程中不要撞上东西。 深圳维嵌科技有限公司 9 / 25 当地图四周已经全部闭合或者想要保存地图时候,在机器人端,新开 一个控制终端,进入到想要保存地图的位置,然后保存地图,这里以 robot_navigation 功能包下 maps 为例(如果对这方面不熟悉建议按 照下面命令行执行, 因为后面的导航程序也是采用了这个路径和文件 名称) roscd robot_navigation/maps rosrun map_server map_saver -f map 保存完成后 maps 文件夹下就会有 map.pgm 和 map.yaml 两个文件, 到这里建图过程就全部完成了, 下一个 Demo 就是使用这里建好的地 图来进行导航 深圳维嵌科技有限公司 10 / 25 3.5 NanoRobot 激光雷达导航功能 NanoRobot 在 robot_navigation 功能包中已经实现了激光雷达导航 的功能(基于 DWA 路径规划器,第 10 节会介绍怎样切 DWA 路径规 划器) ,效果还可以,用户可以直接使用来测试功能(前提是已经按 照上一章节对当前环境建立并保存了地图) 在机器人端运行导航的 launch 文件 Demo 中默认使用 maps 文件夹下的 map 文件, 如果需要使用其他文 件,请修改 robot_navigation.launch 文件中的文件名或者路径 如果是按照上一章节保存的地图则直接运行 roslaunch robot_navigation robot_navigation.launch 在 PC 端执行 rviz 图形化监控程序 roslaunch robot_navigation navigation_rviz.launch PC 端启动之后 rviz 中显示如图,机器人当前实际位置和地图中的位 置可能并不匹配,需要手动设置机器人位置。 点击图中红框内 rviz 上的”2D Pose Estimate”按钮, 然后在地图上鼠标 左键点中一个点,拉动鼠标制定方向,松开鼠标后刚点中的点和选择 的方向即为机器人当前位置,对应的雷达数据也会更新过来,如后图 深圳维嵌科技有限公司 11 / 25 点击 rviz 上的”2D Nav Goal”按钮后, 用鼠标在地图上左键点中一个点 即可设为导航目标点, 左键不放开时候拉动鼠标可以指定目标点方向, 松开后机器人开始执行导航任务,在机器人运行 launch 文件的终端 中也有相关的 log 输出 深圳维嵌科技有限公司 12 / 25 3.6 NanoRobot 手机控制软件使用 手机端控制软件源自github上的一个开源项目, 目前只有安卓版本, 没有 iOS 版本,我们的“Android 软件”文件夹下有提供安装包和项目 APP 源码 github 地址: 使用方法: 首先在机器人端运行底盘控制功能包和摄像头功能包 roslaunch base_control base_control.launch roslaunch robot_vision robot_camera.launch 在 Android 手机上安装好 apk 文件,打开软件,点击右上角红框中的 加号, 在弹出的窗口 Master URI 中填入“02:11311” (IP 地址根据移动机器人的实际 IP 地址填写,请勿按照示例填写 02) ,填写完成后点击“OK” 红框中的网络标识由灰色变为黑色则通讯正常, 点击机器人名称则可 进入控制界面 深圳维嵌科技有限公司 13 / 25 进入控制界面即可看到摄像头的预览画面, 通过界面上的摇杆可以控 制机器人运动, 点击红框中的Control Mode可以选择其他控制模式, 例如重力感应控制,电机红框中的三道杠按钮可以对软件进行设置, 这里就不一一描述,如果感兴趣可以自己去探索 深圳维嵌科技有限公司 14 / 25 3.7 NanoRobot 机器人摄像头巡线功能 NanoRobot 实现了智能小车中经典的巡线功能,这里我们是通过 NanoRobot 上的摄像头结合 OpenCV 实现的。 使用场景: 白色背景, 黑色线 (环境光照需要充足) , 机器人将沿着黑 色的线运动,运动到线结束的地方自动停下,环境如下图所示 使用方法:先将机器人上的摄像头调整为朝向地面 60 度左右,放在 黑线上,然后启动 launch 文件 roslaunch robot_vision linefollow.launch 启动后机器人将沿着黑线向前运动,直到黑线结束,在 PC 端通过 rqt_image_view 工具可以查看摄像头实时画面和经过 OpenCV 处理 后的画面 深圳维嵌科技有限公司 15 / 25 3.8 NanoRobot 机器人 Stage 仿真功能使用 NanoRobot 是一台实体的机器人,部分时候受场地等条件可能不能 拿出来方便点做实验, 或者开发者不愿意一次次将开发好的代码传输 到机器人上去运行,所以我们提供了一个机器人的仿真功能,开发者 可以将自己的算法在仿真环境下测试通过后再传输到机器人上去做 验证,这样就大大的节省了测试时间。 本章节的仿真实验是完全在 PC 下进行,不依赖实体机器人,所以有 两步准备工作需要先做, 第一步我们需要先修改 PC 上的 ROS_MASTER_URI 值, 修改.bashrc 文 件中的环境变量如下(即注释掉 3.2 章节配置的分布式通讯中设置的 ROS_MASTER_URI,使用本机 IP 作为 ROS_MASTER_URI,注意,在做 实体机器人实验时,需要去掉下面第一行的注释,注释掉第二行恢复 到 3.2 章节的配置) #export ROS_MASTER_URI=http:/master_ip:11311 export ROS_MASTER_URI=http:/hostname -I | awk print $1:11311 第二,修改.bashrc 中的 BASE_TYPE 环境变量为你所使用的机器人类 型(这个环境变量会影响到仿真中使用的机器人模型,这里以 NanoRobot 为例) export BASE_TYPE=NanoRobot 修改完成后 source 使之生效 source .bashrc 深圳维嵌科技有限公司 16 / 25 接下来启动机器人的仿真(仿真文件目前放在 robot_navigation 功能 包的 simulation 文件夹下) roslaunch robot_navigation simulation_robot.launch 启动后会弹出一个 stage 窗口(如上图) ,图中红色的小方块即为机 器人的简化模型,黑色的即为机器人所处的环境模型。 这时再启动一个键盘遥控节点 rosrun teleop_twist_keyboard teleop_twist_keyboard.py 可以通过键盘遥控机器人在环境中四处走动 Stage 是可以模拟出机器人的碰撞效果的,如果你操控机器人碰撞到 了墙壁,则会在碰撞位置出现一个黄色碰撞标志和感叹号(如上图) 这一章节我们介绍了机器人仿真的使用,下一章节我们将会介绍在 仿真中验证激光雷达建图和导航 深圳维嵌科技有限公司 17 / 25 3.9 NanoRobot 机器人仿真建图和导航功能使用 上一章节我们已经介绍了 stage 仿真的使用,这一章节,我们将会分 别介绍仿真中建图和导航功能的使用 使用仿真功能可以避免做建图和导航算法开发时需要频繁的在实体 机器人和真实环境中做测试,耗费大量时间,使用仿真可以专注于算 法开发和参数优化, 仿真中获得较好的效果时再将代码在真实机器人 上测试,根据我们测试,使用我们的仿真环境中机器人的表现和实体 机器人上的表现行为几乎一致。 在 3.4 章节中我们已经介绍了在实体机器人上实现激光雷达建图的应 用, 这一章节使用仿真来实现, 使用的启动 launch 文件是一样的, 不 同的是这里需要通过 launch 文件传入配置参数 roslaunch robot_navigation robot_slam_laser.launch simulation:=true open_rviz:=true simulation:=true 使用仿真,设置为 false 则为使用实体机器人, open_rviz:=true 打开 Rviz,设置为 false 则默认不打开 Rviz 上述两参数缺省默认为 false (这就是为什么在 3.4 章节中我们启动时 候不需要传入参数的原因, 更多可配置参数和默认值开发者们可以通 过阅读 robot_slam_laser.launch 文件了解 启动完成后可以用和 3.4 章节一样的方法,通过键盘遥控开控制机器 人遍历环境实现建图 仿真环境实现机器人导航也是类似的方法 深圳维嵌科技有限公司 18 / 25 roslaunch robot_navigation robot_navigation.launch simulation:=true open_rviz:=true 启动之后的操作和 3.5 章节介绍的实体机器人操作完全一样,不同 的地方在于 3.5 章节机器人是在真实的环境中运行,本章节机器人 是在仿真环境中运行 深圳维嵌科技有限公司 19 / 25 3.10 NanoRobot 机器人建图和导航算法切换 建图算法切换: NanoRobot 配套的软件中是实现了 cartographer,hector, karto 和 gmapping 四种常见的建图算法的使用,默认使用的是 gmapping, 如果需要使用其他建图算法,只需要在启动文件后传入上述的四种 建图算法名称即可(缺省状态默认为 gmapping) ,例如 hector roslaunch robot_navigation robot_slam_laser.launch slam_methods:=hector 如果实在仿真环境下使用,则需要再传入 simulation 参数,launch 文件中的参数是可以互相组合的。 备注:经测试在 NanoRobot 上使用 hector 可能会出现如下报错: ERROR 1566525316.272558988: Transform failed during publishing of map_odom transform: odom passed to lookupTransform argument target_frame does not exist. 这是由于我们使用一个 launch 文件来启动机器人和建图算法,然而 launch 文件是不保证各个节点的启动顺序的,hector 启动速度比较 快,底盘和雷达此时还未启动完成,所以会缺少 odom 信息,在底 盘启动完成后报错信息会停止输出。 如果不希望看到报错信息,可以手动依次启动各个节点,保证节点 启动顺序就不会出现上面的报错(根据 robot_slam_laser.launch 文 件中启动的节点来分拆启动哪些节点) roslaunch robot_navigation robot_lidar.launch roslaunch robot_navigation hector.launch 导航算法切换: NanoRobot 配套的软件中是实现了 DWA 和 TEB 两种主流的路径规 划器的使用,在软件中默认使用的是 DWA 路径规划器,如果需要 切换为 TEB 路径规划器,只需要传入 planner 参数为 teb 即可 roslaunch robot_navigation robot_navigation.launch planner:=teb 如果实在仿真环境下使用,则需要再传入 simulation 参数,launch 文件中的参数是可以互相组合的。 深圳维嵌科技有限公司 20 / 25 3.11 NanoRobot 机器人多目标点导航 该功能为最近开发的新功能,较早(2020 年 4 月 30 日之前)的设备中 预装的功能包可能不包含相关程序,可以通过 git 更新功能包获取最 新代码 cd /catkin_ws/src/robot_navigation/ git pull origin master 如果之前有修改过 robot_navigation 功能包的代码,则需要先撤销的你修改再 执行 git pull,撤销为 git reset -hard,该操作会撤销掉你对该功能包所作的所有 修改,请谨慎操作。 在使用多目标点导航之前,需要确认系统已经可以正常运行” 激光 雷达导航功能”章节的相关功能,因为多目标点导航的功能是在导航 功能上扩展出来的 机器人端: roslaunch robot_navigation robot_navigation.launch roslaunch robot_navigation multi_points_navigation.launch 在 PC 端执行 rviz 图形化监控程序 roslaunch robot_navigation multi_navigation.launch 可以看到,相比机器人导航章节的 rviz 界面中,多出了一个“2D Nav Goal”按钮,这两个按钮所触发的话题也是不同的,左侧的按钮和导 航章节功能一样,给定机器人指定一个目标点,在机器人到达目标 点之前指定新的目标点,则机器人会放弃之前的目标点而去新的目 标点,右侧的按钮就是本章节的主角,可以连续给机器人指定多个 目标点,机器人会依次去往各个目标点。 首先我们还是要点击图中红框内 rviz 上的”2D Pose Estimate”按钮指 定机器人在地图中的真实位置,然后再点击右侧的“2D Nav Goal”按 钮,依次指定机器人的目标点,每指定一个点后地图上会显示一个 目标点序号(从 0 开始递增) ,接下来机器人会依次导航到各个目标 点直至之后一个目标点,效果如下图所示。 深圳维嵌科技有限公司 21 / 25 深圳维嵌科技有限公司 22 / 25 3.12 NanoRobot 机器人多点巡航 在使用多点巡航之前,需要确认系统已经可以正常运行” 激光雷达 导航功能”章节的相关功能,因为该功能也是在导航功能上扩展出来 的。 在运行多点巡航之前,这里需要注意,多点巡航的巡航坐标点是需 要用户自己根据自己实际使用的地图来确定,我们先给大家介绍一 下怎么样确定巡航点的坐标值。 首先还是打开导航的应用 机器人端 roslaunch robot_navigation robot_navigation.launch 在 PC 端执行 rviz 图形化监控程序 roslaunch robot_navigation navigation_rviz.launch 然后使用”2D Pose Estimate”按钮指定机器人在地图中的真实位置, 然后在 PC 端新开一个终端订阅/move_base_simple/goal 话题 rostopic echo /move_base_simple/goal 然后在 rviz 中通过“2D Nav Goal”按钮让机器人导航到你想要巡航的 第一个点,这使订阅/move_base_simple/goal 话题会输出一个话题 记录

温馨提示

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

评论

0/150

提交评论