We are iMopheus.ai. We work on algorithm research and software development about calibration of GPS signal with various data sources.
The gpsCalibration is a system that aims to provide real time high-precision GPS track. Our first version provides an off-line solution.
Install Ubuntu 14.04, Trusty
ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under an open source, BSD license.
http://wiki.ros.org/cn/indigo/Installation/Ubuntu
http://wiki.ros.org/ROS/Tutorials
ROS Indigo
The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.
http://pointclouds.org/downloads/
http://pointclouds.org/documentation/
pcl-1.7.0
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
http://eigen.tuxfamily.org/index.php?title=Main_Page
http://eigen.tuxfamily.org/index.php?title=Main_Page
Eigen-3.3
This project has three modules: GPS, LOAM and Calibration.
This module processes GPS data and transforms them into local coordinate system.
LOAM, Laser Odometry and Mapping, is a real-time method for state estimation and mapping using 3D lidar. The program contains two major threads running in parallel.
The "odometry" thread computes motion of the lidar between two sweeps, at a higher frame rate. It also removes distortion in the point cloud caused by motion of the lidar. The "mapping" thread takes the undistorted point cloud and incrementally builds a map, while simultaneously computes pose of the lidar on the map at a lower frame rate. The lidar state estimation is combination of the outputs from the two threads.
To learn more about LOAM, please refer to paper.
This package is a simple modified copy of loam_velodyne GitHub repository from laboshinl, which is again a modified copy of the original one release by Ji Zhang. His change on top of the original one is that he changed the scanRegistration.cpp to make it work with his dataset.
If you want to get laboshinl, pleaser go to: https://github.com/laboshinl/loam_velodyne
We modified some codes in laserOdometry.cpp and scanRegistration.cpp to match the data generated by the lidar we use, and added some codes on transformMaintenance.cpp to get lidar's track with timestamp and map. Both are in txt format.
This module calls GPS module and LOAM module and use their data as input.
We use timestamped point set registration to match GPS and LOAM tracks in two steps. First, we calculate long LOAM segments and find their least absolute deviations with GPS track by means of iteratively re-weighted least squares. Second, the weights from the first step are used to register overlapping short LOAM segments with GPS track by means of weighted least squares.
The final output is calibrated GPS track. We only work on 2D GPS tracks in this version. Altitudes are set to a constant for the purpose of demonstration in Google Earth.
1.Make sure that you have the message bag. it includes follow message types sensor_msgs/PointCloud2. and GPS coordinates matched with your run trail although GPS is not accurate and not continuous in time. If you don’t have lidar or GPS data, don’t worry, we have some data in advance for you to have a try.
2.Open the globalConfig.py in directory "iMorpheusAI/" set needed file directory correctly.
3.In directory "iMorpheusAI", run command :
$ catkin_make
$ source setup.sh
$ mkdir data
$ cd data
$ touch bag_list.txt
*add the point cloud data bag path*
4.Okay, you can run ./run.py.
5.Finally, you get a global position system coordinates matched with your run trail. It is accurate and reliable!
A bag is a file format in ROS for storing ROS message data.
The GPSRMC is protocol of GPSRMC's communication, and the format is: $GPRMC,085223.136,A,3957.6286,N,11619.2078,E,0.06,36.81,180908,,,A*57
The results of the program are stored in /data. We provide calibrated GPS in kml formats. If you want to see GPS track in Google Earth, you need to use kml. You can find Google Earth here: https://developers.google.com/kml/?hl=en-US.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。