这里写目录标题
具体的操作请看官网,就不重复操作了,我这个小白的都能看懂你也一样的啦!
官网链接:http://wiki.ros.org/astra_camera
相机使用方法:https://www.yahboom.com/build.html?id=4879&cid=516
壹、 编译遇到的问题解决汇总
问题1、
编译ros_astra_camera 出现找不到libucv问题,看这个博主的(我的不是这个的错误)
原文链接:https://blog.csdn.net/weixin_39990586/article/details/106637598
问题2、
乐视奥比中光ROS编译过程报错(我的错误和这个博主的一样,博主写的比较清晰)
原文链接:https://blog.csdn.net/qq_25738131/article/details/126154145
问题出在这:
at ros_astra_camera/CMakeLists.txt:211 (add_library):
at ros_astra_camera/CMakeLists.txt:197 (add_executable):
打开ros_astra_camera/CMakeLists.txt文件,定位到211和197行:
把LibUVC::UVCShared
修改成${libuvc_LIBRARIES}
再次编译即可。
问题3、
重新编译还是报错:需要检查一下catkin_ws/src/ros_astra_cxamera/include/openni2_redist/x64/libOpenNI2.so
文件是否完整,正常大小应改为 516.1 KB。
这个时候直接跑去Github上单独下载.so文件:
源文件地址:
orbbec/ros_astra_camera: ROS wrapper for Astra camera
https://github.com/orbbec/ros_astra_camera/blob/master/include/openni2_redist/x64/libOpenNI2.so
下载后跑到catkin_ws/src/ros_astra_cxamera/include/openni2_redist/x64/
文件夹下替换libOpenNI2.so就可以了
奶思奶思!
贰、 运行遇到的问题
无法启动Astra相机,出现以下错误:
问题1、
执行下面命令
source devel/setup.bash
最好是到自己的.bashrc文件下面添加路径
#source 工作空间/devel/setup.bash
source catkin_ws/devel/setup.bash
问题2未解决、
添加之后又出现新的报错
[FATAL] [1659924039.412142550]: Failed to load nodelet '/camera/driver` of type `astra_camera/AstraDriverNodelet` to manager `camera_nodelet_manager'
[camera/driver-4] process has died [pid 63342, exit code 255, cmd /opt/ros/melodic/lib/nodelet/nodelet load astra_camera/AstraDriverNodelet camera_nodelet_manager ir:=ir rgb:=rgb depth:=depth depth_registered:=depth_registered rgb/image:=rgb/image_raw depth/image:=depth_registered/image_raw __name:=driver __log:=/home/lucky/.ros/log/e5acbc84-16bd-11ed-af8e-000c29402e25/camera-driver-4.log].
log file: /home/lucky/.ros/log/e5acbc84-16bd-11ed-af8e-000c29402e25/camera-driver-4*.log
在ros_astra_camera下的package.xml文件下添加
<export>
<nodelet plugin="${prefix}/nodelets.xml"/>
</export>
好像还是有错,还没解决,就这样吧摆烂了。
叁、ROSmelodic+Astra s编译运行ros_astra_camera
别问,问就是妥协。
官网的文件好像有很大的问题,用了其他朋友的文件就有问题,直接一路绿灯。
所以下面就还是再重新来一遍。
一、搭建ROS工作空间
1、下载ROS驱动功能包
官网的安装包总是有问题,所以我就搬运了国内码云的代码
地址:https://gitee.com/zhangwanjie/ros_astra_camera.git
https://gitee.com/zhangwanjie/ros_astra_camera.git
最好是在windows下面下载完成,再复制到虚拟机Ubuntu里面(虚拟机下载速度太慢了!)
2、安装依赖
sudo apt install ros-$ROS_DISTRO-rgbd-launch ros-$ROS_DISTRO-libuvc ros-$ROS_DISTRO-libuvc-camera ros-$ROS_DISTRO-libuvc-ros
3、配置工作空间
3-1、可以新建一个工作空间,也可以在以前的工作空间里面进行开发
mkdir -p catkin_ws/src
cd catkin_ws/src
catkin_init_workspace
cd catkin_ws
catkin_make
source devel/setup.sh
3-2、把下载的文件放到src目录下
cd src
mv ~/ros_astra_camera ~/catkin_ws/src/
3-3、编译
cd ~/catkin_ws
source devel/setup.bash
catkin_make
3-4、
将source devel/setup.bash写入 .bashrc文件中,防止之后重复操作
gedit ~/.bashrc
根据自己的路径填入,例如我的是这样的
source ~/catkin_ws/devel/setup.bash
二、创建 astra udev 规则
roscd astra_camera
./scripts/create_udev_rules
然后再次编译工作空间(电脑性能不行的话 命令输入:catkin_make)
# 到达工作空间下catkin_ws
cd ../..
# 编译,编译命令catkin_make后带的参数表示使用几核(CPU核心)进行编译
# 此处表明使用7核心进行编译以达到快速编译,如果电脑性能不行的话,直接去掉-j7,慢点就慢点
catkin_make -j7
三、启动相机节点
1、编译astra_camera.launch文件
roscd astra_camera/launch
#因为我的相机型号是Astra s,所以就运行这一句
roslaunch astra_camera astra.launch
#型号是Astra Stereo S (w/ UVC)就用下面这句
roslaunch astra_camera stereo_s.launch
出现这个SUMMAY就是正常的啦。
2、打开RVIZ
roscore ##也可以不用运行这个命令,因为上面已经运行了luanch文件
rviz
四、订阅节点
1、当前的rviz内尚未订阅任何节点,此时可以订阅查看图像信息。点击左下方Add按钮选择image类型,添加图像节点。
依次打开:Add,image ,rgb,OK
2、随后在左侧打开选项卡image,在image Topic中选择自己订阅的节点即可。
依次打开:rgb,image Topic, /camera/rgb/image_raw
随后重复以上操作,选择不同的节点便可显示不同的图像
3、查看点云
3-1、再次点击左下方Add按钮,选择PointCloud2类型新建内容。
依次打开:By display type,PointCloud2,OK
3-2、在左侧PointCloud2选项下订阅 /camera/depth_registered/points话题,并将Global Options下Fixed Frame选为camera_depth_optical_frame。
依次打开:Topic,/camera/depth_registered/points,Fixed Frame,camera_depth_optical_frame
完成上述操作后,即可在中央查看到点云选项
哦耶!!!!!