? ? 如圖傳感器到障礙物的距離是(0.3,0.0,0.0)沫浆,然后(?,?,?)是機(jī)器到障礙物的距離如何計(jì)算躯保?
傳感器可以看做一個(gè)坐標(biāo)系飞苇。
機(jī)器可以看做一個(gè)坐標(biāo)系缎讼。
障礙物可以看做一個(gè)點(diǎn)收夸。
? ? Tf包就是把某個(gè)點(diǎn)在某一個(gè)坐標(biāo)系的坐標(biāo)轉(zhuǎn)換為另外一個(gè)坐標(biāo)系的坐標(biāo)。障礙物在傳感器坐標(biāo)中已經(jīng)有了血崭。因?yàn)?個(gè)坐標(biāo)直接是有聯(lián)系的卧惜。比如base_link(機(jī)器)指向傳感器的向量為(0.1,0.0,0.2)厘灼,所以就可以算出障礙物在機(jī)器坐標(biāo)系中的坐標(biāo)為(0.4,0.0,0.2)。
??? Tf包的發(fā)送端主要子坐標(biāo)在父坐標(biāo)中的關(guān)系咽瓷。而接受端接收父子坐標(biāo)轉(zhuǎn)換數(shù)據(jù)及傳感器障礙物數(shù)據(jù)设凹,并且合并生成父(機(jī)器)坐標(biāo)系中的坐標(biāo)。
然后我一開始不明白茅姜,有了x,y偏移已經(jīng)能夠說(shuō)明子坐標(biāo)在父坐標(biāo)中的位置了围来,為什么還要添加旋轉(zhuǎn)呢?后來(lái)想起來(lái)這不僅僅描述位置匈睁,他描述的是位姿。比如2個(gè)人隔了一個(gè)座位桶错,都面朝南坐著航唆。和2個(gè)人隔了一個(gè)座位,一個(gè)面朝南院刁,一個(gè)面朝東南糯钙。則需要用旋轉(zhuǎn)來(lái)表示了。所以位姿是平移加旋轉(zhuǎn)來(lái)表示的退腥。