在香橙派上安装robomasterSDK

注意

  • 文章以Orange Pi 5 Plus为例,但理论上应该在所有aarch64主机上通用
  • 系统版本:ubuntu-22.04.3-server
  • 作者一开始是跟着官方教程走的,没想到RM官方的教程有bug,这篇文章会修正这些问题,不要跟着官方的教程走

安装

RMSDK官方仓库上下载源代码,找到sdk install on Raspberry Pi.7z并打开

根据树莓派上的python sdk使用.docx执行到配置完虚拟内存,接下来不要管压缩包里的其他文件

经过作者的一番踩坑,发现旧版opencv已经无法在ubuntu-22.04上安装,如果你不幸已经开始安装了,那么下面是我踩过的坑的解决方法,如果你还没开始安装opencv,请直接看安装新版opencv这个板块 

旧版opencv报错

opencv下载报错

如果此时提示无法下载压缩包(如下图)

则在主机上下载opencv-4.1.2.tar.gzopencv_contrib-4.1.2.tar.gz,此时你会发现香橙派上你的用户主目录下多了一个叫opencv的文件夹,把下载好的压缩包传上去

执行以下命令

tar -xvf "opencv-4.1.2.tar.gz"
tar -xvf "opencv_contrib-4.1.2.tar.gz"
popd

接着回到存放安装脚本的目录下,继续安装

./install-deps.sh

找不到包

此时可能会出现找不到包的报错

安装libjasper-dev

替换软件源

sudo add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main"

 提示没有签名

添加签名并安装

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt update
sudo apt install libjasper1 libjasper-dev
安装libeigen2-dev

下载libeigen2-dev_2.0.17-1ubuntu1_arm64.deb,把文件上传到当前目录并安装

sudo apt install ./libeigen2-dev_2.0.17-1ubuntu1_amd64.deb

继续安装

sudo ./install-deps.sh
./build-opencv.sh

build错误

报错

根据报错在以下路径的build.make和flags.make中把所有ipcp-unit-growth=替换成ipa-cp-unit-growth=(把yuanzl替换成自己的用户名)

/home/yuanzl/opencv/opencv-4.1.2/build/3rdparty/carotene/hal/carotene/CMakeFiles/carotene_objs.dir

如果替换完仍然有报错,可以在build目录下查找这行内容

cd /home/yuanzl/opencv/opencv-4.1.2/build
sudo find ./ -type f | xargs grep "ipcp-unit-growth="

到这里作者就放弃安装旧版opencv了,还有报错的话祝你好运 

安装新版opencv

首先参考这篇文章安装opencv4.9.0取代官方的opencv4.1.2(下面的内容对文章做了一些修改,所以不要跟着参考文章走)

下载源码

opencv-4.9.0.zipopencv_contrib-4.9.0.tar.gz

下载以上文件后解压opencv-4.9.0.zip,解压出opencv-4.9.0这个文件夹,放在用户主目录(其他地方也行),下文称这个opencv-4.9.0文件夹为安装目录

解压opencv_contrib-4.9.0.tar.gz,把解压出的opencv_contrib-4.9.0重命名为opencv_contrib,上传到安装目录内(注意不是与安装目录平级)

安装依赖库

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff-dev libgtk2.0-dev pkg-config

编译安装

进入安装目录执行以下命令

mkdir build
cd build
sudo cmake -DCMAKE_BUILD_TYPE=RELEASE \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules .. \
    -DOPENCV_GENERATE_PKGCONFIG=1 \
    ..

接下来查询设备线程数

nproc

我这里查询到的是8,所以

sudo make -j8
sudo make install

如果安装出错,可能是线程数太多导致设备爆内存了,可以适当降低线程数

环境配置

sudo vim /etc/ld.so.conf.d/opencv.conf

在文件中添加以下内容

/usr/local/lib

然后保存并退出

sudo ldconfig
sudo vim /etc/bash.bashrc

在文件中添加以下内容

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

然后保存并退出

source /etc/bash.bashrc

测试

pkg-config opencv –modversion
opencv_version

输出版本号则安装成功

安装RMSDK

python3 --version

python版本需要是3.7.8+, 3.8.4+中的任意一个,且pip版本19.3+,如果不是请安装符合要求的python版本

如果已经安装符合要求的python版本但仍然无法安装,则需要更换python优先级

更换python优先级

ll /usr/bin/ |grep python

这里我的输出是

可以看到我同时安装了python3.10和3.8

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

3.10后面的1是优先级为1(越大越靠前),3.8后面的2是优先级为2,请根据自己的情况调整优先级和python版本 

sudo update-alternatives --config python3

检查优先级,正确的话按回车确认

如果之后执行pip命令报错

则执行以下命令(版本请根据自己的版本切换)

sudo apt-get install python3.8-distutils

安装RMSDK

pip install robomaster

大功告成! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值