OrangePi Kunpeng Pro 安装 ROS2 + Gazebo

news2025/3/1 4:53:01

文章目录

  • 1. 初识
    • 1.1 到手开箱
    • 1.2 OrangePi Kunpeng Pro
    • 1.2 上电
  • 2. 安装Ubuntu
    • 2.1 准备工作
    • 2.2 安装
  • 3. 安装ROS2
    • 3.1 设置支持UTF-8的locale编码
    • 3.2 添加证书
    • 3.3 安装ROS
    • 3.4 设置环境变量
    • 3.5 小海龟来啦
  • 4. 运行实例
    • 4.1 安装Gazebo
    • 4.2 安装turtlebot
  • 总结

1. 初识

1.1 到手开箱

搞来一套OrangePi Kunpeng Pro玩,来感受一下这香橙派和华子联合打造的小板子怎么样,首先开箱:

在这里插入图片描述

很简单的一套,相比树莓派和Jetson的包装要好上不少,小盒子方便携带和存放,这点好评;另外还配备了iPhone都不带的先进的电源适配器,真的到手开箱即用,十分nice!


PD65W的电源

接下来看板子主体

在这里插入图片描述
秉承着到手即用的良心原则,风扇和硕大的散热块也是出厂自带,拧下来看看:

在这里插入图片描述

芯片丝印是Hi1910,具体型号差不多,猜测应该是昇腾某款吧,不纠结这些,针对这种开发板先看看接口:两个HDMI输出、网口、两个MIPI的摄像头CSI信号接口、一个MIPI DSI的显示信号接口、以及大家都熟悉的40pin的引脚,对于常用的像机器人或无人机的硬件开发来说足够了。

1.2 OrangePi Kunpeng Pro

接下来看一下官方文档信息:OrangePi Kunpeng Pro采用4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出(目前官方固件只支持HDMI0的输出)

对比下树莓派:

请添加图片描述

请添加图片描述

1.2 上电

秉承着到手开箱即用的原则,先不去看手册,直接外接显示器上电开机,SD卡内置了openEuler的系统,一次点亮,卡在了密码,查了下手册,密码同用户名:openEuler

在这里插入图片描述

缺少了自个探索的过程,有点索然无味,不过后面要折腾机器人和无人机,就得装个ROS,装ROS就得装Ubuntu,开始折腾 =.=


2. 安装Ubuntu

2.1 准备工作

下载烧录软件balenaEtcher,官网下载的比较慢,这里放一个李跳跳网站提供的链接:balenaEtcher蓝奏云from李跳跳,提取码:21ds,解压密码:LITIAOTIAO.COM

在这里插入图片描述
第二步就是找到合适的Ubuntu镜像,刷了原版Ubuntu镜像后没有显示器没有图像,查询OrangePi的官网,发现这个和Kunpeng Pro长得一样的兄弟AI Pro,里面有OrangePi官方的Ubuntu镜像,下一个试一下(百度网盘差评,折腾一圈才给下下来)

为了方便,这里直接把AI PRO的Ubuntu22链接贴在这里:Orange Pi AIpro相关下载

2.2 安装

下载好镜像之后使用上面的balenaEtcher烧录即可:

在这里插入图片描述
烧录完成后,把SD卡插入香橙派,上电,开机,成功点亮!

查了下AIPro的手册,Ubuntu的初始密码是:Mind@123

在这里插入图片描述

切换一下编辑器的战场,换到OrangePi Kunpeng Pro的Ubuntu系统上编辑,令人惊喜的是,系统默认已经装好了miniConda,更惊喜的是,看一下base环境的包,torch、opencv、scipy、numpy、ipython 这些包都已经默认给装好了,果然是“到手即用”,给香橙派点个大大的赞!

请添加图片描述
查看一下运行状况:

htop

请添加图片描述开机只打开一个浏览器,大概内存大概用了1/4,SoC占用15-20%


3. 安装ROS2

3.1 设置支持UTF-8的locale编码

sudo apt update
sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

3.2 添加证书

ubuntu软件源这步可以先跳过,因为香橙派已经帮大家设置好了华为云的镜像,直接添加ROS的证书即可

sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

之后大概率会报错:

url: (7) Failed to connect to raw.githubusercontent.com port 443

别着急,老方法,https://www.ipaddress.com 里查询 raw.githubusercontent.com 的ipv4地址,复制下来,之后打开hosts文件,添加ipv4的地址和raw.githubusercontent.com字样,如图:

sudo gedit /etc/hosts

请添加图片描述
之后再执行sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg即可

接下来继续添加ROS仓库:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3.3 安装ROS

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

这一步用OrangePi Kunpeng Pro板子,并且前面按步骤来的话,一般不会出什么问题,耐心等待即可

3.4 设置环境变量

source /opt/ros/humble/setup.bash
echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc

3.5 小海龟来啦

大功告成,用熟悉的小海龟来测试一下o不ok:

ros2 run turtlesim turtlesim_node

再打开一个新终端来控制小海龟

ros2 run turtlesim turtle_teleop_key

大家熟悉的小海龟出来啦!
请添加图片描述

至此,ROS2已经完毕,整个过程十分顺利,得益于 OrangePi Kunpeng Pro 的到手即玩,新手入门可以少了很多弯路,也省了很多配置的时间。


4. 运行实例

接下来在Gazebo方针环境下跑一下SLAM实例再看看OrangePi Kunpen Pro的负载情况

4.1 安装Gazebo

由于官方没有提供Arm环境下的Gazebo包,直接

sudo apt install gazebo

会提示报错:

E: Unable to locate package ros-humble-gazebo-ros

根据iuuse里官方老哥给的解决方案:

sudo add-apt-repository ppa:openrobotics/gazebo11-non-amd64
sudo apt update

接下来就可以搜索到并安装Gazebo了

sudo apt install gazebo

请添加图片描述
确实可以打开并运行,那么接下来开始尝试一下装ROS的Gazebo包:

sudo apt install ros-humble-gazebo-*

也可以搜的到了,耐心等待安装完成

4.2 安装turtlebot

接下来把Cartographer和Navigation2都给安装了:

sudo apt install ros-humble-cartographer
sudo apt install ros-humble-cartographer-ros
sudo apt install ros-humble-navigation2
sudo apt install ros-humble-nav2-bringup

1)新建工作空间

mkdir -p ~/orangepi_ws/src

2)安装turtlebot3

git clone -b humble-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git

3)编译

cd ..

结果想到ros2默认不给装colcon工具,自己装一个:

sudo apt-get install python3-colcon-common-extensions

装完之后再执行build

提示报错:

ModuleNotFoundError: No module named 'catkin_pkg'

那就安装catkin_pkg,顺带着给rospkg也装上,切换到根目录:

cd /
pip install catkin_pkg
pip install rospkg

接下来继续

cd ~/orangepi_ws/
colcon build --symlink-install

4)配置环境变量

echo 'source ~/orangepi_ws/install/setup.bash' >> ~/.bashrc
echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/orangepi_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models' >> ~/.bashrc
source ~/.bashrc

大功告成!


看一下跑起来后的OrangePi Kunpeng Pro运行状况怎么样

请添加图片描述
一下子就拉满了,不过作为一个板载小计算卡,能够顺利抛弃了已经完全足够了,后面就可以在仿真环境里跑一些案例了。

总结

OrangePi Kunpeng Pro 的优点很明显,内置openEuler,配备PD电源,做到开箱即用;板子设计也不错,风扇噪音不大,散热良好,昇腾芯片又确保小板子的性能,接口丰富是这类板子共同的优点,也很好的继承了下来,甚至还可以外接固态,可靠性大大提升。使用起来,哪怕不用openEuler的话,也可以很方便的刷Ubuntu来实现一些需要依赖的开发工作,这次没有跑AI模型,所以对算力的优势还没有很明显的感受,下次可以试一下yolo跑跑看。

另外,截至发文这时候,听说 OrangePi Kunpeng Pro 的算力可以通过固件更新的方式最高可从 8TOPS 提升至 12TOPS,一句牛批先敬上,等这阵子忙完一定跑跑模型,到时候再分享(水)下感受。

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

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

相关文章

springboot、springcloud、springcloudalibaba版本组件之间对应关系

参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E#%E6%AF%95%E4%B8%9A%E7%89%88%E6%9C%AC%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E6%8E%A8%E8%8D%90%E4%BD%BF%E7%94%A8 毕业版本依赖关系(推荐使用) 由于 Spring Boot 3.0&…

linux服务器网络配置

目录 1、centos的网络配置1.1 静态Ipv4配置方法:1.2 动态Ipv4的设置方法1.3 常见ping不通网关的原因:1.4 查看操作系统版本1.5 查看一台服务器的所有服务1.6 猜测所在房间网关ip 2、 Ubuntu的网络配置(静态ipv4)3、2024.6.14 解决…

《精通ChatGPT:从入门到大师的Prompt指南》第6章:日常对话与问答

第6章:日常对话与问答 6.1 提问技巧 提问技巧在使用ChatGPT时至关重要,因为高质量的提问能够得到更为准确和有价值的回答。以下是一些关键技巧和方法,帮助你掌握提问的艺术。 1. 明确问题目标 在提问之前,首先要明确你希望从C…

干G货,性能测试基本方法和原则,

一、性能测试关键点 评估性能指标——线程tps(可架构给) 吞吐量qps(可架构给) 错误率(可架构给) 平均响应时间(可架构给)模拟线上数据量了解接口有没有缓存,有缓存的需要…

同三维T80005EHS-4K60 4K60 HDMI/SDI编码器

1路4K60 HDMI或12G SDI输入,2路3.5MM音频输入,对应HDMI或SDI,1个USB口和1个SD卡槽,可录像到U盘/移动硬盘/SSD硬盘/TF卡 产品简介: 同三维T80005EHS-4K60 4K60HDMI/SDI H.265编码器采用最新高效H.265高清数字视频压缩…

CV预测:快速使用ResNet深度残差神经网络并创建自己的训练集

AI预测相关目录 AI预测流程,包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

基于hispark_taurus开发板示例学习OpenHarmony编译构建系统(2)

3、hispark_taurus产品解决方案-Vendor 产品解决方案为基于开发板的完整产品,主要包含产品对OS的适配、组件拼装配置、启动配置和文件系统配置等。产品解决方案的源码路径规则为:vendor/{产品解决方案厂商}/{产品名称}_。_产品解决方案也是一个特殊的组…

Sentence Transformers x SwanLab:可视化Embedding训练

Sentence Transformers(又名SBERT)是访问、使用和训练文本和图像嵌入(Embedding)模型的Python库。 你可以使用Sentence Transformers快速进行模型训练,同时使用SwanLab进行实验跟踪与可视化。 1. 引入SwanLabCallback from swanlab.integra…

【Hachker News】如果你不需要钱,你会干什么?

Hachker News上的一个问题,标题是“如果你不需要钱,你会做什么?” 回答摘要 问题链接:What would you spend your time working on if you didn’t need money? A1: 我会把时间投入到城市周围的农村地区&#xff0c…

快慢指针在字符串中的应用-443. 压缩字符串

题目链接及描述 443. 压缩字符串 - 力扣(LeetCode) 题目分析 这个题目总体不算太难,如果之前接触过双指针(快慢指针)的话,比较好做。题目可以理解为计算数组中对应各个连续字符出现的次数,并将…

工控机与普通电脑的区别对于工业自动化应用至关重要

商用计算机和工业计算机之间的相似之处可能多于差异之处。工业电脑利用了消费技术领域的许多进步,但增加了工业应用所必需的软件、编程、确定性和连接性。 专业人士表示:“从增加内存到摩尔定律所描述的处理能力的指数级增长,工业控制必将受…

【iOS】KVO相关总结

目录 1. 什么是KVO?2. KVO的基本使用3. KVO的进阶使用observationInfo属性context 的使用KVO触发监听方法的方式自动触发手动触发 KVO新旧值相等时不触发KVO的从属关系一对一关系一对多关系 4. KVO使用注意5. KVO本质原理分析伪代码保留伪代码下的类并编译运行对比添…

QT信号与槽/窗口组件优化

使用手动连接,将登录框中的取消按钮使用第二中连接方式,右击转到槽,在该槽函数中,调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断u界面上输入的账号是否为"admin",…

前缀和算法:算法秘籍下的数据预言家

✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一. 前缀和算法的介绍 二、前缀和例题 2.1 【模版】前缀和 2.2 【模板】二维前缀和 2.3 寻找数组的中间下标 2.4 除自身以外数组的乘积 2.5 和为k的子数组 2.6 和可被k整除的子数组 2.7 …

如何将NextJs中的File docx保存到Prisma ORM

背景/引言 在现代 Web 开发中,Next.js 是一个备受欢迎的 React 框架,它具有许多优点,如: 服务器端渲染 (SSR):Next.js 支持服务器端渲染,可以提高页面加载速度,改善 SEO,并提供更好…

【AI工具】jupyter notebook和jupyterlab对比和安装

简单说,jupyterlab是jupyter notebook的下一代。 选择安装一个即可。 一、这里是AI对比介绍 Jupyter Notebook和JupyterLab都是基于Jupyter内核的交互式计算环境,但它们在设计和功能上有一些关键的区别: 用户界面: Jupyter Not…

关于对pagination.js源代码进行修改且引入项目使用

实现效果 使用定时器对组件进行每秒请求&#xff0c;每过固定时间之后&#xff0c;进行下一页项目请求&#xff0c;进行到最后一页请求的时候返回第一页。 首先引入js插件 <script src"./js/pagination.js" type"text/javascript"></script>…

粉丝经济时代:微信订阅号如何助力中小企业增长

在数字化浪潮席卷全球的今天&#xff0c;微信订阅号凭借其独特的优势&#xff0c;成为了中小企业数字化出海的重要工具。作为NetFarmer&#xff0c;我们致力于帮助企业充分利用这一平台&#xff0c;推动业务发展和市场拓展。今天将深入探讨微信订阅号的概念、用途、使用方法、适…

若依修改浏览器标题logo

在线生成透明ICO图标——ICO图标制作https://www.ico51.cn/

使用ZIP包安装MySQL及配置教程

在本教程中&#xff0c;我们将指导您完成使用ZIP包安装MySQL的过程&#xff0c;并对配置文件进行必要的修改&#xff0c;以及解决可能遇到的问题。本示例以MySQL 5.7.44为例&#xff0c;但步骤同样适用于其他版本如MySQL 8.3.0等。请根据实际需要选择适合的版本下载&#xff1a…