4.树莓派4B装yolov5和搭astra深度相机环境遇到的问题

有很多尚未解答的疑惑,如果大家对这里的知识比较熟悉,请多指教!

一、用ipscan扫描树莓派的IP

之前用树莓派系统(上面有ssh服务)可以扫描到,现在换了Ubuntu18.04系统,就扫描不到了。
解决方法:
在烧录有Ubuntu18.04镜像的SD卡中,找到network-config并打开修改:
1.去掉wifis那一片的注释
2.增加wifi名称和密码

在这里插入图片描述

二、启动相机

我的情况就很符合这篇
中间我遇到问题的几步:
1.git clone https://github.com/orbbec/ros_astra_camera
可能因为网络问题而失败,多试几次可能就会成功
2.roslaunch astra_camera astra.launch
报错如下:

在这里插入图片描述

翻译:即使在刷新缓存后,也无法加载类型为[astra_camera/AstraDriverNodelet]的nodelet[/camera/driver]:找不到与插件astra_camera/AstraDriverNodelet对应的库。确保插件描述XML文件具有正确的库名称,并且该库确实存在。

解决:刷新工作空间。

source ~/catkin_ws/devel/setup.bash

但是,在rviz的Image Topic里只有深度和IR图像,没有彩色图像。

在这里插入图片描述

三、部署yolov5

不太懂这类知识,去网上搜Ubuntu18.04上部署yolov5,出来的教程很多都要安装CUDA,按操作下来到这步:ubuntu-drivers devices
——无结果输出,网上解决方法很统一,统一地对我无用。
这条命令是用来检测可用驱动的,但是(问gpt):
树莓派通常不支持 Ubuntu 提供的 NVIDIA 驱动程序管理工具 ubuntu-drivers。这是因为树莓派通常使用 Broadcom 或者其他厂商的集成图形解决方案,而不是 NVIDIA 的 GPU。因此,ubuntu-drivers 命令在树莓派上可能不会提供有用的输出。
对于树莓派4B这样的 ARM 架构设备,由于其与常见的 x86 架构不同,无法直接使用 NVIDIA 的 CUDA 加速库。然而,YOLOv5 也提供了 PyTorch 版本,而 PyTorch 支持 CPU 上的推理运行,因此你可以在树莓派上运行 YOLOv5,只是推理速度可能会比在支持 CUDA 的 GPU 上慢一些。

安装pytorch

!! 如果跟我一样树莓派上现在是Ubuntu系统的先别执行这步,后面解释)
把whl文件上传至树莓派文件里,然后执行(这个操作是照搬上一篇树莓派系统的):

pip install torch-1.7.0a0-cp37-cp37m-linux_armv7l.whl
pip install torchvision-0.8.0a0+45f960c-cp37-cp37m-linux_armv7l.whl

这里出现了问题:
Ubuntu18.04上面有python2.7和python3.6,默认python是3.6.9,而我这两个包都是给python3.7用的

上一篇文章含糊过去的python切换,这篇还是得还回来……
其实有不止一种方法,但每个都要清楚的就是python3.7到底在什么位置(我就是最开始没意识到这点,瞎搬网上的步骤到处出错),我用的是:

补充:下面提到的修改仅是让执行python命令时执行了python3.7,如果只修改了这一处,python版本相关问题在后面可能会继续出现。
比如我后面重开后遇到的安装pytorch报错,是因为我用的pip安装的,而我这个系统pip的安装路径在python2.7,pip3的安装路径在3.6,做法是:更新python3指向
为什么要更新python3指向呢,因为pip3似乎是跟/usr/bin/python3这个文件有关联,而现在python指向的是python3.6,所以我们要:
①删除原来的:sudo rm -rf /usr/bin/python3
②建立新连接:sudo ln -s /usr/local/bin/python3.7 /usr/bin/python3
这里/usr/local/bin/python3.7是我python3.7的地址,大家根据自己情况更改。】

用户级修改(alias命令):
①python3.7在哪(没安装的在这步前install一下就行)

which python3.7

在这里插入图片描述

②打开 .bashrc文件
这里用的gedit,用别的编辑器也可以。

sudo gedit ~/.bashrc

③找到“alias python=”这行,做如下修改,右边是刚才查到的python3.7的位置

alias python='/usr/local/bin/python3.7'

④使命令立刻生效

source ~/.bashrc

!! 上一篇提到过,具体装哪个版本,不思考的情况下,直接执行(至少适用于python3.7):

pip debug --verbose

它会告诉你。

在这里插入图片描述

而我上一篇用的不是Ubuntu的镜像,是树莓派系统的arm架构,所以当时那两个包在这里并不适用。

在这找whl包

但是!我找不到!
我不明白为什么!
我找到了很相似的那种,但还是不行。

在这里插入图片描述

于是我暂时放弃了这种方法。

另一种方法参考此教程
(如上补充,可将pip换成pip3):

pip install torch==1.8.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torchvision==0.9.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

Successfully installed!!!

yolov5的安装也是参考这个教程,我大概写下:
①下载yolov5:点击直接安装压缩包
②进入到yolov5-master目录下(此处pip也可根据情况换成pip3):

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

它会自动帮你安装好所有依赖。

四、重开

第二天打开树莓派后,启动vnc时:

在这里插入图片描述

报错:There was an error running option P3 VNC
下面列一些与此有关的错误信息:
①Unable to locate package realvnc-vnc-server
②Unit vncserver-x11-serviced.service could not be found.
③Font directory ‘/usr/share/fonts/X11/75dpi/’ not found - ignoring
Font directory ‘/usr/share/fonts/X11/100dpi/’ not found - ignoring
xrdb: No such file or directory
xrdb: can’t open file ‘/home/pi/.Xresources’

没能解决,问别人说是可能系统问题,于是重开了。

一个小时后,我再次启动vnc时还是会弹出这个,不过这次我能在vnc viewer的Ubuntu系统桌面里打开东西了,刚才打开终端、文件什么的一直转圈,然后转着转着就消失了(不会是我网络问题吧?我依稀记得最开始好像也有这个error提示,我当时忽略了没管,因为能用。)

事已至此,先用着吧。

1.安装pytorch

结果在安装pytorch的第一步就遇到了错误:

ERROR: Could not find a version that satisfies the requirement torch==1.8.1 (from versions: none)

ERROR: No matching distribution found for torch==1.8.1

但是昨天为什么没有报错呢,难道我相比昨天少了什么步骤?
【以下是解决问题的分析过程,最终结论在前文提到的“补充”中】
分析过程:
我突然发现一个跟昨天不一样的地方:
pip debug --verbose

在这里插入图片描述

这里怎么变成cp27了,昨天还是37。
但python默认已经设置成了3.7.3:

在这里插入图片描述

看来我哪个地方可能还没有搞懂。
这是 pip3 debug --verbose的结果(pip改成了pip3

在这里插入图片描述

就是跟python3.7没有关系。

嘀!结论:当按照前文【补充】操作后,再用(pip→pip3)

pip3 install torch==1.8.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install torchvision==0.9.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

就再次Successfully Installed了!
安装yolov5的相关依赖时也要用pip3。

2.启动深度相机

还是跟昨天同样的步骤,但是在catkin_make出错了!
ModuleNotFoundError: No module named ‘cmake’
安装cmake:

pip install cmake   //或pip3

安装好后不报no module的错了, 但是报错:
Invoking "cmake" failed

然后我发现前面装依赖的时候就报错了:

在这里插入图片描述

似乎是配置initramfs-tools这个包时出了问题,我也不知道怎么回事,参考了一篇文章做法好像是删掉与此包有关的所有文件,我做了,确实安装依赖时不报错了,但最开始的Invoking "cmake" failed还在。
catkin_make编译时还报了其他的错:
ModuleNotFoundError: No module named 'lsb_release’

在这里插入图片描述

搜了半天,好像还是和python版本有关,我跟之前成功那次的流程就少的是对python的一通操作。

打开/usr/bin/lsb_release文件,发现第一行:
在这里插入图片描述
这里我不太懂,我python3之前不是已经连接到python3.7了吗,为什么还会出问题(我是新手)。

于是寻找其他的解决方法:
sudo locate lsb_release.py

在这里插入图片描述
(!对我这种情况没用!)
我按照sudo cp /usr/share/pyshared/lsb_release.py /usr/local/python3/lib/python3.7/这个办法,并没有解决,然后我又删掉了复制进去的lsb_release.py,现在好像更崩了。
【删除需谨慎!!!】
make: No targets specified and no makefile found. Stop.
Invoking “make -j4 -l4” failed

之前的错误在网上搜还有解决办法,现在这个错误搜出来没一个对应的。
于是我打算:重开!

五、重开again

大概理一下过程:
①开机没动python任何配置,先搭建相机的环境,一切正常。
②某次重开后,先装了yolov5,动了python,再来搭相机环境的时候,catkin_make报错,好像是什么什么incomplete,module没找到。
③再次重开后,执行catkin_make没有中间步骤,直接报错:
File “/home/pi/.local/bin/cmake”, line 5, in from cmake import cmake ModuleNotFoundError: No module named ‘cmake’ Invoking “cmake” failed

这次(最新)重开后不执着于python3.7了,没再动python的配置。
具体情况请看:
重开后精简版整理

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值