运用模糊集理论和比例原则模拟小车剎车

运用模糊集理论和比例原则模拟小车剎车

模糊理论、 高斯型隶属函数、模糊集这些之前的文章已经说明过了。

已知小车速度和离危险距离,使用高斯型隶属函数求得模糊集合,进行乘法运算,运用比例原则进而推导出小车应设的阻力。
这是目前要解决的问题。

分析

假设一辆行驶速度为v米/秒的汽车前方d米有一个障碍物,设阻力为速度的程度和距离的程度的联合,设计并求出该联合。

①划分v、d的程度区间,这里只是假设,就将它们都划分成(0, 50, 100)三个程度;
②在v和d区间内随机地产生一定数量的随机数x, y;
③使用高斯型隶属函数,求得v,d各自的模糊集X, Y;
在这里插入图片描述
④将两个模糊集相乘,得到三维矢量集:Z = X + Y;
也就是下面这张图:
在这里插入图片描述
⑤设置比例原则的规则,这里通过经验按照原设计设置了下面9个规则:

在这里插入图片描述
⑥按照比例原则公式进行小车阻力推理演算

在这里插入图片描述
⑦先展示一下上面思路的最终效果:
在这里插入图片描述

⑧思路的结果与高斯隶属函数设置的σ有关,如果增加σ的值的话,则会得到:
在这里插入图片描述

实现

# python-模糊数乘积运算
# coding: utf-8
import numpy as np
import matplotlib.pyplot as plt
import math
import mpl_toolkits.mplot3d
def GMF(x, y,c1, c2):
    return np.exp(((x - c1) ** 2 + (y - c2) ** 2) / (-2 * 24 ** 2))
hc = [ 50, 25,  5,
       75, 50, 25,
      100, 75, 50]
v = [0,50,100]
d = [0,50,100]
x, y = np.mgrid[0:100:500j, 0:100:500j]
z = [0]*500
for i in range(0,3):
    for j in range(0,3):
        n = GMF(x, y, v[i], d[j]) * hc[i * 3 + j]
        z = z + n

ax = plt.subplot(111, projection='3d')
ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap='rainbow', alpha=1)
ax.invert_xaxis()
ax.set_xlabel('v')
ax.set_ylabel('d')
ax.set_zlabel('stop')
plt.grid(True)
plt.show()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.硬件设计: (1)控制器:采用STM32单片机作为控制器,具有高性能、低功耗、丰富的外设、良好的开发环境等优点。 (2)传感器:使用陀螺仪、加速度计和电机编码器等传感器进行姿态角度和转速测量。 (3)电源:采用锂电池提供电源,实现更加稳定的电源供应。 (4)驱动电机:使用直流无刷电机,以实现更加精准的控制及更高的速度和加速度。 (5)通信模块:使用无线通信模块进行数据传输和遥控控制。 2.软件设计: (1)姿态角度的测量:通过陀螺仪和加速度计进行姿态角度的测量,得到车身的倾斜角度,以作为控制小车的依据。 (2)速度和位置的测量:通过电机编码器测量电机的转速和位置,以实现小车移动控制。 (3)闭环反馈控制器设计:使用自适应PID算法进行小车的平衡控制。 (4)无线通信功能:通过无线通信模块实现车辆的远程遥控和数据传输功能。 3.总体流程设计: (1)启动小车,等待传感器初始化完成。 (2)通过陀螺仪和加速度计测量姿态角度,并进行卡尔曼滤波处理,实现对小车倾斜角度的精确控制。 (3)通过电机编码器测量小车的速度和位置,并计算出电机的加速度。 (4)通过闭环反馈控制器进行平衡控制,并采用自适应PID算法,实现小车的平稳行驶。 (5)通过无线通信模块实现远程遥控和数据传输。 4.安全设计: (1)设置刹车功能,当小车倾斜角度超过一定阈值时,自动刹车停止运动。 (2)针对不同的情况设置灵敏度,避免小车在复杂路段行驶时出现危险情况。 (3)采用封闭式外壳保护小车内部硬件,避免短路等情况的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值