把大象放冰箱分为几步?三部,那么我们对传感器进行安装调试分为几步?答案也是三步。
第一步,安装驱动
第二步,运行ROS代码
第三步,调试效果
用到的传感器型号与官网如下:
传感器 | 型号 | 官网 |
Basler相机 | GiE ace 1920-50gc | |
Mako相机 | G-192C | |
禾赛激光雷达 | pandar40P | |
Velodyne激光雷达 | VLP16 | |
速腾激光雷达 | RS-Ruby | |
Delphi毫米波雷达 | Delphi |
Basler相机
- 下载pylon套装。下载地址:https://www.baslerweb.com/en/sales-support/downloads/software-downloads/#type=pylonsoftware;language=all;version=all;os=linuxx8664bit;series=baslerace;model=all
- 下载并解压。
- 解压之后会看到如下图的效果。用编辑器查看INSTALL
To install the pylon 6 Camera Software Suite in /opt/pylon follow these steps:
(1) Change to the directory that contains thisINSTALL document.
(2) Extract the pylon SDK into /opt/pylon:
sudo tar -C /opt/pylon -xzf ./pylon_*.tar.gz
(3) Change access rights of the pylon folder:
sudo chmod 755 /opt/pylon
3. install the udev-rules
In order to use USB3 Vision cameras, you also need to install the udev-rules to set up permissions for Basler USB cameras by calling:
sudo /opt/pylon/share/pylon/setup-usb.sh
- 然后就是下载ros代码
进入到工作空间的src目录下,输入命令
git clone [email protected]:philtell/pylon_ros.git,进行安装。下载完成 输入
cd .. && catkin_make && source devel/setup.bash编译效果如下,说明编译成功。
2020年10月2日 对该博客进行了更改,改用官方提供的ROS代码。之前写博客的时候官方提供的ROS代码不支持pylon6, 我就自己写了ROS代码来支持。现在官方提供了,那么就以官方为准。
4.1. 代码下载地址为:https://github.com/basler/pylon-ros-camera.git 在工作空间/src
下输入git clone https://github.com/basler/pylon-ros-camera.git
4.2. 按照该ReadMe
文档下的说明,再执行命令git clone https://github.com/dragandbot/dragandbot_common.git
,
4.3. 继续安装ROS的相关依赖,sudo sh -c 'echo "yaml https://raw.githubusercontent.com/basler/pylon-ros-camera/master/pylon_camera/rosdep/pylon_sdk.yaml" > /etc/ros/rosdep/sources.list.d/30-pylon_camera.list' && rosdep update && sudo rosdep install --from-paths . --ignore-src --rosdistro=$ROS_DISTRO -y
4.4. 编译工作空间, cd ~/catkin_ws && catkin_make clean && catkin_make && source ~/.bashrc
4.5.运行Launch文件,roslaunch pylon_camera pylon_camera_node.launch
4.6. 配置网口相机IP,roslaunch pylon_camera pylon_camera_ip_configuration.launch
经过测试,该代码不能运行再pylon6的驱动下, 推荐安装pylon5 就可以解决问题。或者安装pylon6的驱动,用上面我给出的github的地址来运行ros代码git clone [email protected]:philtell/pylon_ros.git
- 进入到目录
/opt/pylon/
目录下,双击pylonviewer
,就能对相机相关参数进行配置。其中打开效果如下所示。 - 点击
close
- 红色为网口相机,蓝色为usb相机。
- 如果没有显示相机,需要预先设置一下相机的IP, 与
pylon viewer
在同一级目录下
For further information about how to use the pylon 6 Camera Software Suite and
how to configure cameras and the host system, please read the README document
that will be installed here:
/opt/pylon/share/pylon/README
https://zh.docs.baslerweb.com/using-basler-gige-cameras-in-a-wireless-lan
Mako相机
- 下载并安装驱动,第三方Vimba: https://www.alliedvision.com/en/products/software.html
- 安装驱动。
Installing VimbaVimba comes as a tarball.
To install it:
(1) Uncompress the archive to a directory you have writing privileges for, such as /opt: tar -xzf ./Vimba.tgz -C /opt In this directory, Vimba will be installed in its own folder. In this document, we refer to this path as [InstallDir].
(2) GigE camera users: Go to [InstallDir]/Vimba_x_x/VimbaGigETL.USB camera users: Go to [InstallDir]/Vimba_x_x/VimbaUSBTL.
(3) Execute the shell script Install.sh with root privileges (for example, sudo ./Install.sh or su -c.Install.sh).
(4) If you use GigE and USB cameras, perform this step for both TLs (transport layers).
3. 输入命令sudo -E /opt/Vimba_4_0/Tools/Viewer/Bin/x86_64bit/VimbaViewer
,如果能打开下图画面,说明安装驱动成功。
4. 下载ros代码,在src
下载代码,输入命令git clone [email protected]:philtell/mako_camera.git
5. 然后进行编译
禾赛激光雷达
- 首先下载禾赛ROS代码到
src
目录下,命令为git clone [email protected]:hesaiwuxiaozhou/Pandar40p_ros.git
- 下载完成,请参考
README.MD
进行操作。
Velodyne激光雷达
- 首先在下Velodyne代码到
src
文件下,下载命令为git clone [email protected]:ros-drivers/velodyne.git
- 然后参考https://wiki.ros.org/velodyne 进行安装
速腾激光雷达
- 首先下载ros代码到
src
文件夹下,命令为git clone [email protected]:RoboSense-LiDAR/rslidar_sdk.git
- 然后参考
README进行安装
。
Delphi 毫米波雷达
未完待更新。
安装注意事项
- 在安装的过程中会遇到各种问题,大致分为两类,一类是硬件问题,一类是软件问题。
- 其中硬件问题是传感器可能是没有插电,不稳固,等原因,要排除硬件问题,需要借助一个软件叫
wireshark
。如果传感器能够跟主机进行通信,在wireshark就能看到该传感器的IP, 同时该传感器的IP必须跟主机是在同一个网段下且不重复才能进行安装。如果是激光雷达,同时还可以用手机打开摄像功能对准激光雷达,如果有闪光跳动的红点,说明该激光雷达已经通信,如果是相机,可以打开相应的Viewer来进行查看是否有图像。 - 软件问题就是驱动没装好,ros代码问题,ros版本问题等等,需要具体情况具体分析。