CN110562321A - 一种适用于四轮小车的两驱差速控制的方法 - Google Patents
一种适用于四轮小车的两驱差速控制的方法 Download PDFInfo
- Publication number
- CN110562321A CN110562321A CN201910747708.6A CN201910747708A CN110562321A CN 110562321 A CN110562321 A CN 110562321A CN 201910747708 A CN201910747708 A CN 201910747708A CN 110562321 A CN110562321 A CN 110562321A
- Authority
- CN
- China
- Prior art keywords
- wheel
- data
- chassis
- speed
- period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 14
- 230000033001 locomotion Effects 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D6/00—Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electric Propulsion And Braking For Vehicles (AREA)
Abstract
本发明涉及一种适用于四轮小车的两驱差速控制的方法,包括以下步骤:步骤1:设置底盘的运动状态;步骤2:里程计数据的计算。本发明能实现对小车精确的控制。
Description
技术领域
本发明涉及一种差速控制的方法,尤其涉一种适用于四轮小车的两驱差速控制的方法。
背景技术
随着我国先进技术飞速发展,智能机器人的研究变得越来越热门,其应用也越来越广泛,价值也逐渐凸显。目前在智能四轮小车转弯过中,一般选用带编码器电机,通过采集当前时刻电机的转速,使用PID进行控制转弯;而在低成本的不带编码器电机中,往往是随意给定一个PWM值实现转弯,忽略了具体的转弯角度和半径,然而在控制转弯过程中,实现转弯的角度和半径也是一个关键点,因此,如何在智能四轮小车应用低成本电机实现控制转弯是很重要的技术问题。
发明内容
为解决上述技术问题,本发明的目的是提供一种适用于四轮小车的两驱差速控制的方法。
为实现上述目的,本发明采用如下技术方案:
一种适用于四轮小车的两驱差速控制的方法,包括以下步骤:
步骤1:设置底盘的运动状态;
步骤11:运行前,选择底盘类型;
步骤12:在步骤11选择完成后,再选择底盘驱动;
步骤13:在步骤12选择并安装完成后,将其X、Y方向上的线速度和角速度设置为零处理;
步骤14:设置X、Y方向上的线速度和角速度;
步骤15:得到里程计中X、Y方向上的位置和底盘转过的角度;
步骤16:得到底盘在X、Y方向上的线速度和旋转角速度;
步骤2:里程计数据的计算;
步骤21:读取底盘的数据;
步骤22:使用状态机读取数据中轮子的速度和旋转方向信息;
步骤23:计算左/右轮在一段时间内转动的角度;
步骤24:计算左/右轮在一段时间内移动的距离;
步骤25:在差分模型中输入两个轮子的速度信息,获得里程计数据。
优选地,所述步骤23和步骤24中涉及的一段时间,为同一段时间。
优选地,所述步骤21中通过串口数据进行数据传输。
优选地,所述四轮小车中的底盘驱动设置有嵌入式平台,通过串口数据线相连。
优选地,所述嵌入式平台通网路与PC端相交互连接。
借由上述方案,本发明至少具有以下优点:
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明的底盘的运动状态的流程图;
图2是本发明的里程计数据的计算的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1、图2所示,
一种适用于四轮小车的两驱差速控制的方法,包括以下步骤:
步骤1:设置底盘的运动状态;
步骤11:运行前,选择底盘类型;
步骤12:在步骤11选择完成后,再选择底盘驱动;
步骤13:在步骤12选择并安装完成后,将其X、Y方向上的线速度和角速度设置为零处理;
步骤14:设置X、Y方向上的线速度和角速度;
步骤15:得到里程计中X、Y方向上的位置和底盘转过的角度;
步骤16:得到底盘在X、Y方向上的线速度和旋转角速度;
步骤2:里程计数据的计算;
步骤21:读取底盘的数据;
步骤22:使用状态机读取数据中轮子的速度和旋转方向信息;
步骤23:计算左/右轮在一段时间内转动的角度;
步骤24:计算左/右轮在一段时间内移动的距离;
步骤25:在差分模型中输入两个轮子的速度信息,获得里程计数据。
本发明中所述步骤23和步骤24中涉及的一段时间,为同一段时间。
本发明中所述步骤21中通过串口数据进行数据传输。
本发明中所述四轮小车中的底盘驱动设置有嵌入式平台,通过串口数据线相连。
本发明中所述嵌入式平台通网路与PC端相交互连接。
实施例一
使用串口发送指令可方便的将希望的速度和方向信息发送给小车使其按照指令运动。根据电机驱动的串口控制指令说明,可以在底盘驱动程序中的通过SendData函数将控制命令(字符数组)发送给小车,这样即可使小车运动。
串口控制指令由起始位,数据位,预留位构成。起始位为0xFF 0xFE两字节组成。数据位由四字节数据组成,分别为A轮速度,B轮速度,A轮电机方向和B轮电机方向,非零为正方向,零为负方向,A轮为右轮,B轮为左轮。
轮速数据为10ms内转过的脉冲个数,比如tx[0]=0x12,则说明每10ms有18个脉冲,1s内有1800个脉冲,由小车自身数据可知轮子转一圈有11750个脉冲,计算可知此时轮速约为0.1m/s。
在程序中,定义私有成员变量char buf[32]用来存放希望串口发送出去的控制命令信息。在SetRPM函数中将轮子RPM转速信息转化为将要发送出去的每10ms的脉冲数信息,将A,B两轮的速度信息以及轮子转动方向信息在SetSpeedLR函数中送入buf数组里,然后使用SendData函数将buf数组中前十个元素发送出去。
发送两轮速度信息均为0x12,通过观察轮子运动,可以得到轮子运动速度为0.1m/s,串口发送数据成功。
实现通过串口接收数据的计算
根据电机驱动的串口控制指令接收数据协议,使用状态机检测起始位并将轮子转速和方向数据接收。
对于Z轴数据,不予接收分析。对于电机速度方向,零代表正方向,二代表负方向,当轮子出于静止状态即速度为零时电机速度方向为一。为了验证接收数据格式,通过串口助手向小车发送电机速度和方向信息,并接收串口传回的数据。
本发明中传入数据为0x12速度和转动负方向,观察串口助手接收到的数据FF FE12 02 12 02 00 01 00 01 7F FF,速度大小和方向均一致。
在发送数据后接收串口传回数据,使用ReadData函数来读取信息并使用状态机将数据串中的信息读出。
当检测到帧头(FF FE)后,紧接着是A,B轮运动状态,当检测不到帧头时,状态停留在A状态。下例为串口接收到数据后状态机分拣各个数据操作。
当检测到起始帧头后,每个状态把各自需要分拣的数据记录下来,之后等待下一个帧头的到来。
里程计
里程计用于计算小车的当前位置,可以测量出小车的前后位移,左右位移和它所转过的角度。
当通过串口接收数据并得到目前车轮运动速度和方向后,若方向为负,速度信息则为负数。在函数GetDiffPos中读取串口传回的速度信息即每10ms的脉冲数left_sped_ms和right_speed_ms。在GetDiffAngle函数中定义一时间(读取每个数据的时间),即可计算出每个时间间隔时角度变化。
dangle=dt×left_speed/one_wheel_counts
其中,Dangle:一个时间间隔角度变化;
Dt:时间间隔;
Left_speed:1s内脉冲数,即left_speed_ms*100,右轮同理;
One_wheel_counts:轮子转一圈所需要的脉冲数(47*500*4/8=11750);
最后每个间隔时间的脉冲数除以轮子转一圈所需要脉冲数,即为在间隔时间dt时间内转过角度占2π度数的百分比。
时间间隔信息dt=0.107s,通过上述关系得到dangle=0.016,通过程序中打印信息得到实际dangle=0.0164,误差2.5%,在3%之内,结果在误差允许之内正确。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (5)
1.一种适用于四轮小车的两驱差速控制的方法,其特征在于,包括以下步骤:
步骤1:设置底盘的运动状态;
步骤11:运行前,选择底盘类型;
步骤12:在步骤11选择完成后,再选择底盘驱动;
步骤13:在步骤12选择并安装完成后,将其X、Y方向上的线速度和角速度设置为零处理;
步骤14:设置X、Y方向上的线速度和角速度;
步骤15:得到里程计中X、Y方向上的位置和底盘转过的角度;
步骤16:得到底盘在X、Y方向上的线速度和旋转角速度;
步骤2:里程计数据的计算;
步骤21:读取底盘的数据;
步骤22:使用状态机读取数据中轮子的速度和旋转方向信息;
步骤23:计算左/右轮在一段时间内转动的角度;
步骤24:计算左/右轮在一段时间内移动的距离;
步骤25:在差分模型中输入两个轮子的速度信息,获得里程计数据。
2.根据权利要求1所述的一种适用于四轮小车的两驱差速控制的方法,其特征在于:所述步骤23和步骤24中涉及的一段时间,为同一段时间。
3.根据权利要求1所述的一种适用于小车的两驱差速控制的方法,其特征在于:所述步骤21中通过串口数据进行数据传输。
4.根据权利要求1所述的一种适用于小车的两驱差速控制的方法,其特征在于:所述四轮小车中的底盘驱动设置有嵌入式平台,通过串口数据线相连。
5.根据权利要求4所述的一种适用于小车的两驱差速控制的方法,其特征在于:所述嵌入式平台通网路与PC端相交互连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910747708.6A CN110562321A (zh) | 2019-08-14 | 2019-08-14 | 一种适用于四轮小车的两驱差速控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910747708.6A CN110562321A (zh) | 2019-08-14 | 2019-08-14 | 一种适用于四轮小车的两驱差速控制的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110562321A true CN110562321A (zh) | 2019-12-13 |
Family
ID=68775392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910747708.6A Pending CN110562321A (zh) | 2019-08-14 | 2019-08-14 | 一种适用于四轮小车的两驱差速控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110562321A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132126A1 (en) * | 2007-11-20 | 2009-05-21 | Jtekt Corporation | Electric power steering device |
CN103383570A (zh) * | 2013-06-25 | 2013-11-06 | 天奇自动化工程股份有限公司 | 一种可全向移动的自动导航小车 |
CN106020200A (zh) * | 2016-07-07 | 2016-10-12 | 江苏上骐集团有限公司 | 采用轮毂电机驱动的agv小车及路径规划方法 |
CN107544512A (zh) * | 2017-09-30 | 2018-01-05 | 江西洪都航空工业集团有限责任公司 | 一种用于智能四轮小车的差速转弯控制器 |
-
2019
- 2019-08-14 CN CN201910747708.6A patent/CN110562321A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090132126A1 (en) * | 2007-11-20 | 2009-05-21 | Jtekt Corporation | Electric power steering device |
CN103383570A (zh) * | 2013-06-25 | 2013-11-06 | 天奇自动化工程股份有限公司 | 一种可全向移动的自动导航小车 |
CN106020200A (zh) * | 2016-07-07 | 2016-10-12 | 江苏上骐集团有限公司 | 采用轮毂电机驱动的agv小车及路径规划方法 |
CN107544512A (zh) * | 2017-09-30 | 2018-01-05 | 江西洪都航空工业集团有限责任公司 | 一种用于智能四轮小车的差速转弯控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106080941B (zh) | 一种实现变速平衡控制的无人驾驶自行车 | |
CN109249397B (zh) | 一种六自由度机器人动力学参数辨识方法和系统 | |
CN105033996B (zh) | 基于手推示教式五轴水平关节机器人的控制系统 | |
CN106697334B (zh) | 一种卫星太阳翼帆板驱动控制方法 | |
Lee et al. | A neural network model of electric differential system for electric vehicle | |
CN103389087A (zh) | 一种轮式机器人位姿解算方法 | |
CN208654640U (zh) | 两轮平衡机器人控制系统 | |
CN107689754A (zh) | 一种舵机位置信息处理方法及系统 | |
CN111993411A (zh) | 一种机器人运动规划方法、装置、机器人及存储介质 | |
CN206664791U (zh) | 一种纵向两轮自平衡机器人及控制系统 | |
CN113601516A (zh) | 一种无传感器的机器人拖动示教方法及系统 | |
CN105204441A (zh) | 手推示教式五轴抛光打磨机器人 | |
CN110562321A (zh) | 一种适用于四轮小车的两驱差速控制的方法 | |
CN108062024A (zh) | 一种考虑阻力的移动机器人反演滑模控制方法 | |
CN106998161A (zh) | 一种伺服系统的转动惯量辨识方法及装置 | |
CN105241678A (zh) | 一种主动后轮转向的快速控制原型实现方法 | |
CN108594798B (zh) | 一种可实现蜂拥控制的机器人小车系统及其控制方法 | |
CN110027610A (zh) | 无人驾驶汽车线控转向系统、转向控制方法和开发方法 | |
CN110647120B (zh) | 一种适用于极端应用条件的运动控制方法 | |
CN105403190A (zh) | 一种步进电机位移检测系统 | |
CN109445404A (zh) | 智能驾驶规划决策控制系统增强在环测试方法 | |
CN113119753A (zh) | 一种分布式电驱动整车差速转向自适应控制方法 | |
CN205540255U (zh) | 用于汽车转向器试验台的伺服电机闭环加载控制器 | |
CN104155909B (zh) | 基于pc+fpga的带速度观测器的有限时间稳定性控制系统 | |
CN113219973B (zh) | 一种移动机器人的局部路径控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191213 |
|
RJ01 | Rejection of invention patent application after publication |