编程

基于特征提取和多层感知器的轴承故障检测

摘要:本文是对DC竞赛网站上的轴承故障检测题目的解答。利用此题目中的轴承振动数据,我们使用MATLAB编程从时域和频域提取特征,完成故障分类。利用此种方法,我们实现了100%的检测正确率。这种思路是传统的模式识别方法,相较于卷积神经网络具有较快的训练速度和在线计算速度。

BP神经网络的过拟合现象观察

摘要:本文以MATLAB的神经网络曲线拟合应用为工具,简要探究和演示了单隐含层BP网络中的过拟合现象。我们将讨论不同输入函数和隐含层神经元数量对过拟合现象的影响,并考察有噪声数据集下的拟合效果,以使读者对神经网络训练中的过拟合现象建立直观的认识。

TEB Local Planner的特性与参数调试技巧总结

本文将介绍ROS导航中的局部规划器TEB Local Planner在实际车辆上的应用条件和参数调试方法。同时我们也将会讨论与之相关的局部耗费地图(local costmap)和耗费地图转换器(costmap converter)。这里我们将不会详细讨论如何在ROS导航栈中配置TEB Local Planner。读者若需相关信息可阅读其它文章。

TEB Local planner 的基本特性和使用TEB的主要原因

在讨论我们为何要使用TEB Local Planner之前,首先向读者简要介绍使用TEB Local Planner的理由。毕竟,若是更加简单的局部路径规划器可以满足要求,读者便没有必要再使用计算量大又难以调试的TEB规划器了。

TEB Local Planner的重要特点

TEB规划器可以处理阿克曼底盘车辆的运动学约束。阿克曼底盘即指常见的汽车底盘,一对车轮方向不可变化,一对可以转向。ROS导航栈默认的局部规划器base local planner只能处理万向轮或差速转向的车辆模型。

C/C++ union类型实现单片机串口定长数据帧协议

union类型介绍与数据帧格式

C/C++均支持名为union(联合)的数据类型。union类型的成员将共用内存空间。就我们制定通讯协议的目的而言,可以把union理解为看待同一内存空间的不同视角。

例如以下数据帧定义:

union FrameRcv
{ 
    struct 
    { 
        uint16_t checksum; 
        uint16_t spd_input; 
        int16_t steer_angle; 
        uint16_t odometry_spd; 
        uint8_t reserved[2]; 
    }values; 
    uint8_t raw_bytes[sizeof(values)]; 
    uint16_t raw_uint16[sizeof(values)/2]; 
};

PHP中使用MySQL参数化查询方法详解

MySQL参数化查询是杜绝SQL注入漏洞的根本方法。与拼接字符串的查询方式相比,参数化查询的方法也相对比较复杂。鉴于目前网络上的教程不能清晰地讲明MySQL参数化查询的方法,笔者在学习上述内容后原创地总结本文,以期帮助后来者掌握有关知识。

本文基于PHP 7+版本编写。

1.PHP中MySQL的面向对象模型:mysqli类

c#异步编程:async/await的使用方法

本文详细介绍了c#中async-await异步编程模型的使用方法,但并不涉及其原理。本文分为四个部分:异步方法的执行方式、异步方法的返回值、等待异步方法执行完毕和异步方法的简单异常处理。

1.异步方法的执行方式

使用async关键字声明的方法为异步方法,其中可包含await关键字,下面举例说明: