一、Astra相机环境搭建
参考文章1
参考文章2
读前须知:
①参考的时候直接复制了命令去操作,工作空间名设置的是AstraS_ws,但其实我的相机并不是Astra_S而是Astra Pro Plus。
②我按照这些流程操作下来,在启动相机时warning检测不到color传感器,也没有camera/color/image_raw的话题,无法对彩色图像进行标定。
1.安装依赖
sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTRO-libuvc-ros
sudo apt install libgflags-dev ros-$ROS_DISTRO-image-geometry ros-$ROS_DISTRO-camera-info-manager ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher libgoogle-glog-dev libusb-1.0-0-dev libeigen3-dev
2.创建工作空间
catkin_make默认用python2编译,后面加上DPYTHON_EXECUTABLE=/usr/bin/python3
即可用python3编译,如下代码:
mkdir -p ~/AstraS_ws/src
cd ~/AstraS_ws/
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
source devel/setup.bash
3.检查环境变量是否生效
echo $ROS_PACKAGE_PATH
4.下载功能包(克隆)
克隆失败的话可以多试几次。
cd ~/AstraS_ws/src
git clone https://github.com/orbbec/ros_astra_camera
5.创建astra udev规则
roscd astra_camera
./scripts/create_udev_rules
6.在工作区下编译源码包
cd ~/AstraS_ws
catkin_make --pkg astra_camera
往上划找具体错误:
报错1:ModuleNotFoundError: No module named ‘em’
解决1:pip3 install empy
报错2:AttributeError: module ‘em’ has no attribute ‘RAW_OPT’
解决2:
pip3 uninstall empy
pip3 install empy==3.3.4
7.使用相机
source ~/AstraS_ws/devel/setup.bash
roslaunch astra_camera astra.launch
8.查看图像
使用rviz或者其他方式,具体操作可参考上面提到的两篇文章。
二、安装pytorch和yolov5
!参考这个老师的教程
1.torch
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
2.yolov5
①点击直接安装压缩包
②解压后将yolov5-master文件夹传到树莓派中,我用的是WinSCP。
③树莓派系统中,进入到yolov5-master目录下:cd /home/pi/yolov5-master
【根据自己系统情况更改位置】
④安装依赖:pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
在这一步卡很久!!!
解决:参考这篇
因为之前安装是没有出现这种情况的,那么“找不同”又开始了——之前把python环境改成了python3.7,而这次我没动python,仍然是python3.6。
根据上面这篇文章的讲解照做,解决了问题。
即先去https://pypi.org/找到符合自己python的opencv-python版本,安装对应版本:pip3 install opencv-python==4.6.0.66
默认安装是最新版,但最新版并不适用于python3.6。
单独安装完opencv-python后,再执行上面这步pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
就成功啦!
⑤测试,继续在yolov5-master的目录下:python detect.py
这时报错:AttributeError: module ‘cv2’ has no attribute ‘gapi_wip_gst_GStreamerPipeline’
解决:pip3 uninstall opencv-contrib-python
大概意思是,opencv-python和opencv-contrib-python版本不一致,才导致这个问题的,有的解决办法是升级opencv-python,但我是故意安装的这个版本,不能再升了。
所以直接卸掉它。
然后detect成功。
结果存在这个目录下。