文章目录
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,一句牛批先敬上,等这阵子忙完一定跑跑模型,到时候再分享(水)下感受。