Loading [a11y]/accessibility-menu.js

小车路径规划

本项目全部代码已同步上传至Github,仓库链接:Asgard-Tim/Path-Planning: 重庆大学明月科创实验班定量工程设计方法课程项目 (github.com)

一、设计要求


在本部分的课程项目中,要求我们运用LD14雷达扫描地图,在MATLAB中进行人工势场添加并对STM32小车进行路径规划,在一规定的场地中让小车避开两个矩形障碍物并以尽可能短的路径最终抵达圆形目标位置。


二、系统方案


2.1 移动底盘分析

小车为履带式小车,左右履带分别由一枚直流电机进行驱动,运动模式类似常规双轮小车,通过左右两枚电机转动的差速实现转向。该小车相对来说较为容易进行控制,只需要控制两个驱动轮的速度存在差异,即两轮差速,即可控制机器人实现无滑动摩擦的旋转,也可实现零半径转弯。

图2-1 双轮履带小车外观图

1

1

图2-2 两轮差速式机器人运动学分析图

2

2

对小车移动底盘的运动学分析(如上图2-2所示):

小车的速度控制主要是控制 X 轴(前后方向)和 Z 轴(旋转方向)的速度, 以 Vx 和 Vz 来指代,单位分别是 m/s 和弧度/s。X 轴方向以前进记为正,Z 轴方向以右转记为正。车轮速度是使用编码器来计算和得出,读取编码器计数后再转化成车轮的速度。Vz则是通过左右电机转动的差速计算得到的。

图中参数分别代表:

3

3

2.2 电机特性分析

在本次项目中,我们采用带有减速器与编码器的直流电机驱动小车前进。

直流电机的物理模型图如下图2-3所示。其中,固定部分有磁铁,这里称作主磁极;固定部分还有电刷。转动部分有环形铁心和绕在环形铁心上的绕组。 (其中 2 个小圆圈是为了方便表示该位置上的导体电势或电流的方向而设置的) 它的固定部分(定子)上,装设了一对直流励磁的静止的主磁极 N 和S,在旋转部分(转子)上装设电枢铁心。在电枢铁心上放置了两根导体连成的电枢线圈, 线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。换向片之间 互相绝缘,由换向片构成的整体称为换向器。换向器固定在转轴上,换向片与转轴 之间亦互相绝缘。在换向片上放置着一对固定不动的电刷 B1 和 B2,当电枢旋转时,电枢线圈通过换向片和电刷与外电路接通。在电刷上施加直流电压 U,电枢线圈中的电流流向为:N 极下的有效边中的电流总是一个方向,而 S 极下的有效边中的电流总是另一个方向。这样两个有效边所受的洛伦兹力的方向一致(可以根据左手法则判定),电枢开始转动。具体来说就是,把上图中的+和-分别接到电池的正极和负极,电机即可转动;如果是把上图中的+和-分别接到电池的负极和正极,则电机会反方向转动。电机的转速可以理解为和外接的电压是正相关的(实际是由电枢电流决定)。

总而言之,如果我们可以调节施加在电机上面的直流电压大小,即可实现直流 电机调速,改变施加电机上面直流电压的极性,即可实现电机换向。

图2-3 直流电机的物理模型

4

4

在具体的使用过程中,我们需要通过在特定的引脚之间(如本次项目所用电机为1/6引脚)接上一个直流电源,电机即可转动,且改变电压大小即可改变电机转速。接线方式说明如下图2-4所示。

5

5

2.3 电机控制策略以及PID特性分析

小车电机驱动器芯片使用 AT8236,具有过流保护功能,并可设置电流阈值。驱动芯片只需两个逻辑输入,便可达到调速和正反转的功能,本小车中,每个电机使用两路PWM进行调速(实际上一个普通 IO 和一路 PWM 即可进行正反转 和调速)。

电机的速度使用 13 线霍尔编码器输出 AB 相进行测量,电机减速比为 1:30,使用 STM32 的编码器测量功能,并初始化为脉冲上升沿和下降沿都进行计数,可实现轮子转一圈输出 1560 个计数。

电机调速框图如下图2-5所示。

阅读更多

具有一定扶正能力的船舶设计

本项目定量分析部分Matlab代码已同步上传至Github,仓库链接:Asgard-Tim/QEA-Boat: 重庆大学明月科创实验班定量工程设计方法课程项目 (github.com)

一、项目介绍


在该项目中,我们需要设计制造一艘小船,该小船需要满足以下条件:该艘船的倾覆角度须满足在120°至140°的范围之内,即在倾斜角度到达120°之前都能够回正,同时在超过140°之后不再具有扶正的能力;此外,船体具备一定的载重能力(两罐听装可乐),不会沉没或者有太大(平衡位置甲板与水面夹角超过10°的倾斜)。为了达到以上的指标要求,我们将使用Matlab软件进行相应的定量分析设计,并以木板为材料进行加工制作。具体的呈现详见下文。


二、第一性原理分析


1

1

2

2

在明确需要达成的指标之后,我们需要使用第一性原理对需要解决的问题进行回归、逐层拨开,回到基本的数学物理公式之中,以便进行较为精确的定量化设计。深入过程见上图。


三、船体设计


3.1设计方向
3.1.1第一性原理的实现

倾覆角度(120°~140°)实现:

设计灵感来源于鱼漂(鱼漂主要分为漂尾、漂身、漂脚,三部分。漂脚大致分为碳脚、竹脚、钢脚等,漂脚的材质不同,自身的重量就不相同,漂脚越重整支鱼漂的重心就会偏下,使鱼漂入水后翻身站立的时间缩短,也就是我们常说的翻身快。)鱼漂的结构恰好可以很好地解决90°以上倾覆角回正的问题,即“头轻脚重”。通过为船体加装舰岛等提供浮力的模块以及合理调节船体各部分高度来进一步精确化满足倾覆角区间。

载重能力(约700g)实现:

除去船体本身的重量将实现700g左右的载重。船体设计将在船体舰岛中为所载货物预留空间,并且预留出排水体积(即预留最大吃水深度),以满足载重要求。

稳定性实现:

当船舶受到外力倾斜时,其重力的大小位置不发生变化,浮力的大小也不变,但浮力的中心位置会发生偏移。我们知道浮力作用的中心是水下体积的中心,当船舶倾斜时,水下体积形状发生改变,倾斜下沉一侧的水下体积会增加,此时浮力的作用中心会向倾斜的一侧移动,浮力和重力不在同一条直线上,他们形成的力矩和倾斜力矩相反,这就是船舶的复原力矩。只要船舶倾斜,船舶的复原力矩就必然出现,方向永远和船舶的倾斜方向相反,这就是船舶拥有稳性的原因。我们将船舶这种受到外力矩(如风浪等)的作用而发生倾斜,在外力矩消失后自行恢复到原来平衡位置的能力,称为船舶的稳性。

我们对船的剖面演示分析可以发现。当船发生倾斜时,浮心位置改变,我们将浮心所在的垂线于船体中心线交点称为稳心。当稳心在船舶的重心之上时,船舶可以回正。当稳心在重心之下,船舶就发生了倾覆。那么船舶横摇的角度达到多大的时候,我们的船会发生倾覆呢?我们分析研究稳性力臂随着船身倾斜角度变化的曲线。当稳心与重心等高时,也就是这条曲线由正变为负的时候,所对应的船身倾斜角度叫做稳性消失角。当船体的倾斜超过了这个角度,船就会翻。也就是说船舶倾斜在稳性消失角之前,稳心的位置比重心高,稳性力臂为正,复原力矩值也就为正,这时即使船体倾斜,也会回复到船舶原有的平衡位置。当船舶倾斜角度超过了这个稳性消失角,稳心位置就比重心低,稳性力臂比为负,复原力矩值也就为负数,那么这个时候就会发生翻船。这样就解释了船受到外力作用会在海中左右摇摆,随着外力的增加摇摆的更加激烈,船的横摇由于复原力矩的存在,能使其回正,但若超过了稳定消失角这个值,就会发生倾覆。

提高船体稳定性一是降低船体的重心来提高船舶的稳性。例如比赛帆船,通过加中竖龙骨的方法来降低它的重心,使其稳性消失角能够达到150度~170度的角度,接近于永不颠覆的船。另外,增加船宽也可以使船舶获得更高的稳性。例如对安全性要求较高的原油运输船,船体会比较宽,船型比较的矮胖。其他还有多种方式可以抵御船舶倾覆的风险。

动力实现:

动力大致分为驱动和电控两个模块,以及电池,螺旋桨的装配,选取适当控制模块来实现。

3.1.2船体造型与其他功能的实现

本次项目设计船舶计划设计类似军舰外形的船体,并且达到船体轻巧,航速较快的目标,在此基础上可以实现节能,造价低廉的非硬性目标。

3.2船体初步设计方案

3

3

阅读更多