热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LMS15110100单线激光雷达与RealSense双目相机的联合标定

一丶标定板的准备棋盘格规格使用A4纸大小,角点(图7中红色、绿色圆圈标记)数分别为8个及6个,单个棋盘格为0.024mm*

一丶标定板的准备

棋盘格规格使用A4纸大小,角点(图7中红色、绿色圆圈标记)数分别为8个及6个,单个棋盘格为0.024mm*0.024mm的正方形。
在这里插入图片描述
将打印出的高清A4大小棋盘格粘贴在平整、坚硬的平面上。


二丶SICK激光雷达的使用

本次标定的激光雷达为LMS151-10100,首先在官网上下载SOPAS Engineering Tool,并安装LMS15x的SOPAS驱动SSD。
在这里插入图片描述
安装完成后将Ethernet网线接入电脑,配置激光雷达的IP地址使其与电脑处于同一网段中,LMS的默认IP地址为192.168.0.1。

使用ubuntu连接获得激光数据:
1.下载ROS-LMS1xx驱动
2.编译完成并修改环境变量后启动节点,连接激光

roscore

3.新打开终端,启动节点
(一般需要指定ip rosrun lms1xx LMS1xx_node _host:=192.168.1.14,已经指定跳过)

roslaunch lms1xx LMS1xx.launch

显示已经成功连接到 laser。

4.打印scan话题 激光信息

rostopic echo /scan

三丶RealSense双目相机的安装


RealSense官方文档


Register the server’s public key:

sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE

In case the public key still cannot be retrieved, check and specify proxy settings: export http_proxy="http://

:

"

and rerun the command. See additional methods in the following link.

Add the server to the list of repositories:

#Ubuntu 16 LTS:
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main" -u


```bash
#Ubuntu 18 LTS:
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u

Install the libraries (see section below if upgrading packages):

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

The above two lines will deploy librealsense2 udev rules, build and activate kernel modules, runtime library and executable demos and tools.
Optionally install the developer and debug packages:

sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg

With dev package installed, you can compile an application with librealsense using g++ -std=c++11 filename.cpp -lrealsense2 or an IDE of your choice.

Reconnect the Intel RealSense depth camera and run: realsense-viewer to verify the installation.
Verify that the kernel is updated :

modinfo uvcvideo | grep "version:" should include realsense string

在这里插入图片描述


四丶Autoware的安装


引用博客 Autoware安装使用教程


系统:ubuntu16.04
ROS:kinetic

opencv 和 Qt 的安装。
1.安装依赖:

sudo apt-get update
sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev gksu

2.克隆库

cd $HOME
git clone https://github.com/CPFL/Autoware.git --recurse-submodules

3.创建colcon

sudo apt-get install -y python3-pip python3-setuptools
sudo pip3 install -U setuptoolssudo apt-get install -y python3-colcon-common-extensions

在安装setuptools时出现如下错误:

The directory '/home/ilook/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '
/home/ilook/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

添加 -H 后依然报错

sudo -H pip3 install -U setuptools

You are using pip version 8.1.1, however version 20.2.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

更新python下的pip版本:

python3 -m pip install --upgrade pip

出现如下错误:

ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/c3/a9/5dc32465951cf4812e9e93b4ad2d314893c2fa6d5f66ce5c057af6e76d85/setuptools-49.6.0-py3-none-any.whl (Caused by NewConnectionError('

: Failed to establish a new connection: [Errno 101] Network is unreachable',))

输入如下安装命令:

pip install --user report

再输入sudo pip3 install -U setuptools ,安装成功!!!

4.编译

cd ~/Autoware/ros/
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
./colcon_release

rosdep update 时,好像是翻墙被拦截一直不行,按照网上说法改了IP地址也不行,就直接放弃安装整个autoware,只安装其标定部分lidar_camera_calibration。从autoware官网工具中直接下载安装,但是需要改一下Cmakelist.txt。


五丶获得Realsense相机内参,棋盘格yaml

需要启动相机节点,参考以下博客继续安装ROS功能包。


https://blog.csdn.net/weixin_40628128/article/details/90376767
https://blog.csdn.net/sinat_16643223/article/details/107710249
https://www.cnblogs.com/ljxislearning/p/13434204.html


roslaunch realsense2_camera rs_camera.launch //打开相机节点
rostopic echo /camera/color/camera_info //查看相机内参

在这里插入图片描述

棋盘格参数在官网上可以直接下载,https://github.com/ethz-asl/kalibr/wiki/downloads
格式如下:

target_type: 'checkerboard' #gridtype
targetCols: 6 #number of internal chessboard corners
targetRows: 7 #number of internal chessboard corners
rowSpacingMeters: 0.05 #size of one chessboard square [m]
colSpacingMeters: 0.05 #size of one chessboard square [m]

修改成自己棋盘格的参数即可。

设置从激光到相机的静态转换

rosrun tf_2ros static_transform_publisher 0 0 1 0 0 /camera_link /laser

六丶采集ROS包和联合标定参照下博客

手把手教你使用Autoware标定SICK-2D激光雷达和相机
新版:使用Autoware进行(双目)相机与激光雷达的联合标定
使用autoware获得相机内参并与雷达联合标定

在最新版autoware工具下,需要使用相机内参yaml文件,因此首先对相机内参标定

rosrun autoware_camera_lidar_calibrator cameracalibrator.py --square 0.035 --size 11x8 image:=/camera/color/image_raw

其中square是标定板格子的尺寸,size为角点的数量,image为相机发布的节点,本次直接开启相机节点标定,使用录制的rosbag标定无法显示,参考中的博客是可以使用录制的bag的。
在这里插入图片描述输入命令后打开display,不断移动相机或者标定板,使右边X,Y,Size,Skew满足要求后,CAUBRATE按钮会变亮,点击之后等待一段时间,SAVE按钮变亮,点击保存,得到相机的内参文件,文件保存在HOME目录下,如下图所示:


启动相机和激光雷达节点,后运行标定工具。

roslaunch autoware_camera_lidar_calibrator camera_lidar_calibration.launch intrinsics_file:=/home/20200819_1024_autoware_camera_calibration.yaml image_src:=/camera/color/image_raw

对于单线激光雷达,尝试再使用老版本的toolkit工具进行标定。
未发现单独的标定工具包,因此直接安装autoware,参考以下博客:
Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定!

但是在使用rosdep出现问题,首先是无法访问的问题,需要添加IP,参照博客:ros 安装遇到 raw.githubusercontent.com无法访问,被墙的问题,尝试有效解决方案
如果还是不行,可以改一下IP地址再试试,在http://site.ip138.com中挑选,而且一定要重启终端再试!!!

Autoware无人驾驶软件安装遇见的坑与解决


推荐阅读
  • Hello,Imaintainawebcluster,withDebiani386andDebianAMD64nodes(itwa ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • Summarize function is doing alignment without timezone ?
    Hi.Imtryingtogetsummarizefrom00:00otfirstdayofthismonthametric, ... [详细]
  • 五、RabbitMQ Java Client基本使用详解
    JavaClient的5.x版本系列需要JDK8,用于编译和运行。在Android上,仅支持Android7.0或更高版本。4.x版本系列支持7.0之前 ... [详细]
  • ihaveusedthedelphidatabindingwizardwithmyxmlfile,andeverythingcompilesandrunsfine. ... [详细]
  • Flutter App 中创建模块并且依赖 Flutter
    在FlutterApp中打开对应的Android工程;并且向Android原生工程添加一个AndroidModule模块,并且在工程根settings. ... [详细]
author-avatar
Tong-david
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有