差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
姿态传感器 [2023/07/21 09:33] 韩超 [5. 参考案例] |
姿态传感器 [2023/07/28 17:22] (当前版本) zili |
||
---|---|---|---|
行 8: | 行 8: | ||
加速度计(Accelerometer):加速度计通过测量物体的加速度来确定其姿态。加速度计通常使用微机电系统(MEMS)技术,其中包含微小的质量和弹簧系统。当物体发生加速度变化时,质量会受到力的作用而移动,通过测量这种移动可以确定物体的加速度和姿态。 | 加速度计(Accelerometer):加速度计通过测量物体的加速度来确定其姿态。加速度计通常使用微机电系统(MEMS)技术,其中包含微小的质量和弹簧系统。当物体发生加速度变化时,质量会受到力的作用而移动,通过测量这种移动可以确定物体的加速度和姿态。 | ||
- | 贴吧主仅使用过,常见的三轴加速度传感器使用微电机加速度计(MEMS accelerometer)技术。它们通常包含三个独立的加速度传感器,分别测量物体在X轴、Y轴和Z轴方向上的加速度。只记得加速度测量机测量到的加速度和受力方向相反,当初使用这个是为了判断受力是超重还是失重,变化时,加速度传感器会感知到这种变化并产生相应的电信号。这些信号经过放大和处理后,可以转换为数字信号,并通过数字接口(如I2C或SPI)传输给微控制器或其他处理器。 | ||
+ | 常见的三轴加速度传感器使用微电机加速度计(MEMS accelerometer)技术。它们通常包含三个独立的加速度传感器,分别测量物体在X轴、Y轴和Z轴方向上的加速度。只记得加速度测量机测量到的加速度和受力方向相反,当初使用这个是为了判断受力是超重还是失重,变化时,加速度传感器会感知到这种变化并产生相应的电信号。这些信号经过放大和处理后,可以转换为数字信号,并通过数字接口(如I2C或SPI)传输给微控制器或其他处理器。 | ||
陀螺仪(Gyroscope):陀螺仪通过测量物体的角速度来确定其姿态。陀螺仪通常使用旋转的转子或振荡器来感知角速度的变化。当物体发生旋转时,转子或振荡器会受到力的作用而发生相应的位移,通过测量这种位移可以确定物体的角速度和姿态。 | 陀螺仪(Gyroscope):陀螺仪通过测量物体的角速度来确定其姿态。陀螺仪通常使用旋转的转子或振荡器来感知角速度的变化。当物体发生旋转时,转子或振荡器会受到力的作用而发生相应的位移,通过测量这种位移可以确定物体的角速度和姿态。 | ||
- | 在介绍这里时贴吧主想介绍以下两个内容:地面坐标系(Earth-fixed coordinate system)是一种以地球表面为参考的坐标系,用于描述物体在地球上的位置和运动。地面坐标系通常使用经度、纬度和高度(或海拔)来表示位置。 | + | 这里介绍以下两个内容:地面坐标系(Earth-fixed coordinate system)是一种以地球表面为参考的坐标系,用于描述物体在地球上的位置和运动。地面坐标系通常使用经度、纬度和高度(或海拔)来表示位置。 |
机体坐标系(Body-fixed coordinate system)是一种以物体自身为参考的坐标系,用于描述物体内部或相对于物体的位置和方向。机体坐标系通常使用前后、左右和上下(或X、Y、Z)来表示物体的方向。 | 机体坐标系(Body-fixed coordinate system)是一种以物体自身为参考的坐标系,用于描述物体内部或相对于物体的位置和方向。机体坐标系通常使用前后、左右和上下(或X、Y、Z)来表示物体的方向。 | ||
- | 区别: | + | **区别:** |
+ | * 参考对象:地面坐标系以地球为参考对象,而机体坐标系以物体自身为参考对象。 | ||
+ | * 坐标轴方向:地面坐标系的坐标轴通常与地球的经度、纬度和高度相关,而机体坐标系的坐标轴通常与物体自身的方向相关。 | ||
+ | * 变化性:地面坐标系通常是固定的,而机体坐标系可以随着物体的旋转、移动或变换而改变。 | ||
- | 参考对象:地面坐标系以地球为参考对象,而机体坐标系以物体自身为参考对象。 | + | **联系:** |
- | + | * 物体运动的描述:地面坐标系和机体坐标系都可以用于描述物体的位置和运动。地面坐标系适用于描述物体在地球上的位置和运动,而机体坐标系适用于描述物体相对于自身的位置和运动。 | |
- | 坐标轴方向:地面坐标系的坐标轴通常与地球的经度、纬度和高度相关,而机体坐标系的坐标轴通常与物体自身的方向相关。 | + | * 坐标转换:在某些情况下,需要将地面坐标系和机体坐标系相互转换。例如,在航空航天领域,需要将飞机的机体坐标系转换为地面坐标系,以便进行导航和飞行控制。 |
- | + | ||
- | 变化性:地面坐标系通常是固定的,而机体坐标系可以随着物体的旋转、移动或变换而改变。 | + | |
- | + | ||
- | 联系: | + | |
- | + | ||
- | 物体运动的描述:地面坐标系和机体坐标系都可以用于描述物体的位置和运动。地面坐标系适用于描述物体在地球上的位置和运动,而机体坐标系适用于描述物体相对于自身的位置和运动。 | + | |
- | + | ||
- | 坐标转换:在某些情况下,需要将地面坐标系和机体坐标系相互转换。例如,在航空航天领域,需要将飞机的机体坐标系转换为地面坐标系,以便进行导航和飞行控制。 | + | |
总的来说,地面坐标系和机体坐标系是两种不同的坐标系,用于描述不同的参考对象和位置关系。它们在不同的应用领域中起着重要的作用,并且在某些情况下需要进行坐标转换。 | 总的来说,地面坐标系和机体坐标系是两种不同的坐标系,用于描述不同的参考对象和位置关系。它们在不同的应用领域中起着重要的作用,并且在某些情况下需要进行坐标转换。 | ||
- | 那么我们得到坐标位置是为了什么呢哈哈,没错本贴吧主想借大学物理和高数内容介绍一下欧拉角: | + | 那么我们得到坐标位置是为了什么呢,主想借大学物理和高数内容介绍一下欧拉角: |
欧拉角(Euler angles)是一种常用的描述物体姿态的方法。它由三个旋转角度组成,通常分别称为滚转角(roll)、俯仰角(pitch)和偏航角(yaw)。 | 欧拉角(Euler angles)是一种常用的描述物体姿态的方法。它由三个旋转角度组成,通常分别称为滚转角(roll)、俯仰角(pitch)和偏航角(yaw)。 | ||
行 55: | 行 50: | ||
### 3. 如何应用姿态传感器? | ### 3. 如何应用姿态传感器? | ||
以下是一般的使用姿态传感器的步骤: | 以下是一般的使用姿态传感器的步骤: | ||
- | + | * 连接传感器:首先,将姿态传感器与目标设备进行连接。这可能涉及到使用适当的电缆或接口将传感器连接到设备的主板或控制器上。 | |
- | 连接传感器:首先,将姿态传感器与目标设备进行连接。这可能涉及到使用适当的电缆或接口将传感器连接到设备的主板或控制器上。 | + | * 初始化传感器:在使用姿态传感器之前,需要进行初始化。这个过程包括设置传感器的初始状态和参数,以确保其正常工作和准确测量姿态。 |
- | + | * 读取传感器数据:使用设备的软件或编程接口,读取传感器提供的姿态数据。姿态数据通常包括设备的姿势、朝向、角度和加速度等信息。 | |
- | 初始化传感器:在使用姿态传感器之前,需要进行初始化。这个过程包括设置传感器的初始状态和参数,以确保其正常工作和准确测量姿态。 | + | * 解析和处理数据:根据应用的需求,对传感器提供的姿态数据进行解析和处理。这可能涉及到使用算法和数学模型来计算设备的姿态、运动状态或其他相关参数。 |
- | + | * 应用数据:根据解析和处理后的姿态数据,进行相应的应用。这可能包括控制设备的运动、调整设备的姿态、提供用户反馈或进行其他相关操作。 | |
- | 读取传感器数据:使用设备的软件或编程接口,读取传感器提供的姿态数据。姿态数据通常包括设备的姿势、朝向、角度和加速度等信息。 | + | * 错误校正和校准:定期进行错误校正和校准,以确保姿态传感器的准确性和可靠性。这可能包括校正传感器的偏差、校准传感器的灵敏度或进行其他相关调整。 |
- | + | ||
- | 解析和处理数据:根据应用的需求,对传感器提供的姿态数据进行解析和处理。这可能涉及到使用算法和数学模型来计算设备的姿态、运动状态或其他相关参数。 | + | |
- | + | ||
- | 应用数据:根据解析和处理后的姿态数据,进行相应的应用。这可能包括控制设备的运动、调整设备的姿态、提供用户反馈或进行其他相关操作。 | + | |
- | + | ||
- | 错误校正和校准:定期进行错误校正和校准,以确保姿态传感器的准确性和可靠性。这可能包括校正传感器的偏差、校准传感器的灵敏度或进行其他相关调整。 | + | |
需要注意的是,具体使用姿态传感器的方法会因应用的不同而有所变化。例如,在航空航天领域中,可能需要更复杂的姿态控制算法和系统来实现精确的导航和飞行控制。在虚拟现实领域中,可能需要更高的实时性和精度来跟踪用户的头部和手部姿态。因此,在具体应用中,需要根据需求和要求进行相应的定制和调整。 | 需要注意的是,具体使用姿态传感器的方法会因应用的不同而有所变化。例如,在航空航天领域中,可能需要更复杂的姿态控制算法和系统来实现精确的导航和飞行控制。在虚拟现实领域中,可能需要更高的实时性和精度来跟踪用户的头部和手部姿态。因此,在具体应用中,需要根据需求和要求进行相应的定制和调整。 | ||
行 86: | 行 75: | ||
### 5. 参考案例 | ### 5. 参考案例 | ||
- | 航空航天:姿态传感器在飞机、无人机和航天器中被用于导航、飞行控制和姿态稳定等方面。它们可以帮助飞行器准确测量和控制其姿态,以确保平稳和稳定的飞行。 | + | * 航空航天:姿态传感器在飞机、无人机和航天器中被用于导航、飞行控制和姿态稳定等方面。它们可以帮助飞行器准确测量和控制其姿态,以确保平稳和稳定的飞行。 |
- | + | * 机器人技术:姿态传感器在机器人中起着关键作用,能够帮助机器人感知和调整其姿态,以适应不同的任务和环境。例如,在机器人导航和操作中,姿态传感器可以帮助机器人确定其位置、朝向和运动状态。 | |
- | 机器人技术:姿态传感器在机器人中起着关键作用,能够帮助机器人感知和调整其姿态,以适应不同的任务和环境。例如,在机器人导航和操作中,姿态传感器可以帮助机器人确定其位置、朝向和运动状态。 | + | * 虚拟现实(VR)和增强现实(AR):姿态传感器在VR和AR设备中被用于跟踪用户的头部、手部和身体姿态,从而实现沉浸式的虚拟体验或与现实世界的交互。它们可以帮助设备准确追踪用户的动作和位置,以实现更真实和自然的交互体验。 |
- | + | * 运动追踪:姿态传感器在运动追踪领域中被广泛应用。例如,在体育训练中,姿态传感器可以用于监测运动员的姿势和动作,以提供反馈和改进训练效果。此外,姿态传感器还可以用于运动分析、姿势矫正和康复治疗等方面。 | |
- | 虚拟现实(VR)和增强现实(AR):姿态传感器在VR和AR设备中被用于跟踪用户的头部、手部和身体姿态,从而实现沉浸式的虚拟体验或与现实世界的交互。它们可以帮助设备准确追踪用户的动作和位置,以实现更真实和自然的交互体验。 | + | * 医疗设备:姿态传感器在医疗设备中的应用包括姿势监测和姿势辅助。例如,在手术中,姿态传感器可以帮助医生准确测量和调整手术工具的位置和角度,以实现精确的手术操作。 |
- | + | ||
- | 运动追踪:姿态传感器在运动追踪领域中被广泛应用。例如,在体育训练中,姿态传感器可以用于监测运动员的姿势和动作,以提供反馈和改进训练效果。此外,姿态传感器还可以用于运动分析、姿势矫正和康复治疗等方面。 | + | |
- | + | ||
- | 医疗设备:姿态传感器在医疗设备中的应用包括姿势监测和姿势辅助。例如,在手术中,姿态传感器可以帮助医生准确测量和调整手术工具的位置和角度,以实现精确的手术操作。 | + | |
这只是姿态传感器应用的一小部分示例,实际上,姿态传感器在许多其他领域中也有各种应用,如游戏控制、智能家居、运动装备等。随着技术的不断发展,姿态传感器的应用领域将继续扩大和创新。 | 这只是姿态传感器应用的一小部分示例,实际上,姿态传感器在许多其他领域中也有各种应用,如游戏控制、智能家居、运动装备等。随着技术的不断发展,姿态传感器的应用领域将继续扩大和创新。 | ||
- | 此外,本贴吧主结合自己的电赛经历略述一二,向大家介绍的是MPU6050,是一款集成了三轴陀螺仪和三轴加速度计的传感器模块。它由英飞凌(InvenSense)公司开发,广泛应用于姿态测量、运动追踪和稳定控制等领域。 | + | 此外,结合自己的电赛经历略述一二,向大家介绍的是MPU6050,是一款集成了三轴陀螺仪和三轴加速度计的传感器模块。它由英飞凌(InvenSense)公司开发,广泛应用于姿态测量、运动追踪和稳定控制等领域。 |
MPU6050内部集成了三轴陀螺仪和三轴加速度计,能够同时测量物体的旋转和线性加速度。陀螺仪用于测量物体的旋转速度和方向,而加速度计则用于测量物体的线性加速度和倾斜角度。 | MPU6050内部集成了三轴陀螺仪和三轴加速度计,能够同时测量物体的旋转和线性加速度。陀螺仪用于测量物体的旋转速度和方向,而加速度计则用于测量物体的线性加速度和倾斜角度。 | ||
行 118: | 行 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正交编码器模块可以直接读取这两个方波信号,并提供相应的硬件计数器和中断功能,使得编码器的读取和处理变得更加简单和高效。 | ||
行 126: | 行 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控制通过将比例、积分和微分项加权求和,得到最终的控制输出。权重因子可以根据系统的特性和需求进行调整,以达到最佳的控制效果。 | ||
行 147: | 行 130: | ||
总的来说,PID控制是一种简单而有效的控制算法,通过比例、积分和微分三个控制项的组合调节系统的输出,以实现期望的控制效果。 | 总的来说,PID控制是一种简单而有效的控制算法,通过比例、积分和微分三个控制项的组合调节系统的输出,以实现期望的控制效果。 | ||
- | 哈哈这里贴吧主借用了matlab仿真进行了预测和优化,打字累了不想说了,哈哈,结合姿态传感器使用一下把哈哈哈哈哈哈 偷懒嘎嘎嘎, | + | 这里借用了matlab仿真进行了预测和优化,打字累了不想说了,哈哈,结合姿态传感器使用一下把哈哈哈哈哈哈 偷懒嘎嘎嘎, |
**含mpu6050芯片的姿态传感器模块** | **含mpu6050芯片的姿态传感器模块** |