1. 程式人生 > >[硬體]點雲資料採集2

[硬體]點雲資料採集2

  採用GMapping定位,增加一個垂直掃描的2D鐳射實時採集三維點雲。

  發現GMapping的定位精度還是沒有辦法滿足高精度點雲採集位姿的需要。尤其是當旋轉的速度比較大的時候,位姿精度更差。原因是掃描匹配可以獲取較高精度的位姿,但是兩次掃描匹配之間的運動只有里程計相對運動資料,因此里程計誤差嚴重。

  本來計劃融合2D鐳射和Kinect的,看來2D SLAM進行定位提供實時位姿還是有一定問題,兩次掃描匹配時間間隔之間的位姿精度都比較低。旋轉的影響更大。

  考慮融合IMU資料。

(1)簡單呼叫,直接讀取IMU的角速度和線加速度。使用的時候利用Odometry的平移量和IMU的旋轉量。參考Cartographer的 imu_tracker

(2)鬆耦合,將視覺或者鐳射掃描匹配得到的位姿資訊作為狀態量,與IMU融合,採用EKF或者UKF方法

(3)緊耦合,將視覺或者鐳射特徵作為狀態量,與IMU融合。

 -------------------------------------------------

2018年11月20日

目前已經完全改為通過Cartographer進行三維點雲資料採集。效果很不錯。

相關推薦

[硬體]資料採集2

  採用GMapping定位,增加一個垂直掃描的2D鐳射實時採集三維點雲。   發現GMapping的定位精度還是沒有辦法滿足高精度點雲採集位姿的需要。尤其是當旋轉的速度比較大的時候,位姿精度更差。原因是掃描匹配可以獲取較高精度的位姿,但是兩次掃描匹配之間的運動只有里程計相對運動資料,因此里程計誤差嚴重。

OrbSLAM2採集資料

因為條件限制,在Windows10平臺下實現OrbSLAM2+Kinect2點雲資料採集。 1. 遇到問題,啟動執行沒多久就跟丟了,有的地方哪怕輕微的旋轉甚至不動都無法跟蹤。 原因:相機的標定引數不對,fx和cx引數搞反了。其實應該從獲取的稀疏點雲中能夠看出來有問題,稀疏點雲的形狀和分佈就不對。 2.將

[硬體]三維資料獲取

A laser mount on a tilting unit. 目前的硬體獲取資料出現了這麼個問題,應該是鐳射沒有安裝好,掃描方向沒有真正沿著鉛錘方向。考慮進行校準。  初步校正了一下,可以差不多看了,不過發現北陽的誤差真的很大啊!北陽激光采集點本身需要運動補償嗎? (PS:點雲資料誤差大的原

三維資料

轉載! 三維點雲 幾何空間的三維掃描資料(加紋理)GeometryHub(幾何空間) 歐特克的研究——數字210金歐特克的樣品掃描和影象資料研究辦公室。 自治系統實驗室(乙)鐳射和Kinect結構化和非結構化的資料環境。 這一組有一個有用的相關

3D資料分析:pointNet++論文分析及閱讀筆記

PointNet的缺點: PointNet不捕獲由度量空間點引起的區域性結構,限制了它識別細粒度圖案和泛化到複雜場景的能力。  利用度量空間距離,我們的網路能夠通過增加上下文尺度來學習區域性特徵。 點集通常採用不同的密度進行取樣,這導致在統一密度下訓練的網路的效能大大降低。

【深度學習】三維資料集總結

點雲資料集總結 三維點雲資料,三維深度學習 1.ShapeNet ShapeNet是一個豐富標註的大規模點雲資料集,其中包含了55中常見的物品類別和513000個三維模型。 2.ShapeNetSem 這是一個小的資料庫,包含了270類的12000個物

PCL學習筆記——讀入txt格式資料,寫入到PCD檔案中

讀入txt格式點雲資料,寫入PCD檔案中 // An highlighted block // pointclouds_octree.cpp: 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include<iostream> #include

Matlab讀取資料 + 顯示

求matlab讀取三維點雲資料的程式。 clear A=importdata(‘data.txt’); [IX,IY]=size(A); x=A(:,1); y=A(:,1); y=A(:,2); z=A(:,3); plot3(x,y,z,’.’);

資料

package cn.thu.util; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Random; public class

將ContextCapture生成的資料轉化為PCL可以處理的資料格式

示例程式碼: file = open('point2.txt') # 讀取所需資料 val_list = file.readlines() list_x = [] list_y = [] list_z = [] list_rgb = [] for string in val_list:

從PCD檔案中讀取資料(Reading Point Cloud data from PCD files)

在本教程中,我們將學習如何從PCD檔案中讀取點雲資料。 #程式碼 首先,在你最喜歡的編輯器中建立一個名為pcd_read.cpp的檔案,並在其中放置下面的程式碼: #include <iostream> #include <pcl/io/pcd

Ros kinect資料

平臺 ubuntu 14.04 Ros indigo 依次執行以下命令 執行模擬的turtlebot roslaunch rbx1_bringup fake_turtlebot

資料,你怎麼看?

 最近在看點雲資料,但是中文資料很不全,百度一下什麼也沒有。我就小結一下點雲資料,和大家分享一下。 點雲資料 一:什麼是點雲資料 點雲資料是指在一個三維座標系統中的一組向量的集合。這些向量通常以X

ccf資料處理

儲存一下當時如何處理資料的 1.將csv檔案儲存為h5檔案 import numpy as np import h5py L0 = np.loadtxt(open(".\category0.csv","rb"),delimiter=",",skiprows=0) L1 = np.lo

雙邊濾波演算法在資料處理時的應用

雙邊濾波演算法在點雲資料處理時的應用 簡介(摘自百科) 雙邊濾波(Bilateral filter)是一種非線性的濾波方法,是結合影象的空間鄰近度和畫素值相似度的一種折中處理,同時考慮空域資訊和灰度相似性,達到保邊去噪的目的。具有簡單、非迭代、區域性的特點 。雙邊濾波器的好處是可以做

將velodyne三維鐳射的資料(16條射線)轉換到laserscan

真正實現機制是velodyne裡的velodyne_laserscan執行velodyne_pointcloud中的VLP16_points.launch第11行是修改感測器掃描的距離,第49行是將感測器的點雲資料(16條射線)抽取出一條,轉換為laserscan.轉換規則如

Kinect2.0資料獲取

#include "stdafx.h" #include "kinect.h" #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp&g

資料處理學習筆記

三維計算視覺研究內容包括:   (1)三維匹配:兩幀或者多幀點雲資料之間的匹配,因為鐳射掃描光束受物體遮擋的原因,不可能通過一次掃描完成對整個物體的三維點雲的獲取。因此需要從不同的位置和角度對物體進行掃描。三維匹配的目的就是把相鄰掃描的點雲資料拼接在一起。三維匹配重點關注匹配演算法,常用的演算法有最近點迭代

PCL中訪問資料的幾種方式

    最近在看PCL的教程,發現對點雲中具體資料點的訪問也有好幾種方式,看著看著就會混淆了,所以,現將每種方式記錄下來,做個對比,方便隨時複習,溫故知新。一、第一種是在看《How to create a range image from a point cloud》教程時看

處理資料(四):到影象平面的投影

點雲到影象平面的投影 座標系的定義 相機(x:右,y:下,z:前) 點雲(x:前,y:左,z:上) 讀取感測器校準引數 在KITTI資料集raw_data中有兩個感測器校準引數檔案calib_cam_to_cam.txt(相機到相機的標定) 和