原创 C++ book list

轉自SO https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list/388282#388282  

原创 octomap 簡單自定義 OcTree

之前的一篇博客記錄了我安裝調試octomap的過程。這裏記錄一下實現一個非常簡單的自定義OcTree。 首先octomap 內部有定義好OcTree類,使用OcTreeNode作爲node類型。實際上OcTree即是從Occupa

原创 GridMap: 一個用於強化學習 (reinforcement learning) 訓練的二維連續座標柵格地圖

大家好, 我剛剛做了一個簡單的2D連續座標柵格地圖, GridMap. 我們使用GridMap進行我們的強化學習 ( reinforcement learning )算法驗證. 在GridMap中, 用戶可以創建一個起始block和一個終

原创 Python 生成帶有RGBA信息的 ROS PointCloud2 message

起因 最近有一個工作是需要把一組三維點以ROS PointCloud2 messge的形式進行publish。並且需要使用python環境。原始點雲只有座標數據,需要根據點距離座標原點的距離對點雲進行上色。 經過 通過參考一些開源

原创 numba nopython mode 不支持numpy.int類型

一則小記,numba庫並不支持NumPy的int類型,需要指定整型的位寬,使用int32和int64都沒有問題。測試代碼如下 本機系統Ubuntu 18.04, Python 3.6.8, numba 0.46.0, NumPy

原创 創建 ROS rqt 插件 topic service

本機系統:Ubuntu 16.04, ROS Luna 更新20191023:Ubutnu 18.04 LTS ROS Melodic   所有文件可在https://github.com/huyaoyu/rqt_my_plugin獲取。

原创 PyTorch 學習筆記 (3) PyTorch 1.0+ C++/CUDA extension

參考教程 PyTorch官方教程 PyTorch官方教程源碼 期間參考了這位博主的一個教程。 本機系統 Ubuntu 18.04 LTS NVIDIA GeForce GTX 1080 with driver 430.50 CUD

原创 PCL NormalEstimation 源碼結構

前言 最近需要借鑑PCL的設計寫一個處理點雲的程序,主要參考了其中NormalEstimation部分的源碼。這裏總結一下該部分源碼的結構。 當前參考的PCL版本是 1.10.0。 NormalEstimation NormalE

原创 Python3 multiprocessing joinable queue 模板

最近需要在服務器上處理一批文件,每個文件的處理過程很簡單,基本就是讀入文件,計算一些統計值,然後把統計值彙總。一想這可以多線程啊老鐵!調試了一下Python3的multiprocessing,這裏留下一個模板以備之後使用。 程序運

原创 PyTorch leaf node

起因 今天被PyTroch tensor的requires_grad搞了一把。具體情況是創建一個tensor和在後續的使用過程中,對requires_grad的取值會影響到python存儲的變量是否爲leaf node。說起來很抽

原创 boost disjoint set 實例

前言 最近,需要用C++實現一個簡單的disjoint set,查了一下STL,貌似沒有已經做好的庫,但是boost有。於是我決定測試一下。 測試系統是Ubuntu 18.04 LTS,gcc 7.5.0,boost 1.65.0

原创 PyTorch dataloader 中的隨機數

起因 最近用PyTorch訓練一個新的CNN,需要在輸入的訓練圖像上增加簡單的噪聲,最開始是利用NumPy提供的隨機數函數去添加噪聲,基於PyTorch提供的dataloader進行圖像加載。在使用dataloader時,發現當w

原创 C++11 C++14 C++17 move semantics

最近剛剛學習了一下從C++11開始支持的move semantics,C++還是很神奇的。本文不涉及perfect forwarding。 下面代碼測試瞭如下想法 swap 兩個plain array。 swap 兩個array

原创 C++ Core Guidelines 筆記01

CppCoreGuidelines 由C++原作者發起的一個modern C++ guidelilne. 在這裏,配套的github頁面在這裏。 CppCoreGuidelines 配套一組 Guideline Support L

原创 C++ Core Guideline 筆記02

I.1 Make interface explicit 不好的示例-> int round(double d) { return (round_up) ? ceil(d) : d; // don't: "invisi