当前位置: 首页 > news >正文

太原网站建设需求多嘛百度指数的各项功能

太原网站建设需求多嘛,百度指数的各项功能,国外专门做杂志的共享网站,小男孩做愛网站LivoxHIKROBOT联合标定 引言1 海康机器人HIKROBOT SDK二次开发并封装ROS1.1 介绍1.2 安装MVS SDK1.3 封装ROS packge 2 览沃Livox SDK二次开发并封装ROS3 相机雷达联合标定3.1 环境配置3.1.1 安装依赖——PCL 安装3.1.2 安装依赖——Eigen 安装3.1.3 安装依赖——Ceres-solver …

Livox+HIKROBOT联合标定

  • 引言
  • 1 海康机器人HIKROBOT SDK二次开发并封装ROS
    • 1.1 介绍
    • 1.2 安装MVS SDK
    • 1.3 封装ROS packge
  • 2 览沃Livox SDK二次开发并封装ROS
  • 3 相机雷达联合标定
    • 3.1 环境配置
      • 3.1.1 安装依赖——PCL 安装
      • 3.1.2 安装依赖——Eigen 安装
      • 3.1.3 安装依赖——Ceres-solver 安装
      • 3.1.4 下载源码,编译准备
      • 3.1.5 程序节点概括
    • 3.2 相机内参标定
      • 3.2.1 前期准备
      • 3.2.2 cameraCalib标定
        • **`报错`** (若无报错则跳过此步骤)

引言

Livox Lidar + HIKROBOT Camera 联合标定
参考链接:相机雷达标定文档
安装ROS环境,参考笔者的博客:【ROS】Ubuntu18.04安装Ros

1 海康机器人HIKROBOT SDK二次开发并封装ROS

1.1 介绍

参考链接:海康Camera MVS Linux SDK二次开发封装ROS packge过程记录(c++)

海康的相机没有ros驱动,且对linux开发不太友好(但支持windows),因此需要重写了sdk接口,并创建了ros节点封装成ros包,方便linux环境下ros的调用
完整版ros驱动:https://github.com/luckyluckydadada/HIKROBOT-MVS-ROS-package

  • 即使海康的相机是usb传输数据,但是不同于其他usb设备的调用,海康的相机并不会在/dev/目录下映射ttyUSB或video1这样的设备,所以不能用open/read/write这样的system call的方式打开设备,所以https://github.com/ros-drivers/usb_cam这样的usb ros驱动无法支持。因此只能自己开发ros驱动包。
  • 海康的打开设备的方式在MvUsb3VDevice.h和MvGigEDevice.h中实现(分别对应usb3.0相机和以太网相机),具体过程并没有开源,只提供了相应的so文件,海康提供了统一的接口MV_CC_EnumDevices实现对两种设备(usb3.0接口和以太网接口)的调用,因此开发一个ros驱动包是两种相机都适用的。海康的相机sdk虽然不开源,但是提供了armhf和aarch64架构编译的so文件。

1.2 安装MVS SDK

参考笔者的博客:
【HIKROBOT】海康机器人:工业相机SDK二次开发

1.3 封装ROS packge

海康威视工业相机sdk的ros驱动包的安装步骤:

step1:安装

# 创建catkin工作空间
mkdir ws_hk_mvs_ros  
# 克隆源码到工作空间(海康机器人的ROS软件包)
git clone https://github.com/luckyluckydadada/HIKROBOT-MVS-ROS-package.git ws_hk_mvs_ros/src
cd ws_hk_mvs_ros
# 编译Catkin工作空间中的ROS包
catkin_make

在这里插入图片描述

step2:直接运行node
需要先启动roscore
在这里插入图片描述

source ./devel/setup.bash 
rosrun hk_camera hk_camera_node

在这里插入图片描述

step3:launch启动node

source ./devel/setup.bash 
roslaunch hk_camera hk_camera.launch

在这里插入图片描述

step4:launch启动node和rviz node
用 rviz 订阅 /hk_camera_node/image_raw 查看照片

source ./devel/setup.bash 
roslaunch hk_camera hk_camera_rviz.launch

在这里插入图片描述
在这里插入图片描述

2 览沃Livox SDK二次开发并封装ROS

参考笔者博客:【Ubuntu18.04】Livox Tele-15使用教程
安装Livox环境和驱动

# 安装Livox_SDK
git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..
make
sudo make install# 安装livox_ros_driver
cd  Livox-SDK  # 进入Livox-SDK目录
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
cd ws_livox   # 进入工作空间
catkin_make

3 相机雷达联合标定

3.1 环境配置

3.1.1 安装依赖——PCL 安装

参考链接:Ubuntu18.04安装PCL 1.9.1(图文详解,附踩坑和测试)

step1:安装依赖

sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre

step2:下载源码
建议安装1.9.1

git clone https://github.com/PointCloudLibrary/pcl.git

step3:编译源码

cd pcl
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr ..
make

step4:安装

sudo make install

step5:PCLVisualizer(需要可以安装)

sudo apt-get install libopenni-dev
sudo apt-get install libopenni2-dev

3.1.2 安装依赖——Eigen 安装

简单命令安装

sudo apt-get install libeigen3-dev

3.1.3 安装依赖——Ceres-solver 安装

下载ceres-solver-1.14.0

git clone https://github.com/ceres-solver/ceres-solver

依赖安装

 sudo apt-get install cmakesudo apt-get install libgoogle-glog-devsudo apt-get install libatlas-base-devsudo apt-get install libeigen3-devsudo apt-get install libsuitesparse-devsudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687sudo apt-get updatesudo apt-get install libsuitesparse-dev

安装 ceres-solver

tar zxf ceres-solver-1.14.0.tar.gz
mkdir ceres-bin && cd ceres-bin
cmake ../ceres-solver-1.14.0
make -j3
make install

至此需要的库安装完毕

3.1.4 下载源码,编译准备

# 进入工作空间
cd ws_livox/src
git clone https://github.com/Livox-SDK/livox_camera_lidar_calibration.git 
cd ..    # 返回上一级目录
catkin_make
source devel/setup.bash
  • 此时工作空间的目录结构为:

在这里插入图片描述

3.1.5 程序节点概括

此项目包括如下节点:

  1. cameraCalib - 标定相机内参
  2. pcdTransfer - 将雷达点云rosbag转换成PCD文件
  3. cornerPhoto -获得照片角点
  4. getExt1 - 计算外参节点1,只优化外参
  5. getExt2 - 计算外参节点2,同时优化内参和外参
  6. projectCloud - 把雷达点云投影到照片上 colorLidar - 雷达点云着色

以下程序节点中如果想修改launch文件,需要到src/calibration/launch文件夹中找对应的launch文件。

3.2 相机内参标定

3.2.1 前期准备

  • 准备一块有黑白棋盘格的标定板(如下所示,可以打印出来)

在这里插入图片描述

  • 笔者实际用的标定版规格是:

在这里插入图片描述

3.2.2 cameraCalib标定

  • 要准备20张以上的照片数据,各个角度和位置都要覆盖,拍摄的时候不要距离太近(3米左右),如下图所示。

直接使用HIKROBOT的上位机来抓取并保存图片

选择指定的保存路径

在这里插入图片描述
抓取图片
在这里插入图片描述

  • 以下数据使用官网下载的数据集:

测试数据下载:data.zip

在这里插入图片描述

  • 获得照片数据后,配置cameraCalib.launch中对应的路径和参数,默认是把照片数据放在data/camera/photos下,然后在data/camera/in.txt中写入所有需要使用的照片名称,如下图所示
    在这里插入图片描述

在这里插入图片描述
输入指令开始标定

#进入工作空间
cd ws_livox/
source devel/setup.bash
roslaunch camera_lidar_calibration cameraCalib.launch
  • 成功运行显示如下:

在这里插入图片描述

  • 标定结果中会保存在data/camera/result.txt中,包括重投影误差,内参矩阵和畸变纠正参数。

内参结果

  • 一个3x3的内参矩阵(IntrinsicMatrix)
  • 5个畸变纠正参数 k1, k2, p1, p2, k3
报错 (若无报错则跳过此步骤)

在这里插入图片描述

解决方法:

参考链接:
解决 cv_bridge 与 opencv4 版本冲突问题

  • 下载 cv_bridge

下载 noetic 版本的 cv_bridge。(noetic 版本的 cv_bridge 在 melodic 下也能使用,不过要做一些修改,后续会说明)
下载地址:https://github.com/ros-perception/vision_opencv/tree/noetic
下载完成后,将 cv_bridge 拷贝到 ros 工作空间的 src 文件夹下。
此时工作空间的目录结构为:
在这里插入图片描述
为了不影响原来的包,将该文件夹重命名为 cv_bridge_new,并且将cv_bridge_new文件夹下 CMakeLists.txt 文件中 project 名称修改为 cv_bridge_new:
在这里插入图片描述

  • 在 CMakeLists.txt 文件中指定我们自己的功能包中所用的 opencv4:
    在这里插入图片描述

  • 并且修改 package.xml 中包的名称:

在这里插入图片描述

  • 报错1:

在这里插入图片描述

  • 解决方法:

直接修改 cv_bridge_newCMakeLists.txt 文件:

...
if(PYTHONLIBS_VERSION_STRING VERSION_LESS "3.8")
# Debian Buster
find_package(Boost REQUIRED python3)
...

在这里插入图片描述

  • 报错2:

在这里插入图片描述

  • 解决方法:

修改 cv_bridge_new/src/module.hpp 文件下 void* do_numpy_import()函数为 (注意*要删除)

static void do_numpy_import( )
{import_array( );
}

在这里插入图片描述

再次编译:

catkin_make

在这里插入图片描述
再次输入指令开始标定

#进入工作空间
cd ws_livox/
source devel/setup.bash
roslaunch camera_lidar_calibration cameraCalib.launch
http://www.fp688.cn/news/146601.html

相关文章:

  • 北京专业做网站的公司百度新闻搜索
  • 怎么做提高网站排名ks免费刷粉网站推广马上刷
  • 非凡网站建设平台网页上海最专业的seo公司
  • 网站做博彩反向代理违法爱站工具包官网下载
  • 做网站经验成都网站seo报价
  • 学院网站建设目标seo关键词找29火星软件
  • 建设淘宝网站seo排名怎样
  • 织梦网站地图制作广州seo顾问
  • 镇江地区做网站的公司有哪些济南网站万词优化
  • 建网站英语怎么说网络营销推广方式有哪些
  • ps做网站大小尺寸搜索引擎优化培训
  • 网络游戏代理平台淘宝seo是什么意思
  • 北京网站推广精准客源推广引流
  • 企业对比网站收录网站排名
  • 音乐网站怎么做外链代运营公司是怎么运营的
  • 个人博客网页模版网站优化内容
  • 做网站需注意事项上海今天发生的重大新闻
  • 独立站官网seo中介平台
  • 制作网站可用性监控武汉seo关键字推广
  • 违法网站开发者网络推广都需要做什么
  • 内部网站建设app百度移动点击排名软件
  • 建设企业网站报价it培训机构排名前十
  • 晋城网站建设营销策划案的模板
  • 给个能用的网址谢谢多合一seo插件破解版
  • 股票推荐怎么做网站2020做seo还有出路吗
  • 佛山网站优化多少钱网站制作详细流程
  • 推广游戏网站怎么做宁波seo
  • 3d建模师可以自学吗搜索引擎广告优化
  • 最靠谱的购物网站百度seo sem
  • 怎么建设一个手机网站网站优化排名方案