日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

CUDA-NDT的定義與使用實例

NVIDIA英偉達企業(yè)解決方案 ? 來源:NVIDIA英偉達企業(yè)解決方案 ? 作者:NVIDIA英偉達企業(yè)解 ? 2022-07-08 09:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著自主機器的發(fā)展,我們可以在生活中經(jīng)??吹阶灾鳈C器的應用。有傳統(tǒng)應用的倉庫工廠 AMR、機械臂、銀行酒店里面的服務機器人、家庭機器人、無人物流車、自主礦卡等等。不同的自主機器,軟件架構的方案也不一樣,但核心的模塊定位、導航、感知、控制等都是相通的。

定位模塊是自主機器最核心的模塊之一,定位又包括全局定位和局部定位,對于自主機器,其精度需要達到厘米級別。

本文我們將討論全局定位,即確定自主機器在全局下的位置。傳統(tǒng)的低速自主機器,類似于 AMR 等,其采用的定位方式通常以 SLAM(Simultaneous Localization and Mapping)的方法進行同時建圖和定位,但是該方法實現(xiàn)代價高、難度大,并不適用于室外自主機器——類似于無人物流車、園區(qū)接駁車等的實時高精度定位需求。這些室外自主機器行駛速度快、距離遠、環(huán)境復雜,使得 SLAM 的精度下降,同時遠距離的行駛將導致實時構建的地圖偏移過大。因此,如果在已有高精度的全局地圖的情況下進行自主機器的定位,將極大的簡化該問題。

因此,將問題分為獨立的兩部分:建圖 Mapping 和定位 Matching。NDT 是一種點云配準算法,可同時用于點云的建圖和定位。

CUDA-NDT

正態(tài)分布變換算法(NormalDistributions Transform, NDT)同 ICP 算法的功能一致,即,用于計算兩幀點云數(shù)據(jù)之間的坐標變換矩陣,從而能夠使不同的坐標下的點云數(shù)據(jù)合并到同一個坐標系統(tǒng)中。不同的是 NDT 算法對初值不敏感,且不需要進行對應點的特征計算,所以速度較快。NDT 算法使用應用于 3D 點統(tǒng)計模型的標準優(yōu)化技術來確定兩個點云之間最可能的配準。

NDT 算法和 ICP 算法可以結合使用,以提高配準精度和速度。首先,NDT 算法可用于粗配準,得到轉(zhuǎn)換參數(shù);然后使用 ICP 算法結合參數(shù)進行精細配準。為了改進 NDT 算法在 NVIDIA Jetson 上的性能,我們推薦使用基于 CUDA 加速的 CUDA-NDT。

使用CUDA-NDT

以下是 CUDA-NDT 的使用實例。我們需要初始化相關的類對象,設置相關的參數(shù),并調(diào)用接口函數(shù)。

cudaNDT ndtTest(nPCountM, nQCountM, stream);ndtTest.setInputSource(source);ndtTest.setInputTarget(target);ndtTest.setResolution(resolution);ndtTest.setMaximumIterations(nr_iterations);ndtTest.setTransformationEpsilon(epsilon);ndtTest.setStepSize(step_size);    ndtTest.ndt(cloud_source, nPCount,               cloud_target, nQCount, guess,transformation_matrix,stream);

CUDA-NDT 計算的輸出是 transformation_matrix,代表的含義如下:

  • 源點云 (P)* transformation_matrix = 目標坐標系的點云 (Q)


因為激光類型的輸出點云的數(shù)量為固定值,所以 CUDA-NDT 在輸出化的時候,要求輸入兩幀點云的最大數(shù)量,從而分配計算資源。

class cudaNDT{public:    /*       nPCountM and nQCountM are the maximum of count for input clouds       They are used to pre-allocate memory.    */    cudaNDT(int nPCountM, int nQCountM, cudaStream_t stream = 0);    ~cudaNDT(void);void setInputSource (void *source);void setInpuTarget (void *target);void setResolution (float resolution);void setMaximumIterations (int nr_iterations);void setTransformationEpsilon (double epsilon);void setStepSize (double step_size);    /*    cloud_target = transformation_matrix * cloud_source    When the Epsilon of transformation_matrix is less than threshold,    the function will return transformation_matrix.    Input:        cloud_source, cloud_target: data pointer for points cloud        nPCount: the points number of cloud_source        nQCount: the points number of cloud_target        guess: initial guess of transformation_matrix        stream: CUDA stream    Output:        transformation_matrix: rigid transformation matrix    */
    void ndt(float *cloud_source, int nPCount,            float *cloud_target, int nQCount,            float *guess, void *transformation_matrix,            cudaStream_t stream = 0);    void *m_handle = NULL;};

經(jīng)過 CUDA 加速的 NDT 速度對比微加速版本提升了 4 倍左右,請參考下表的性能對比,經(jīng)過 NDT 匹配的點云效果對比請參考圖 1 和圖 2。

CUDA-NDT

PCL-NDT

count of

pointscloud

7000

7000

cost time(ms)

34.7789

136.858

fitness_score

0.538

0.540

CUDA-NDT 與 PCL-NDT 的性能對比

開始使用CUDA-NDT

我們希望通過本文介紹使用 CUDA-NDT 從而獲得更好的點云注冊性能。

因為 NDT 在 NVIDIA Jetson 上無法使用 CUDA 進行點云的加速處理,所以我們開發(fā)了基于 CUDA 的 CUDA-NDT。

復制鏈接,獲得相關庫和實例代碼。

https://github.com/NVIDIA-AI-IOT/cuda-pcl/tree/main/cuda-ndt

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5696

    瀏覽量

    110144
  • NDT
    NDT
    +關注

    關注

    0

    文章

    27

    瀏覽量

    15292
  • CUDA
    +關注

    關注

    0

    文章

    128

    瀏覽量

    14557

原文標題:基于CUDA加速的自主機器SLAM技術——CUDA-NDT

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入解析NDT014 N溝道增強型場效應晶體管

    深入解析NDT014 N溝道增強型場效應晶體管 在電子設計領域,場效應晶體管(FET)是不可或缺的元件,尤其是在低電壓應用中。今天,我們將深入探討安森美(onsemi)的NDT014 N溝道增強型
    的頭像 發(fā)表于 04-20 10:50 ?202次閱讀

    深入解析 onsemi NDT014L:高性能 N 溝道 MOSFET 的卓越之選

    深入解析 onsemi NDT014L:高性能 N 溝道 MOSFET 的卓越之選 在電子工程師的日常設計工作中,選擇合適的功率場效應晶體管(MOSFET)至關重要。今天,我們就來深入探討
    的頭像 發(fā)表于 04-20 10:45 ?177次閱讀

    詳解 onsemi NDT3055L 邏輯電平 N 溝道增強型 MOSFET

    詳解 onsemi NDT3055L 邏輯電平 N 溝道增強型 MOSFET 在電子設計領域,功率場效應晶體管(MOSFET)是至關重要的元件,廣泛應用于各類電路中。今天,我們就來深入探討
    的頭像 發(fā)表于 04-20 10:20 ?127次閱讀

    onsemi NDT3055 N溝道增強型場效應晶體管技術解析

    onsemi NDT3055 N溝道增強型場效應晶體管技術解析 在電子設計領域,場效應晶體管(FET)是不可或缺的基礎元件。今天我們來深入探討 onsemi 公司的 NDT3055 N 溝道增強型
    的頭像 發(fā)表于 04-20 10:20 ?143次閱讀

    深入解析 onsemi NDT2955 P 溝道增強型場效應晶體管

    深入解析 onsemi NDT2955 P 溝道增強型場效應晶體管 在電子工程領域,功率管理器件的性能對整個系統(tǒng)的穩(wěn)定性和效率起著關鍵作用。今天,我們將深入探討 onsemi 公司的 NDT
    的頭像 發(fā)表于 04-20 10:20 ?137次閱讀

    ON Semiconductor NDT452AP P溝道增強型場效應晶體管介紹

    ON Semiconductor NDT452AP P溝道增強型場效應晶體管介紹 最近在研究功率場效應晶體管,想給大家介紹一下 ON Semiconductor 的 NDT452AP 這款 P 溝道
    的頭像 發(fā)表于 04-20 10:20 ?129次閱讀

    深入解析 ON Semiconductor NDT451AN N 溝道增強型場效應晶體管

    深入解析 ON Semiconductor NDT451AN N 溝道增強型場效應晶體管 在電子工程領域,場效應晶體管(FET)是一種至關重要的器件,廣泛應用于各種電子設備中。今天,我們將深入探討
    的頭像 發(fā)表于 04-20 10:20 ?134次閱讀

    深入解析ON Semiconductor的NDT456P P-Channel場效應管

    深入解析ON Semiconductor的NDT456P P-Channel場效應管 作為電子工程師,在設計電路時,對各種電子元器件的精確了解至關重要。今天我們就來詳細探討一下
    的頭像 發(fā)表于 04-20 10:10 ?111次閱讀

    借助NVIDIA CUDA Tile IR后端推進OpenAI Triton的GPU編程

    NVIDIA CUDA Tile 是基于 GPU 的編程模型,其設計目標是為 NVIDIA Tensor Cores 提供可移植性,從而釋放 GPU 的極限性能。CUDA Tile 的一大優(yōu)勢是允許開發(fā)者基于其構建自定義的 DS
    的頭像 發(fā)表于 02-10 10:31 ?559次閱讀

    如何在NVIDIA CUDA Tile中編寫高性能矩陣乘法

    本博文是系列課程的一部分,旨在幫助開發(fā)者學習 NVIDIA CUDA Tile 編程,掌握構建高性能 GPU 內(nèi)核的方法,并以矩陣乘法作為核心示例。
    的頭像 發(fā)表于 01-22 16:43 ?5336次閱讀
    如何在NVIDIA <b class='flag-5'>CUDA</b> Tile中編寫高性能矩陣乘法

    NVIDIA CUDA Tile的創(chuàng)新之處、工作原理以及使用方法

    NVIDIA CUDA 13.1 推出 NVIDIA CUDA Tile,這是自 2006 年 NVIDIA CUDA 平臺發(fā)明以來,最大的一次技術進步。這一令人振奮的創(chuàng)新引入了一套面向
    的頭像 發(fā)表于 12-24 10:17 ?701次閱讀
    NVIDIA <b class='flag-5'>CUDA</b> Tile的創(chuàng)新之處、工作原理以及使用方法

    在Python中借助NVIDIA CUDA Tile簡化GPU編程

    NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 編程模式。它是自 CUDA 發(fā)明以來 GPU 編程最核心的更新之一。借助 GPU tile kernels,可以用比 SIMT
    的頭像 發(fā)表于 12-13 10:12 ?1483次閱讀
    在Python中借助NVIDIA <b class='flag-5'>CUDA</b> Tile簡化GPU編程

    NVIDIA CUDA 13.1版本的新增功能與改進

    NVIDIA CUDA 13.1 是自 CUDA 二十年前發(fā)明以來,規(guī)模最大、內(nèi)容最全面的一次更新。
    的頭像 發(fā)表于 12-13 10:08 ?2493次閱讀

    如何在e203 SOC中添加自定義外設

    外設的基地址和連接e203_soc_top信號使用,并將自定義的外設正確實例化在此對外接口口模塊中。 3、在e203_soc_top中正確實例化第2步中的對外接口模塊 4、在system頂層模塊中正確
    發(fā)表于 10-20 10:38

    Nordic測距介紹

    的多天線設計,系統(tǒng)資源要求非常高 兩者共同的缺點是: 不是標準的功能,沒有定義和使用藍牙標準 基于此,SIG在2022年11月就公開草案Channel Sounding(簡稱CS),并計劃在2024
    發(fā)表于 05-28 16:49
    南城县| 镇雄县| 潮州市| 马尔康县| 杭锦后旗| 出国| 蒙自县| 清涧县| 济阳县| 安宁市| 兴宁市| 万山特区| 梅河口市| 洞头县| 禄丰县| 饶河县| 凌云县| 武汉市| 苍南县| 鹤壁市| 杭锦旗| 奎屯市| 阳信县| 柯坪县| 新邵县| 元氏县| 宜川县| 含山县| 昆山市| 宜兴市| 黄浦区| 辽阳市| 鲁甸县| 砚山县| 贵德县| 满洲里市| 六盘水市| 洞头县| 雷山县| 遂平县| 卓尼县|