首页 论坛 创客及开源专区 开源、DIY及3D打印 基于STM32F1的自动跟随机器人设计:大鱼机器人开源分享(MDK源码+论文)

发帖 回复

[资料] 基于STM32F1的自动跟随机器人设计:大鱼机器人开源分享(MDK源码+论文)
11740 查看
72 回复
 楼主 | 发布于 2018-08-30 | 只看楼主
分享到:

大鱼机器人开源:自动跟随机器人(源码+论文)

感谢原创:张巧龙

公众号:大鱼机器人

技术群:124545085



摘要:C/C++等高级语言编程能够帮助开发者更加有效的设计两轮平衡车的控制系统。本文设计的平衡车系统是以C语言作为开发语言来设计软件程序的,选用意法半导体公司的STM32F103系列的微控制器作为本控制系统的主控芯片,使用惯性传感器MPU6050实时采集得到加速度的值及角速度的值,经过卡尔曼滤波算法融合加速度和角度计算出两轮平衡车系统的倾角,并通过PID控制器计算出控制PWM,通过PWM信号输出到电机驱动上,从而控制电机的速度和方向,从而控制平衡车的平衡和简单行走。

 

关键词:STM32F103;MPU6050;卡尔曼滤波;PWM;PID控制器




腾讯视频播放地址:https://v.qq.com/x/page/n05379v9lxy.html

实物

人车跟随

车车跟随


硬件方案

选用单发单收超声波模块进行测距,以此来获取人与车的距离,模块可在某宝上购买,也可自己制作。

在机器人的两端各安装一个单收超声波,人手持一个单发的超声波模块。

这样左侧与右侧离人的距离就构成了一个三角形。简单示意图如下图所示:

当机器人正对着人时,装在机器人上的2个超声波模块,距离A=B,

当人左拐时,A必定小于B

同理当人右拐时,A大于B

当人向前走时,A和B的距离必定大于设定距离。我们只需要控制好这几个距离即可。

由此可获得人与机器人的距离以及人的行走路线,来实现机器人的自动跟随功能。


这种超声波模块也能做跟随,但是非常有限制性,为什么呢?

这种超声波模块,收发一体,只能测试障碍物的距离。

也就是说只能测出机器人面前的物体与机器人的距离。

所以只能做直线跟随!并不能转弯跟随!

有人会说,和上面一样,一边装一个不就行了吗。

这样必失败,因为2个超声波都会发出超声波,会互相干扰,距离一个都测不出。



/  3  /   程序设计

选当获取到A、B距离后,如何控制呢?对距离做一个简易的PID中的P控制即可。

代码如下(完整源码请回复【自动跟随】获取)

首先是直线跟随的部分代码:


其次是转弯跟随的部分代码:


(3 ) (7 )
回复 举报

楼主 | 回复于 2018-08-30 沙发

自己支持下;

编辑于 2018-08-30

(2 )
评论 (0) 举报

回复于 2018-08-30 2#

(1 )
评论 (0) 举报

回复于 2018-08-30 3#

谢谢分享!!!!!!!!!!!
(0 )
评论 (0) 举报

回复于 2018-08-30 4#

谢谢分享!!!
(0 )
评论 (0) 举报

回复于 2018-08-30 5#

感谢分享;
(0 )
评论 (1) 举报

回复于 2018-08-31 6#

感谢分享
(0 )
评论 (0) 举报

回复于 2018-09-03 7#

(0 )
评论 (0) 举报

回复于 2018-09-03 8#

自动跟随
(0 )
评论 (0) 举报

回复于 2018-09-03 9#

厉害厉害,大神,我要抱你大腿。。。
(0 )
评论 (0) 举报

回复于 2018-09-03 10#

感谢分享
(0 )
评论 (0) 举报
发表回复
0/3000





举报

请选择举报类别

  • 广告垃圾
  • 违规内容
  • 恶意灌水
  • 重复发帖

全部板块

返回顶部