以下是基于ubuntu16.04安装的教程,具体可以参考官网(http://wiki.ros.org/kinetic/Installation/Ubuntu):
sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’ --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
或者,可以使用curl代替apt-key命令,如果您位于代理服务器后面,则可能会有所帮助:
curl -sSL ‘http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654’ | sudo apt-key add -
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full (安装所有的ros包括 ROS、rviz、rqt…)
sudo apt-get install ros-kinetic-desktop (仅安装部分ros)
echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
rosdep使您能够轻松地为要编译的源安装系统依赖性,并且是运行ROS中某些核心组件所必需的。
安装:
sudo apt install python-rosdep
初始化:
sudo rosdep init
rosdep update
至此基于ubuntu16.04的ros的开发环境安装完成。
自己编译源码
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
git clone https://github.com/PointCloudLibrary/pcl.git
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
安装
sudo make install
sudo apt-get install libopenni-dev
sudo apt-get install libopenni2-dev
sudo apt-get install libeigen3-dev
git clone https://github.com/ceres-solver/ceres-solver/issues
$ sudo apt-get install cmake
$ sudo apt-get install libgoogle-glog-dev
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install libeigen3-dev
$ sudo apt-get install libsuitesparse-dev
$ sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
$ sudo apt-get update
$ sudo apt-get install libsuitesparse-dev
tar zxf ceres-solver-1.14.0.tar.gz
mkdir ceres-bin && cd ceres-bin
cmake …/ceres-solver-1.14.0
make -j32
make install
至此需要的库安装完毕
git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
sudo ./third_party/apr/apr_build.sh
cd build && cmake …
make
sudo make install
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
cd ws_livox
catkin_make
(自行百度matlab标定教程)
检查标定板角点是否在点云中,输入点云可视化的命令查看点云
6.1 连接雷达
roslaunch livox_ros_driver livox_lidar_rviz.launch
需要录制rosbag时输入另一个命令
roslaunch livox_ros_driver livox_lidar_msg.launch
注意根据链接 https://github.com/Livox-SDK/livox_ros_driver 确认保存的rosbag数据格式是customMsg,后续程序中处理rosbag是对应的“livox custom msg format”格式。
6.2 ** 采集照片和点云 **
拍摄照片
运行指令录制点云
rosbag record /livox/lidar
每个位置保存一张照片和10s左右的rosbag即可。
数据采集完成后,将照片放在data/photo文件夹下; 雷达rosbag放在data/lidar文件夹下。
6.3 ** 标定数据获取**
首先需要把步骤2得到的内参和畸变纠正参数以下图的格式保存在data/parameters/intrinsic.txt文件下 [注 4]。distortion下面对应5个畸变纠正参数,按顺序是k1和k2 (RadialDistortion),p1和p2 (TangentialDistortion),最后一个是k3,一般默认是0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5eiW43cs-1603801368267)(livox-camera-calibration.assets/intrinsic_format.png)]
备注:每一次标定数据的时候,获取角点坐标之前清除data/corner_photo.txt中内容
roslaunch camera_lidar_calibration cornerPhoto.launch
参考物的选取,要注意最好是物体表面最好是全黑或全白,避免后面程序计算更精确的float类型坐标时产生干扰。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDkIQGLF-1603801368276)(livox-camera-calibration.assets/photo.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yhmgZj9d-1603801368277)(livox-camera-calibration.assets/photo_corner.png)]
备注:每一次标定数据的时候,获取点云角点坐标之前清除data/corner_photo.txt中内容
roslaunch camera_lidar_calibration pcdTransfer.launch
pcl_viewer -use_point_picking xx.pcd
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3lUnnzJr-1603801368279)(livox-camera-calibration.assets/corner_lidar.png)]
除了pcl_viewer之外也可以根据个人使用习惯使用别的点云可视化程序,能获得角点坐标即可。