yocto stm32mp1集成ros

news2024/11/24 1:56:53

yocto stm32mp1集成ros

  • yocto集成ros
    • 下载meta-ros
    • yocto集成ros
    • rootfs验证

yocto集成ros

本章节介绍yocto如何集成ros系统用来作机器人开发。

下载meta-ros

第一步首先需要下载meta-ros layer,meta-ros的链接如下:https://github.com/ros/meta-ros/tree/master,在我们的yocto源码layers路径下执行如下指令:

git clone https://github.com/ros/meta-ros.git

下载完成以后如下:
在这里插入图片描述
完成以后需要进入到meta-ros里面切换匹配yocto版本的分支,比如我当前使用的yocto版本是dunfell即yocto 3.1,这样我们也需要切换meta-ros到对应的dunfell分支上。

cd meta-ros
git chekcout remotes/origin/dunfell

这样我们的meta-ros layer就准备好了。

这里后面遇到一个编译问题,提示meta-layer不兼容,作了一个小改动,如果遇到同样问题可以尝试以下:
修改你需要集成的ros版本里面的LAYERSERIES_COMPAT_属性为你当前yocto的版本
在这里插入图片描述

yocto集成ros

  1. 添加编译支持
    首先我们需要将meta-ros layer添加到我们的编译系统中来,在conf/bblayers.conf里面添加如下配置:
# ROS
ADDONSLAYERS += " \
	${OEROOT}/layers/meta-ros/meta-ros-backports-hardknott \
	${OEROOT}/layers/meta-ros/meta-ros-backports-gatesgarth \
	${OEROOT}/layers/meta-ros/meta-ros-common \
	${OEROOT}/layers/meta-ros/meta-ros1 \
	${OEROOT}/layers/meta-ros/meta-ros1-noetic \
	"

注意我这里集成的是ros1 noetic版本,如果你需要集成其他版本按照你的需求写就好了,前面4个为meta-ros1-noetic 的依赖layer,如果你和我版本不同请根据你的依赖关系填写。到此应该就可以编译ros系统了,可以尝试使用如下指令来编译ros:

bitbake ros-image-core
  1. 添加ros打包
    如果上面的编译成功的话下一步就可以开始集成我们的rros到rootfs里面了,在我们的rootfs的bb文件里面添加一行如下内容:这个会追加ros的ros-core turtlesim 两个组件到rootfs,后续如果有其他package需求往里面加就好了。
CORE_IMAGE_EXTRA_INSTALL += " ros-core turtlesim  "

rootfs验证

按照第二部做完正常情况下ros的 ros-core turtlesim 就应该已经集成到根文件系统了,下面使用ros自带的测试节点测试ros是否能正常工作

  1. 启动roscore
    登陆到板子上,打开一个终端,执行如下指令:
source /opt/ros/noetic/setup.sh
roscore

执行效果如下:
在这里插入图片描述

  1. 启动UI
    这一步依赖你的板子连接好屏幕,然后rootfs里面有qt系统支持, 然后重新启动一个终端登陆进板子,执行如下指令:
source /opt/ros/noetic/setup.sh
rosrun turtlesim turtlesim_node

这里注意以下因为我板子上的qt系统后端是使用eglfs的,和ros默认的xcb不同,直接执行会coredump,所以我使用export QT_QPA_PLATFORM=eglfs指定了QT的后端使用eglfs,这样就能正常运行了,下面是操作截图:
在这里插入图片描述

  1. 启动终端控制
    这一部需要在开一个终端连接到板子上,执行如下指令:
source /opt/ros/noetic/setup.sh
rosrun turtlesim  turtle_teleop_key

这样在这个终端里面就可以使用上下左右的键盘来控制UI上的小海龟移动拉
在这里插入图片描述

下面贴一张实际在板子上的运行状态照片:
在这里插入图片描述
默认的ui在板子上显示有点问题,不过不影响测试,小海龟的白色路径就是用键盘控制画出来的。集成工作结束,下面就能愉快的开发ros拉

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/979515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

环信uni-app-demo 升级改造计划——单人多人音视频通话(三)

前序文章: 环信 uni-app Demo升级改造计划——Vue2迁移到Vue3(一) 环信即时通讯SDK集成——环信 uni-app-demo 升级改造计划——整体代码重构优化(二) 概述 在将声网 uni-app 音视频插件正式集成进入环信的 uni-app…

毫米波水位监测仪:实时监测水体水位变化

水位监测是一项关键的技术,用于实时监测水体的水位变化,对于水利工程、自然灾害预防和水资源管理都具有重要的意义。通过在各关键节点安装毫米波水位监测仪,可对水位情况进行实时监测;当水位超过阈值时,智能监测仪器将…

一份超预期的期中成绩,拨开百果园“高价值迷雾”

文 | 螳螂观察 作者 | 青月 步入2023年,经济复苏、消费增长趋势显现,但实体店还未完全突破桎梏。 不过,即使是在这样的市场环境中,年初成功“上岸”,估值一度达百亿的百果园,依旧交出了一份营收净利双增…

二蛋赠书一期:《快捷学习Spring》

文章目录 前言活动规则参与方式本期赠书《快捷学习Spring》关于本书作者介绍内容简介读者对象 结语 前言 大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知&#xff0c…

【C++】函数重载 ④ ( 函数指针定义的三种方式 | 直接定义函数指针 | 通过 函数类型 定义 函数指针 | 通过 函数指针类型 定义 函数指针 )

文章目录 一、函数指针定义方法1、直接定义函数指针2、通过 函数类型 定义 函数指针3、通过 函数指针类型 定义 函数指针4、代码示例 - 不同方式定义函数指针 博客总结 : 重载函数 : 使用 相同 的 函数名 , 定义 不同 的 函数参数列表 ;判定标准 : 只有 函数参数 的 个数 / 类…

给抖音达人推商品需要注意什么?抖店商家注意了,教你几个技巧

我是王路飞。 找达人带货这种玩法,虽然商家要给带货达人佣金,相当于你的利润变少了。 但是你要明白一件事,我们做抖店也不是做着玩的,而是奔着长线去玩的,所以长久稳定才是我们需要的。 而相比较自然流量&#xff0…

SecureCRT安装、汉化、上传、美化

文章目录 SecureCRT安装、汉化、美化一、SecureCRT介绍二、SecureCRT下载三、SecureCRT汉化四、SecureCRT连接五、SecureCRT上传第一种方法:用SFTP 传输文件第二种方法:WinSCP传输文件 六、SecureCRT美化 SecureCRT安装、汉化、美化 一、SecureCRT介绍 …

Source Insight 宏-添加单行的c注释

今天写代码的时候突然想到在代码的上一空行添加一对 /* */ 来添加注释,或者单独注释一行代码,而且是用 c 的注释方式,即使用 /**/,如想要在光标处添加 /**/ 或者注释掉光标所在的行,如: 实际的效果就是这样…

小程序开发一个多少钱啊

小程序开发费用 小程序作为一种流行的移动应用形式,具有广阔的市场前景和商业机会。然而,在考虑开发小程序时,了解相关费用是至关重要的。以下是关于小程序开发费用及其相关成本的详细解析: 1. 小程序认证费用: 开发…

【vue】使用无障碍工具条(详细)

引入:使用的是太阳湾的无障碍工具条,代码地址:https://gitee.com/tywAmblyopia/ToolsUI 具体步骤:下载代码后,将其中的 canyou 文件夹拖入 vue 项目中的 public 文件夹中; 上图是在项目目录中的样子&#…

Nginx - 根据请求参数路由进行不同的响应

文章目录 需求思路 需求 业务有一个统一入口 /api/biz?type1 /api/biz/type2需要对不同的接口实现流控 最常见的是通过location进行路径匹配的时候,但是无法使用正则表达一起捕获这个路径和querstring的参数。如果我们想通过URL里面的Query String进行不同的rew…

mybatisplus多租户配置

概述 当前mybatisPlus版本 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.2</version> </dependency>jdk版本&#xff1a;17 springboot版本&#xff1a;…

macOS外接显示器切换窗口卡顿的问题

背景 最近发现在使用外接显示器的情况下&#xff0c;切换窗口鼠标经常会卡一下卡一下的。 过程 由于我个人有安装自动切换输入法的工具&#xff08;Input Source Pro&#xff09;&#xff0c;我以为是在不同窗口中切换了输入法导致的卡顿&#xff0c;我就关闭了这个软件&…

YOLO目标检测——VOC2007数据集+已标注VOC格式标签下载分享

VOC2007数据集是一个经典的目标检测数据集&#xff0c;该数据集包含了20个常见的目标类别&#xff0c;涵盖了人、动物、交通工具等多个领域&#xff0c;共同11220图片。使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;标签格式为VOC格式&#xff08;即xml标签&a…

随心记录0816

1. foce相关方法 下面这张图☞的都是uvm_hdl_force和uvm_hdi_deposit 2.post randomize函数的使用方法 【验证小白】随机中使用post_randomize的正确姿势_尼德兰的喵的博客-CSDN博客 3. 4. process用法 systemverilog的process类 | 骏的世界 (lujun.org.cn) 5.uvm_re_mat…

被百度判定为低质量网站了!如何整改?

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 先说结论&#xff1a;接受现实&#xff0c;不要幻想百度恢复了! 百度自9月初大批量删除百度资源平台权限以来&#xff0c;几乎90%(未经证实**&#xff0c;但数量确实不小)的网站都被取消了权限&am…

【正点原子STM32连载】 第二十九章 DMA实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第二…

【PowerQuery】PowerQuery学习路径

PowerQuery这么好,怎么去学习呢?相信很多初读本书的朋友迫切的希望了解整个PowerQuery全景知识和它提供的相应的功能。但是对于PowerQuery来说,一开始就会进行自定义函数的构建当然也是不可能的,这里有相应的学习路径来进行由浅入深的学习,帮助读者更好的理解PowerQuery的…

12V/24V/48V 直流DC电源浪涌保护方案图 超齐全

直流DC电源端口浪涌过压防护一直都是很多新老电子工程师关注的方案之一。不管是电源端口浪涌防护还是信号接口静电保护&#xff0c;浪涌静电防护&#xff0c;找东沃&#xff0c;电路保护不迷路&#xff01;东沃电子专注于研发、生产、销售静电保护二极管&#xff08;ESD&#x…

natapp 内网穿透 获取网页信息相关内容简介

1 首选介绍natapp 内网穿透进入官网 https://natapp.cn/ 购买或者使用免费隧道 协议使用web ,填写本地地址和web端可访问的端口 进入exe文件的目录 运行 natapp -authtokenxxxxxx 剩下获取微信用户信息 第一步获取code 这里需要设置授权域名 这里可以设置上 natapp给分配的地…