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.xdnf.cn/news/1451588.html

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

相关文章

机器学习python实践——数据“相关性“的一些补充性个人思考

在上一篇“数据白化”的文章中,说到了数据“相关性”的概念,但是在统计学中,不仅存在“相关性”还存在“独立性”等等,所以,本文主要对数据“相关性”进行一些补充。当然,如果这篇文章还能入得了各位“看官…

openGauss学习笔记-300 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQL Rewriter SQL语句改写

文章目录 openGauss学习笔记-300 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQL Rewriter SQL语句改写300.1 概述300.2 使用指导300.2.1 前提条件300.2.2 使用方法示例300.3 获取帮助300.4 命令参考300.5 常见问题处理openGauss学习笔记-300 openGauss AI特性-AI…

MySQL问题篇2:关于IN字段不按照顺序返回问题

一、发现问题 数据库表结构如下: 其查询语句如下: SELECT* FROMdepartment WHEREdepartment_id IN (5,4,2,3,1) 其返回结果如下: 到此处我们发现了问题,其中我in写的是(5,4,2,3,1),其返回结果顺…

vue+elementUI实现在表格中添加输入框并校验的功能

背景: vue2elmui 需求: 需要在一个table中添加若干个输入框,并且在提交时需要添加校验 思路: 当需要校验的时候可以考虑添加form表单来触发校验,因此需要在table外面套一层form表单,表单的属性就是ref…

单触控单输出触摸开关芯片PT2052A

1.产品概述 PT2052封装和丝印 PT2052A 是一款单通道触摸检测芯片。该芯片内建稳压电路,提供稳定电压给触摸感应电路使用,同时内部集成高效完善的触摸检测算法,使得芯片具有稳定的触摸检测效果。该芯片专为取代传统按键而设计,具有…

【LeetCode】4,寻找两个正序数组中的中位数

题目地址 B站那个官方解答视频实在看不懂,我就根据他那个代码和自己的理解写一篇文章 1. 基本思路 在只有一个有序数组的时候,中位数把数组分割成两个部分。中位数的定义:中位数,又称中点数,中值。中位数是按顺序排列…

【QT5】<总结> QT主要技术点

文章目录 前言 一、QT串口编程 二、QT网络编程 三、QT多线程 四、QT连接数据库 五、开发板上运行QT程序 前言 在学习QT的过程中,旨在更好地巩固所学到的知识,本篇总结QT在嵌入式开发中的主要技术点。 一、QT串口编程 思维导图: 知识点…

webrtc新版本无法连接peerconnection_server、无法音视频互通no incoming video...问题解决

问题1:无法连接peerconnection_server 在webrtc大概2022之后的版本,会出现无法连接peerconnection_server的现象,如下图: 在peerconnection_client界面点击Connect无法连接server. 解决办法 我们需要修改peerconnection_client的main.cc代码,如下图: 新添加的类代码…

Python第二语言(十一、Python面向对象(下))

目录 1. 封装 1.1 私有成员:__成员、__成员方法 2. 继承:单继承、多继承 2.1 继承的基础语法 2.2 复写 & 子类使用父类成员 3. 变量的类型注解:给变量标识变量类型 3.1 为什么需要类型注解 3.2 类型注解 3.3 类型注解的语法 3.…

LeetCode452用最少数量的箭引爆气球

题目描述 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 x 处…

【C++进阶学习】第一弹——继承(上)——探索代码复用的乐趣

前言: 在前面,我们已经将C的初阶部分全部讲完了,包括类与对象、STL、栈和队列等众多内容,今天我们就进入C进阶部分的学习,今天先来学习第一弹——继承 目录 一、什么是继承?为什么会有继承? 二…

视频监控汇聚平台:系统日志介绍及在运维中的实际应用

目录 一、系统日志的重要性 (一)安全保障 (二)故障排查 (三)运营管理 (四)事件回溯与分析 二、产品说明 (一)产品介绍 (二)接…

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

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

Spring 内置BeanFactoryPostProcessor的子孙们

同样的Spring 也 内置了 一些实现 BeanFactoryPostProcessor的类,各有各的用处。 spring-context AspectJWeavingEnabler 用来把ClassPreProcessorAgentAdapter注册到LoadTimeWeaver中ConfigurationClassPostProcessor 一个重要的类,用来处理Configurat…

基础-02-数据通信基础

文章目录 1.信道特征1.1 数据通信概念1.2 信道特性-信道带宽W1.3 信道特性-码元和码元速率1.4 信道特性-奈奎斯特定理1.5 信道特性-香农定理1.6 带宽/码元速率/数据速率关系梳理1.7 练习题 2.信道延迟2.1 信道延迟概念2.2 信道延迟计算2.3 练习题 3. 传输介质3.1 传输介质概念3…

家用洗地机什么牌子好?怎么选择高性价比洗地机

洗地机已成为现代家居清洁的好帮手,承担着家庭卫生的重要角色,随着日常清洁需求的提升,一台高效、便捷的洗地机成为众多家庭的追求。市场上的洗地机品牌众多,每个品牌下又有诸多系列,让人在选购时难免感到迷茫。又如何…

服务器哪些因素会影响到网站SEO优化?

您是否曾想过,您的 SEO 性能下降,可能是网站服务器出了问题?鉴于此,在本文中,我们将探讨哪些服务器因素会影响您网站的 SEO,并提供可行的建议。 页面速度 搜索引擎非常看重您网站的加载速度。加载缓慢的网站会给用户体…

【云原生】创建harbor私有仓库及使用aliyun个人仓库

1.安装docker #删除已有dockersystemctl stop docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine #安装docker yum install -y docker-ce-20.10.1…

SolarWinds Serv-U 目录遍历漏洞复现(CVE-2024-28995)

SolarWinds Serv-U 目录遍历漏洞复现(CVE-2024-28995) 1.漏洞描述 SolarWinds 是一家提供广泛的 IT 管理和网络管理软件解决方案的公司。SolarWinds 的产品被设计用于监控和管理网络设备、服务器、应用程序和网络流量等。Serv-U 是 SolarWinds 提供的一款 FTP(文件…