在自平衡中角动量守恒的原理分析

2023-05-16

角动量守恒原理:

对于单个转动物质:角动量L=I*w(I:转动惯量,w:转动角速度)

一般形状的物体转动惯量计算如下:

1、对于细杆

(1)当回转轴过杆的中点(质心)并垂直于杆时,其中m是杆的质量,L是杆的长度,则转动惯量计算公式如下: 

(2)当回转轴过杆的端点并垂直于杆时,其中m是杆的质量,L是杆的长度,则转动惯量计算公式如下: 

2、对于圆柱体

当回转轴是圆柱体轴线时,其中m是圆柱体的质量,r是圆柱体的半径,则转动惯量计算公式如下: 

3、对于细圆环

当回转轴通过环心且与环面垂直时,则转动惯量计算公式如下: 

当回转轴通过环边缘且与环面垂直时,则转动惯量计算公式如下: 

沿环的某一直径,R为其半径,则转动惯量计算公式如下: 

4、对于薄圆盘

当回转轴通过中心与盘面垂直时,则转动惯量计算公式如下: 

当回转轴通过边缘与盘面垂直时,R为其半径,则转动惯量计算公式如下: 

5、对于空心圆柱

当回转轴为对称轴时,R1和R2分别为其内外半径,则转动惯量计算公式如下: 

6、对于球壳

当回转轴为中心轴时,R为球壳半径,则转动惯量计算公式如下: 

当回转轴为球壳的切线时,则转动惯量计算公式如下: 

7、对于实心球体

当回转轴为球体的中心轴时,R为球体半径,则转动惯量计算公式如下: 

当回转轴为球体的切线时,则转动惯量计算公式如下: 

8、对于立方体

当回转轴为其中心轴时,L为立方体边长,则转动惯量计算公式如下: 

当回转轴为其棱边时,则转动惯量计算公式如下: 

当回转轴为其体对角线时,则转动惯量计算公式如下: :

9、对于长方体,则转动惯量计算公式如下: 

当回转轴为其中心轴时,式中l1和l2是与转轴垂直的长方形的两条边长:

转动惯量的相对转动轴平移计算公式如下

   I1=I0+m*S^2     其中I0是物体平移前转动惯量,S是转动轴平移距离,I1是物体平移后转动惯量

对于一个系统,里面包含有多个单一物体,则系统的角动量为:

        Ls=\sum In*\omega n     In是系统内物体n的转动惯量,\omega n是物体n的转动速度。

我们知道对一固定点o,质点所受的合外力矩为零,则此质点的角动量矢量保持不变。这一结论叫做质点角动量守恒定律。因此对于一个合外力矩为零的系统,系统内的角动量守恒,即Ls保持不变。

如果此时系统内物体n的角动量发生变化,必有系统内其他物体合成一个与物体n相反的角动量,已维持角动量守恒。


两个转动体组成的系统角动量守恒分析:

结构如下图:蓝色圆柱体1和黄色圆柱体2,中间灰色的联动杆。

其中蓝色圆柱体内有一电机,中间灰色部分为电机输出轴,输出轴和黄色圆柱体固定。

分析这个整体系统的角动量:

t=0时,电机转速为0,蓝色L1和黄色L2的角动量都为零

t=1时,电机转速不为0,角速度为w2,此时黄色圆柱体L2=I2*W2;因为角动量守恒因此有L1=-L2=I1*W1。即w1=I2*W2/I1

因此可以通过电机控制黄色圆柱体的转动速度,来反作用控制蓝色圆柱体的转动速度和方向。


自平衡结构与控制:

简易自平衡结构如下:蓝色手柄状立在桌面,黄色圆柱体连接电机安装在蓝色手柄上。

如上图

(1)到达平衡点时,蓝色圆柱体垂直立在桌面,黄色圆柱体为顺时针角速度w2(即电机转速)

(2)蓝色圆柱体发生扰动时

        2.1蓝色圆柱体向左边扰动倾斜,此时蓝色圆柱体需要一个顺时针的转动(相对电机中心点)来抵消这个扰动。因为黄色蓝色物体组成系统在一个轻扰动作用下是角动量守恒,通过上面的两个转动体组成的系统角动量守恒分析可以知道自平衡的原理,让蓝色圆柱体产生一个顺时针的转动,需要黄色物体逆时针转动或者顺时针的转动速度减小。

        2.2蓝色圆柱体向右边扰动倾斜,分析如同2.1


控制代码与算法:

由上面角动量守恒式子知道,需要知道系统内黄色和蓝色物体的转动惯量以及角速度,通过计算角速度的变化,计算出需要补偿的反向角速度变化。

结合输入变化和闭环反馈计算,可以使用PID算法,快速响应输出。

PID计算出电机的转速(实际是用PWM控制)

float PWM_Control(float Angle,float Gyro)
{  
   float Bias;
     int PWM;
     Bias=Angle-Middle;  //===求出平衡的角度中值 和机械等重心分布相关
     PWM=Balance_KP*Bias+Gyro*Balance_KD;   //===计算平衡控制的电机PWM  PD控制   kp是P系数 kd是D系数 
     return PWM;
}

下面是定时中断中执行,更新扰动位置,更新PID输入与输出(控制电动转速)

		  Encoder=Read_Encoder(3);			//===Balance为了保证M法测速的时间基准,首先读取编码器数据
		  Encoder_Walk=Read_Encoder(2);     
	  	Read_DMP();                                       //===更新姿态		
      Adjust=Get_Adc(Adjust_Ch);	
      Middle=(Adjust-POTENTIOMETER)/392+3-Encoder/35;		//+Motor_Turn
		 	Get_RC(Flag_Direction);	

		  Motor_Walk=Walk_Control(Encoder_Walk,Target_Walk),           //直立
			Motor_PWM=Balance_Control(Pitch,gyro[1])+Position_Control(Encoder);   //动量  //

		  Xianfu_Pwm(7000,110);                                 //===PWM限幅
			if(Turn_Off(Pitch,Voltage)==0)     
		  Set_Pwm(-Motor_PWM,Motor_Walk,Motor_Turn);                   //===赋值给PWM寄存器  	

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在自平衡中角动量守恒的原理分析 的相关文章

  • ODR, BSRR, BRR的差别

    ODR寄存器可读可写 xff1a 既能控制管脚为高电平 xff0c 也能控制管脚为低电平 管脚对于位写1 gpio 管脚为高电平 xff0c 写 0 为低电平 BSRR 只写寄存器 xff1a color 61 Red 既能控制管脚为高电平
  • ACAP究竟是什么

    Xilinx推出Versal系列 xff0c 号称业界首款ACAP xff0c 自适应计算加速平台 ACAP不仅是一个新的处理器 xff0c 而且是新的产品类型 作为率先推出ACAP这样类型产品的公司 xff0c 这也是赛灵思的核心竞争力所
  • ISE 14.7 调试错误笔记

    1 ERROR Pack 2530 The dual data rate register 34 U sys ctl ODDR2 inst 2 34 failed to join an OLOGIC component as require
  • HDMI 4K分辨率 时序

    参考 HDMI1 4标准 High Definition Multimedia Interface Specification 这份文件放在百度网盘共享了 xff0c 上传到文档平台会被封禁 xff0c 如果侵权 xff0c 麻烦联系我删除
  • 深度学习CPU,GPU,NPU,TPU以及其计算能力单位

    处理器运算能力单位 TOPS是Tera Operations Per Second的缩写 xff0c 1TOPS代表处理器每秒钟可进行一万亿次 xff08 10 12 xff09 操作 与此对应的还有GOPS xff08 Giga Oper
  • SSD数据集增强方法

    coding utf 8 import numpy as np import random import cv2 import glob import os import xml etree cElementTree as ET def r
  • 目标检测图像增强

    https blog csdn net wei guo xd article details 74199729 常用的图像扩充方式有 xff1a 水平翻转 xff0c 裁剪 xff0c 视角变换 xff0c jpeg压缩 xff0c 尺度变
  • FreeRTOS系列|低功耗管理

    低功耗管理 很多应用场合对于空耗的要求很严格 xff0c 比如可穿戴低功耗产品 物联网低功耗产品等 一般MCU都有相应的低功耗模式 xff0c 裸机开发时可以使用MCU的低功耗模式 FreeRTOS也提供了一个叫Tickless的低功耗模式
  • PELCO-D

    https blog csdn net subfate article details 36644419 在搞visca的同时顺便也搞了pelco 这里再做个笔记 pelco xff0c 中文翻译为 派尔高 xff0c 在行文和写代码过程
  • 图像去模糊算法 deblur

    图像去模糊算法 循序渐进 附完整代码 https www cnblogs com cpuimage p 9735150 html xff08 后面要对比smartdeblur xff0c deblur gan xff09 关于图像模糊算法的
  • 点云数据文件常用格式

    点云数据文件常用格式 文件类型汇总 OFF Object File FormatPLY Polygon File Format also known as the Stanford Triangle FormatPTS Laser scan
  • deeplab介绍

    论文 Encoder Decoder with Atrous Separable Convolution for Semantic Image Segmentation 链接 https www paperweekly site paper
  • 皱纹检测Wrinkle-detection

    基于图像处理的皱纹检测算法 https github com bulingda Wrinkles detection blob master Wrinkle py 基于RCNN 毛孔检测 https github com jack16888
  • VINS slam , imu fusion

    VINS 基本介绍 VINS Mono 和 VINS Mobile 是香港科技大学沈劭劼老师开源的单目视觉惯导 SLAM 方案 2017年发表于 IEEE Transactions on Robotics 另外 xff0c VINS 的最新
  • VCS-Verdi ubuntu 安装

    前言 金鱼博主今天又花了大半天重装VCS 43 Verdi xff0c 现在记录一下 xff0c 以备下回重装 顺带一提 xff0c 我的安装环境是虚拟机的Ubuntu 16 04 参考 1 安装流程参考自 xff1a https blog
  • Opengl简介

    OpenGL xff08 英语 xff1a Open Graphics Library xff0c 译名 xff1a 开放图形库或者 开放式图形库 xff09 是用于渲染2D 3D矢量图形的跨语言 跨平台的应用程序编程接口 xff08 AP
  • PCIE 协议分析工具

    推荐两个实用的PCIe工具软件 Felix 电子技术应用 AET 中国科技核心期刊 最丰富的电子设计资源平台
  • PCIe扫盲系列博文连载目录篇

    PCIe扫盲系列博文连载目录篇 xff08 第一阶段 xff09 Felix 电子技术应用 AET 中国科技核心期刊 最丰富的电子设计资源平台 chinaaet com 1 前言篇 xff1a PCIe扫盲 PCIe简介 xff1a htt
  • FreeRTOS系列|内存管理一

    内存管理一 内存管理是一个系统基本组成部分 xff0c FreeRTOS中大量使用了内存管理 xff0c 比如创建任务 信号量 队列等会自动从堆中申请内存 用户应用层代码也可以使用FreeRTOS提供的内存管理函数来申请和释放内存 1 内存
  • 2022年技术积累方向---梳理

    1 xff0c GPGPU暂停 xff0c 积累了GPU基础架构 xff0c 图形渲染 xff0c IC芯片设计 xff0c FPGA xff0c EDA VCS xff0c 2 xff0c GPU芯片设计公司 xff0c Start up

随机推荐

  • 利用 GitHub 从零开始搭建一个博客

    阅读本文大概需要 10 分钟 趁着周末 xff0c 搭建了一下 NightTeam 的官方博客和官方主页 xff0c 耗时数个小时 xff0c 两个站点终于完工了 这里写一篇文章顺手记录了下来 不过这篇原创我发在了 NightTeam 上面
  • make, cmake, bazel

    整理收集了一些自动化编译链接工具的使用教程 希望可以在之后能更好的理解和使用它们 1 make Linux 下 Make 命令Linux make Command Explained With Examples使用make命令编译项目文件入
  • win7环境下安装ubuntu双系统

    我按照网上的方法实验了好多次 xff0c 最终实验出了一种绝对可以成功的方法 一 软件准备 1 下载 Ubuntu 系统镜像 xff1a http www ubuntu com download desktop xff1b 我用的是ubun
  • Linux/Ubuntu16.04 安装RealSense SDK 2.0

    RealSense实感 Intel 安装环境 xff1a Ubuntu 16 04 需要有USB3 0 不是16 04的系统 xff0c 安装过程不同 更多的安装细节 xff0c 见参考资料 1 更新Ubuntu以及BOOT sudo ap
  • KEIL MDK 5默认快捷键一览

    以前使用MDK时总感觉这个IDE不是很方便 xff0c 有些常用功能的快捷键不知道是什么 xff0c 偶然发现在MDK中可自定义功能的快捷键 xff0c 而且有些功能的快捷键已经设置好 在此将这些快捷用表格形式列出来 xff0c 便于大家查
  • 工科研究生如何选导师的一点点建议

    引言 今天是教师节 xff0c 首先祝老师们节日快乐 今天说说关于工科研究生如何选导师 xff0c 选一个合适自己的老师 xff0c 每个教师节你都能诚心的祝福自己的导师 我见过的导师类型也有限 xff0c 仅供参考 我从以下几个方面为大家
  • 解决if __name__ == ‘__main__‘下面的代码未执行的问题

    很多人在用pycharm运行代码时会出现if name 61 61 34 main 34 下面的代码没有执行的问题 xff0c 出现这类问题的原因是unittest运行姿势造成的 xff0c 如图 xff1a 解决方案 xff1a 点击倒三
  • ROS总结——ROS节点

    理解ROS节点 本博客是对http wiki ros org 上ROS教程的学习总结 xff0c 欢迎大家交流学习 本节介绍 ROS 图 xff08 graph xff09 概念并介绍如何使用roscore rosnode和 rosrun
  • VSCode 的 #ifdef 区域变灰

    习惯了使用 VSCode xff0c 写 C 43 43 代码也用这个编辑器 xff0c 但是有 ifdef 的地方就会变灰 xff0c 很影响使用 可以在 C C 43 43 插件里打开设置 xff0c 将下面这个选项去勾选 xff1a
  • FreeRTOS系列|内存管理二

    内存管理二 内存管理应用实例 本实例介绍FreeRTOS内存管理中heap 4方法的内存申请和释放函数的使用 xff0c 并观察申请和释放过程中内存大小的变化情况 使用STM32CubeMX将FreeRTOS移植到工程中 xff0c 创建一
  • bitmap转yuv420p数据以及数据灰度化

    bitmap获取argb数据 64 param bitmap 64 return private int getArgbFromBitmap Bitmap bitmap int argbs 61 new int bitmap getWidt
  • Assertion "OSQCreate" failed at line 71 in ..\LWIP\arch\sys_arch.c错误解决方法

    最近在做STM32F407的开发板实验的时候 xff0c 在开发板移植了uCosII和LWIP xff0c 按照正点原子的开发板例程 xff0c 做到第八个实验 NETCONN TCP Client 的时候 xff0c 出现了如下的错误 A
  • IaaS、PaaS和SaaS简单理解

    IaaS xff1a Infrastructure as a Service 基础设施即服务 第一层叫做IaaS 基础设施即服务有时缩写为 IaaS xff0c 包含云 IT 的基本构建块 xff0c 通常提供对联网功能 计算机 xff08
  • opencv aruco参数分析

    aruco cpp 在287行有一个DetectInitialCandidatesParallel 在这里面有并行操作 xff0c 用于对图像进行二值化 xff0c 之后检测二值化后的图像中是否存在marker 其循环次数直接和adapti
  • 超实用的 IPTV 管理工具,xTeVe 助你定制专属电视频道。

    虽然现在视频流媒体点播平台已经成为了大家主要的影音娱乐渠道 xff0c 似乎没什么人看电视了 xff0c 但我想需求还是在的 xff0c 比如家里的长辈可能就不太会操作点播平台 xff0c 他们比较习惯传统的直播电视 xff0c 再比如新闻
  • 无线 315MHz 433MHz 868MHz 915MHz 频段

    http zhidao baidu com question 555639763 html 一般国内最好使用430 440MZH段 xff0c 如433 92 xff2d xff28 xff3a 是使用最普遍的 xff0c 配套产品齐全 x
  • Kalibr标定时卡在Extracting calibration target corners的问题

    问题 使用Kalibr标定单目相机与单目imu联合标定 xff0c 都出现卡在Extracting calibration target corners的问题 xff0c 因此做一个记录 运行标定命令后一直卡在下面 Initializing
  • 卡尔曼滤波Q、R如何调节?

    转载 xff1a 作者 xff1a 小心假设 链接 xff1a https www zhihu com question 30481204 answer 50092960 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权
  • zynqmp zcu102 arm 裸机UDP

    sdk2017没有udp例程只有tcp例程 以下是调试通的udp例程 xff1a 1 创建lwip测试工程或者在现有工程添加lwip库 2 添加udp代码 xff0c 也可以从tcp例程修改 xff1a int udpinit struct
  • 在自平衡中角动量守恒的原理分析

    角动量守恒原理 xff1a 对于单个转动物质 xff1a 角动量L 61 I w xff08 I 转动惯量 w xff1a 转动角速度 xff09 一般形状的物体转动惯量计算如下 xff1a 1 对于细杆 xff08 1 xff09 当回转