二、yocto 集成ros2(基于raspberrypi 4B)

2024-03-17 17:28
文章标签 集成 yocto ros2 4b raspberrypi

本文主要是介绍二、yocto 集成ros2(基于raspberrypi 4B),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

yocto 集成ros2

本篇文章为基于raspberrypi 4B单板的yocto实战系列的第二篇文章。
上一小节已经使用yocto编译出了raspberrypi 4B的image。并且成功刷机并且启动登陆:
一、yocto 编译raspberrypi 4B并启动
本节我们将ros2机器人操作系统移植到我们的yocto系统里面。

1. 下载ros layer

上小节我们编译的yocto image是基于kirkstone分支的,所以我们也需要下载kirkstone分支的meta-ros layer:
在这里插入图片描述
从上图可以看到kirkstone分支对应的ros2 LTS Distros是Humble版本,下面我们先下载相关源码:
在poky-kirkstone文件夹下执行如下指令:

  1. 下载meta-openembedded layer
    meta-ros依赖meta-openembedded,所以需要先下载meta-openembedded代码
git clone -b kirkstone https://github.com/openembedded/meta-openembedded.git meta-openembedded
  1. 下载meta-qt5 layer
    meta-ros依赖meta-qt5,所以下载meta-qt5代码
git clone -b kirkstone https://github.com/meta-qt5/meta-qt5.git  meta-qt5
  1. 下载meta-ros layer
git clone -b kirkstone https://github.com/ros/meta-ros.git meta-ros

在这里插入图片描述

2. 编译集成ros

下载完成以后需要添加meta-ros 这个layer到bblayers.conf文件中:
在这里插入图片描述

尝试编译ros-image-core镜像,此过程比较慢,请耐心等待

bitbake ros-image-core

编译成功说明ros成功集成,下一步可以将ros-core 和turtlesim 两个包添加到local.conf,这样我们的生成的image就能用来测试ros通信:
在这里插入图片描述
添加完成以后在编译原来的image

bitbake core-image-base

3. 功能验证

编译完成就可以得到我们最新的rpi-build/tmp/deploy/images/core-image-base-raspberrypi4-64-xxxxx-rootfs.rpi-sdimg
执行如下指令刷写SD卡:

sudo dd if=/home/a/work/raspberry/rpi-build/tmp/deploy/images/raspberrypi4-64/core-image-base-raspberrypi4-64-20240313101906.rootfs.rpi-sdimg of=/dev/sda
sync

开机以后初始化ros环境,可以看到确实完成了ROS2 humble的集成:
在这里插入图片描述

这篇关于二、yocto 集成ros2(基于raspberrypi 4B)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819636

相关文章

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

springboot集成Lucene的详细指南

《springboot集成Lucene的详细指南》这篇文章主要为大家详细介绍了springboot集成Lucene的详细指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起... 目录添加依赖创建配置类创建实体类创建索引服务类创建搜索服务类创建控制器类使用示例以下是 Spring

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring