基于RflySim平台的uORB消息读取与写入实验(一)

这篇具有很好参考价值的文章主要介绍了基于RflySim平台的uORB消息读取与写入实验(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

uORB消息读取与写入实验框架总览

一. 总体说明 —文件目录

uORB消息读取与写入例程目录:

[安装目录]\RflySimAPIs\5.RflySimFlyCtrl\0.ApiExps\6.uORB-Read-Write

自定义uORB消息例程目录:

[安装目录]\5.RflySimFlyCtrl\0.ApiExps\7.uORB-Create

二. 总体说明 — 预备知识

uORB(MicroObjectRequestBroker,微对象请求代理器)是PX4/Pixhawk系统中非常重要且关键的一个模块,它肩负了整个系统的数据传输任务,所有的传感器数据、GPS、PPM信号等都要从芯片获取后通过uORB进行传输到各个模块进行计算处理,此外还需要了解PX4软件系统。

PX4软件系统可以分为若干个小模块,每个模块独立运行(多线程并行),各个模块通过uORB消息模块的订阅与发布功能实现数据的传输与交互,更多信息可以参考PX4官网。

PX4官网连接:https://docs.px4.io/main/zh/index.html

三. 关键子模块介绍

在您安装完成RflySim平台之后,进入Simulink库浏览器中可以看到uORB Read and Write每个子模块。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

3.1 uORB Read Async—获取与uORB Topic相关的数据

如下图所示,该块将获取与uORB主题相关的数据,该主题驱动该块所在的异步子系统。主题名称将根据回调自动确定,并且需要为该主题指定总线对象。更多信息可点击对话框的“帮助”按钮查看。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

3.2 uORB Read Function-CallTrigger—uORB消息读取回调函数触发模块

如下图所示,这个模块提供了两个功能,第一个是从某个uORB话题订阅对应的消息;第二个是对异步事件,采用触发函数调用信号的方法订阅话题上的消息数据。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

如下图所示,第一个功能的使用步骤为:

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

● 选择一个已定义的话题

点击按钮“Select uORB Topic msg”可以打开话题列表以供选择。

● 创建总线(bus)对象

Simulink的总线对象用来接收uORB的消息,点击按钮“Create Bus Object”,Simulink将从.msg文件夹中找到对应的消息文件,并将其映射到MATLAB工作空间生成总线对象。

● 设置uORB读间隔

非异步模式下,需要设置查询频率,单位是毫秒,某些话题设置了最高数据更新速率,设置的频率不要超过这个最大值。

第二个功能的使用步骤为:

● 选择函数调用触发器

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

● 设置查询超时和任务名

当选择了异步功能,采样时间设置框就消失了,这个时候需要设置查询超时参数和任务名。异步功能会衍生出一个新的线程,负责运行和函数触发信号相关的代码,它会通过查询来等待话题上新的数据的到来。此时需要另一个模块来读取话题上的数据,即“读uORB函数触发器数据模块”,如下图所示:

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

3.3 uORB Write—uORB消息数据发布接口模块

该接口允许用户向uORB话题发布指定的值或结构体,通过这个模块可以向某个uORB话题发布对应的消息,话题必须经过正确的定义,一些已定义的话题放在目录C:\PX4PSP\Firmware\msg下,在生成的代码中会自动包含话题的定义文件。

如下图所示,可以输入话题名,点击按钮“Open.msg file”打开对应的消息内容,点击按钮“Open.msg folder”打开话题列表,设置输入端口名及数据类型以对应话题消息。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

3.4 uORB Write Advanced—uORB消息数据发布接口高级模块

该接口可允许用户对其发布的数据进行更灵活的控制。在Simulink中使用uORB Write Advanced接口,可以实现更加复杂和精确的消息发布方式,可选择要写入的消息文件和一个消息ID,还可设置消息的优先级、队列大小等高级选项。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

如下图所示,可以看到当前话题名,点按钮“Open.msg file”打开对应的消息内容,点击按钮“Select.msg file”打开话题列表,并且可以设置输入端口名及数据类型以对应话题消息。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

3.5 uORB Write Advanced_dai—uORB消息数据发布接口进阶模块

如下图所示相较于uORB Write Advanced,uORB Write Advanced_dai新增自定义uORB MsgID功能。

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

基于RflySim平台的uORB消息读取与写入实验(一),课程设计,uORB

相关资料:

[1]. 全权,杜光勋,赵峙尧,戴训华,任锦瑞,邓恒译.四旋翼飞行器设计与控制[M],电子工业出版社,2018.

[2]. PX4官网:https://docs.px4.io/main/zh/index.html

附加资源

官方文档:RflySim官方文档 https://rflysim.com/doc/zh/

社区交流:加入RflySim技术交流群 951534390

下篇文章介绍 “uORB消息读取与写入实验”实验原理,敬请关注!文章来源地址https://www.toymoban.com/news/detail-853978.html

到了这里,关于基于RflySim平台的uORB消息读取与写入实验(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于微信小程序的在线学习平台课程设计

    目录 一、整体目录(示范): 文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等 二、运行截图 三、代码部分(示范): 四、数据库表(示范): 数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习 五、主要技术介绍: 六、项目调试学习(点击

    2024年02月04日
    浏览(52)
  • 基于Java平面设计课程在线学习平台系统设计和实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作 ✌ 主要内容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年02月02日
    浏览(62)
  • 【Java实战项目】基于ssm的数据结构课程网络学习平台

    🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹 赠送计算机毕业设计600个选题excel文件,帮助大学选题。 赠送开题报告模板,帮助书写开题报告。 作者完整代码目录供你选择: 《Springboo

    2024年01月18日
    浏览(45)
  • springboot119基于工程教育认证的计算机课程管理平台

    【毕设源码推荐 javaweb 项目】基于springboot+vue 的基于工程教育认证的计算机课程管理平台 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 **项目编号:springboot119 ** **源码合集(千套源码任你挑

    2024年01月25日
    浏览(65)
  • FPGA 课程综合实验——倒计时(简易计时器闹钟)基于STEP MAX10 FPGA

    组合使用STEP MAX10 FPGA核心板和STEP BaseBoard扩展底板,编写程序,完成一个倒计时定时 器的设计。 功能要求: 使用扩展底板上相邻的4位数码管显示计时时间,显示数值单位为“秒”。(2分) 定时器最大定时时间为99秒,时间显示分辨力为1/100秒。(2分) 倒计时结束时,扩展

    2024年02月03日
    浏览(48)
  • 实验(二)基于BASYS3平台的FPGA流水灯实验

    枯藤老树昏鸦,小桥流水人家。                                   — — — —《天净沙.秋思》马致远 文章目录   前言 一、实验内容 二、实验平台 三、设计思路与方案 四、RTL代码设计 五、仿真测试程序设计 六、电路与仿真结果 七、管脚规划 八、板子上电演示 总结

    2024年02月03日
    浏览(39)
  • 腾讯实验平台基于 StarRocks 构建湖仓底座

    作者: 腾讯大数据平台部科学实验中心Tech Lead、专家工程师 马金勇博士 腾讯大数据平台部科学实验中心数据负责人、专家工程师 胡明杰 StarRocks Contributor、腾讯高级工程师 刘志行 在 2022 年,腾讯 A/B Test 团队启动了海外商业化版本 ABetterChoice 的建设。作为一个全新的 SaaS 产

    2024年02月02日
    浏览(45)
  • 【MQTT】基于阿里云物联网平台实现两设备间相互订阅及发布消息

    一、准备: 1.下载MQTT.fx - 1.7.1工具 https://www.jianshu.com/p/c9f50cf81cd2 2.进入物联网平台,并按照产品文档创建产品及设备 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 3.打开两个MQTT.fx工具,并分别填写相关设备信息,连接物联网平台(参考阿里云产品文档)。  二

    2024年02月02日
    浏览(51)
  • 【一】头歌平台实验-基于jieba的中文分词实战

           近年来,随着自然语言处理技术的日益成熟,开源实现的分词工具越来越多,如 Ansj 、盘古分词等。Jieba 是目前最好的 Python 中文分词组件。 本实训主要介绍 Jieba 模块的使用,并通过示例与实战,帮助大家掌握使用 Jieba 的方法。 1、jieba的特点         分词是自然

    2024年02月05日
    浏览(130)
  • FlinkSql写入/读取Kafka

    创建写入kafka的sink表 创建catalog 插入数据 发现kafka中已有数据 创建连接Kafka的Source表 创建iceberg表 3.插入数据 问题: 报错如下:org.apache.flink.util.FlinkRuntimeException: Failed to send data to Kafka null with FlinkKafkaInternalProducer{transactionalId=‘null’, inTransaction=false, closed=false} Caused by: org.ap

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包