你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

资源管理器和Mapper机器人

[复制链接]
点点&木木 发布时间:2019-2-1 13:57
探险家和映射器机器人将是一个带有四个轮子的机器人,它将在一个房间里进行演变。
1.jpg
介绍
探险家和映射器机器人将是一个带有四个轮子的机器人,它将在一个房间里进行演变。由于一些超声波测距模块和AHRS,它将需要一些位置,然后发送和/或记录它们。通过该数据,我们可以绘制房间和物体的形状。我将使用Nucleo板,并且可能添加硬件抽象层以支持机器人中的Arduino板。作为绘图应用程序,我将使用带有屏幕的计算机或Raspberry或STM32F4板。当然,一切都将用Ada制作。
链接
在GitHub中添加项目:https ://github.com/Levraichacal/EMR1
我建立了一个AdaDriversLibrary的分支,添加了对NucleoF411RE的支持。你可以在http://github.com/Levraichacal/Ada_Drivers_Library找到它。我还为这个分支添加了mpu6050运动传感器。
在EMR1上,我删除了未使用的驱动程序,就像我在AdaDriversLibrary中使用的驱动程序一样
我添加了common和blinky项目,以确保构建器正常工作:link。
由于我从不在Ada中使用多任务,而且还使用ravenscar规范,我做了一个小项目,有四个任务,以不同的速度切换一些LED(1,2,3,4秒)。这是该项目的链接2 - 任务测试。我将使用任务:
从MPU6050获取数据
从HMC5883L获取数据
从六个HC-SR04获取数据
计算AHRS
驱动电机
发送数据。
一些额外的东西将是:
从其他2个MPU6050获取数据
计算每个欧拉的角度
驱动伺服电机
从另外两个HC-SR04获取数据
因为我需要一个指南针来装帽,我选择了霍尼韦尔的HMC5883L。所以我写了HMC5883L包来驱动它。它位于以下链接:HMC5883L驱动程序。
要关注我的项目并添加更改,我将所有内容都放在我的网站上。
我没有时间在截止日期前完成我的项目:宝贝,搬家和上班都用我所有的空闲时间。我将继续它,当我将有空闲时间(可能下周)并在我的网站和我的GitHub上发布所有内容。它的应用程序使用不同的传感器进行地图和扫描,以便在军事领域或在家庭或地震,海啸等安全漏洞等气候灾难后进行检测。
计划
这是我想要遵循的计划。
6
对于机器人:
1.编写NucleoF411RE的驱动程序。(好的,谢谢svd2ada)
2.使用LED测试端口。(好)
3.在NucleoF411RE上用ravenscar尊重测试任务。(好)
4.为MPU6050编写驱动程序。(好)
5.编写HMC5883L的驱动程序。(好)
6.获取并发送具有两个不同任务的HMC5883L数据。(进行中)
7.获取并发送具有两个不同任务的MPU6050数据 - 发送将与其他传感器共用。(进行中)
8.用任务编写AHRS。(进行中)
9.写下电机驱动器。(进行中)
10.写下HC-SR04的驱动程序。(尚未开始,但先前在Ada中使用Arduino制作)
11.使用HC-SR04定位机器人并控制其运动:
从10厘米进一步向30厘米远
向左转,从10厘米到50厘米再往前走
左转并重新开始扫描
12.获取所有数据,并将其发送到每个站点。目标是通过六个HC-SR04测量机器人的位置和不同的距离。不同HC-SR04的位置是已知的,坐标将由接收器计算。(额外)
13.为罗盘(HMC5883L),IMU(MPU6050),超声波传感器(六个HC-SR04)添加校准模式。
14.将两个HC-SR04添加到平台上,由两个伺服电机控制,用于3D绘图。
15.添加控制模式以手动引导接收器部件。
16.添加其他传感器:摄像头,气体/氧气检测,烟雾探测,放射性传感器,金属探测,地雷探测。
17.支持STM和Arduino Due的其他主板。
对于接收者:
1.接收数据并打印。(进行中)
2.计算坐标并将其打印在屏幕上。
3.绘制表示屏幕上坐标的点。(额外)
4.添加连接菜单。
5.为每个需要校准的传感器添加触摸。
6.在屏幕上添加缩放以放大和缩小地图。
7.添加坐标的3D表示。
8.添加手动模式以控制和使用Disco1-F469的加速度计来控制运动。
架构
架构如下。
在机器人上:
每个传感器的信号量,用于保护数据的读写。它将保持安全并避免AHRS计算出现问题或将数据发送到接收器。
所以它将在那些任务上:
1.以25 Hz的频率获取HMC5883L数据
2.以25 Hz的频率获取MPU6050数据
3.以25 Hz计算AHRS
4.以10 HZ发送数据
我将使用通用PWM用于HC-SR04和中断信息的返回。
在接收器上:
收到的数据一旦到达就会中断。程序将在屏幕上绘制数据。它将使用连接模式,校准和自动/手动模式。
* OPEN:一切都受到GPL3许可的保护。如前所述,所有内容都存储在我的GitHub上。我使用了AdaCore的GPS IDE。
协作:一切都在网站上解释,代码存储在GitHub上。我也会在AdaCore GitHub上提交驱动程序。每个人都可以自由重用我的代码。
可靠:我使用ravenscar配置文件遵循实时规则并保持系统安全。我在将所有代码上传到GitHub之前对其进行评论以便可读。
发明内容:我不知道像我这样的机器人是否已经在Ada中编码,但是对我来说,这是一种在Ada中编码并使用Ravenscar配置文件和多任务处理的方法。而且,开始在STM芯片和Ada(我最喜欢的语言)上编码(但我目前还没有在工作中使用它)。
相关文件--- EMR1-master.zip (43.44 KB, 下载次数: 0)
收藏 评论0 发布时间:2019-2-1 13:57

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版