当前位置: 首页 > news >正文

[X3m]ros交叉编译

ros需要安装以下包

PYTHON_PACKAGE_LIST="lark lark-parser netifaces pyyaml ifcfg pyunicodedata "

TogetheROS.Bot | TogetheROS.Bot用户手册

编译tros.b​

1 使用docker文件​

该部分操作均在开发机的docker内完成。

## 创建目录
cd  /mnt/data/kairui.wang/test
mkdir -p cc_ws/tros_ws/src
## 获取交叉编译用docker
wget http://archive.sunrisepi.tech/TogetheROS/cross_compile_docker/pc_tros_v1.0.5.tar.gz
## 加载docker镜像
sudo docker load --input pc_tros_v1.0.5.tar.gz 
## 查看pc_tros对应的image ID
sudo docker images
## 启动docker挂载目录
sudo docker run -it --entrypoint="/bin/bash" -v PC本地目录:docker目录 imageID,这里以 sudo docker run -it --entrypoint="/bin/bash" -v /mnt/data/kairui.wang/test:/mnt/test 9c2ca340973e 为例

2 获取tros.b源码​

该部分操作均在开发机的docker内完成。

这里以docker中/mnt/test目录为例。

cd /mnt/test/cc_ws/tros_ws
## 获取配置文件
git clone https://github.com/HorizonRDK/robot_dev_config.git -b develop 
## 执行cd robot_dev_config,使用 git tag --list 命令查看可用的发布版本
## 使用 git reset --hard [tag号] 命令指定发布版本。详细说明参考本页面 编译指定版本tros.b 内容
## 拉取代码
vcs-import src < ./robot_dev_config/ros2_release.repos 

整个工程目录结构如下

├── cc_ws
│   ├── sysroot_docker
│   │   ├── etc
│   │   ├── lib -> usr/lib
│   │   ├── opt
│   │   └── usr
│   └── tros_ws
│       ├── robot_dev_config
│       └── src

其中tros_ws/robot_dev_config路径包含代码拉取、编译、打包等功能所需要的配置、脚本文件;tros_ws/src路径存放拉取的代码;sysroot_docker路径包含交叉编译依赖的头文件和库,和地平线RDK的/目录对应。例如媒体库在sysroot_docker中的路径为sysroot_docker/usr/lib/hbmedia/,在地平线RDK中的路径为/usr/lib/hbmedia/

编译时,在robot_dev_config/aarch64_toolchainfile.cmake编译脚本中通过CMAKE_SYSROOT宏指定sysroot_docker的安装路径。

3 交叉编译​

该部分操作均在开发机的docker内完成。

## 拷贝create_soft_link.py
mkdir -p install && cp ./robot_dev_config/create_soft_link.py install/## 使用build.sh编译X3版本tros.b
bash ./robot_dev_config/build.sh -p X3## 使用build.sh编译RDK Ultra版本tros.b
bash ./robot_dev_config/build.sh -p Rdkultra

编译成功后会提示总计N packages编译通过。

若使用minimal_build.sh进行最小化编译,还可通过执行./minimal_deploy.sh -d “install_path”,进一步压缩部署包大小。

安装tros.b​

将编译生成的install目录拷贝至地平线RDK中并重命名为tros,这里我们将部署包放在/opt/tros目录下与deb安装目录保持一致

编译指定版本tros.b​

在本章节编译tros.b小节第2步获取tros.b源码中,默认是获取的最新版本tros.b源码。如果需要获取某个指定发布版本源码,该步骤需要做如下修改

## 获取配置文件
git clone https://github.com/HorizonRDK/robot_dev_config.git -b develop 
cd robot_dev_config
## 查看可用的发布版本
git tag --list
## 切换至指定版本号,这里以tros.b 2.0.0为例
git reset --hard tros_2.0.0
cd ..
## 拉取代码
vcs-import src < ./robot_dev_config/ros2_release.repos

相关文章:

[X3m]ros交叉编译

ros需要安装以下包 PYTHON_PACKAGE_LIST"lark lark-parser netifaces pyyaml ifcfg pyunicodedata " TogetheROS.Bot | TogetheROS.Bot用户手册 编译tros.b​ 1 使用docker文件​ 该部分操作均在开发机的docker内完成。 ## 创建目录 cd /mnt/data/kairui.wang/…...

【漏洞库】Fastjson_1.2.47_rce

文章目录 漏洞描述漏洞编号漏洞评级影响版本漏洞复现- 利用工具- 漏洞环境- 漏洞扫描- 漏洞验证- 深度利用- GetShell- EXP 编写 漏洞挖掘- 寻找入口点- 指纹信息 修复建议- 漏洞修复 漏洞原理 漏洞描述 Fastjson是阿里巴巴公司开源的一款json解析器&#xff0c;其性能优越&am…...

zabbix 钉钉微信企微告警(动作操作消息内容模板)

一、环境配置 1、配置zabbix服务端 2、配置监控主机&监控项&监控模板 zabbix配置安装_this page is used to test the proper operation of _疯飙的蜗牛的博客-CSDN博客 二、触发器 触发器的本质就是一个条件判断&#xff0c;对于不同的监控数据来说&#xff0c;我…...

阿里云国际站云服务器数据备份方法有哪些?

阿里云国际站云服务器是一种根据云计算技术的虚拟服务器&#xff0c;它能够经过互联网提供计算资源和服务。在运用云服务器的过程中&#xff0c;数据备份是非常重要的一个环节。本文将介绍云服务器数据备份的办法&#xff0c;包含手动备份、主动备份和数据同步。 一、手动备份 …...

游戏笔记本电脑可以进行 3D 建模和渲染吗?有哪些优势与缺点?

3D 建模和渲染是创建令人惊叹的数字艺术、动画和游戏体验的最流行和最广泛使用的工具之一。随着技术的进步&#xff0c;对运行这些模型的强大计算机的需求呈指数级增长。对于那些寻求强大机器来处理 3D 建模任务的人来说&#xff0c;游戏笔记本电脑已成为一个可行的选择。 游戏…...

【AI】推理系统和推理引擎的整体架构

本文主要是对 B 站 Up 主 ZOMI酱 推理系统系列视频 的理解&#xff0c;可以认为是重点笔记。 一、深度学习模型的全生命周期 相信很多人和我一样&#xff0c;刚看到深度学习模型中的推理系统或推理引擎时是一头雾水&#xff0c;因为学习 DL 时通常关注于模型的设计和训练。下图…...

k8s集群中流水线部署微服务

k8s集群中流水线发布微服务 一、流水线部署微服务部署流程 二、微服务发布流程 pipeline {agent {node {label maven}}parameters {string(name: PROJECT_VERSION, defaultValue: v1.0, description: )string(name: PROJECT_NAME, defaultValue: , description: )}environment…...

Socks5代理与网络安全:保护您的隐私与数据

在今天数字化的世界中&#xff0c;隐私和网络安全已经成为至关重要的话题。Socks5代理作为一种强大的工具&#xff0c;不仅为用户提供了隐私保护&#xff0c;还在网络安全和爬虫领域发挥着关键作用。本文将深入探讨Socks5代理的工作原理、其在网络安全中的应用&#xff0c;以及…...

2024年山东高企申报注意事项

1、分析企业技术及财务报表 分析财务数据及企业主营产品和技术点。用以确定申报材料的撰写方向。一般耗时1周左右。&#xff08;纺织厂、服装厂等传统行业面临申报中的面临研发人员比例不达标&#xff0c;研发费用不达标&#xff0c;高新技术产品比例不达标等难题。&#xff09…...

npm publish包报404,is not in the npm registry错误

1. 指定发布目标2. 登录npm&#xff0c;使用登录名发布包&#xff0c;包名命名原则“登录名/包名”&#xff0c;或 “包名” 3. 删除某一个版本npm unpublish pvfhv/eslint-config-prettier1.0.1 --force 删除后的版本不能重复使用&#xff0c;正式解释&#xff1a; Unfortun…...

pytest-基础

一.使用pytest,默认的测试用例的规则以及基础应用 1.模块名字必须已test_开头或者_test结尾 2.测试类必须以Test开头,并且不能有init方法 3.测试方法必须以test开头 示例代码 test_001.py import pytest class TestCase:def test_case(self):print("执行测试用例&quo…...

在openSUSE上开启护眼模式

色温 色温是用来衡量光源色彩时所用到的一个概念&#xff0c;单位为开尔文。热黑体辐射体与光源温度相同时的温度&#xff0c;就是该光源的色温。 显而易见&#xff0c;色温越低时&#xff0c;光源看起来越黄&#xff1b;色温越高时&#xff0c;光源看起来越蓝。下面是一些常见…...

vue基础知识十:Vue中组件和插件有什么区别?

一、组件是什么 回顾以前对组件的定义&#xff1a; 组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念&#xff08;组件&#xff09;来实现开发的模式&#xff0c;在Vue中每一个.vue文件都可以视为一个组件 组件的优势 降低整个系统的耦合度&#xff0c;在保持接口不…...

Arthas是一个Java诊断工具 的入门使用

Arthas是一个Java诊断工具&#xff0c;可以帮助开发人员在运行时快速诊断和解决线上应用故障。 以下是Arthas的入门步骤&#xff1a; 安装Arthas 你可以在Arthas Github页面中找到安装指南&#xff0c;根据操作系统选择相应的安装方式。 启动Arthas 在安装完成后&#xff…...

数据结构——排序算法——桶排序

桶排序的思想是&#xff1a; 1.将区间划分为 n 个相同大小的子区间&#xff0c;每个子区间称为一个桶 2.遍历数组&#xff0c;将每个数字装入桶中 3.对每个桶内的数字单独排序&#xff0c;这里需要采用其他排序算法&#xff0c;如插入、归并、快排等 4.最后按照顺序将所有桶内的…...

Kafka消息发送可靠性分析

Apache Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者和生产者之间的所有实时数据。Kafka的主要特性包括&#xff1a;高吞吐量、可扩展性、持久性、分布式、可容错等。这些特性使得Kafka成为大规模数据处理和实时数据分析的理想选择。然而&#xf…...

如何将一个字符串转换为驼峰命名法(camel case)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 思路⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领…...

牛客网项目-第一章-笔记

牛客网项目-第一章 环境配置 java maven idea Spring Intializr 搜索jar包的网站&#xff1a;https://mvnrepository.com/ https://start.spring.io/ 缺少的aop包&#xff0c;手动在pom.xml中加入依赖 <dependency><groupId>org.springframework.boot</gro…...

CISP汇总

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库溯源相关 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 本文用来整理相关CISP知识笔记 0x01 汇总...

KALILINUX MSF中kiwi(mimikatz)模块的使用

一、简介&#xff1a; kiwi模块&#xff1a;   mimikatz模块已经合并为kiwi模块&#xff1b;使用kiwi模块需要system权限&#xff0c;所以我们在使用该模块之前需要将当前MSF中的shell提升为system。 二、前权&#xff1a; 提权到system权限&#xff1a; 1.1 提到system有…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...

深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学

一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件&#xff0c;其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时&#xff0c;价带电子受激发跃迁至导带&#xff0c;形成电子-空穴对&#xff0c;导致材料电导率显著提升。…...

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...

Modbus转Ethernet IP深度解析:磨粉设备效率跃升的底层技术密码

在建材矿粉磨系统中&#xff0c;开疆智能Modbus转Ethernet IP网关KJ-EIP-101的应用案例是一个重要的技术革新。这个转换过程涉及到两种主要的通信协议&#xff1a;Modbus和Ethernet IP。Modbus是一种串行通信协议&#xff0c;广泛应用于工业控制系统中。它简单、易于部署和维护…...