差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
姿态传感器 [2023/07/28 17:19]
zili [2. 姿态传感器是如何工作的?]
姿态传感器 [2023/07/28 17:22] (当前版本)
zili
行 28: 行 28:
 总的来说,地面坐标系和机体坐标系是两种不同的坐标系,用于描述不同的参考对象和位置关系。它们在不同的应用领域中起着重要的作用,并且在某些情况下需要进行坐标转换。 总的来说,地面坐标系和机体坐标系是两种不同的坐标系,用于描述不同的参考对象和位置关系。它们在不同的应用领域中起着重要的作用,并且在某些情况下需要进行坐标转换。
  
-那么我们得到坐标位置是为了什么呢哈哈没错本贴吧主想借大学物理和高数内容介绍一下欧拉角:+那么我们得到坐标位置是为了什么呢,主想借大学物理和高数内容介绍一下欧拉角:
  
 欧拉角(Euler angles)是一种常用的描述物体姿态的方法。它由三个旋转角度组成,通常分别称为滚转角(roll)、俯仰角(pitch)和偏航角(yaw)。 欧拉角(Euler angles)是一种常用的描述物体姿态的方法。它由三个旋转角度组成,通常分别称为滚转角(roll)、俯仰角(pitch)和偏航角(yaw)。
行 75: 行 75:
  
 ### 5. 参考案例 ### 5. 参考案例
-航空航天:姿态传感器在飞机、无人机和航天器中被用于导航、飞行控制和姿态稳定等方面。它们可以帮助飞行器准确测量和控制其姿态,以确保平稳和稳定的飞行。 +  * 航空航天:姿态传感器在飞机、无人机和航天器中被用于导航、飞行控制和姿态稳定等方面。它们可以帮助飞行器准确测量和控制其姿态,以确保平稳和稳定的飞行。 
- +  ​* ​机器人技术:姿态传感器在机器人中起着关键作用,能够帮助机器人感知和调整其姿态,以适应不同的任务和环境。例如,在机器人导航和操作中,姿态传感器可以帮助机器人确定其位置、朝向和运动状态。 
-机器人技术:姿态传感器在机器人中起着关键作用,能够帮助机器人感知和调整其姿态,以适应不同的任务和环境。例如,在机器人导航和操作中,姿态传感器可以帮助机器人确定其位置、朝向和运动状态。 +  ​* ​虚拟现实(VR)和增强现实(AR):姿态传感器在VR和AR设备中被用于跟踪用户的头部、手部和身体姿态,从而实现沉浸式的虚拟体验或与现实世界的交互。它们可以帮助设备准确追踪用户的动作和位置,以实现更真实和自然的交互体验。 
- +  ​* ​运动追踪:姿态传感器在运动追踪领域中被广泛应用。例如,在体育训练中,姿态传感器可以用于监测运动员的姿势和动作,以提供反馈和改进训练效果。此外,姿态传感器还可以用于运动分析、姿势矫正和康复治疗等方面。 
-虚拟现实(VR)和增强现实(AR):姿态传感器在VR和AR设备中被用于跟踪用户的头部、手部和身体姿态,从而实现沉浸式的虚拟体验或与现实世界的交互。它们可以帮助设备准确追踪用户的动作和位置,以实现更真实和自然的交互体验。 +  ​* ​医疗设备:姿态传感器在医疗设备中的应用包括姿势监测和姿势辅助。例如,在手术中,姿态传感器可以帮助医生准确测量和调整手术工具的位置和角度,以实现精确的手术操作。
- +
-运动追踪:姿态传感器在运动追踪领域中被广泛应用。例如,在体育训练中,姿态传感器可以用于监测运动员的姿势和动作,以提供反馈和改进训练效果。此外,姿态传感器还可以用于运动分析、姿势矫正和康复治疗等方面。 +
- +
-医疗设备:姿态传感器在医疗设备中的应用包括姿势监测和姿势辅助。例如,在手术中,姿态传感器可以帮助医生准确测量和调整手术工具的位置和角度,以实现精确的手术操作。+
  
 这只是姿态传感器应用的一小部分示例,实际上,姿态传感器在许多其他领域中也有各种应用,如游戏控制、智能家居、运动装备等。随着技术的不断发展,姿态传感器的应用领域将继续扩大和创新。 这只是姿态传感器应用的一小部分示例,实际上,姿态传感器在许多其他领域中也有各种应用,如游戏控制、智能家居、运动装备等。随着技术的不断发展,姿态传感器的应用领域将继续扩大和创新。
  
-此外,本贴吧主结合自己的电赛经历略述一二,向大家介绍的是MPU6050,是一款集成了三轴陀螺仪和三轴加速度计的传感器模块。它由英飞凌(InvenSense)公司开发,广泛应用于姿态测量、运动追踪和稳定控制等领域。+此外,结合自己的电赛经历略述一二,向大家介绍的是MPU6050,是一款集成了三轴陀螺仪和三轴加速度计的传感器模块。它由英飞凌(InvenSense)公司开发,广泛应用于姿态测量、运动追踪和稳定控制等领域。
  
 MPU6050内部集成了三轴陀螺仪和三轴加速度计,能够同时测量物体的旋转和线性加速度。陀螺仪用于测量物体的旋转速度和方向,而加速度计则用于测量物体的线性加速度和倾斜角度。 MPU6050内部集成了三轴陀螺仪和三轴加速度计,能够同时测量物体的旋转和线性加速度。陀螺仪用于测量物体的旋转速度和方向,而加速度计则用于测量物体的线性加速度和倾斜角度。
行 107: 行 103:
 解析和处理数据: 解析和处理数据:
  
-这里介绍贴吧主当时使用的方法:读取数据判断是否在设置的阈值范围内,并记录最后的数据用于比较下一次的变化情况,根据自己的算法要求进行处理。要结合编码器的使用,贴吧主使用了STM32正交编码器,​是指在STM32系列微控制器中用于读取旋转编码器信号的硬件模块。旋转编码器是一种用于测量旋转运动的传感器,通常由两个光电传感器组成,可以测量旋转方向和速度。而STM32正交编码器模块支持两种常见的编码器类型:增量式编码器和绝对式编码器。这里吧主将自己的理解的原理放进来:编码器轴每旋转一圈,A相和B相都发出相同的脉冲个数,但是A相和B相之间存在一个90°(电气角的一周期为360”)的电气角相位差,可以根据这个相位差来判断编码器货转的方向是正转还是反转,正转时,A相超前B相90°先进行相位输出,反转时,B相超前A相90°先进行相位输出。+这里介绍当时使用的方法:读取数据判断是否在设置的阈值范围内,并记录最后的数据用于比较下一次的变化情况,根据自己的算法要求进行处理。要结合编码器的使用,使用了STM32正交编码器,​是指在STM32系列微控制器中用于读取旋转编码器信号的硬件模块。旋转编码器是一种用于测量旋转运动的传感器,通常由两个光电传感器组成,可以测量旋转方向和速度。而STM32正交编码器模块支持两种常见的编码器类型:增量式编码器和绝对式编码器。这里吧主将自己的理解的原理放进来:编码器轴每旋转一圈,A相和B相都发出相同的脉冲个数,但是A相和B相之间存在一个90°(电气角的一周期为360”)的电气角相位差,可以根据这个相位差来判断编码器货转的方向是正转还是反转,正转时,A相超前B相90°先进行相位输出,反转时,B相超前A相90°先进行相位输出。
  
 增量式编码器通过两个光电传感器(我使用的是光码盘和光电二极管)检测旋转编码盘上的刻度,并生成两个相位差90度的方波信号。通过检测这两个方波信号的变化,可以确定旋转方向和速度。STM32正交编码器模块可以直接读取这两个方波信号,并提供相应的硬件计数器和中断功能,使得编码器的读取和处理变得更加简单和高效。 增量式编码器通过两个光电传感器(我使用的是光码盘和光电二极管)检测旋转编码盘上的刻度,并生成两个相位差90度的方波信号。通过检测这两个方波信号的变化,可以确定旋转方向和速度。STM32正交编码器模块可以直接读取这两个方波信号,并提供相应的硬件计数器和中断功能,使得编码器的读取和处理变得更加简单和高效。
行 115: 行 111:
 在使用STM32正交编码器模块时,需要配置相关的寄存器和中断,以使其与编码器信号同步工作。可以根据实际需求选择不同的计数模式、计数方向和中断触发条件等。此外,还可以通过使用DMA(直接内存访问)功能,将编码器数据直接传输到内存,减轻CPU的负担。 在使用STM32正交编码器模块时,需要配置相关的寄存器和中断,以使其与编码器信号同步工作。可以根据实际需求选择不同的计数模式、计数方向和中断触发条件等。此外,还可以通过使用DMA(直接内存访问)功能,将编码器数据直接传输到内存,减轻CPU的负担。
  
-总的来说,STM32正交编码器模块为STM32微控制器提供了方便、高效的编码器信号读取和处理功能,使得我们使用者可以更加轻松地实现旋转运动的测量和控制。贴吧主通过把编码器放在pwm直流电机转轴处,把AB两相接入单片机接口可以获得具体的信息。+总的来说,STM32正交编码器模块为STM32微控制器提供了方便、高效的编码器信号读取和处理功能,使得我们使用者可以更加轻松地实现旋转运动的测量和控制。通过把编码器放在pwm直流电机转轴处,把AB两相接入单片机接口可以获得具体的信息。 
 欸,大家可能疑惑了,我这里将姿态传感器那为什么说到了编码器了呢。hhhh,​因为俺要讲如何在软件上去调试姿态传感器,那我就要再废话了,我的目标是什么呢,结合电赛,我想说小车直立行走任务分解 欸,大家可能疑惑了,我这里将姿态传感器那为什么说到了编码器了呢。hhhh,​因为俺要讲如何在软件上去调试姿态传感器,那我就要再废话了,我的目标是什么呢,结合电赛,我想说小车直立行走任务分解
  
 我们要求车模在直立的状态下以两个轮子在地面上随意行走,相比四轮着地状态,车模控制任务更为复杂。为了能够方便找到解决问题的办法,首先将复杂的问题分解成简单的问题进行讨论。 我们要求车模在直立的状态下以两个轮子在地面上随意行走,相比四轮着地状态,车模控制任务更为复杂。为了能够方便找到解决问题的办法,首先将复杂的问题分解成简单的问题进行讨论。
-从控制角度来看,车模作为一个控制对象,它的控制输入量是两个电转动速度。车横运动控制任务可以分解成以下三个基本控制任务 +从控制角度来看,车模作为一个控制对象,它的控制输入量是两个电转动速度。车横运动控制任务可以分解成以下三个基本控制任务\\ 
-(1)控制车模平衡:通过控制两个电机正反向运动保持车模直立平衡化 +(1)控制车模平衡:通过控制两个电机正反向运动保持车模直立平衡化\\ 
-(2)控制车横速度:通过调节车模的倾角来实现车模速度控制,实际上还是演变成通过控制电机的转速来实现车轮速度的控制 +(2)控制车横速度:通过调节车模的倾角来实现车模速度控制,实际上还是演变成通过控制电机的转速来实现车轮速度的控制\\ 
-(3)控制车模方向:通过控制两个电机之间的转动差速实现车模转+(3)控制车模方向:通过控制两个电机之间的转动差速实现车模转\\
 哎呀这么复杂,我们考虑的核心在哪里,哈哈就是负反馈,是否平衡是否转弯无法缺少的就是将采集到的数据比较反馈了,大家读到这里就明白我在数据处理时存储最后一次数据的用意了哈哈,最后结合pid控制。PID控制是一种常用的反馈控制算法,用于调节系统的输出以使其达到期望值。PID是Proportional-Integral-Derivative的缩写,分别代表比例、积分和微分三个控制项。 哎呀这么复杂,我们考虑的核心在哪里,哈哈就是负反馈,是否平衡是否转弯无法缺少的就是将采集到的数据比较反馈了,大家读到这里就明白我在数据处理时存储最后一次数据的用意了哈哈,最后结合pid控制。PID控制是一种常用的反馈控制算法,用于调节系统的输出以使其达到期望值。PID是Proportional-Integral-Derivative的缩写,分别代表比例、积分和微分三个控制项。
- +  * 比例项(P项)根据实际输出与期望值之间的差异进行调节。它与差异成正比,越大的差异会导致更大的调节输出。比例项可以快速响应系统的变化,但可能导致系统的震荡和超调。 
-比例项(P项)根据实际输出与期望值之间的差异进行调节。它与差异成正比,越大的差异会导致更大的调节输出。比例项可以快速响应系统的变化,但可能导致系统的震荡和超调。 +  ​* ​积分项(I项)根据实际输出与期望值之间的累积差异进行调节。它可以消除系统的稳态误差,并使系统更好地追踪期望值。积分项可以帮助系统达到精确的控制,但过大的积分项可能导致系统的过冲和振荡。 
- +  ​* ​微分项(D项)根据实际输出的变化率进行调节。它可以预测系统的未来变化趋势,并提前调整控制输出,以减小超调和振荡。微分项可以提高系统的稳定性和响应速度,但过大的微分项可能导致系统对噪声和干扰过于敏感。
-积分项(I项)根据实际输出与期望值之间的累积差异进行调节。它可以消除系统的稳态误差,并使系统更好地追踪期望值。积分项可以帮助系统达到精确的控制,但过大的积分项可能导致系统的过冲和振荡。 +
- +
-微分项(D项)根据实际输出的变化率进行调节。它可以预测系统的未来变化趋势,并提前调整控制输出,以减小超调和振荡。微分项可以提高系统的稳定性和响应速度,但过大的微分项可能导致系统对噪声和干扰过于敏感。+
  
 PID控制通过将比例、积分和微分项加权求和,得到最终的控制输出。权重因子可以根据系统的特性和需求进行调整,以达到最佳的控制效果。 PID控制通过将比例、积分和微分项加权求和,得到最终的控制输出。权重因子可以根据系统的特性和需求进行调整,以达到最佳的控制效果。
行 136: 行 130:
  
 总的来说,PID控制是一种简单而有效的控制算法,通过比例、积分和微分三个控制项的组合调节系统的输出,以实现期望的控制效果。 总的来说,PID控制是一种简单而有效的控制算法,通过比例、积分和微分三个控制项的组合调节系统的输出,以实现期望的控制效果。
-哈哈这里贴吧主借用了matlab仿真进行了预测和优化,打字累了不想说了,哈哈,结合姿态传感器使用一下把哈哈哈哈哈哈 偷懒嘎嘎嘎,+这里借用了matlab仿真进行了预测和优化,打字累了不想说了,哈哈,结合姿态传感器使用一下把哈哈哈哈哈哈 偷懒嘎嘎嘎,
  
 **含mpu6050芯片的姿态传感器模块** **含mpu6050芯片的姿态传感器模块**