版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
探索千姿百态的机器人智能工程系CONTENTS目录1.机器人概览2.机器人的组成3.机械臂构型4.机器人仿真2.机器人的组成2.举例:OpenBot——将智能手机变成机器人OpenBot智能小车——人员跟踪OpenBot智能小车——自主导航OpenBot智能小车——组成OpenBot智能小车DIY构建自己的小车刷Arduino固件安装AndroidAPP驾驶策略
参考网址:
/intel-isl/OpenBot/blob/master/README_CN.mdOpenBot智能小车构建——电路设计OpenBot智能小车构建——材料一览OpenBot——主控ArduinoNano/item.htm?spm=a1z10.5-c-s.w4002-23633313797.99.590d6ea1bwQAuL&id=44900357409OpenBot——车体/item.htm?spm=a1z10.5-c-s.w4002-23633313797.20.35ab3648PYpMD8&id=412936384172轮电机带测速码盘OpenBot——电机测速传感器/item.htm?spm=a1z0d.7625083.1998302264.6.5c5f4e69kOgg9M&id=38024264584OpenBot——超声波避障/item.htm?spm=a1z0d.7625083.1998302264.6.5c5f4e69zm3R4S&idpenBot——电机驱动/item.htm?spm=a1z0d.7625083.1998302264.5.5c5f4e69zTKGcH&id=20533464438OpenBot小车材料清单OpenBot小车/item.htm?spm=a230r.be94d65cXQ4pW&id=625881189879&ns=1&abbucket=19#detailOpenBot智能小车构建——接线图OpenBot智能小车构建——组装OpenBot小车——刷Arduino固件参考网址:/intel-isl/OpenBot/blob/master/firmware/README_CN.mdOpenBot小车——刷Arduino固件参考网址:/intel-isl/OpenBot/blob/master/firmware/openbot_v1_nano/openbot_v1_nano.inoOpenBot小车——智能手机智能手机,满足三个方面需求:处理器(CPU、GPU、 AI计算)、传感器(GPS、摄像头等)通信接口(蓝牙、 4G/5G网络)
机器人DIYOpenBot小车——智能手机AndroidApps:/intel-isl/OpenBot/blob/master/android/README.md
机器人DIYOpenBot小车——智能手机AndroidApps:
机器人DIY2.机器人的组成
机器人的构造2.机器人的组成
机器人的构造2.1机器人——执行机构:轮式优点:速度快、效率高、运动噪声低。缺点:越障能力、地形适应能力差、转弯效率低,或转弯半径大。适合:野外、城市环境都可以,但是地形不能太复杂,如上楼梯难以实现。
机器人的构造2.1机器人——执行机构:差速轮两轮差速底盘(DifferentialDriverobot)两个驱动轮,带几个万向轮,靠差速转弯性价比高、广泛应用的机器人底盘
机器人的构造2.1机器人——执行机构:差速轮四轮滑移底盘(Four-wheelslidingrobot) ——四轮差速底盘四个固定驱动轮靠左右两边速度不一样实现转弯当车子差速原地转向的时候,
四个轮子就必定会有一点漂移的
情况出现,就是轮子会出现侧向
滑动,轮子磨损比较大。
机器人的构造2.1机器人——执行机构:阿克曼轮四轮阿克曼底盘(Four-wheeledAckermanrobot)像汽车一样,前轮转向,后轮驱动的模型转向灵活性,减小转向时的转向半径
和轮胎阻力,从而减少轮胎磨损,
减小方向盘的作用力。
机器人的构造2.1机器人——执行机构:麦克纳姆轮优点:全向移动,可在狭小空间完成移动。缺点:与普通轮胎相比:麦克纳姆轮,有N个轴承,但是同一时间只有1个或2个轴承吃力,对于重载的,浪费更严重.所以M轮的车通常是一吨以下。耐用性差、速度慢,对地面环境要求高。适合:室内,平坦地面。四轮麦克纳姆轮底盘
机器人的组成2.1机器人——执行机构:麦克纳姆轮优点:全向移动,可在狭小空间完成移动。缺点:与普通轮胎相比:耐用性差、速度慢,震动,对地面环境要求高。适合:室内,平坦地面。
机器人的组成2.1机器人——执行机构:全向轮全向轮,包括轮毂和从动轮,该轮毂的外圆周处均匀开设有3个或3个以上的轮毂齿,每两个轮毂齿之间装设有一从动轮,该从动轮的径向方向与轮毂外圆周的切线方向垂直。优点:全向移动,横向摩擦力小,增加寿命。缺点:与普通轮胎相比:横向无法固定,称重小,震动,耐用性差、速度慢,对地面环境要求高。适合:室内,平坦地面。四轮全向轮底盘三轮全向轮底盘
机器人的组成2.1机器人——执行机构:履带式优点:越障能力、地形适应能力强,可实现原地转弯。缺点:速度相对较低、效率低、运动噪声较大。适合:野外、城市环境都可以,尤其在爬楼梯、越障等方面优于轮式机器人
机器人的组成2.1机器人——执行机构:腿式优点:几乎可以适应各种复杂地形,能够跨越障碍。缺点:行进速度较低,且由于重心原因容易侧翻,不稳定适合:几乎所有环境
机器人的组成2.2机器人——驱动系统
机器人的组成10标准大气压=10公斤力=10㎏/c㎡
=1MPa2.2机器人——驱动系统:液压液压缸
机器人的组成液压千斤顶2.2机器人——驱动系统:液压液压缸波士顿动力液压机器人BigDog
机器人的组成破碎机——碎石叉车液压泵:漏油液压千斤顶2.2机器人——驱动系统:气动机械臂——吸盘气泵
机器人的组成2.2机器人——驱动系统:电动直流电机(有刷、无刷)步进电机伺服电机
机器人的组成2.2机器人——驱动系统:电动直流电机——有刷主要结构:定子+转子+电刷,通过旋转磁场获得转动力矩,从而输出动能。电刷与换向器不断接触摩擦,在转动中起到导电和换相作用。
机器人的组成2.2机器人——驱动系统:电动直流电机——有刷优点:
结构简单、技术成熟;
响应速度快,起动扭矩大;
运行平稳,起、制动效果好;
控制精度高;成本低,维修方便
机器人的组成2.2机器人——驱动系统:电动直流电机——有刷缺点:相互滑动,会摩擦碳刷,造成损耗,需要定期更换碳刷;碳刷与线圈接线头之间通断交替,会发生电火花,产生电磁破,干扰电子设备。
机器人的组成2.2机器人——驱动系统:电动直流电机——无刷无刷电机中,换相的工作交由控制器中的控制电路(一般为霍尔传感器+控制器,更先进的技术是磁编码器)来完成。通过霍尔元件,感知永磁体磁极的位置,根据这种感知,使用电子线路,适时切换线圈中电流的方向,保证产生正确方向的磁力,来驱动电机。
机器人的组成2.2机器人——驱动系统:电动直流电机——无刷优点:
低干扰;
噪音低,运转顺畅;
寿命长,低维护成本缺点:
控制器的成本高
机器人的组成2.3机器人——传感器:视觉3D相机工业3D相机点云效果图
机器人的组成2.3机器人——传感器:视觉3D相机:RealSenseD435i
机器人的组成2.3机器人——传感器:激光雷达
机器人的组成2.3机器人——传感器:激光雷达
机器人的组成激光雷达自动驾驶激光雷达进行环境扫描2.3机器人——传感器:激光雷达
机器人的组成优点:(1)分辨率高;(2)隐蔽性好、抗有源干扰能力强;(3)低空探测性能好;(4)体积小、质量轻缺点:工作时受天气和大气影响大:激光在晴朗天气里衰减较小,传播距离较远。而在大雨、浓烟、浓雾等坏天气里,衰减急剧加大,传播距离大受影响。2.3机器人——传感器:力传感器力传感器位于机器人和夹具之间,这样,所有反馈到夹具上的力就都在机器人的监控之中。有了力传感器,像装配,人工引导、示教,力度限制等应用才能得以实现。
机器人的组成力传感器2.3机器人——传感器:姿态传感器
机器人的组成2.4机器人——控制系统机器人是一种非常典型的软硬结合、机电一体产品。这样的产品都遵循这样一个原则:硬件决定性能边界,软件发挥硬件性能并定义产品(机器人)行为
机器人的组成2.4机器人——控制系统机器人控制系统的功能:接收来自传感器的检测信号,根据操作任务的要求,驱动机械臂中的各台电动机运动。
机器人的组成3.智能机械臂控制——课程简介专业拓展课考查课学时32(理论16学时+实验16学时)核心内容:
机器人技术,机械臂工作原理,机械臂控制技术3.课程介绍——课程定位
智能机械臂控制与前导课程和后续课程的衔接智能机械臂控制Python毕业设计创新创业竞赛OpenCV相关就业电子技术基础3.课程介绍——相关课程
智能机械臂控制教材:《智能机械臂控制与编程》
高等教育出版社
深圳越疆科技有限公司重点
机械臂结构机械臂控制方法
机械臂编程方法
3.课程介绍——教材
智能机械臂控制了解机器人的种类和组成理解机械臂的结构熟悉机械臂的控制方法熟悉机械臂的编程方法3.课程介绍——学习目标
智能机械臂控制机械臂简介机械臂开发IDE机械臂SDK开发包机械臂的基本控制方式机械臂的信息检测与报警机械臂“示教”&“再现”模式及应用机械臂的运动规划与控制机械臂扩展接口机械臂扩展:滑轨、传输带,视觉等合计:32学时(理论+实验)3.课程介绍——学习内容
智能机械臂控制平时成绩占60%。期末考试占40%(开卷,带课本);平时成绩考核见下表:项目占比出勤30%提问10%课堂表现5%课内实验35%课堂测试20%
智能机械臂控制3.课程介绍——考核方式平时成绩考核——出勤项目得分补救方式全勤2
旷课0无迟到、早退1提前20分钟到教室缺课超过三分之一不能参加考试无请假(辅导员假条)1无公假2
智能机械臂控制3.课程介绍——考核方式平时成绩考核——提问项目得分正确2基本正确1错误0平时成绩考核——课堂测试项目得分良好2一般1未做0抄袭-5
智能机械臂控制3.课程介绍——考核方式平时成绩考核——课堂表现项目得分补救方法玩手机-5一直到学期末,未在上课时看手机课堂说话-2一直到学期末,未在上课时有类似现象不带书笔-2一直到学期末,未在上课时有类似现象带耳机-2一直到学期末,未在上课时有类似现象
智能机械臂控制3.课程介绍——考核方式平时成绩考核——课内实验项目得分实验完全正确2实验基本正确1未做实验0抄袭实验作业-5
智能机械臂控制3.课程介绍——考核方式Thankyou机器人,有“控”玩。探索千姿百态的机器人CONTENTS目录1.机器人概览2.机器人的组成3.机械臂构型4.机器人仿真3.机械臂构型3.1机械臂构型——笛卡尔机械臂机械臂构型二维笛卡儿空间三维笛卡儿空间机器人中的xyz坐标系和右手定则旋转轴旋转方向3.1机械臂构型——笛卡尔机械臂机械臂构型关节1到关节3都是移动轴,且相互垂直,分别对应于笛卡尔坐标系的X,Y,Z三轴。三个关节相互独立,设计简单,控制简单。占用空间大,灵活度低3.2机械臂构型——铰接/关节型机械臂机械臂构型通常由两个肩关节J1和J2。一个肘关节J3。以及1~3个位于操作臂末端的腕关节(J4,J5,J6)组成。灵活度高,精度高,占用空间小,可应用于工作空间较小的场合。适应性受限(工作空间不规则,存在空间内位置不可达的奇异点),维护成本和价格较高。3.2机械臂构型——铰接/关节型机械臂机械臂构型通常由两个肩关节J1和J2。一个肘关节J3。以及1~3个位于操作臂末端的腕关节(J4,J5,J6)组成。灵活度高,精度高,占用空间小,可应用于工作空间较小的场合。适应性受限(工作空间不规则,存在空间内位置不可达的奇异点),维护成本和价格较高。3.2机械臂构型——铰接/关节型机械臂机械臂构型举例:UR机械臂——工作区空间UR机械臂的工作空间是球形的,它用两个同心圆表示,一个较小的标记为“推荐范围”,一个稍大的标记为“最大值”。在工作空间的中心,在基础接头的正上方和下方有一个柱子,柱子会限制机器人的运动。3.2机械臂构型——铰接/关节型机械臂机械臂构型举例:UR机械臂——外部工作区限制在推荐的到达范围内(以蓝色表示),机器人可以将工具移动到几乎任何方向的任何位置。在推荐范围之外的区域内工作但仍在最大工作区域内(以灰色表示)时,大多数位置都可以到达,但是对工具方向有限制,因为在某些情况下机器人在物理上无法达到足够远的距离。【怎么避免】将设备安排在机器人周围选择臂展更长的UR机器人。3.2机械臂构型——铰接/关节型机械臂机械臂构型举例:UR机械臂——内部工作区限制建议避免机器人基座正上方和下方的柱子中的机器人运动(在下面的动画中以灰色表示),因为由于关节在机器人手臂上的布局方式,许多位置/方向将在物理上无法到达。您可能会遇到在此圆柱体外部空间中执行线性运动的问题(以橙色表示),因为相对较慢的工具速度需要基础接头的非常高的旋转速度,从而使一些工具运动无法实现或不安全。【怎么避免】不在中心圆柱体中或靠近中心圆柱体工作尽量采用关节运动MoveJ、不要采用直线运动MoveL。3.3机械臂构型——SCARA机械臂机械臂构型SCARA(SelectiveComplianceAssemblyRobotArm,中文译名:选择顺应性装配机器手臂)是一种圆柱坐标型的特殊类型的工业机器人。也称作:水平关节型机器人。SCARA机器人有3个旋转关节,其轴线相互平行,在平面内进行定位和定向。另一个关节是移动关节,用于完成末端件在垂直于平面的运动。这类机械臂的结构轻便、响应快。可比一般关节式机械臂快数倍。载重小3.3机械臂构型——SCARA机械臂机械臂构型SCARA机械臂的结构轻便、响应快。比一般关节式机器人快数倍。一般用于不仅要求精度高,而且要求速度快的轻小型负载领域,
例如:消费类电子、汽车零部件、塑料、食品饮料和实验室在内的众多行业,
参与高速准确的拾取、放置、组装、测试检验和包装等操作工艺。3.4机械臂构型——球面坐标型机械臂机械臂构型与铰接型操作臂有很多相似之处,但是用移动关节代替了肘关节。这种设计在某些场合比铰接型操作臂更加适用。移动连杆可以伸缩,缩回时,甚至可以从后面伸出。3.5机械臂构型——圆柱面坐标型机械臂机械臂构型圆柱面坐标型操作臂由一个使手臂竖直运动的移动关节和一个带有竖直轴的旋转关节组成,另一个移动关节与旋转关节的轴正交,还有一个某种形式的腕关节。3.6机械臂构型——Delta机械臂机械臂构型Delta机器人是典型的空间三自由度并联机构,整体结构精密、紧凑,驱动部分均布于固定平台,这些特点使它具有如下特性:Delta机器人承载能力强、刚度大、自重负荷比小(主要是碳纤维等轻型材料构成)、动态性能好。速度极快,适合超高速拾取物品,一秒钟多个节拍。工作范围小,重复定位精度一般。Thankyou机器人,有“控”玩。探索千姿百态的机器人CONTENTS目录1.机器人概览2.机器人的组成3.机械臂构型4.机器人仿真知识链接1:机器人仿真技术仿真
在机器人相关科研和实际应用中,机器人仿真技术发挥着重要作用,既可以对机器人相关算法进行验证,也为机器人开发提供了一个低成本、无风险且稳定的平台。常用的机器人仿真软件有:CoppeliaSim(原名VREP)、Gazebo、Webots、RobotDK、ARS等。CoppeliaSim相对简单、友好,其Edu版本有完整的模拟和编辑功能,功能齐全,学校师生可以免费使用。任务实施:探索千姿百态的机器人Step01:安装CoppeliaSim安装(1)登录CoppeliaSim官网: https:///(2)选择DownloadsStep01:安装CoppeliaSim安装(3)选择计算机操作系统所对应的CoppeliaSim版本并下载。(4)下载的路径最好是全英文的,双击.exe可执行文件,逐步安装即可。Step02:熟悉CoppeliaSim操作界面界面CoppeliaSim操作界面12345678序号名称1应用程序栏菜单栏2水平工具栏3竖直工具栏4模型浏览器5场景层次结构6显示窗口7状态栏8Lua源码输入行Step02:熟悉CoppeliaSim操作界面界面①【应用程序栏】:显示软件版本、当前场景文件名、渲染时间、当前模拟器状态等。【菜单栏】:可以访问软件的所有功能。应用程序栏菜单栏Step02:熟悉CoppeliaSim操作界面界面②水平工具栏画面平移画面旋转画面缩放摄像画面全景显示选择模型模型平移模型旋转画面控制画面控制装配集合DNA转移撤销重做物理引擎启动仿真暂停仿真停止仿真实时仿真切换仿真速度控制反显显示页面选择Step02:熟悉CoppeliaSim操作界面界面③竖直工具栏仿真设置场景对象属性脚本配置形状编辑模式显示/隐藏模型浏览器显示/隐藏场层次结构显示层级视频录制用户设置④模型浏览器模型文件夹模型缩略图Step02:熟悉CoppeliaSim操作界面界面⑤场景层次结构:显示组成场景的所有对象。双击对象名称:重命名双击图标:打开属性窗口Step02:熟悉CoppeliaSim操作界面界面⑥显示窗口
CoppeliaSim将一个工程称为一个场景(scene)。
显示窗口是场景的主要查看页面。Step02:熟悉CoppeliaSim操作界面界面⑥显示窗口
切换多个页面视图Step02:熟悉CoppeliaSim操作界面界面7状态栏8Lua源码输入行Step03:不可移动机器人探索(1)机器人运动演示①
选择non-mobile②拖拽ABBIRB360到显示窗口模型浏览器模型浏览器显示窗口Step03:不可移动机器人探索(1)机器人运动演示③点击“模型平移”按钮④单击选中机器人⑤设定旋转轴——沿Z轴运动:取消X和Y轴勾选,只勾选Z轴Step03:不可移动机器人探索(1)机器人运动演示⑥鼠标拖拽机器人,上下运动到合适位置Step03:不可移动机器人探索(1)机器人运动演示⑦点击“开始”按钮,机器人开始运动;点击“停止”按钮,机器人停止运动。①画面旋转Step03:不可移动机器人探索(2)机器人静态观察②画面缩放Step03:不可移动机器人探索(2)机器人静态观察③模型旋转Step03:不可移动机器人探索(2)机器人静态观察Step04:移动式机器探索机器人运动演示:①
选择mobile②拖拽Asti到显示窗口模型浏览器模型浏览器显示窗口Step04:移动式机器探索机器人运动演示:③点击“开始”按钮,机器人开始运动;点击“停止”按钮,机器人停止运动。任务实施机械臂实践任务1-3机器人仿真在Coppeliasim中,选择最少两款不可移动机器人、两款可移动机器人进行运动仿真演示和静态观察。【作业提交】在Coppeliasim中,从不同角度观察到的机器人图像截图,以机器人型号命名文件。Thankyou机器人,有“控”玩。任务2-2写字画画《智能机械臂控制》任务解析图形化编程机械臂写字画画通过DobotStudio控制机械臂进行写字画画。任务实施:机械臂写字画画安装硬件前确认:设备关机、断电!!!注意事项Dobot机械臂的末端执行器——写字画画套件
写字画画套件:笔、夹笔器,其中,夹笔器内径为10mm。Step01:安装写字画画套件
末端执行器笔夹笔器夹笔器内径为10mm步骤1:将笔安装在末端夹具中。步骤2:用夹具锁紧螺丝,将写字套件的夹具锁紧在机械臂末端。Step01:安装写字画画套件
安装夹具锁紧螺丝【笔的更换方法】用1.5mm内六角扳手,拧松夹笔器上的四颗M3*5机米螺丝进行更换。Step01:安装写字画画套件
更换笔机米螺丝机米螺丝(1)机械臂通电、开机(参照任务2-1)(2)DobotStudio连接机械臂Step02:DobotStudio连接机械臂连接DobotStudio公共区域:末端套件选择“笔”应用区域:选择“写字&画画”Step03:DobotStudio写字&画画写字画画Step03:DobotStudio写字&画画写字画画工具栏插入图形或文本绘图区(1)【输入文本】:爱国(2)调整文字在环形区域内的位置,
超出范围,文字外框会变红,导致机械臂限位而无法正常写字。Step04:写字写字(3)点击工具栏“位置同步”按钮,使得机械臂末端与界面位置同步。(4)在机械臂工作范围内放置一张纸,尽量让笔位于纸的中心位置。Step04:写字写字(5)通过DobotStudio操作面板,调整Z轴高度,使得笔尖微压纸张。Step04:写字写字(6)单击“AutoZ”,获取并保存当前的Z轴值。Step04:写字写字(7)单击“开始”,开始写字。Step04:写字写字方式1:绘制软件内置图形库的图形。Step05:画画画画方式2:绘制自己的图像。Step05:画画画画(1)打开图片(2)位图转SVG(3)置入主界面方式2:绘制自己的图像。Step05:画画画画(4)图像绘制中任务实施写字画画随堂任务
机械臂写字画画(1)写字:书写24字社会主义核心价值观的一组词:
富强、民主、文明、和谐、
自由、平等、公正、法治,
爱国、敬业、诚信、友善。(2)图形绘制:绘制一张与24字社会主义核心价值观相关的图形。(3)写字:书写自己的姓名【作业提交】(1)书写过程截图。(2)写字和画画拍照Thankyou机器人,有“控”玩。任务3-1积木搬运(图形化编程)《智能机械臂控制》知识链接:机械臂基础基础知识1.机械臂结构机械臂组成:底座、大臂、小臂、末端执行器坐标系:关节坐标系、笛卡尔坐标系机械臂端口:底座端口、小臂端口2.机械臂开机、关机及告警处理
开机步骤:大小臂夹角约45度角,开机键
告警处理:按下“解锁”按钮,调整机械臂姿态
关机:关机键、等待归位、断电3.上位机软件DobotStudio
示教、画画、图形化编程、脚本编程。。。任务解析图形化编程积木搬运(图形化编程)通过DobotStudio进行Blockly图形化编程,实现积木搬运动作。任务实施:积木搬运(图形化编程)Step01:开机图形化编程姿态大臂小臂夹角约45°电源按下电源按钮等待等待约5秒一声短响指示灯黄色:等待绿色:正常红色:异常约45°电源开关Step01:开机图形化编程开机:指示灯红灯异常:限位约45°按住解锁按钮拖动大臂和小臂大臂和小臂夹角约45°Step02:连接上位机图形化编程DobotStudioStep03:归零图形化编程机械臂在出厂时已进行过校准,如果机械臂在运行过程中发生碰撞或丢步,导致坐标读数异常,此时需对机械臂进行归零操作,提高定位精度。首次使用机械臂时,建议先归零注意:机械臂运动范围内无障碍物开始归零归零归零成功一声短响指示灯绿色Step04:Blockly编程图形化编程进入“Blockly”界面Blockly
是一套图形化编程平台。通过该平台,用户可通过拼图的方式进行编程来控制机械臂的运行,直观易懂。Step04:Blockly编程图形化编程图形化模块选择区Blockly编程区Blockly图形化模块对应的程序代码机械臂运行日志信息Step05:积木搬运图形化编程积木搬运起始坐标目的坐标积木尺寸(mm)初始位置搬运3个积木起始位置目标位置Z轴坐标调整任务实施图形化编程随堂任务
积木搬运(图形化编程)通过DobotStudio进行Blockly图形化编程,实现积木搬运动作。(1)学号尾号为奇数:实现3个积木(25mm)搬运,其中:
起始地点积木垂直叠放,目标地点积木水平摆放(2)学号尾号为偶数:实现4张纸牌(55x85mm)搬运,其中:
起始地点纸牌水平摆放,目标地点纸牌垂直摆放【作业提交】:代码截图,机械臂搬运效果截图Thankyou机器人,有“控”玩。任务3-2关节坐标运动控制(脚本编程)《智能机械臂控制》知识链接:脚本编程DobotMagician机械臂控制器支持两类指令:立即指令与队列指令。立即指令:控制器将在收到指令后立即处理该指令,而不管当前控制器是否还在处理其他指令。返回值=0。队列指令:控制器在收到指令后,会将该指令放入控制器内部的指令队列中。控制器将顺序执行指令。返回值=队列命令索引。Step01:环境准备脚本编程机械臂已正常开机机械臂与DobotStudio正常连接电源按钮指示灯:绿色DobotStudioStep02:脚本编程脚本编程进入“脚本控制”界面可通过脚本控制机械臂的运行,DobotMagician提供丰富的API接口,如:速度/加速度设置、运动模式设置、I/O配置等,采用Python脚本语言开发,可供用户二次开发时调用。Step02:脚本编程脚本编程区函数选择函数解析运行、停止脚本编程Step03:关节坐标运动控制脚本编程Step04:点到点PTP运动控制脚本编程随堂任务
脚本编程基础——积木搬运参考任务3-1积木搬运的通用代码,通过DobotStudio进行脚本编程,实现积木搬运【作业提交】:积木搬运脚本截图任务实施Thankyou机器人,有“控”玩。任务3-3积木搬运(python编程)《智能机械臂控制》任务解析python积木搬运(python编程)通过pycharm进行python编程,实现积木搬运动作。函数查询:Dobot-Magician-API-V1.2.3.pdf任务实施:积木搬运(python)Step01:环境搭建(1)开始菜单,打开Anaconda->AnacondaPrompt(2)获取虚拟环境路径
condainfo–e
PythonStep01:环境搭建(3)将pp_py37.tar.gz拷贝到虚拟环境所在文件夹(4)右击,解压到当前文件夹PythonStep02:新建工程Python(1)在磁盘根目录下新建文件夹ArmPy(2)打开Pycharm,新建工程Step02:新建工程(3)输入ArmPy文件夹路径、勾选编译器PythonStep02:新建工程(4)在Conda环境下,选择pp_py37虚拟环境PythonStep02:新建工程(5)创建工程PythonStep03:创建目录(1)创建目录(2)输入目录名称:python_blockPythonStep04:创建python文件在目录python_block下,创建python文件:
DobotControl_block.pyPython在pycharm右下角,再次确认环境:Step05:拷贝机械臂动态库将机械臂动态库拷贝到目录python_block下Python积木搬运Step61导入库函数定义连接状态初始化动态库连接机械臂Step06:代码编写积木搬运Step62机械臂动作控制函数Step06:代码编写积木搬运Step63机械臂断开连接函数主函数Step06:代码编写Step71拷贝blockly积木搬运对应的python代码注意:此处以积木搬运为例,大家需根据任务要求,修改blockly代码Step07:图形化编程代码移植积木搬运积木搬运DobotStudio代码拷贝到python文件Step72将积木代码拷贝到python文件注意:要做代码缩进,Tab键Step07:图形化编程代码移植积木搬运Step73:修改代码(1)去掉所有指令后的Ex后缀,
目前的DLL版本不支持带Ex后缀的指令Step07:图形化编程代码移植积木搬运Step74:修改代码(2)末端执行器控制函数,需要在括号里面添加最后一项参数,
"isQueued=1",如果不写,默认是"isQueued=0"
因为所有的指令都是队列模式,即:命令加入队列后逐个执行,
末端执行器的指令也需加入队列Step07:图形化编程代码移植积木搬运Step75:修改代码(3)在最后一项指令,前面添加lastIndex=末尾添加[0]
获取最后一条指令的执行索引,为后面等待时长设置依据Step07:图形化编程代码移植积木搬运Step76将api替换为self.api最终的代码注意:要做代码缩进,Tab键Step07:图形化编程代码移植任务实施积木搬运随堂任务积木搬运(python)通过pycharm进行python编程,实现积木搬运动作。(1)学号尾号为奇数:实现3个积木(3cm)搬运,其中:
起始地点积木垂直叠放,目的地积木水平摆放。(2)学号尾号为偶数:实现4张纸牌(5.5x8.5cm)搬运,其中:
起始地点纸牌水平摆放,目的纸牌垂直摆放。【作业提交】:代码截图,机械臂搬运截图。Thankyou机器人,有“控”玩。任务3-4人脸解锁机械臂《智能机械臂控制》人脸识别人脸解锁机械臂解锁成功:机械臂开始积木搬运解锁失败:机械臂不动作任务解析知识链接1:face_recognition人脸识别人脸识别face_recognition是一个功能强大、简单且易上手的人脸识别开源项目。基于face_recognition人脸识别库,可以使用Python和命令行工具提取、识别、操作人脸。face_recognition人脸识别基于业内领先的C++开源库dlib中的深度学习模型,并在LabeledFacesintheWild人脸数据集进行了测试,可达到99.38%的准确率。face_recognition项目网址:https:///ageitgey/face_recognition安装方法:pip3installface_recognition知识链接1:face_recognition人脸识别人脸识别face_recognition特性1:从图片中找到人脸importface_recognitionimage=face_recognition.load_image_file(“lena.jpg")top,right,bottom,left=face_recognition.face_locations(image)face_image=image[top:bottom,left:right]知识链接1:face_recognition人脸识别人脸识别face_recognition特性2:识别人脸关键点(眼睛、鼻子、嘴和下巴等)importface_recognitionimage=face_recognition.load_image_file("your_file.jpg")face_landmarks_list=face_recognition.face_landmarks(image)知识链接1:face_recognition人脸识别人脸识别face_recognition特性3:识别图片中的人是谁importface_recognitionknown_image=face_recognition.load_image_file(“lena.jpg")unknown_image=face_recognition.load_image_file("unknown.jpg")lena_encoding=face_recognition.face_encodings(known_image)[0]unknown_encoding=face_recognition.face_encodings(unknown_image)[0]results=face_recognition.compare_faces([lena_encoding],unknown_encoding)“lena”知识链接2:Dlib人脸识别Dlib是一个开源C++开工具箱,其中包含机器学习算法和工具,广泛应用于工业界和学术界。主要特点:机器学习算法、数值计算算法、图形模型推理算法、图像处理等。安装:pipinstallcmakepipinstalldlib参考网址:http:/// http:///python/index.html摄像头知识链接3:硬件介绍任务实施:人脸解锁机械臂人脸识别(1)以任务3-3python工程为基础(2)face拷贝到工程目录。(3)新建python文件faceRecognition.pyStep01:工程搭建人脸识别(1)通摄像头采集不少于3个人的人脸,
并进行裁剪,图像推荐宽度480像素以下(2)图像保存在目录face\img\face_recognition下(3)每张图片,以姓名拼音命名Step02:素材准备人脸识别DobotControl_block.py注释掉主函数(快捷键:Ctrl+/);使得机械臂由上层控制Step03:机械臂控制代码修改人脸识别Step04:faceRecognition.py(1)导入库;设置人脸图片目录;
将myName修改为自己图片的文件名人脸识别Step04:faceRecognition.py(2)加载图片load_image_file;提取图片特征点face_encodings人脸识别Step04:faceRecognition.py(3)连接机械臂;加载人脸特征;开启摄像头人脸识别Step04:faceRecognition.py(4)查找人脸位置、对人脸进行编码人脸识别Step04:faceRecognition.py(5)人脸匹配人脸识别Step04:faceRecognition.py(6)人脸匹配成功,则控制机械臂动作python随堂任务人脸解锁机械臂人脸解锁机械臂,实现积木搬运动作。(1)学号尾号为奇数:实现3个积木(2.5cm)搬运,其中:
起始地点积木垂直叠放,目的地积木水平摆放(2)学号尾号为偶数:实现4张纸牌(5.5x8.5cm)搬运,其中:
起始地点纸牌水平摆放,目的纸牌垂直摆放【作业提交】:代码截图,人脸识别截图。任务实施Thankyou机器人,有“控”玩。任务4-1机器臂搬运分拣《智能机械臂控制》任务解析搬运分拣第一台机械臂Dobot1用于搬运物块,第二台机械臂Dobot2用于分拣物块。(1)机械臂底座接口知识链接1:机械臂接口底座接口序号说明1复位按键,复位MCU程序此时底座指示灯变为黄色。约5秒后,复位成功,底座指示灯变为绿色2功能按键。
短按一下:执行脱机程序
长按2s以上:启动回零操作3UART接口/通信接口,可连接蓝牙、WIFI模块。采用Dobot协议4USB接口,连接PC进行通信5电源,连接电源适配器6外设接口,可连接气泵、挤出机、传感器等外部设备。详见:Dobot-Magician-User-Guide-V1.7.0.pdf知识链接1:机械臂接口底座接口(1)机械臂底座接口——外设接口PeripheralInterface接口说明SW1气泵盒电源接口/自定义12V可控电源输出SW2自定义12V可控电源输出Stepper1自定义步进电机接口:3D打印挤出机接口(3D打印模式)传送带电机接口滑轨电机接口Stepper2自定义步进电机接口GP1气泵盒控制信号接口/光电传感器接口/颜色传感器接口/自定义通用接口GP2自定义通用接口/颜色传感器接口/滑轨回零开关接口知识链接1:机械臂接口底座接口(1)机械臂底座接口——外设接口:引脚定义详见:Dobot-Magician-User-Guide-V1.7.0.pdf步进电机1步进电机2复用IO复用IO接口类型说明IO电平输入、电平输出PWM脉冲宽度调制接口,即:改变平均电压大小REV正反转控制ADC模拟信号转数字信号接口知识链接1:机械臂接口底座接口(1)机械臂底座接口——通信接口CommunicationInterface接口说明电源接口5V、GND;12V、GND串口UARTRX,TX复位nRSTEIO18电平输出(3.3V)EIO19电平输入(3.3V)EIO20StopKey;电平输入(3.3V)(2)小臂外设接口知识链接1:机械臂接口小臂接口序号标识说明1GP3R轴舵机接口/自定义通用接口2GP4自动调平接口/光电传感器接口/颜色传感器接口/自定义通用接口3GP5激光雕刻信号接口/光电传感器接口/颜色传感器接口/自定义通用接口4SW33D打印加热端子接口(3D打印模式)/自定义12V可控电源输出5SW43D打印加热风扇(3D打印模式)/激光雕刻电源接口/自定义12V可控电源输出6ANALOG3D打印热敏电阻接口(3D打印模式)(2)小臂外设接口:引脚定义知识链接1:机械臂接口小臂接口接口类型说明电源接口12V、5V、GNDPWM脉冲宽度调制接口,即:改变平均电压大小ADC模拟信号转数字信号接口(3)机械臂底座——指示灯知识链接1:机械臂接口指示灯状态说明绿色常亮正常黄色常亮启动状态蓝色常亮脱机状态蓝色闪烁正在执行回零操作、正在进行自动调平红色常亮处于限位状态、报警未清除、3D打印套件连接错误微型传送带42步进电机步距角=1.8度联动轴直径=36mm知识链接2:传送带传送带传送带参数运行负载500g有效运载长度600mm最大速度120mm/s最大加速度1200mm/s2尺寸700mmx215mmx60mm重量4.2kg传送带传送带与机械臂的连接方式知识链接2:传送带Stepper1针脚定义传送带传送带与机械臂的连接方式知识链接2:传送带传送带测试【传送带测试】选择电机编号:STEPPER1理论速度:<=120mm/s实测:速度<=75mm/s知识链接2:传送带传感器【功能】:检测开关前方一定距离是否有物体。如检测到物体,红色指示灯亮,读取结果为1,否则灯灭,读取结果为0知识链接3:光电开关连接方式:传感器测试【光电传感器测试】知识链接3:光电开关传感器【功能】:识别3种基本的颜色:蓝色、绿色、红色。
当检测到相应的颜色时,对应的变量值为1,其他变量值为0。举例:如检测红色木块,得到的结果为:R=1,G=0,B=0知识链接4:颜色识别传感器颜色识别传感器供电电源3-5V可检测不发光物体颜色白色LED:亮、灭可控连接方式传感器测试【颜色传感器测试】知识链接4:颜色识别传感器任务实施:积木搬运分拣Step01:硬件安装搬运分拣【注意事项】:关机->断电->安装请在机械臂完全断电的情况下,断开或者连接外部设备,关闭机械臂时,待指示灯熄灭后,机械臂才完全断电。搬运分拣Step01:硬件安装安装工具Step01:硬件安装搬运分拣参照下图:1.摆放机械臂、传送带、定位板。
2.安装传送带、光电开关和颜色传感器。机械臂1机械臂2传送带定位板定位板搬运分拣
将传送带电机线连接到第一台机械臂(右侧的)的底座接口Stepper1上。
Step01:硬件安装——传送带搬运分拣将颜色传感器导线接到第二台机械臂(左侧的)底座接口GP2Step01:硬件安装——颜色传感器搬运分拣将红外光电传感器导线接到第二台机械臂(左侧的)小臂接口GP4Step01:硬件安装——光电开关搬运分拣设置两台机械臂的回零点。
机械臂回零点可以设置高一点,防止回零过程中碰撞导致丢步。如果丢步需要重新回零机械臂
(1)打开DobotStudio,连接机械臂并单击“示教在线”。Step02:回零点设置搬运分拣(2)按住“解锁”按钮,调整机械臂到需要设置的零点位置,松手则位置坐标自动保存
双击数字可以对位置值做微调。Step02:回零点设置搬运分拣(3)在该点位位置单击鼠标右键,选择“设置为回零位置”。Step02:回零点设置搬运分拣(4)设置成功后,会弹出“确认”窗口。单击“归零”操作,确定是否成功,如没有,请按机械臂底座后面的reset键复位后重复上述操作。
Step02:回零点设置搬运分拣第一台机械臂Dobot1用于搬运物块,第二台机械臂Dobot2用于分拣物块。运行两个DobotStudio客户端,分别打开Blockly,编写“搬运”和“分拣”程序。Step03:软件设计图形化编程第一台机械臂:搬运程序pickplace【获取“调试点”位置】按住搬运机械臂的“解锁”键将机械臂移动到第一块积木的位置。让吸盘处于积木上方正中间位置。根据获取值修改XYZStep03:软件设计——搬运程序图形化编程第一台机械臂:搬运程序pickplace【获取“放置点”位置】勾选“吸盘”,让吸盘吸住积木,按住小臂“解锁”键,将积木移动到传送带上搬运的起始位置根据获取值修改XYZStep03:软件设计——搬运程序图形化编程OyxjkO机械臂坐标运动方向坐标Step03:软件设计——搬运程序吸盘下压根据积木位置,修正X、Y坐标X、Y坐标的微调量计算吸盘上升【积木搬运程序】321654987图形化编程【传送带“停止”位置】设置传送带的运行速度和时间来控制传送带运行距离,从而使积木到达光电开关位置,准确地停留在分拣机械臂抓取范围内。考虑:通过光电开关控制传送带启停?Step03:软件设计——搬运程序设置传送带电机速度设置运行时间停止运行【控制传送带延时停止】图形化编程第二台机械臂:分拣程序sorting【获取“抓取点”位置】按住搬运机械臂的“解锁”键将机械臂移动到积木停放的位置。让吸盘处于积木上方正中间位置。根据获取值修改XYZStep03:软件设计——分拣程序图形化编程第二台机械臂:分拣程序sorting【获取“颜色识别”位置】勾选吸盘,让吸盘吸住积木,按住小臂“解锁”键,将积木移动到颜色传感器上方(距离颜色传感器不要太远,5mm~10mm即可)根据获取值修改XYZStep03:软件设计——分拣程序图形化编程第二台机械臂:分拣程序sorting【获取“放置”位置】按住小臂“解锁”键,用机械臂将积木移动到想要的放置位置(位置需可达)根据获取值修改XYZStep03:软件设计——分拣程序图形化编程第二台机械臂:分拣程序sorting【识别颜色、分类摆放】Step03:软件设计——分拣程序图形化编程第二台机械臂:分拣程序sorting【抓取、颜色识别、分类摆放积木】读取光电传感器数值,控制机械臂吸取积木,进行颜色识别,按照颜色,分别摆放积木准备抓取时,Z轴方向要高于积木Step03:软件设计——分拣程序搬运分拣Step04:系统运行调试第一台机械臂Dobot1用于搬运物块,第二台机械臂Dobot2用于分拣物块。搬运分拣任务4-1基础:传送带-光电-颜色传感器测试通过DobotStudio进行Blockly图形化编程,实现:(1)传送带启停测试(2)光电传感器测试,输出测试结果(3)颜色传感器测试,输出测试结果【作业提交】:代码截图,提交职教云任务实施搬运分拣任务4-1进阶:积木搬运分拣(图形化编程)通过DobotStudio进行Blockly图形化编程,实现积木搬运分拣。(1)学号尾号为奇数:实现3x3x2个积木搬运分拣。(2)学号尾号为偶数:实现2x2x2个积木搬运分拣。【注意】:考虑Z轴高度的变化【作业提交】:代码截图,机械臂搬运分拣拍照任务实施Thankyou机器人,有“控”玩。传感器测试【颜色传感器测试】知识链接4:颜色识别传感器任务4-2有“感情”的传送带《智能机械臂控制》python
“有感情”的传送带(python)根据人脸表情,调整传送带速度(0-120mm/s)(基于任务3-4
人脸识别工程)任务解析人脸检测detectMultiScale()OpenCVHaar特征分类器人脸图像处理人脸表情识别预测CNN分类模型表情标签(0-6)传送带速度控制python任务解析摄像头图像66*20120mm/s知识链接1:OpenCV人脸检测人脸检测(1)Haar特征和级联分类器
Haar特征和级联分类器是一种经典的“目标检测算法”,适用于检测物体在图像中的位置、大小和姿态等。在OpenCV中,提供了训练好的Haar特征和级联分类器XML文件,该文件中会描述人体各个部位的Haar特征值。包括:人脸、眼睛、嘴唇等等。Haar特征和级联分类器存放目录:OpenCV安装目录中\data\haarcascades目录下。知识链接1:OpenCV人脸检测人脸检测(1)Haar特征和级联分类器OpenCV-pythonhaarcascade各种分类器文件位置打开分别输入命令:condaactivatepp_py37pipshowopencv-python为方便程序调用、移植,本任务中,将分类器放到当前工程文件夹face/haarcascades目录下知识链接1:OpenCV人脸检测人脸检测(2)多尺度测函数detectMultiScale()OpenCV中的detectMultiScale函数可基于物体的特征定位(如Haar特征)检测图像中是否包含指定的物体。
检测器以移动窗口形式搜索图像,并在每一个窗口运行特征定位,判断是否存在特定的物体。如果特征定位返回积极的结果,则说明该窗口存在目标物体,算法会保留该窗口位置以及物体在图像中的精确轮廓。知识链接1:OpenCV人脸检测人脸检测(3)使用detectMultiScale()进行人脸检测【参数说明】image——待检测图片,一般为灰度图像,加快检测速度;scaleFactor——搜索窗口的比例系数,每次图像尺寸减小的比例,默认为1.1,即每次缩小10%minNeighbors——默认3,每一个目标至少要被检测到3次才算是真的目标flags——使用默认值,新版未使用minSize——检测到的人脸最小尺寸maxSize——检测到的人脸最大尺寸【返回值】:目标对象的矩形框向量组知识链接2:传送带控制传送带(1)电机速度设置函数dType.SetEMotor(api,index,isEnabled,speed,isQueued=0)api:Dobot库的对象.index:电机编号:0:Stepper1;1:
Stepper2isEnabled:开关状态:0:关,1:开speed:运转速度,脉冲数/秒isQueued:队列模式使用开关状态:1∶使用队列模式,0:不使用队列模式返回:队列模式:队列命令索引;立即模式:0知识链接2:传送带控制传送带(2)已知:42步进电机,步距角=1.8度;联动轴直径=36mm求解:速度V(mm/s)对应的脉冲数/秒①每周脉冲数已知:步距角=1.8度可得:每周脉冲数Pulses=360.0/1.8=200②1mm对应的脉冲数已知:联动轴直径=36mm可得:联动轴周长C=3.14*36.0≈113.04mm200脉冲/113.04mm=1.769脉冲/mm;每走1mm,需要发送1.769个脉冲
③传送带最大速度120mm/s;
速度脉冲最大值
=120*1.769≈212脉冲/秒知识链接2:传送带控制传送带(2)已知:42步进电机,步距角=1.8度;联动轴直径=36mm求解:速度V(mm/s)对应的脉冲数/秒
④步进电机进行了10*16的细分,则:任意速度V(mm/s),对应的每秒脉冲数为:P=V*1.769*10.0*16.0
步进电机速度范围:0~212脉冲/秒任务实施:人脸表情驱动传送带python注意:确保机械臂已经关机、断电;传送带断电!!!Step01:环境准备传送带与机械臂底座stepper1连接pycharm工程pythonDobotControl_block.py
编写传送带控制函数ARM_ConveyorStep02:传送带控制pythonemotion.py①导入库②定义人脸检测器③加载表情识别CNN模型④定义表情标签Step03:人脸表情识别(1)pythonemotion.py
:cv2ImgAddText()图片上添加中文显示Step03:人脸表情识别(2)pythonStep03:人脸表情识别(3)emotion.py①机械臂初始化②开启摄像头
采集图像、图像预处理pythonStep03:人脸表情识别(4)emotion.py①通过OpenCV检测人脸②逐个计算人脸图像面积pythonStep03:人脸表情识别(5)emotion.py①找出面积最大的人脸②人脸图像处理③
识别人脸表情④
设置传送带速度⑤
绘制人脸框pythonStep03:人脸表情识别(6)emotion.py①显示结果图像②调整传输带速度③
摄像头关闭④
与机械臂断开串口连接python随堂任务“有感情”的传送带(python)通过pycharm进行python代码编程:(1)完善传送带控制函数ARM_Conveyor(2)撰写人脸表情识别代码emotion.py【作业提交】:传输带控制函数ARM_Conveyor代码截图,
人脸表情控制传送带运动视频截图。任务实施Thankyou机器人,有“控”玩。智能产品设计制作综合实训
——机械臂视觉抓取系统合作QQ:243001978CONTENTS目录积木识别与抓取扑克牌识别与抓取合作QQ:243001978Part1积木识别与抓取1.1静态积木识别与定位抓取
OpenCV识别,定位吸取,定位抓取(8)1.2静态积木识别与任意位置抓取
相机标定,坐标系变换,随意位置抓取(8)实训安排Part2扑克牌识别与抓取2.1扑克牌识别(OpenCV)(4)2.2静态扑克牌任意位置吸取(6)2.3撰写实训报告(4)任务5-1积木识别《智能机械臂控制》主讲教师:吴蓬勃知识链接1:积木识别抓取的流程工作流程1.积木识别获取积木中心像素坐标2.坐标变换像素坐标->机械臂坐标3.抓取机械臂运动控制知识链接2:图像预处理OpenCV图像噪声是指存在于图像数据中不必要的或多余的干扰信息,噪声会让图像变得不清楚,妨碍人们对图像进行理解。(1)来源:噪声可能来自于图像获取、传输、处理或存储过程中的各种因素。(2)表现形式:噪声在图像中常表现为一些孤立的像素点或像素块,它们与要研究的对象不相关,以无用的信息形式出现,扰乱图像的可观测信息。积木识别——预备知识:图像的噪声知识链接2:图像预处理OpenCV图像噪声种类:高斯噪声、椒盐噪声、斑点噪声、泊松噪声等。积木识别——预备知识:图像的噪声高斯噪声椒盐噪声每个像素点的噪声服从独立同分布的高斯分布像素值突然变为最大或最小值知识链接2:图像预处理OpenCV图像噪声种类:高斯噪声、椒盐噪声、斑点噪声、泊松噪声等。积木识别——预备知识:图像的噪声高斯噪声产生原因:图像在拍摄时不够明亮、亮度不够均电路各元器件自身噪声和相互影响;传感器长期工作温度过高等。采用高斯滤波器进行处理知识链接2:图像预处理OpenCV图像噪声种类:高斯噪声、椒盐噪声、斑点噪声、泊松噪声等。积木识别——预备知识:图像的噪声椒盐噪声产生原因:一般低光照条件下,图像的噪声多为椒盐噪声而不是高斯噪声,比如矿井下的图像。椒盐噪声通常使用中值滤波器进行处理。知识链接2:图像预处理OpenCVS0:原图S1:高斯模糊减少图像噪声、降低细节层次积木识别:知识链接3:标准的HSV空间视觉识别汽车剐蹭——掉漆知识链接3:标准的HSV空间视觉识别汽车油漆:红?汽车油漆调色是个技术活知识链接3:标准的HSV空间视觉识别【HSV空间】H:色调,色彩信息。角度度量:0~360°S:饱和度,颜色的深度:0%—100%V:色调,色彩的明亮程度:0%—100%RGBHSVRGB颜色空间仅适合于显示系统,HSV空间则更适合于图像处理知识链接3:OpenCV的HSV空间视觉识别H:色调,色彩信息,0-180S:饱和度,颜色的深度,0-255V:色调,色彩的明亮程度,0-255【转换】:Ho=H/360*180;So=S/100*255Vo=V/100*255
黑灰白红橙黄绿青蓝紫hmin000015611263578100125hmax1801801801018025347799124155smin000434
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论