02-TF-建立坐標(biāo)系

本篇教程演示如何建立新坐標(biāo)系,建立新坐標(biāo)系與創(chuàng)建tf廣播類似蒲列,同時能加強(qiáng)tf功能娄柳。

1.為什么添加坐標(biāo)系

很多實(shí)例中,分系統(tǒng)的本地坐標(biāo)系理解起來比較簡單粮坞,比如激光雷達(dá)的坐標(biāo)系在雷達(dá)的幾何中心蚊荣,tf允許在任何傳感中定義一個坐標(biāo)系,tf的作用也在于整理好坐標(biāo)系之間的轉(zhuǎn)換關(guān)系莫杈。

2.坐標(biāo)系在哪兒添加

tf建立了一個樹狀結(jié)構(gòu)的坐標(biāo)系組互例,坐標(biāo)系組中不允許閉環(huán)存在。這意味著一個坐標(biāo)系只有一個父坐標(biāo)系筝闹,但可以有多個子坐標(biāo)系媳叨。前面示例中使用的系統(tǒng)擁有三個坐標(biāo)系:世界坐標(biāo)系,海龜1关顷,海龜2.兩個海龜坐標(biāo)系是世界坐標(biāo)系的子坐標(biāo)系糊秆。當(dāng)我們要添加一個新的坐標(biāo)系到tf中時,三個已知的坐標(biāo)中的一個坐標(biāo)系需要是其父坐標(biāo)系议双,新的坐標(biāo)系將成為子坐標(biāo)系痘番。


3.如何添加坐標(biāo)系

在海龜示例中,我們在第一個海龜中添加一個坐標(biāo)系平痰,這個坐標(biāo)系是第二個海龜?shù)摹昂}卜”汞舱,如下所示進(jìn)入當(dāng)前工作包,添加代碼宗雇。

$ roscd learning_tf
$ vim nodes/fixed_tf_broadcaster.py

import rospy
import tf

if __name__ == '__main__':
    rospy.init_node('my_tf_broadcaster')
    br = tf.TransformBroadcaster()
    rate = rospy.Rate(10.0)
    while not rospy.is_shutdown():
        br.sendTransform((0.0, 2.0, 0.0),
                         (0.0, 0.0, 0.0, 1.0),
                         rospy.Time.now(),
                         "carrot1",
                         "turtle1")
        rate.sleep()

4.運(yùn)行坐標(biāo)系發(fā)布程序

在start_demo.launch文件中添加下面的內(nèi)容昂芜。

$vim launch/start_demo.launch

<launch> ... 
<node pkg="learning_tf" type="fixed_tf_broadcaster.py" name="broadcaster_fixed" />  
</launch>

5.檢查結(jié)果

當(dāng)運(yùn)行上面的launch文件時,會發(fā)現(xiàn)結(jié)果與之前一致赔蒲,海龜2還是跟隨海龜1而不是新建的“carrot”坐標(biāo)系泌神。這是因?yàn)橹暗膌istner文件中海龜2的坐標(biāo)系是參照海龜1的坐標(biāo)系計算速度的。如果將參考坐標(biāo)系改為“carrot”坐標(biāo)系計算速度信息嘹履,即可使得海龜2跟隨“carrot”坐標(biāo)系腻扇。

$ vim nodes/turtle_tf_listener.py

將lookupTransform后面的/turtle1替換為/carrot1

''' 
(trans,rot) = listener.lookupTransform("/turtle2", "/carrot1", rospy.Time(0))
'''

roslaunch learning_tf start_demo.launch、

6.運(yùn)動坐標(biāo)系的廣播

我們在教程中新建的坐標(biāo)系相對于父坐標(biāo)系的位置是固定的砾嫉,因此是固定坐標(biāo)系幼苛。然而,當(dāng)需要發(fā)布一個移動坐標(biāo)系時焕刮,就需要隨時改變廣播舶沿,下面的實(shí)例中嘗試將carrot1坐標(biāo)系設(shè)置為移動坐標(biāo)系墙杯,隨著時間改變相對于海龜坐標(biāo)系1的位置。
#!/usr/bin/env python
import roslib
roslib.load_manifest('learning_tf')

import rospy
import tf
import math

if __name__ == '__main__':
    rospy.init_node('my_tf_broadcaster')
    br = tf.TransformBroadcaster()
    rate = rospy.Rate(10.0)
    while not rospy.is_shutdown():
        t = rospy.Time.now().to_sec() * math.pi
        br.sendTransform((2.0 * math.sin(t), 2.0 * math.cos(t), 0.0),
                         (0.0, 0.0, 0.0, 1.0),
                         rospy.Time.now(),
                         "carrot1",
                         "turtle1")
        rate.sleep()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末括荡,一起剝皮案震驚了整個濱河市高镐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌畸冲,老刑警劉巖嫉髓,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異邑闲,居然都是意外死亡算行,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門苫耸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來州邢,“玉大人,你說我怎么就攤上這事褪子×刻剩” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵嫌褪,是天一觀的道長呀枢。 經(jīng)常有香客問我,道長渔扎,這世上最難降的妖魔是什么硫狞? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任信轿,我火速辦了婚禮晃痴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘财忽。我一直安慰自己倘核,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布即彪。 她就那樣靜靜地躺著紧唱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隶校。 梳的紋絲不亂的頭發(fā)上漏益,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機(jī)與錄音深胳,去河邊找鬼绰疤。 笑死,一個胖子當(dāng)著我的面吹牛舞终,可吹牛的內(nèi)容都是我干的轻庆。 我是一名探鬼主播癣猾,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼余爆!你這毒婦竟也來了纷宇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蛾方,失蹤者是張志新(化名)和其女友劉穎像捶,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桩砰,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡作岖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了五芝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痘儡。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖枢步,靈堂內(nèi)的尸體忽然破棺而出沉删,到底是詐尸還是另有隱情,我是刑警寧澤醉途,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布矾瑰,位于F島的核電站,受9級特大地震影響隘擎,放射性物質(zhì)發(fā)生泄漏殴穴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一货葬、第九天 我趴在偏房一處隱蔽的房頂上張望采幌。 院中可真熱鬧,春花似錦震桶、人聲如沸休傍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磨取。三九已至,卻和暖如春柴墩,著一層夾襖步出監(jiān)牢的瞬間忙厌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工江咳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逢净,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像汹胃,于是被迫代替她去往敵國和親婶芭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容