智能機(jī)器人的功能繁多,全都放在一個(gè)計(jì)算機(jī)里,經(jīng)常會(huì)遇到計(jì)算能力不夠、處理出現(xiàn)卡頓等情況,如果可以將這些任務(wù)拆解,分配到多個(gè)計(jì)算機(jī)中運(yùn)行豈不是可以減輕壓力?
這就是分布式系統(tǒng),可以實(shí)現(xiàn)多計(jì)算平臺(tái)上的任務(wù)分配。
分布式通信
什么叫分布式?
機(jī)器人功能是由各種節(jié)點(diǎn)組成的,這些節(jié)點(diǎn)可能位于不同的計(jì)算機(jī)中,這種結(jié)構(gòu)可以將原本資源消耗較多的任務(wù),分配到不同的平臺(tái)上,減輕計(jì)算壓力,這就是分布式通信框架的典型應(yīng)用之一。
比如在這款機(jī)器人系統(tǒng)中,就有兩個(gè)計(jì)算平臺(tái)。機(jī)器人體積比較小,不適合放一個(gè)筆記本電腦在上邊,于是采用旭日派作為控制器,主要實(shí)現(xiàn)傳感器驅(qū)動(dòng)、電機(jī)控制、AI應(yīng)用等功能,此外我們還需要在電腦上監(jiān)控機(jī)器人的傳感器信息,并且遠(yuǎn)程控制機(jī)器人運(yùn)動(dòng)。
兩個(gè)計(jì)算平臺(tái)之間的通信,看上去還有點(diǎn)復(fù)雜,畢竟相互傳輸?shù)臄?shù)據(jù)還挺多的,不過(guò)TogehterROS都已經(jīng)為我們準(zhǔn)備好了,我們只需要在每一個(gè)計(jì)算上配置好TogehterROS或者ROS2的環(huán)境,功能開(kāi)發(fā)上完全不需要做任何變化,實(shí)現(xiàn)非常方便。
接下來(lái),我們就帶領(lǐng)大家一起來(lái)感受下分布式系統(tǒng)的魅力。
分布式網(wǎng)絡(luò)搭建
旭日派配置完成后,確保已經(jīng)和你所使用的電腦連接到了同一個(gè)局域網(wǎng)絡(luò)中。接下來(lái)我們打通兩個(gè)計(jì)算平臺(tái)的通信能力。具體需要做什么呢?
簡(jiǎn)而言之,什么都不需要做。我們直接用命令行測(cè)試一下話題通信的效果。
$ ros2 run examples_rclcpp_minimal_publisher publisher_member_function
#旭日派端$ ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function
#PC端
神奇的事情就這樣發(fā)生了,旭日X3派上安裝的是TogetherROS,我的電腦上安裝的是ROS2,他們只要處于同一網(wǎng)絡(luò)中,就可以實(shí)現(xiàn)通信了,感覺(jué)就像在一個(gè)電腦里一樣。
不過(guò)這也會(huì)帶來(lái)一個(gè)問(wèn)題,如果一個(gè)網(wǎng)絡(luò)中有很多個(gè)計(jì)算機(jī),我們并不希望他們都可以互通互聯(lián),而是可以分組通信,小組之間是無(wú)法實(shí)現(xiàn)通信的。
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28379瀏覽量
206912 -
通信
+關(guān)注
關(guān)注
18文章
6024瀏覽量
135949 -
分布式網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
10瀏覽量
6921
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論