ROS機械人學習搖桿篇 1

2021-07-03 03:46:07 字數 2265 閱讀 7844

***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基礎,其他涉及到的程式設計基礎也可能會在紫色內容中補充,以便各位都能深入理解,為之後學習打好基礎。建議多敲 內容 詳讀細閱 瀏覽必看 問題必記 補充字型 黑色...