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

资源管理器和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个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版