原创 python :使用 __getitem__ 和 __iter__ 可以使類成爲一個迭代器

# -*- coding: utf-8 -*- class Library(object): def __init__(self):

原创 變分法:在圖像處理中的應用(一)

前言   最近學習稠密重建的相關知識,發現變分法通常作爲一個平滑的正則項出現在殘差平方和的損失函數中。而圖像處理中又經常出現這類最小損失函數的優化問題,如圖像分割、稠密光流、稠密重建等等,這些優化問題中都有可能涉及到變分法。因此,

原创 python + opencv: 解決不能讀取視頻的問題

       博主一開始使用python2.7和Opencv2.4.10來獲取攝像頭圖像,程序如下: cap = cv2.VideoCapture(0) ret, frame = cap.read()使用這個程序能夠打開攝像頭並獲取圖像

原创 ROS 教程之navigation: 用程序設定導航目標點

       在做導航的過程中,目的地都是通過RViz界面手動設置的,很麻煩。那麼能否通過程序設置目標點,讓機器人自動在幾個目標點之間來回循環呢?答案是肯定的,《Ros by Example volumn1》8.5.3節中也給出了答案。但

原创 ROS: global_planner 整體解析

       在目前的ROS版本中,機器人全局路徑規劃使用的是navfn包,這在move_base的默認參數中可以找到 base_global_planner  (string, default: "navfn/NavfnROS")。而

原创 python : 將txt文件中的數據讀爲numpy數組或列表

     很多時候,我們將數據存在txt或者csv格式的文件裏,最後再用python讀取出來,存到數組或者列表裏,再做相應計算。本文首先介紹寫入txt的方法,再根據不同的需求(存爲數組還是list),介紹從txt讀取浮點數的方法。 一、寫

原创 ROS :爲IDE配置環境變量

      ROS hydro 自帶安裝好了opencv 2.4 爲了在自己經常使用的開發環境Eric下調用,需要配置Eric的環境變量,好讓它可以調用ROS的資源,當然你用其他IDE也要這樣配置,配置好了環境變量以後,就可以直接在你的開

原创 ROS 教程之 navigation :在 catkin 環境下創建costmap layer plugin

        在做機器人導航的時候,肯定見到過global_costmap和local_costmap。global_costmap是爲了全局路徑規劃服務的,如從這個房間到那個房間該怎麼走。local_costmap是爲局部路徑規劃服務

原创 python + opencv: kalman 跟蹤

       之前博文中講解過kalman濾波的原理和應用,這裏用一個跟蹤鼠標的例程來演示怎麼在opencv裏用自帶的kalman函數進行目標跟蹤,文章的內容對做圖像跟蹤有借鑑意義。文章主要是網絡資源進行整理和簡單解讀,來源見參考。 運動

原创 機器人局部避障的動態窗口法(dynamic window approach)

首先在V_m∩V_d的範圍內採樣速度: allowable_v = generateWindow(robotV, robotModel) allowable_w = generateWindow(robotW, robotM

原创 ROS 教程之 vision : 用各種攝像頭獲取圖像

        可能有很多人想在ROS下學習視覺,先用攝像頭獲取圖像,再用opencv做相應算法處理,可是ROS下圖像的採集可不像平常的read一下那麼簡單,需要藉助外部package的使用。而攝像頭即可以用筆記本自帶的攝像頭,也可以用外

原创 從零開始手寫 VIO

前言 最近和高博合作推出了一個關於 VIO 的課程,藉此博客推薦下。這個課程的圖優化後端是我們自己寫的,僅依賴 Eigen, 實現後系統的精度和 ceres 以及 g2o 不相上下。 個人感覺這個課程還是能學到不少東西,特別是網上關於

原创 高斯過程簡析

前言 SLAM 方向對 Gaussian Process (GP)的需求不大,但這兩年有好幾篇 IROS,ICRA 的論文用高斯過程來擬合軌跡,擬合誤差模型等,因此這篇筆記對高斯過程概念和原理進行簡單梳理,理清楚 GP 是怎麼來的,以

原创 2d Laser 和 Odomter 內外參數標定工具原理及使用方法

前言 兩輪差速輪式機器人可以基於碼盤數據和兩輪間距以及車輪半徑進行航跡推演,得到機器人的軌跡。激光雷達也可以利用 icp 等算法計算出兩時刻間機器人的相對運動量。因此,可以利用兩者數據進行融合定位,本博客根據 Censi 2013 年

原创 2d Laser 和 camera 標定工具原理及使用方法

2d 激光和相機之間的標定早在 04 年就出了成熟的論文和方法,17 年 ICCV, IROS,今年 IROS 等依然還有論文產出。具體的論文列表可以參考我的《論文閱讀整理》博客,這篇博客主要講述 04 年方法的原理以及代碼的實現,