最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

2.5 參數(shù)服務(wù)

2023-09-21 16:28 作者:猛獅集訓(xùn)營  | 我要投稿

場景

在機器人系統(tǒng)中不同的功能模塊可能會使用到一些相同的數(shù)據(jù),比如:

導(dǎo)航實現(xiàn)時,會進行路徑規(guī)劃,路徑規(guī)劃主要包含, 全局路徑規(guī)劃和本地路徑規(guī)劃,所謂全局路徑規(guī)劃就是設(shè)計一個從出發(fā)點到目標(biāo)點的大致路徑,而本地路徑規(guī)劃,則是根據(jù)車輛當(dāng)前路況生成實時的行進路徑。兩種路徑規(guī)劃實現(xiàn),都會使用到車輛的尺寸數(shù)據(jù)——長度、寬度、高度等。那么這些通用數(shù)據(jù)在程序中應(yīng)該如何存儲、調(diào)用呢?

上述場景中,就可以使用參數(shù)服務(wù)實現(xiàn),在一個節(jié)點下保存車輛尺寸數(shù)據(jù),其他節(jié)點可以訪問該節(jié)點并操作這些數(shù)據(jù)。

概念

參數(shù)服務(wù)是以共享的方式實現(xiàn)不同節(jié)點之間數(shù)據(jù)交互的一種通信模式。保存參數(shù)的節(jié)點稱之為參數(shù)服務(wù)端,調(diào)用參數(shù)的節(jié)點稱之為參數(shù)客戶端。參數(shù)客戶端與參數(shù)服務(wù)端的交互是基于請求響應(yīng)的,且參數(shù)通信的實現(xiàn)本質(zhì)上對服務(wù)通信的進一步封裝。

作用

參數(shù)服務(wù)保存的數(shù)據(jù)類似于編程中“全局變量”的概念,可以在不同的節(jié)點之間共享數(shù)據(jù)。

2.5.1 案例以及案例分析

1.案例需求

需求:在參數(shù)服務(wù)端設(shè)置一些參數(shù),參數(shù)客戶端訪問服務(wù)端并操作這些參數(shù)。


2.案例分析

在上述案例中,需要關(guān)注的要素有三個:

  1. 參數(shù)客戶端;

  2. 參數(shù)服務(wù)端;

  3. 參數(shù)。

3.流程簡介

案例實現(xiàn)前需要先了解ROS2中參數(shù)的相關(guān)API,無論是客戶端還是服務(wù)端都會使用到參數(shù),而參數(shù)服務(wù)案例實現(xiàn)主要步驟如下:

  1. 編寫參數(shù)服務(wù)端實現(xiàn);

  2. 編寫參數(shù)客戶端實現(xiàn);

  3. 編輯配置文件;

  4. 編譯;

  5. 執(zhí)行。

案例我們會采用C++和Python分別實現(xiàn),二者都遵循上述實現(xiàn)流程。

4.準(zhǔn)備工作

終端下進入工作空間的src目錄,調(diào)用如下兩條命令分別創(chuàng)建C++功能包和Python功能包。

ros2 pkg create cpp04_param --build-type ament_cmake --dependencies rclcpp ros2 pkg create py04_param --build-type ament_python --dependencies rclpy

2.5.2 參數(shù)數(shù)據(jù)類型

在ROS2中,參數(shù)由鍵、值和描述符三部分組成,其中鍵是字符串類型,值可以是bool、int64、float64、string、byte[]、bool[]、int64[]、float64[]、string[]中的任一類型,描述符默認情況下為空,但是可以設(shè)置參數(shù)描述、參數(shù)數(shù)據(jù)類型、取值范圍或其他約束等信息。

為了方便操作,參數(shù)被封裝為了相關(guān)類,其中C++客戶端對應(yīng)的類是rclcpp::Parameter,Python客戶端對應(yīng)的類是rclpy.Parameter。借助于相關(guān)API,我們可以實現(xiàn)參數(shù)對象創(chuàng)建以及參數(shù)屬性解析等操作。以下代碼提供了參數(shù)相關(guān)API基本使用的示例。

2.5.3 參數(shù)服務(wù)(C++)



2.5 參數(shù)服務(wù)的評論 (共 條)

分享到微博請遵守國家法律
锦屏县| 新蔡县| 金湖县| 安吉县| 静乐县| 朝阳市| 石渠县| 邢台县| 辛集市| 正宁县| 吉木萨尔县| 南靖县| 微博| 班戈县| 南皮县| 九江县| 镇远县| 和平县| 旬邑县| 庐江县| 巨鹿县| 屯留县| 盱眙县| 卢氏县| 肃宁县| 长丰县| 东山县| 获嘉县| 新宁县| 陆川县| 天等县| 惠水县| 汉源县| 兰考县| 临沭县| 吉安县| 句容市| 沁水县| 屏南县| 平乡县| 宁海县|