精品人妻久久久久一区二区三区,久久精品国产亚洲AV高清热,少妇被又大又粗又爽毛片黑人,欧美 日韩 亚洲 精品 成人,久久久久无码国产精品一区
Home
Products
Cases
News
Buy
Support
About Us
Partner
Contact Us
Home
Products
News
Buy
Support
About Us
Join US
Contact Us

如何利用SLAMWARE ROS SDK进行机器人导航定位开发

 

承接上篇,上篇講到,SLAMWARE ROS SDK的發(fā)布,既可以讓用戶在機器人開發(fā)中實現(xiàn)使用SLAMWARE提供的建圖、定位和導(dǎo)航功能,又能保留原先基于ROS開發(fā)的應(yīng)用邏輯,一舉兩得。

今天,小嵐就來踐行上篇的承諾,帶大家體驗一下如何利用SLAMWARE ROS SDK進(jìn)行業(yè)務(wù)開發(fā)。

我們先從機器人的移動開始說起。

一、鍵盤控制 (前后左右移動)

還記得ROS中最經(jīng)典的turtlesim(http://wiki.ros.org/turtlesim/)嗎?案例中啟動turtle_teleop_key節(jié)點就可以通過鍵盤方向鍵控制小海龜移動了。

但是,用戶拿到我們基于SLAMWARE的機器人或者建圖雷達(dá)產(chǎn)品,一開始在RViz中顯示的只是一張地圖信息,想要用鍵盤控制機器人移動方向,發(fā)現(xiàn)并不奏效?

這時候,參閱SLAMWARE ROS SDK開發(fā)文檔可以發(fā)現(xiàn), slamware_ros_sdk_server_node訂閱了【方向移動】的標(biāo)準(zhǔn)類型topic,也就是說,想要實現(xiàn)利用鍵盤控制“機器人”,我們只需編一個節(jié)點接收鍵盤信息,當(dāng)收到鍵盤信息后往該topic發(fā)對應(yīng)的指令消息即可。

相應(yīng)的消息參數(shù)如下:

在利用sdk進(jìn)行鍵盤控制的時候,開發(fā)的主要重點有以下幾個,小嵐已經(jīng)幫大家羅列好了:

1、定義鍵盤按鈕

2、定義pub,制定消息topic及消息類型

3、初始化節(jié)點

這些都操作完成之后,當(dāng)按下的按鍵在之前定義的案件keys中時,將對應(yīng)的值賦給linearX,angularZ。

4、根據(jù)topic所需類型組裝發(fā)布消息

至此,利用鍵盤控制機器人的部署已經(jīng)完成,完成這一步的小伙伴可以分別啟動slamware_ros_sdk_server_node與teleop_twist_keyboard節(jié)點試一下【前后左右】移動 。

下面,我們進(jìn)一步深入了解導(dǎo)航定位這個問題。大家都知道,思嵐有一款可擴展的機器人管理與開發(fā)軟件 —— RoboStudio,里面集成了機器人運動及控制開發(fā)各項功能,可以對移動機器人發(fā)送指令,實現(xiàn)對機器人的可視化監(jiān)控。

那,如何讓ROS實現(xiàn)Robostudio同樣的功能呢?

 

二、導(dǎo)航定位 

1、導(dǎo)航定位

SLAMWARE ROS SDK的發(fā)布,使得所有基于SLAMWARE的機器人的定位和地圖信息都可以在RViz中顯示。有了地圖之后,我們可以點擊任意位置,機器人會自動規(guī)劃一條最佳路線移動到目的地。

 

2、虛擬墻/虛擬軌道

對于思嵐來說,除了自主定位導(dǎo)航技術(shù)之外,還有一大特點功能就是基于純軟件設(shè)置的虛擬墻/虛擬軌道,不需任何實物鋪設(shè),靈活控制機器人活動范圍。這個在實際應(yīng)用場景中有很大的意義。

 

下面,我們就開始上手實驗吧~

首先,先找到文檔中的【virtual_walls】這個topic,發(fā)布的消息類型是自定義類型,點擊可查看類型結(jié)構(gòu)信息。

 

同樣的,小嵐給大家畫了一下重點:

(1)初始化節(jié)點、定義publisher與subscriber對象

(2)全局定義了一個Marker類型,lines用以存儲發(fā)布虛擬墻

(3)接收到slamware_ros_sdk_server_node節(jié)點發(fā)來的虛擬墻消息后,保存到lines中

(4)配置lines,如:類型、尺寸和顏色等

(5)將lines發(fā)布出去

 

部署完之后,我們分別啟動slamware_ros_sdk_server_node, view_slamware_ros_sdk_server_node和display_virtual_lines節(jié)點。

此時,在RViz中需要配置添加Marker信息,先找到在RViz中點擊左下角【Add】按鈕。

選擇添加【Marker】顯示對象。

添加完成之后,我們繼續(xù)在參考文檔中找到【add_ lines】這個topic,然后我們就可以自定義。點進(jìn)去查看自定義類型的組成與描述:線段類型、添加位置、以及相關(guān)定義

啟動slamware_ros_sdk_server_node節(jié)點,連上機器人,然后在命令行中輸入:

rostopic pub /slamware_ros_sdk_server_node/add_line slamware_ros_sdk/AddLineRequest -1 -- '[0]' '[1, [0.0, 0.0], [1.0, 1.0]]'

此時,我們就可以在Rviz中看見虛擬墻了。

那要如何刪除呢?同理,我們找到clear_lines節(jié)點信息,在命令行輸入相應(yīng)代碼即可:

rostopic pub /slamware_ros_sdk_server_node/clear_lines slamware_ros_sdk/ClearLinesRequest -1 '[0]'

虛擬軌道功能開發(fā)亦是如此。

……以上,僅為SLAMWARE ROS SDK中功能兩個簡單功能的演示??刂茩C器人運動狀態(tài)、轉(zhuǎn)向、旋轉(zhuǎn)角度、地圖同步、清空地圖等topic的靈活使用,將可以更好的對機器人進(jìn)行監(jiān)測與控制。

那么,你準(zhǔn)備好去探索了嗎?

 

關(guān)鍵字:SLAMWARE ROS SDK

top
精品人妻久久久久一区二区三区,久久精品国产亚洲AV高清热,少妇被又大又粗又爽毛片黑人,欧美 日韩 亚洲 精品 成人,久久久久无码国产精品一区