***ros機械人作業系統學習總結-搖桿篇*
本人是個ros學習新手,對ros作業系統學習也就幾個月,當時在網上看了幾個大神的學習的部落格分享,感覺很不錯,受益無窮,所以我也想把自己學習過程中的一些理解和用途分享出來,裡面可能有一些我理解的不對的,希望大家看後能夠指出來,一起學習。
這篇文章主要講的是我們用搖桿控制乙個小海龜,然後讓另外乙個小海龜跟隨這個被搖桿控制的小海龜,其實這個wiki上已經有了,只不過wiki上的是講鍵盤控制,我只不過改了下launch檔案就可以讓搖桿控制了。
參考資料:這是搖桿的控制**,注意不同版本的ros對應的**是不同的,特別是hydro有點改動,大家要好好看下。
這是tf的教程,其實我們要做的事情並不多,只要理解前面三個教程,1:如何建立乙個broadcaster,2如何建立乙個listener 3:如何新增乙個新的座標系,這個在前三個code都有解釋,具體的**解釋我會在後面陸續整理出來..
現在開始說一下我們如何用搖桿控制烏龜,很簡單,我們按照上面的內容,建立乙個joy_stick的包,在其中的src裡面建立乙個joy_stick_example.cpp的檔案,注意我的ros是hydro版本。不同版本之間有些小的差別。
#include
#include //是烏龜的資料型別的標頭檔案
#include //搖桿控制的標頭檔案
class teleopturtle //定義乙個類,主要用來寫烏龜控制的實現
;
teleopturtle::teleopturtle():
linear_(1),
angular_(2)
void teleopturtle::joycallback(const sensor_msgs::joy::constptr& joy)
int main(int argc, char** argv)
這些都是wiki裡面有的,還有三個tf的函式大家直接在參考資料裡面複製下來就可以了,不用改的,注意好對應版本,
下面是launch啟動檔案,我們建立乙個launch目錄,在裡面建立乙個tf_joy_turtle.launch檔案,
<?xml version="1.0"?>
"turtlesim"
type=
"turtlesim_node" name="sim"/>
"joy_stick"
type=
"joy_stick_eample" name="joy_stick" output="screen"/>
"axis_linear"
value="1"
type=
"int"/>
"axis_angular"
value="0"
type=
"int"/>
"axis_ascalar"
value="2"
type=
"double"/>
"axis_lscalar"
value="2"
type=
"double"/>
"true" pkg="joy"
type=
"joy_node" name="turtle_name">
"dev"
type=
"string"
value="/dev/input/js0"/>
"deadzone"
value="0.12"/>
"joy_stick"
type=
"tf_listener" name="listener"/>
"tf_stick"
type=
"tf_broadcaster" args="/turtle2" name="joy1"/>
"tf_stick"
type=
"tf_broadcaster" args="/turtle1" name="joy2"/>
"joy_stick"
type=
"add_framecaster" name="add_framecaster"/>
搞定完這些後,我們先編譯一下rosmake
最後我們啟動檔案,
roslaunch joy_stick tf_joy_turtle.launch,我們就可以用我們的搖桿控制烏龜了,而且另外乙個烏龜總是與搖桿控制的烏龜保持左邊2公尺的距離。
機械人學習 ROS學習入門
目前機械人的研發,小打小鬧弄個玩具可以用stm32等嵌入式微處理器 電機驅動器 電機驅動小車玩一下。但是上公升到移動機械人自主定位導航和感知環境等高階需求層面,普通嵌入式微處理器處理不了那麼多資料,且硬體搭建裸機較難。有類似於偽作業系統一樣管理計算機主機各種硬體 cpu 記憶體 驅動 磁碟以及各種硬...
機械人學導論學習(1)
下面是對機械人學導論乙個概括 1 章對介紹了機械人學的背景以及發展前景,然後對本書的各個章節核心思想進行了介紹。2 章用數學的方法建立三維空間的座標系來描述操作臂的位置與姿態,主要包括笛卡爾空間與關節空間。3 章介紹了操作臂的正運動學,研究物體的運動而不考慮物體的力,主要內容是笛卡爾空間想關節空間的...
ROS機械人學習歷程二(ROS基礎一)
2.建立工作空間和功能包 不懂我這教程風格的檢視我的博文 ros機械人學習歷程一 了解和安裝 如不想理,可忽視此內容。接下來分三章來學習ros基礎,其他涉及到的程式設計基礎也可能會在紫色內容中補充,以便各位都能深入理解,為之後學習打好基礎。建議多敲 內容 詳讀細閱 瀏覽必看 問題必記 補充字型 黑色...