OrangePi Kunpeng Pro 安装 ROS2 + Gazebo

文章目录

  • 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.mfbz.cn/a/721609.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通勤必备!重回儿时回忆,完全免费!

哈喽,各位小伙伴们好,我是给大家带来各类黑科技与前沿资讯的小武。 今天给大家安利三个网站,可以完全免费在线玩的小霸王游戏机,重回童年游戏时刻! 最后一款还可以网页在线和朋友联机CS、吃鸡、暗黑破坏神、拳皇、恐龙…

LVS负载均衡集群企业级应用实战-LVS-DR(四)

目录 LVS-DR 一. 环境准备 二. 对虚拟主机操作 三. 对真实服务器操作 四. 打开网页测试 LVS-DR 一. 环境准备 三台虚拟机,都要在同一网段内,统一关闭防火墙和selinux,时间同步,配置好YUM源。系统用centos和roucky都行。 主…

【ai】如何在ollama中随意使用hugging face上的gguf开源模型

【背景】 ollama的pull命令可以直接pull ollama列表中现有的模型,但是ollama可以直接pull的模型大都是英语偏好(llama2有直接可以pull的chinese版本),而hugging face上则有大量多语种训练的模型,如果能直接使用huggin…

隧道代理是什么?怎么运作的?

隧道代理作为网络代理的一种形式,已经在现代互联网世界中扮演着重要的角色。无论是保护隐私、访问受限网站还是实现网络流量的安全传输,隧道代理都发挥着重要作用。在本文中,我们将深入探讨隧道代理的概念、运作方式以及在不同场景中的应用。…

如何秒杀系统架构设计

原文路径:https://learn.lianglianglee.com/%e4%b8%93%e6%a0%8f/%e5%a6%82%e4%bd%95%e8%ae%be%e8%ae%a1%e4%b8%80%e4%b8%aa%e7%a7%92%e6%9d%80%e7%b3%bb%e7%bb%9f/00%20%e5%bc%80%e7%af%87%e8%af%8d%20%e7%a7%92%e6%9d%80%e7%b3%bb%e7%bb%9f%e6%9e%b6%e6%9e%84%e8%ae%be%e8%ae%…

国际现货黄金的交易方式:二次入场机会识别

近期受地缘局势以及通胀因素的影响,国际现货黄金投资又重新受到市场的青睐。虽然近期金价出现大跌,但投资者反而认为这是低价买金的好机会。为了方便投资者做出决策,下面我们就介绍一些国际现货黄金的交易方式——二次入场点进场。 在国际现货…

Java中序列化与反序列化(五)——static字段

static字段 1、概述2、静态字段的特性2.1、与类相关联2.2、唯一副本2.3、通过类名访问2.4、生命周期 3、静态字段不被序列化4、一个疑问4.1、作用4.2、使用4.2、为什么serialVersionUID是静态的4.2、为什么serialVersionUID会被“序列化” 5、总结 大家好,我是欧阳方…

经典文献阅读之--OrienterNet(自动驾驶中基于网格的交通场景感知)

dia 0. 简介 使用神经网络来匹配2D公开地图的做法是一个很有趣的方法,人们可以使用简单的2D地图在3D环境中指明自己所处的位置,而大部分视觉定位算法则依赖于昂贵的、难以构建和维护的3D点云地图。为了弥合这一差距《OrienterNet: Visual Localization…

项目计划

1.什么是项目计划? 2.软件项目计划的作用 3.项目计划的内容 4.项目计划的主要内容 5.滚动计划方法 6.WBS方法 7.软件项目的特点 8.制定计划的要点 9.直接成本和间接成本 10.为什么说项目计划不是一个文档,而是一个持续的策划过程? 项目计划不…

MySQL数据库回顾(1)

数据库相关概念 关系型数据库 概念: 建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 特点: 1.使用表存储数据,格式统一,便于维护 2.使用SQL语言操作,标准统一,使用方便 SOL SQL通用语法 …

极速查询:StarRocks 存算分离 Compaction 原理 调优指南

作者:丁凯,StarRocks TSC member/镜舟科技云原生技术负责人 StarRocks 在数据摄入过程中,每次操作都会创建一个新的数据版本。在查询时,为了得到准确的结果,必须将所有版本合并。然而,随着历史数据版本的累…

【自记录】记一台i7四代老爷笔记本重装Win10 22H2

1 背景 手上有一台退役的老爷笔记本,清华同方锋锐 U430。因为比较轻便,最近重新翻出来用于临时抓个包和简单的脚本语言(比方说Python)编辑工作。但是现在像VSCode的新版本都要求Win10以上,像Continue这类的AI插件都跑…

【语义分割软件系统】基于Deeplabv3+的河岸线分割软件

基于Deeplabv3的河岸线分割软件 本章内容参考文章《基于Deeplabv3城市街道分割算法》。数据集使用的是USVInland河岸线分割数据集,如图1所示。USVInland数据集是首个针对内陆水道无人水面船只的多传感器数据集,这个数据集由欧卡智舶联合清华大学与西北工…

ChromeOS 逐渐靠近安卓

ChromeOS 逐渐 “安卓化” 谷歌在博客中透露,将在ChromeOS底层更广泛地使用和Android相同的技术栈。一个具体的例子是,ChromeOS现在已经开始使用Android的蓝牙协议栈,取代了之前使用的自己的协议栈。这次改变不仅提高了蓝牙配对速度&#xf…

css之元素类型

元素类型 块状元素 block 特点 独占一行或一块区域&#xff0c;竖着排列可以添加宽高可以设置margin和padding值&#xff0c;上下左右都生效可以作为其他元素的父元素 代表性标签 <div> ...</div> <p> ... </p> <h2> ... </h2> &l…

MAGs培养有线索了?宏组学中未培养微生物表型与培养条件预测

宏基因组测序技术让人们对地球上微生物的多样性有了更深入的了解&#xff0c;但分离培养是研究微生物的生理代谢功能并解析其生态作用的关键。2023年11月的世界微生物数据中心&#xff08;WDCM&#xff09;年会中&#xff0c;全面启动了全球“未培养微生物培养组”计划&#xf…

Nuxt快速学习开发 -- Nuxt3配置

Nuxt配置 nuxt.config.ts文件位于 Nuxt 项目的根目录下&#xff0c;可以覆盖或扩展应用程序的行为 使用可组合项&#xff0c;这些变量会暴露给应用程序 //nuxt.config.ts import { fileURLToPath } from "url"; ​ export default defineNuxtConfig({alias: {//配置…

京东618 :AI总裁数字人、京东Apple Vision Pro版亮相

2004年6月18日&#xff0c;刚刚转型电商才半年的京东&#xff0c;用最互联网的方式为忠实粉丝打造了一场价格降到“难以置信”的店庆促销活动&#xff0c;这场促销活动还有一个很具有当年网络小说特质的名字——“月黑风高”。 2024年京东618&#xff0c;早已成为一场亿万消费…

若依4.7.8版本计划任务rce复现

0x00 背景 最近项目中发现很多单位都使用了若依二开的系统&#xff0c;而最近若依有个后台计划任务rce的漏洞&#xff0c;比较新&#xff0c;我还没复现过&#xff0c;于是本地搭建一个若依环境复现一下这个漏洞。 这个漏洞在4.7.8版本及之前都存在&#xff0c;现在最新版的若…

【每日刷题】Day68

【每日刷题】Day68 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 451. 根据字符出现频率排序 - 力扣&#xff08;LeetCode&#xff09; 2. 最小的K个数_牛客题霸_牛客…