原创 c/c++常見面試題02

1 兩個字符串s、t,把t字符串插入到s字符串中,s字符串有足夠的空間存放t字符串 void insert(char *s, char *t, int i) { char *q = t; char *p =s; if(q =

原创 c/c++常見面試題01

1、局部變量能否和全局變量重名?    答:能,局部會屏蔽全局。要用全局變量,需要使用 ":: "   局部變量可以與全局變量同名,在函數內引用這個變量時,會用到同名的局部變量,而不會用到全局變量。對於有些編譯器而言,在同一個函數

原创 c/c++常見面試題03

1.是不是一個父類寫了一個virtual 函數,如果子類覆蓋它的函數不加virtual ,也能實現多態? virtual修飾符會被隱形繼承的。 private 也被繼承,只事派生類沒有訪問權限而已 virtual可加可不加 子類的

原创 c/c++常見面試題05

面試題 1: 變量的聲明和定義有什麼區別 爲變量分配地址和存儲空間的稱爲定義,不分配地址的稱爲聲明。一個變量可以在多個地方聲明,但是隻在一個地方定義。加入 extern 修飾的是變量的聲明,說明此變量將在文件以外或在文件後面部分定

原创 3D打印單軸飛行器/單軸無人機設計

文章目錄3D打印單軸飛行器單軸飛行器打印過程設計調試以及飛行 3D打印單軸飛行器 最近有點閒,正好對無人機有些興趣,就打算做個無人機玩玩,但是普通的多旋翼以前從算法軟件硬件都實現過了,再做一個沒意思,這次整個新的。仔細想了想,這次

原创 第二篇:超聲波發射裝置

超聲波發射裝置的設計與製作 前文:飛鏢自動靶的設想與實踐 這篇文章主要講超聲波發射裝置的設計思路。所謂發射裝置就是通過一個單片機控制放大電路,把超聲波接收探頭接到放大電路中即可。爲什麼採用單片機方案,這個理由很簡單:因爲我好久沒碰

原创 c/c++常見面試題04

(一) 初級題 1、什麼是預編譯,何時需要預編譯: (1) 總是使用不經常改動的大型代碼體 (2) 程序由多個模塊組成,所有模塊都使用一組標準的包含文件和相同的編譯選項。在這種情況下,可以將所有包含文件預編譯爲一個預編譯頭 2、

原创 第三篇:超聲波接收裝置

超聲波接收模塊 前文:飛鏢自動靶的設想與實踐 前文:超聲波發射裝置 接收模塊基於紅外芯片cx20106,電路可以將超聲波的接收信號進行放大,並以低電平輸出。 下面是超聲波接收模塊電路圖: pcb圖: pcb圖2:

原创 第二篇:超聲波發射裝置(1)

超聲波發射裝置的設計與製作 前文:飛鏢自動靶的設想與實踐 這篇文章主要講超聲波發射裝置的設計思路。所謂發射裝置就是通過一個單片機控制放大電路,把超聲波接收探頭接到放大電路中即可。爲什麼採用單片機方案,這個理由很簡單:因爲我好久沒碰

原创 第一篇:飛鏢自動靶的設想與實踐

飛鏢自動靶的設想與實踐 之前偶然在youtube上看到了一個可以自己接飛鏢的飛鏢靶盤,讓手殘黨也可以次次擊中紅心,頓時有了很大興趣,最近閒來無事,也想自己做一個。移動飛鏢靶的作者是前NASA工程師 Mark Rober,使用基於動

原创 tf座標系轉換(gmapping)

座標系變換 上一節:slam_gmapping安裝與測試 gmapping tf座標變換 tf關係圖是機器人座標關係非常重要的一環,作爲gmapping測試來說,它的關係圖是這樣的: 輸入: rosrun rqt_tf_tree rq

原创 歐拉角,四元數,旋轉

歐拉角,四元數,旋轉 歐拉角 歐拉角是我們最常用最熟悉的表示剛體姿態的數學表示: 繞物體的 Z 軸旋轉,得到偏航角 yaw; 繞旋轉之後的 Y 軸旋轉,得到俯仰角 pitch; 繞旋轉之後的 X 軸旋轉,得到滾轉角 roll。 此

原创 Gmapping建圖

Gmapping實戰 前文中,我們總共做了以下幾件事: 完成了基於ros小車框架安裝。 完成了小車下位機的安裝。 完成了上位機安裝,並連接到ros系統,可以發佈odom話題,使用鍵盤控制 gmapping數據集測試。 激光雷達選型與

原创 視覺slam-----第五篇 ORB特徵

視覺slam-----第五篇 ORB特徵 特徵點 爲了估計相機的運動,我們需要從圖像中選取比較有代表性的點。這些點在相機視角發生少量變化後會保持不變,所以我們會在各個圖像中找到相同的點。然後,在這些點的基礎上,討論相機位姿估計問題,以

原创 激光雷達數據分析

激光雷達數據分析 既然要做一個基於gmapping的小車,那麼激光雷達就是最重要的傳感器之一,對應的激光雷達掃描信息就很重要了。激光雷達沒什麼神祕的,本質上就是一個測距傳感器,只不過由於加上旋轉,就可以測一個面上的距離數據(也就是36