登录
首页 » Others » 基于STM32的MS5611程序 气压计 IIC

基于STM32的MS5611程序 气压计 IIC

于 2020-12-10 发布
0 293
下载积分: 1 下载次数: 2

代码说明:

本资源是基于STM32的MS5611的程序 采用标准IIC协议,MS5611库函数

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 中国1:100万土壤质地空间分布数据
    中国土壤质地空间分布数据是根据1:100万土壤类型图和第二次土壤普查获取到的土壤剖面数据编制而成,是根据砂粒、粉粒、黏粒含量进行土壤质地划分。数据分为Sand(砂土)、Silt (粉砂土)、与clay (黏土) 三大类,每一类数据均通过百分比来反应不同质地颗粒的含量。
    2020-06-21下载
    积分:1
  • 六轴机械臂正解(FK)和逆解(IK)算法
    整理出了如下几个计算六轴机械臂正解和逆解的关键点:01_机器人坐标系和关节的说明02_算法坐标系的建立03_D-H参数表的建立04_FK(正解)算法05_Matlab辅助计算FK(正解)06_IK(逆解)算法07_Matlab辅助计算IK(逆解)文档中针对FK以及IK算法的推导均有详细的推导过程。希望各位能根据推导过程写出自己的代码。图1针对机器人的关节坐标系,我们还需要规定各个关节的转动方向,如下图所示,我们依次描叙了各个关节的正负方向。在关节坐标系下,机器人各个关节的转动方向,必须和下图相符图22.机器人直角坐标系目前所说的直角坐标系是机器人的工具坐标系,如下图所示,因为该机器人没有安装执行末端,所以,工具坐标系原点在第六轴末端法兰中心处,红色箭头是Ⅹ轴,蓝色箭头是乙轴,根据右手定则确定Y轴方向@图3基坐标系所在的位置是定义机器人基座的位置,如上图所示,坐标系原点在第一关节的中心处,红色箭头所示为Ⅹ轴,蓝色箭头所示为乙轴,根据右手定则,即可确定Y轴的方向。具体如上图旁边那个坐标系所示。当我们说六轴机械臂位姿时,说的是六轴机械臂末端的位姿,该位姿包括六个参数,分别为Ⅹ YZABC。六轴机械臂未端的位姿是以基坐标系作为参考坐标系的:笛卡尔坐标系的Ⅹ轴,Ⅹ轴距离Y:笛卡尔坐标系的Y轴,Y轴距离Z:笛卡尔坐标系的Z轴,z轴距离A:XY-Z固定角坐标系下的偏转角B:X-Y-Z固定角坐标系下的俯仰角C:XY-Z固定角坐标系下的回转角ZA2呈Ax图如上图所示,A对应第一个坐标系中的γ,B对应第二个坐标系中的β,C对应第三个坐标系中的Q。为什么我们需要花费专门的一节来讲解六轴机器人的坐标系和关节?因为我们后续要学习的FK和就是以这个为基础的。FK是已知六轴机械臂在关节坐标系下各个关节转动的角度,然后求解直角坐标系下的Ⅹ YZABOK是已知六轴杋械臂在直角坐标系下的 XYZABO,然后求解关节坐标系下各个关节转动的角度二.算法坐标系的建立为了得出D-H参数表,我们首先需要针对六轴机器人的各个关节建立坐标系,在固定的坐标系下,才能最终得出连杆之间的变换关系,从而建立D-H参数表。82个2算法坐标系确定的通用方法如下1)坐标系的Z轴,与各个关节的旋转中心轴线重合2)坐标系的X轴,与沿着相邻两个z轴的公垂线重合3〕坐标系的Y轴,可以通过右手定则来确定当相邻两个z轴相交时,确定坐标系的方法如下1)坐标系的Y轴,沿着第一个Z轴与下一个z轴相交的延长线为Y轴2)坐标系的Ⅹ轴,通过右手定则确定当相邻两个Z轴平行时,确定坐标系的方法如下1)坐标系Ⅹ轴,相邻两个乙轴平行,做两个乙轴的公垂线,相交于下一个z轴为Ⅹ轴,方向为第一个Z轴到下一个Z轴的方向2)坐标系Y轴,通过右手定则确定三.D-H参数表的建立D-H参数表,实际上是相邻各个关节坐标的变换关系表,根据之前针对各个关节所建立的丛标系,按照如下四条变换规则,即可得到D-H参数表。变换规则1)绕Z轴,旋转9n+1n与Xn+1平行(方向一致))沿Zn轴,平移与Xn+1共线3)沿Xn轴,平移aAn与Xn+1原点重4)将Zn绕Xn+1轴,旋转αn+1Zn与Zn+1共线建立D-H参数表的详细步骤第一步,从第一关节到第二关节之间的变换绕z轴,旋转0度,让X0与X1平行且方向一致沿z轴,平移242,让Ⅺ0与X1共线沿Ⅺ轴,平移0,Ⅺ与X1原点重合将石绕X1轴,旋转90度,Z0与z1共线第二步,从第二关节到第三关节之前的交化绕z1轴,旋转90度,让X1与X2平行且方向一致沿Z1轴,平移0,让X1与X2共线沿X1轴,平移225,X1与X2原点重合将Z1绕X2轴,旋转0度,Z1与Z2共线第三步:从第三关节到第四关节之间的交换绕z2轴,旋转0度,让X2与X3平行且方向一致沿Z2轴,平移0,让Ⅹ2与X3共线沿X2轴,平移0,X2与X3原点重合将Z2绕X3轴,旋转90度,Z2与z3共线第四步:从第四关节到第五关节之间的变换绕z3轴,旋转0度让X3与X4平行且方向一致沿3轴,平移22886,让X3与X4共线沿3轴,平移0,X3与X4原点重合将Z3绕X1轴,旋转90度,Z3与Z1共线第五步:从第五关节到第六关节之间的变换绕Z4轴,旋转90度,让X4与X5平行且方向一致沿Z4轴,平移0,让X4与X共线沿X轴,平移0,X1与K5原点重合将Z4绕X5轴,旋转90度,Z4与z共线第六步:从第六关节到未端之间的变换绕z轴,旋转0度,让X5与X6平行且方向一致沿z轴,平移-50,让X5与X6共线沿X轴,平移0,X5与K6原点重合将z绕X轴,旋转0度,Z5与z6共线根据上图所示机械臂的尺寸参数以及以上六个步骤的变换,D-H参数表如下所示420901-202253-4228.864-5900900-500四.正解(FK)算法根据连杆变换规贝T=R(Z, B1*T(Z, di)*T(X, ai)*R(X, ai)6;00因为R(Z06:00100000aT(Z,a1)=00001000011000T(xa10100001d0001000 caROX. a)= osa oa;0001根据以上矩阵变换,可以得到如下连杆变换的通用矩阵如下Bi -se, ca s0,sa, a,c61s0 ce:cad sa asa0 saca d00根据以上连杆变换的通用矩阵和之前的D-H参数表,可以得到如下δ个连杆变换矩阵e10s61^0S0 0T6100102420001s20-22S620225c62000001620s60b203001000040s日4000c0 0010228.860001s50c650C650s650000006-s6006000C001-40FK算法需要解决的问题是:已知各个关节的转动角度,需要求出末端的位姿。已知:(61,2,θ3,θ4,θs,θ6求解:(X,Y,乙,A,B,C)计算公式如下所示13机器末端的位姿矩阵为72272313273300011722723py07*1T2T*37*4T5Tp000在以上的推导过程中,、T、2、37、4、7分别为相对于01、02、63、64、6s、的已知量。由此可以求解出位置变量(pPP)以及姿态变量a1T2723五. Matlab辅助计算正解(FK)根据上一章,我们有如下结论10s10100102420001s2-c620-225s6CS20225C60010
    2020-12-05下载
    积分:1
  • CUDA by example (中文:GPU高性能CUDA实战)代码实例.zip
    【实例简介】CUDA by example代码实例
    2021-12-02 00:43:45下载
    积分:1
  • 基于单目视觉的三维重建
    在计算机视觉领域中,使用二维投影恢复物体三维信息的过程称为三维重建。三维重建在计算机视觉中具有重要的研究价值
    2020-12-06下载
    积分:1
  • led点阵屏16*32 完整设计资料(毕业设计)
    led点阵屏16*32 包含从原理到电路设计、软件设计再到PCB设计、程序编写 及 电脑端下载软件设计(Visualbasic)。整套完整资料 包含完整毕业设计论文
    2020-12-05下载
    积分:1
  • 用matlab计算img图像的均方根误差
    图像指标的matlab实现 求两图像的均方根误差
    2020-12-11下载
    积分:1
  • emd分解序,时间序列分解工具
    对时间序列进行经验模式分解,适用于非线性非平稳信号
    2020-12-03下载
    积分:1
  • 电动汽车的制动能量回收系统.caj
    电动汽车的制动能量回收系统.caj
    2021-05-06下载
    积分:1
  • Weblogic反序列化远代码执行漏洞(CVE-2018-2628) 补丁包
    Oracle Fusion Middleware Oracle WebLogic Server组件安全漏洞,这个是weblogic12.1.3.0 版本的补丁包,有需要的可以下载
    2020-12-06下载
    积分:1
  • 工业机器人控制轨迹规划及
    wei简单的介绍了工业机器人控制轨迹规划和编程课程,可以参考下,开拓思路山东建筑大学备课纸第七章工业机器人的轨迹规划及编程轨迹规划轨迹规划是指根据作业任务要求,确定轨迹参数并实时计算和生成运动轨迹。它是工业机器人控制的依据,所有控制的目的都在于精确实现所规划的运动。机器人语言机器人具有可編程功能,因此需要用户和机器人之间的接口。为了提高编程效率,岀现了机器人编程话言,它以一种暹用的方式解决了人一机通信问题。机器人离线编程机器人离线编程系统是利用计算机图形学,建立机器人编程环境,从而可以脱离机器人工作现场进行编程的系统。由于不占用机动时间,提高了设备利用率。而且由于离线编程本身就是 CAD/CAM一体化的组成部分,有时可以直接利用CAD数据库的信息,大大减少了编程时间,提高了编程水平。7.1工业机器人的轨迹规划引言指定工业机器人执行某政接作作[加些约束条住轨迹的划和协关节坐标空间斗标空间轨迹规划涉及卜面三个问题◇要对机器人的任务进行描述,即对机器人的运动轨迹进行描述。◇根据所确定的轨迹参欻,如何在计算机内部描述所要求的轨迹。这主要是选择习惯规定以及合理的软件数据结构问题。◇对内部描述的轨迹进行实际计算。通常是在运行时间内按一定的速率计算出位置、速度和加速度,生成运动轨迹。二、轨迹规划的一般性问题工业机器人的作业可以描述成工具坐标系{相对于工作坐标系{S的一系列运动:图7-1作业的措述工具坐标系相对于工作坐标系的运动来描述作业路经把作业路径的描述与具体的机器人、手爪或工具分离开来,形成了模型化的作业描述方法。从而使这种描述既适用于不同的机器人,也适用于同一机器人上装吏不同规格的工具:2凯器具的症置程上置机器人从初始状态运动到终止状态的作业,看成是工具巫标系从初始位置T0}变化到终止位置Tf}的坐标变换变换包含了工具坐标系的位置和姿态的变化。在轨迹规划中,也常用“点”这个词来表示机器人的状态,或用它来表示工具坐标系的位姿。当需要更详细地描述运动时,不仅要规定机器人的起始点和终止点,而且要给出介于起始点和终止点之间的中间点,也称路径点运动轨迹除了位姿约束外,还存在着各路径点之间的时间分配问题。例如,在规定路径的同时,必须给出两个路径点之间的运动时间机器人的运动应当平稳,不平稳的运动将加剧机械部件的磨损,并导致机器人的振动和冲击。钪迹规划既可在关节■空间中进行,也可在直角坐标空间中进行。在关节空间中进行轨·迹规划是指将所有关节变量表示为时间的函数,用这些关节函数及其阶、三阶导数描述机器人预期的运动。在直角坐标空间中进行轨迹规划,是指将手爪位姿、速度和加速度表示为时间的函数,而相应的关节位置、速度和加速度由手爪信息导出三、关节空间的轨迹规划机器人作业路径点通常由工具坐标系(}相对于工作坐标系{S)的位姿来表示,因此,在关节空间中进行轨迹规划4≯首先需要将毎个作业路径点向关节空间变换,即用逆运动学方法把路径点转换成关节角度值,或称关节路径点;然后,为毎个关节相应的关节路径点拟合光滑函数;这些关节函数分別描述了机器人各关节从起始点开始,依次通过路径点,最后到达某目标点的运动轨迹。由于毎个关节在相应路径段运行的时间相同,这样就保证了所有关节都将冋时到达路径点和目标点,从而也保证了工具坐标系在各路径点县有预期的位姿;关节空间的轨迹规划:关节空间中进行轨迹规划,不需考虑直角坐标空间中两个路径点之间的轨迹形状,仅以关节角度的函数来描述机器人的轨迹,计算简单、省时;关节空阃与直角坐标空间并不是连续的对应关系,关节空间内不会发生机构的奇异现象,从而避免了在直角坐标空间规划时所出现的关节速度失控问题;在关节空间进行轨迹规划,规划路径不是唯一的。只要满足路径点上的约束条件,可以选取不同类型的关节角度函数,生成不同的轨迹。1.三次多项式插值当己知末端操作器的起始位姿和终止位姿时,庄逆向运动学,即可求出对应于两位姿的各个关节角度。因此,末端操作器实现两位姿运动轨迹描述,可在关节空间中用通过起始点关节角和终止点关节角的一个平滑轨迹函数0(t)来表示;为了实现关节的平稳动,每个关节的轨迹函数(t至少需要满足四个约束条件:两端点位置约束和两端点速度约束端点位置约束是指起始位姿和终止位姿分别所对应的关节角度00=已为满足关节运动速度的连续性要求,在起始点和终止点的关节速度简单地设定为零,即(0=06()=0上述给出的四个约東条件可以唯一地确定一个三次多项a(t)=a0+a!t+a22+a3t3运动过程中的关节速度和加速度则为:9()=a1+2a2!+3agt2(t)=2a2+6at为了求得三次多项式的系数,代以给定的约束条件,有方稈组分=a+at+a+aD-dt 2u r t ja rl求解上述方程组,可得3所以,对于初速及终速为零的关节运动,满足连续平稳运动要求的三次多项式插值函数为a(r=6+(-2--)其关节角速度和角加速度表达式为()-是2(明,-一吾(,-8F6()=是(4-)-;-r三次多项式插值的运动轨迹曲线!图7三践康式插值毛动轨遗)位瞎时刺雙:{)急澧时繭线:C)鱼加速度间曲线2.过路径点的三次多项式插值机器人作业除在A、B点有位姿要求外,在路径点C、D…也有位姿要求。对于这种情況,假如终端执行器在路径点停留,即各路径点上速度为0,则轨迹规划可连续直接使用前面介绍的三次多项式插值方法;但如果只是经过,并不停留航需要将前述方法推广。AB仨某段路径上,“起始点”为θ0和ω0,"终止点"为f和ωf。这时,确定三次多项式系数的方法与前面所述的完全一致,只不过是速度约束条件变为e(0)=me(r)=a利用约束条件确定三次多项式系数,有下列方程组:9=0+ax+口+aa,=a1+2a+3求解方程组3+出)=02)+七《+路径点上的关节速度,可出以下任一规则确定如果机器人末端操作器在经过路径点时冇速度要求,则可以利用此路径点上的逆雅可比矩阵,把该路径点的直角坐标速度转换成关节坐标速度。轨迹规划时则以此作为速度约来条件。如果某个路径点是机器人的奇异点,即此点的逆雅可比不可求,这时就无法求关节速度了;此外,在求各点关节速度时,要逐点计算逆雅可比矩阵,并依此计算关节速度,耗时较多。路径点上的关节速度,可由以下任一规则确定由控制系统采用某种启发式方法自动地选取合适的路径点速度。用三次多项式插值前,先假设各路径点之间关节运动速度是均匀的,即图中所示用直线段将这些路径点依次连接起来。规则选定:如果桾邻线段的斜率在路径点处改变符号,则速度选为零;如杲相邻线段斜率不改变符号,则选取路径点两侧的线段斜率的平均值作为该点的速度。因此,只要给定路径点,系统就能依此规则自动生成相应的路径点速度路径点上的关节速度,可由以下任一规则确定斗按照保证毎个路铚点的加速度连续的原则,由控制系统自动地选择路径点的速度。为此,可以设法用丙条三次曲线在路径点处按一定规则连接起来,拼凑成所要求的轨迹。拼凑的约束条件是:连接处速度连续,而且加速度也连续。7.2工业机器人的编程机器人编程方式机器人编程,是针对机器人为完某瓊作亚进拉程序投复的人的吧4国和力与编国性定环境中作诀上式有大关作业能方微计算机近自然路司匿人与机器实现各种机器人揉作机器人编程方法三种形式1、示教编程操作者必须把机器人终端移动至目标位置,并把此位置对应的机器人关节角度信息记录进内存储器,这是示教过程。当要求复现这些运动吋,顺序控制器从内存读岀相应位置,机器人就可重复示教时的轨迹和各科操作,这是再现过程。手把手示教」示教盒示教于把手示教要求用户使用安装在机器人于臂内的操纵杆,按给定运动顺序示教动作内容。示教盒示教则是利用装在控制盒上的按钮驱动机器人按需要的顺序进行操作示教编程优点:只需要简单的设备和控制装置即可进行。操作简单,易于掌握。示教再现过程很快,示教之后马上即可应用。示教编程缺点:编程占用机器人的作业时间艮难规划复杂的运动轨迹以及准确的直线运动;难以与传感信息相配合难以与其他操作同步;2、机器人语言编程实现了计算机编程,并可以引人传感信息,从而提供一个更通用的方法来解决人一机器人通信接口问题。目前应用于工业中的是动作级和对象级机器人语3、离线编程用通用语言或专门语言预先进行程序设计,在离线的情况下进行轨迹规划的编程方法。离线编程系统是基于CAD数据的图形编程系统。由于CAD技术的发展,机器人可以利用CAD数据生成机器人路径,这是集机器人于CIMS系统的必由之路、机器人语言编程早期的工业机器人,由于完成的作业比较简单,作业内客改变不频繁,采用鬥定程序控制或示教再现方法即可满足要求,不存在语言问题。机器人木身的发展,计算机系统功能日益完善以及要求机器人作业内容愈加复杂化,利用程序来控制机器人显得越来越困难编程过程过于复杂,使得在作业现场对付复杂作业十分困难。述北一一用机器人语言→[控制机器人动作(一)机器人语言的发展概况1973年,斯坦福大学人工智能研究室美国IBM公司1979年,美国 Unimation公司80,美国 Automatrix公司80,美国麦道公司(二)机器人语言的分类1、根据作业描述水平的高低分(1)动作级机器人语言VAL◆以机器人手爪的运动作为作业描述的中心◇用该级语言编写的作业程序,通常由使机器人手爪从一个位置到另一个位置的一系列运动语句组成。◆动作级机器人语言的每一条语句对应于一个机器人动作。2)对象级机器人语言- AUTOPASS今以近似自然语言的方式,按照作业对象的状态变化来进行程序设计以描述操作物体之间关系为中心的语言。今它不需要去描述机器人手爪如何动作,只要由操作者给出作业本身的顺序过程的描述及环境模型的描述,机器人即可自行决定如何动作。(3)任务级机器人语言◇最理想的机器人高级语言,是用被操作物体,而不是机器人的动作来描述作业任务◇使用者只要按某种原则给岀作业起始状态和作业目标状态,机器人语言系统即可利用口有的环境信息和知识库、数据库自动进行推呷、计算,最后白动生成机器人详细的动作、顺序和相应数据。◇须具冇判断环境、描述环境的能力;同时,也必须冇自动完成许多规划任务的能力。2、按表面形式分汇编型,如VAL语编译型,如AI、LM语言;自然语言型,如 AUTOPASS语言等;(三)机器人语言的特征机器人语言则包含语言本身、语言处理系统和机器人的工作环境模型三部分9盐理系恒外部乱音工件1.具有作业环境和作业对象的描述性。1)环境输入:视机器人语言水平不同,输入方法也不相同。目前的输入方法一般是由操作者与计算机的人机对话来进行的。将来随着视觉技术的发展,可能由机器人视觉的方法自动生成。〔2)环境建模:进行机器人编程时,需要描述物体三维空间的几何关系的语言,对操作物体的位置和姿态,操作物体之间的关系进行描述,并使之模型化。2)环境模型的修改、更新:在作业过程屮,操作物体的位置、姿态以及它们之间的关系一般随着作业而发生改变,语言系统要根据操作情况的变化来改变环境模型的内容。2.具有作业内容的描述性3.具有良好的编程环境4.具有人机接口和传感器接口功能机器人离线编程、离线编程的概念第一代工业机器人采用示教编程方式,无论是采用手把手示教或控制盒示教,都需要机器人停止原来的工作。而再现时若不能满足要求,还需反复进行示教进行一项任务之前,在现场编程过程要花费很多时间,这对于大批量生产的简单作业,基本还能满足要求。但是,随着机器人应用到中小批量生产,以及要求完成任务的复杂程度的增加,用示教编程方式就很难适应了。二、机器人离线编程随着计算机技术和机器人技术的不断发展,机器人与 CAD/CAM技术结合,已形成生产效率很髙的柔性制造系统(FMS)和计算机集成制造系统(CIMS)。这些系统中大量采用工业机器人,具有很高的适用性和灵活性一)离线编程的概念杋器人离线编程就是利用计算机图形学的成果,建立机器人及作业环境的三维几何模型,然后对机器人所婓完成的任务进行离线规划和编程,并对编程结果进行动态图形仿真,最后将满足要求的编程结果传到机器人控制柜,使机器人完成指定的作业任务。(二)离线编程系统的一般要求工业杋器人离线编程系统的一个重要特点是能够和CAD!CM建立联系,能够利用CAD数据库的资料。对于一个简单的机器人作业,几乎可以直接利用CAD对零件的描述来实现编程。三)离线编程系统的基本组成10
    2020-12-02下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载