中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站日常優(yōu)化網(wǎng)絡(luò)營(yíng)銷推廣是做什么的

網(wǎng)站日常優(yōu)化,網(wǎng)絡(luò)營(yíng)銷推廣是做什么的,三渡網(wǎng)絡(luò)推廣培訓(xùn),dede 網(wǎng)站模板e(cuò)go-planner開源代碼之啟動(dòng)參數(shù)介紹&分析 1. 源由2. 邏輯分析3. 啟動(dòng)參數(shù)section 1 三維地圖尺寸section 2 里程計(jì)話題映射section 3 advanced_param.xml配置section 3.1section 3.2section 3.3section 3.4section 3.5section 3.6section 3.7section 3.8 section 4 軌跡服務(wù)…

ego-planner開源代碼之啟動(dòng)參數(shù)介紹&分析

  • 1. 源由
  • 2. 邏輯分析
  • 3. 啟動(dòng)參數(shù)
    • section 1 三維地圖尺寸
    • section 2 里程計(jì)話題映射
    • section 3 advanced_param.xml配置
      • section 3.1
      • section 3.2
      • section 3.3
      • section 3.4
      • section 3.5
      • section 3.6
      • section 3.7
      • section 3.8
    • section 4 軌跡服務(wù)器
    • section 5 航點(diǎn)生成器
    • section 6 simulator.xml配置
    • section 7 rviz.launch配置
  • 4. 總結(jié)
  • 5. 附錄
    • 5.1 PDCA 戴明循環(huán)
    • 5.2 相機(jī)內(nèi)參
    • 5.3 Field of View 感知視野

1. 源由

ego-planner開源代碼之?dāng)?shù)據(jù)流分析工作的延續(xù)。

  • 對(duì)于算法邏輯的數(shù)據(jù)流,在前面已經(jīng)初步做了整理,部分主要模塊已經(jīng)有比較清晰的認(rèn)識(shí)。
  • 從數(shù)據(jù)流的角度,理解模塊的工作邏輯,還是非常直觀、簡(jiǎn)潔的。

如何從系統(tǒng)的角度,思考問題,尤其是一個(gè)系統(tǒng)由眾多模塊組成的復(fù)雜體系,要能夠整體的理解,反而并不能一下子上手。

反之,若能夠?qū)⒄麄€(gè)系統(tǒng)作為一個(gè)模塊來理解,入?yún)⒑统鰠⒎謩e如何對(duì)應(yīng)和理解呢?

2. 邏輯分析

想必經(jīng)歷過Linux 35.5 + JetPack v5.1.3@ego-planner編譯安裝,并在此基礎(chǔ)上運(yùn)行過仿真模擬,甚至看過uav_simulation代碼,那么可以體會(huì)下整體上,要在模塊基礎(chǔ)上,結(jié)合各模塊的數(shù)據(jù)流了解整個(gè)系統(tǒng),還是會(huì)有很多盲點(diǎn)。

為此,我們另辟蹊徑,從仿真模擬的入?yún)⑴渲脕砜纯?#xff0c;這個(gè)游戲是如何來玩的!

  • 從應(yīng)用的角度,復(fù)雜場(chǎng)景,往往涉及諸多變量;
  • 從技術(shù)的角度,應(yīng)用場(chǎng)景多,就是條件輸入多,同時(shí)判斷的變量條件就比較多;
  • 從算法的角度,沒有算法是萬萬不能的,但是算法也并非是萬能的。只有在滿足預(yù)設(shè)前提,算法才能正確執(zhí)行;

經(jīng)常會(huì)有人反饋:“研發(fā)人員用用都是挺好的,到了客戶那里一堆問題?!?/p>

從產(chǎn)品的角度:預(yù)研算法通常僅僅實(shí)現(xiàn)了“陽光”場(chǎng)景的邏輯。換句話說:當(dāng)入?yún)⒃谀承┖侠磔斎肭闆r下,輸出是期望結(jié)果;當(dāng)存在異常條件時(shí),由于程序邏輯的不完善、會(huì)導(dǎo)致結(jié)果混亂甚至宕機(jī)發(fā)生。

因此,發(fā)現(xiàn)問題、研究問題、排除問題、改進(jìn)方法、解決問題是一種螺旋式的過程,而這個(gè)過程通常在工程技術(shù)上采用PDCA的方式進(jìn)行不斷完善和優(yōu)化。

復(fù)雜問題簡(jiǎn)單化的邏輯,就是在合理范圍內(nèi)使用,邏輯上就能復(fù)現(xiàn)工程技術(shù)帶來的結(jié)果?;蛘哒f算法邏輯能100%復(fù)現(xiàn),當(dāng)無法復(fù)現(xiàn)就需要排除或者找到對(duì)應(yīng)關(guān)系,提前規(guī)避,確保最終用戶的用戶體驗(yàn)。

3. 啟動(dòng)參數(shù)

廢話不多說,直接上正菜!

section 1 三維地圖尺寸

  <!-- size of map, change the size inflate x, y, z according to your application --><arg name="map_size_x" value="40.0"/><arg name="map_size_y" value="40.0"/><arg name="map_size_z" value=" 3.0"/>

參數(shù) map_size_x、map_size_ymap_size_z 定義了所使用的三維地圖的尺寸。每個(gè)參數(shù)的含義如下:

  1. map_size_x:定義地圖在 X軸 方向上的長(zhǎng)度(單位:米)。這里的值設(shè)置為 40.0,表示地圖在 X軸方向延伸40米。

  2. map_size_y:定義地圖在 Y軸 方向上的寬度(單位:米)。這里的值設(shè)置為 40.0,表示地圖在 Y軸方向延伸40米。

  3. map_size_z:定義地圖在 Z軸 方向上的高度(單位:米)。值為 3.0,表示地圖在 Z軸方向延伸3米,提供了垂直方向上的規(guī)劃空間。

注:map_size:當(dāng)?shù)貓D大小較大時(shí)需要修改,注意目標(biāo)點(diǎn)不要超過map_size/2,相當(dāng)于默認(rèn)當(dāng)前位置為中心點(diǎn)位置。高級(jí)參數(shù)里面還有參數(shù)可以設(shè)置便宜。

section 2 里程計(jì)話題映射

  <!-- topic of your odometry such as VIO or LIO --><arg name="odom_topic" value="/visual_slam/odom" />

該參數(shù)用于告訴 ego-planner 該從哪個(gè)話題訂閱里程計(jì)數(shù)據(jù),以便獲取機(jī)器人或無人機(jī)的位姿信息。

  1. 注釋:
    <!-- topic of your odometry such as VIO or LIO -->
    這句話表示這個(gè)參數(shù)用于指定機(jī)器人里程計(jì)的ROS話題,可以是 視覺慣性里程計(jì) (VIO, Visual-Inertial Odometry) 或 激光慣性里程計(jì) (LIO, LiDAR-Inertial Odometry) 等。

  2. 參數(shù)定義:
    <arg name="odom_topic" value="/visual_slam/odom" />
    這行代碼定義了一個(gè)名為 odom_topic 的參數(shù),其值為 /visual_slam/odom,表示里程計(jì)信息發(fā)布的ROS話題名稱是 /visual_slam/odom。ego-planner 會(huì)從這個(gè)話題中訂閱機(jī)器人當(dāng)前的位姿(位置和姿態(tài))信息,用于進(jìn)行路徑規(guī)劃。

section 3 advanced_param.xml配置

  <!-- main algorithm params --><include file="$(find ego_planner)/launch/advanced_param.xml">

通過這行代碼,advanced_param.xml 文件中的參數(shù)會(huì)被加載到當(dāng)前的啟動(dòng)文件中,這樣 ego-planner 在運(yùn)行時(shí)就會(huì)使用這些預(yù)先定義的主算法參數(shù)。

同時(shí),通過 和之間再次修改參數(shù),覆蓋默認(rèn)advanced_param.xml 文件中的參數(shù)。

  1. 注釋:
    <!-- main algorithm params -->
    這句話表示接下來引入的是主算法相關(guān)的參數(shù)配置文件。即,該部分包含用于控制 ego-planner 主算法的參數(shù)。

  2. 參數(shù)文件引入:
    <include file="$(find ego_planner)/launch/advanced_param.xml">
    這行代碼表示將位于 ego_planner 包的 launch 目錄中的 advanced_param.xml 文件包含到當(dāng)前的 launch 文件中。

    • $(find ego_planner):這是 ROS 中的語法,用來找到 ego_planner 包的路徑。
    • /launch/advanced_param.xml:表示具體的參數(shù)文件路徑。

section 3.1

    <arg name="map_size_x_" value="$(arg map_size_x)"/><arg name="map_size_y_" value="$(arg map_size_y)"/><arg name="map_size_z_" value="$(arg map_size_z)"/><arg name="odometry_topic" value="$(arg odom_topic)"/>

復(fù)用和傳遞參數(shù),將原本的 map_size_x、map_size_y、map_size_zodom_topic 重新命名為 map_size_x_、map_size_y_map_size_z_odometry_topic,這樣便可以在后續(xù)代碼中使用這些新的名稱來引用原始參數(shù)的值。這種做法有利于代碼的清晰和模塊化,使參數(shù)的傳遞更加靈活。

  1. map_size_x_:

    • 通過 value="$(arg map_size_x)",將之前定義的 map_size_x 參數(shù)值(例如 40.0)賦值給新的參數(shù) map_size_x_。
  2. map_size_y_:

    • 同樣,將 map_size_y 的值傳遞給新的參數(shù) map_size_y_。
  3. map_size_z_:

    • map_size_z 的值傳遞給新的參數(shù) map_size_z_。
  4. odometry_topic:

    • 將之前定義的 odom_topic 參數(shù)值(如 /visual_slam/odom)傳遞給 odometry_topic

section 3.2

    <!-- camera pose: transform of camera frame in the world frame --><!-- depth topic: depth image, 640x480 by default --><!-- don't set cloud_topic if you already set these ones! --><arg name="camera_pose_topic" value="/pcl_render_node/camera_pose"/><arg name="depth_topic" value="/pcl_render_node/depth"/>

定義了有關(guān)相機(jī)位姿和深度圖的ROS話題參數(shù),主要用于處理相機(jī)的姿態(tài)數(shù)據(jù)和深度圖像數(shù)據(jù)。

  1. 注釋:

    • <!-- camera pose: transform of camera frame in the world frame -->: 這句話表示相機(jī)位姿話題提供的是相機(jī)坐標(biāo)系在世界坐標(biāo)系中的變換,即相機(jī)在世界中的位置和姿態(tài)信息。
    • <!-- depth topic: depth image, 640x480 by default -->: 這句話表示深度話題提供的是深度圖像,默認(rèn)分辨率是 640x480。
    • <!-- don't set cloud_topic if you already set these ones! -->: 這句話表示如果已經(jīng)設(shè)置了相機(jī)位姿和深度圖像話題,就不要再設(shè)置點(diǎn)云話題(cloud_topic),因?yàn)檫@兩個(gè)信息已經(jīng)足夠生成點(diǎn)云。
  2. 參數(shù)定義:

    • <arg name="camera_pose_topic" value="/pcl_render_node/camera_pose"/>: 這個(gè)參數(shù) camera_pose_topic 定義了相機(jī)位姿信息的話題,話題名稱為 /pcl_render_node/camera_pose。在ROS系統(tǒng)中,ego-planner 或其他節(jié)點(diǎn)將從該話題訂閱相機(jī)的位姿(即相機(jī)在世界坐標(biāo)系中的位置和姿態(tài))信息。

    • <arg name="depth_topic" value="/pcl_render_node/depth"/>: 這個(gè)參數(shù) depth_topic 定義了深度圖像的話題,話題名稱為 /pcl_render_node/depth。系統(tǒng)將從這個(gè)話題訂閱深度圖像數(shù)據(jù),深度圖像通常用于生成三維點(diǎn)云或者幫助路徑規(guī)劃時(shí)感知障礙物。

section 3.3

    <!-- topic of point cloud measurement, such as from LIDAR  --><!-- don't set camera pose and depth, if you already set this one! --><arg name="cloud_topic" value="/pcl_render_node/cloud"/>

定義了一個(gè)點(diǎn)云測(cè)量話題的參數(shù),主要用于從激光雷達(dá)(LiDAR)或其他傳感器中獲取點(diǎn)云數(shù)據(jù)。

  1. 注釋:

    • <!-- topic of point cloud measurement, such as from LIDAR -->: 這句話表示 cloud_topic 是用于獲取點(diǎn)云測(cè)量數(shù)據(jù)的ROS話題,數(shù)據(jù)來源可以是 LiDAR(激光雷達(dá))或者其他提供點(diǎn)云的傳感器。
    • <!-- don't set camera pose and depth, if you already set this one! -->: 這句話提醒用戶,如果已經(jīng)設(shè)置了 cloud_topic(點(diǎn)云話題),不要再設(shè)置相機(jī)位姿和深度圖像,因?yàn)辄c(diǎn)云數(shù)據(jù)已經(jīng)包含了三維空間信息,不需要額外使用相機(jī)的位姿和深度數(shù)據(jù)。
  2. 參數(shù)定義:

    • <arg name="cloud_topic" value="/pcl_render_node/cloud"/>: 這個(gè)參數(shù) cloud_topic 定義了點(diǎn)云數(shù)據(jù)的話題名稱為 /pcl_render_node/cloud。系統(tǒng)或其他節(jié)點(diǎn)會(huì)從該話題訂閱到點(diǎn)云數(shù)據(jù),這些數(shù)據(jù)通常包含傳感器掃描到的環(huán)境三維點(diǎn)的信息(即障礙物的位置、形狀等)。

section 3.4

    <!-- intrinsic params of the depth camera --><arg name="cx" value="321.04638671875"/><arg name="cy" value="243.44969177246094"/><arg name="fx" value="387.229248046875"/><arg name="fy" value="387.229248046875"/>

定義了深度相機(jī)的內(nèi)參(intrinsic parameters),這些參數(shù)是相機(jī)的固有屬性,用于描述相機(jī)的光學(xué)特性和幾何關(guān)系,主要包括焦距和主點(diǎn)(光軸中心)的坐標(biāo)。

  1. 注釋:

    • <!-- intrinsic params of the depth camera -->: 這句話表示接下來定義的參數(shù)是深度相機(jī)的內(nèi)參,用于描述相機(jī)的內(nèi)部光學(xué)和幾何特性。
  2. 參數(shù)定義:

    • <arg name="cx" value="321.04638671875"/>: 這是相機(jī)主點(diǎn)(principal point)在圖像平面上的 X坐標(biāo)。主點(diǎn)是相機(jī)成像平面的中心點(diǎn)(即光軸與成像平面交點(diǎn))。在這段代碼中,主點(diǎn)的 X 坐標(biāo)為 321.04638671875。
    • <arg name="cy" value="243.44969177246094"/>: 這是相機(jī)主點(diǎn)在圖像平面上的 Y坐標(biāo),主點(diǎn)的 Y 坐標(biāo)為 243.44969177246094。
    • <arg name="fx" value="387.229248046875"/>: 這是相機(jī)在 X方向 的焦距,單位為像素。焦距表示鏡頭的光學(xué)中心到成像平面的距離,在這里 X 方向的焦距為 387.229248046875 像素。
    • <arg name="fy" value="387.229248046875"/>: 這是相機(jī)在 Y方向 的焦距,單位也是像素。在這里 Y 方向的焦距與 X 方向一致,都是 387.229248046875 像素。

section 3.5

    <!-- maximum velocity and acceleration the drone will reach --><arg name="max_vel" value="2.0" /><arg name="max_acc" value="3.0" />

定義了無人機(jī)在運(yùn)行過程中能夠達(dá)到的最大速度最大加速度,用于限制無人機(jī)的運(yùn)動(dòng)性能。

  1. 注釋:

    • <!-- maximum velocity and acceleration the drone will reach -->: 這句話表示接下來定義的參數(shù)是無人機(jī)的最大速度最大加速度,它們用來限制無人機(jī)在飛行時(shí)的運(yùn)動(dòng)性能。
  2. 參數(shù)定義:

    • <arg name="max_vel" value="2.0" />: 這個(gè)參數(shù) max_vel 定義了無人機(jī)的最大速度,單位是米/秒 (m/s)。這里設(shè)置的值為 2.0,表示無人機(jī)的飛行速度最大可以達(dá)到 2 米/秒。
    • <arg name="max_acc" value="3.0" />: 這個(gè)參數(shù) max_acc 定義了無人機(jī)的最大加速度,單位是米/秒2 (m/s2)。這里設(shè)置的值為 3.0,表示無人機(jī)的加速度最大可以達(dá)到 3 米/秒2。

注:由于飛行環(huán)境,以及誤差,通過設(shè)置速度和加速度最大值可以減少誤差,增加穩(wěn)定性。

  • 最大速度 (max_vel):用于限制無人機(jī)的飛行速度,確保在規(guī)劃路徑或執(zhí)行任務(wù)時(shí)不會(huì)超過指定的速度,保證飛行的穩(wěn)定性和安全性。
  • 最大加速度 (max_acc):用于限制無人機(jī)在加速和減速時(shí)的變化率,防止無人機(jī)出現(xiàn)過快的加速度變化,影響飛行平穩(wěn)性。

section 3.6

    <!--always set to 1.5 times grater than sensing horizen--><arg name="planning_horizon" value="7.5" /> 

定義了無人機(jī)路徑規(guī)劃中的**規(guī)劃視野(planning horizon)**參數(shù),其值通常設(shè)置為感知視野(sensing horizon)的1.5倍。planning_horizon 決定了路徑規(guī)劃算法在做出決策時(shí)能夠看到的范圍。規(guī)劃視野越大,算法能夠考慮的路徑和障礙物就越多,從而可能提高路徑規(guī)劃的準(zhǔn)確性和有效性。通常,這個(gè)值需要大于感知視野,以確保規(guī)劃算法可以在足夠的范圍內(nèi)進(jìn)行有效的決策。

  1. 注釋:

    • <!-- always set to 1.5 times greater than sensing horizon -->: 這句話表示 planning_horizon 參數(shù)的值應(yīng)該設(shè)置為感知視野(sensing horizon)的1.5倍。感知視野是指無人機(jī)能夠探測(cè)到的最大距離。
  2. 參數(shù)定義:

    • <arg name="planning_horizon" value="7.5" />: 這個(gè)參數(shù) planning_horizon 定義了路徑規(guī)劃的視野范圍,單位是米(m)。在這個(gè)配置中,值設(shè)置為 7.5,表示路徑規(guī)劃系統(tǒng)考慮的范圍是 7.5 米。
  • QA: How to set planning_horizon, why 7.5 meters? #107

section 3.7

    <!-- 1: use 2D Nav Goal to select goal  --><!-- 2: use global waypoints below  --><arg name="flight_type" value="2" />

定義了無人機(jī)的飛行模式(flight_type),指定了無人機(jī)如何選擇飛行目標(biāo)。

  1. 注釋:

    • <!-- 1: use 2D Nav Goal to select goal -->: 這句話表示如果 flight_type 設(shè)置為 1,無人機(jī)將使用 2D 導(dǎo)航目標(biāo)(2D Nav Goal)來選擇飛行目標(biāo)。2D 導(dǎo)航目標(biāo)通常是用戶在地圖上指定的目標(biāo)位置。
    • <!-- 2: use global waypoints below -->: 這句話表示如果 flight_type 設(shè)置為 2,無人機(jī)將使用全局航點(diǎn)(global waypoints)來進(jìn)行飛行。全局航點(diǎn)是一系列預(yù)定義的點(diǎn),通常用于無人機(jī)按照預(yù)設(shè)的路徑進(jìn)行飛行。
    • 如果設(shè)置為 1,無人機(jī)將根據(jù)用戶在地圖上選擇的2D目標(biāo)位置來進(jìn)行導(dǎo)航。
    • 如果設(shè)置為 2,無人機(jī)將按照預(yù)定義的全局航點(diǎn)執(zhí)行飛行任務(wù)。
  2. 參數(shù)定義:

    • <arg name="flight_type" value="2" />: 這個(gè)參數(shù) flight_type 定義了無人機(jī)的飛行模式,其值設(shè)置為 2。根據(jù)注釋中的說明,值為 2 表示無人機(jī)將使用全局航點(diǎn)來進(jìn)行飛行。

section 3.8

    <!-- global waypoints --><!-- It generates a piecewise min-snap traj passing all waypoints --><arg name="point_num" value="5" /><arg name="point0_x" value="-15.0" /><arg name="point0_y" value="0.0" /><arg name="point0_z" value="1.0" /><arg name="point1_x" value="0.0" /><arg name="point1_y" value="15.0" /><arg name="point1_z" value="1.0" /><arg name="point2_x" value="15.0" /><arg name="point2_y" value="0.0" /><arg name="point2_z" value="1.0" /><arg name="point3_x" value="0.0" /><arg name="point3_y" value="-15.0" /><arg name="point3_z" value="1.0" /><arg name="point4_x" value="-15.0" /><arg name="point4_y" value="0.0" /><arg name="point4_z" value="1.0" />

定義了無人機(jī)飛行任務(wù)中的全局航點(diǎn),使用這些航點(diǎn)生成的最小躍變軌跡將使無人機(jī)在這些點(diǎn)之間飛行時(shí),軌跡盡可能平滑,減少急劇的加速度變化,生成一條經(jīng)過所有航點(diǎn)的平滑路徑。

  1. 注釋:

    • <!-- global waypoints -->: 這句話表示以下參數(shù)定義了全局航點(diǎn)。
    • <!-- It generates a piecewise min-snap traj passing all waypoints -->: 這句話表示使用這些全局航點(diǎn)生成一條最小躍變軌跡(min-snap trajectory),即生成一條平滑的、盡可能減少加速度變化的路徑,經(jīng)過所有指定的航點(diǎn)。
  2. 參數(shù)定義:

    • <arg name="point_num" value="5" />: 這個(gè)參數(shù) point_num 定義了全局航點(diǎn)的數(shù)量,這里設(shè)置為 5,表示有 5 個(gè)航點(diǎn)。

    • 接下來的參數(shù)定義了每個(gè)航點(diǎn)的坐標(biāo):

      • <arg name="point0_x" value="-15.0" />

      • <arg name="point0_y" value="0.0" />

      • <arg name="point0_z" value="1.0" />

        • 這三個(gè)參數(shù)定義了第一個(gè)航點(diǎn)的 X、Y 和 Z 坐標(biāo),分別為 -15.00.01.0。
      • <arg name="point1_x" value="0.0" />

      • <arg name="point1_y" value="15.0" />

      • <arg name="point1_z" value="1.0" />

        • 這三個(gè)參數(shù)定義了第二個(gè)航點(diǎn)的坐標(biāo),分別為 0.015.01.0。
      • <arg name="point2_x" value="15.0" />

      • <arg name="point2_y" value="0.0" />

      • <arg name="point2_z" value="1.0" />

        • 這三個(gè)參數(shù)定義了第三個(gè)航點(diǎn)的坐標(biāo),分別為 15.00.01.0。
      • <arg name="point3_x" value="0.0" />

      • <arg name="point3_y" value="-15.0" />

      • <arg name="point3_z" value="1.0" />

        • 這三個(gè)參數(shù)定義了第四個(gè)航點(diǎn)的坐標(biāo),分別為 0.0、-15.01.0
      • <arg name="point4_x" value="-15.0" />

      • <arg name="point4_y" value="0.0" />

      • <arg name="point4_z" value="1.0" />

        • 這三個(gè)參數(shù)定義了第五個(gè)航點(diǎn)的坐標(biāo),分別為 -15.0、0.01.0

section 4 軌跡服務(wù)器

  <!-- trajectory server --><node pkg="ego_planner" name="traj_server" type="traj_server" output="screen"><remap from="/position_cmd" to="planning/pos_cmd"/><remap from="/odom_world" to="$(arg odom_topic)"/><param name="traj_server/time_forward" value="1.0" type="double"/></node>

定義了一個(gè)名為 traj_server 的 ROS 節(jié)點(diǎn)的啟動(dòng)參數(shù)。

  1. 注釋:

    • <!-- trajectory server -->: 這句話表示接下來配置的是**軌跡服務(wù)器(trajectory server)**節(jié)點(diǎn)的啟動(dòng)參數(shù)。
  2. 節(jié)點(diǎn)定義:

    • <node pkg="ego_planner" name="traj_server" type="traj_server" output="screen">:
      • pkg="ego_planner":指定了節(jié)點(diǎn)所在的 ROS 包,這里是 ego_planner。
      • name="traj_server":節(jié)點(diǎn)的名稱為 traj_server。
      • type="traj_server":節(jié)點(diǎn)的類型為 traj_server,即節(jié)點(diǎn)的可執(zhí)行文件名。
      • output="screen":表示將節(jié)點(diǎn)的輸出信息打印到控制臺(tái)屏幕上,以便進(jìn)行調(diào)試和監(jiān)控。
  3. 話題重映射:

    • <remap from="/position_cmd" to="planning/pos_cmd"/>:
      • 這條命令將話題 /position_cmd 重映射到 planning/pos_cmd。即,節(jié)點(diǎn) traj_server 將訂閱 planning/pos_cmd,而不是原來的 /position_cmd 話題。
    • <remap from="/odom_world" to="$(arg odom_topic)"/>:
      • 這條命令將話題 /odom_world 重映射到由 odom_topic 參數(shù)指定的話題。$(arg odom_topic) 是一個(gè)參數(shù)引用,意味著 /odom_world 實(shí)際上會(huì)訂閱由 odom_topic 參數(shù)定義的話題,如之前配置中的 /visual_slam/odom。
  4. 參數(shù)設(shè)置:

    • <param name="traj_server/time_forward" value="1.0" type="double"/>:
      • 這行設(shè)置了名為 traj_server/time_forward 的參數(shù),其值為 1.0,類型為 double。這個(gè)參數(shù)可能用于控制軌跡服務(wù)器的時(shí)間前瞻量(即在規(guī)劃軌跡時(shí)考慮的時(shí)間范圍)。

section 5 航點(diǎn)生成器

  <node pkg="waypoint_generator" name="waypoint_generator" type="waypoint_generator" output="screen"><remap from="~odom" to="$(arg odom_topic)"/>        <remap from="~goal" to="/move_base_simple/goal"/><remap from="~traj_start_trigger" to="/traj_start_trigger" /><param name="waypoint_type" value="manual-lonely-waypoint"/>    </node>

定義了一個(gè)名為 waypoint_generator 的 ROS 節(jié)點(diǎn)的啟動(dòng)參數(shù),確保了 waypoint_generator 節(jié)點(diǎn)能夠正確地訂閱需要的話題,并按照指定的參數(shù)進(jìn)行航點(diǎn)生成。

  1. 節(jié)點(diǎn)定義:

    • <node pkg="waypoint_generator" name="waypoint_generator" type="waypoint_generator" output="screen">:
      • pkg="waypoint_generator":指定了節(jié)點(diǎn)所在的 ROS 包,這里是 waypoint_generator
      • name="waypoint_generator":節(jié)點(diǎn)的名稱為 waypoint_generator。
      • type="waypoint_generator":節(jié)點(diǎn)的可執(zhí)行文件名為 waypoint_generator
      • output="screen":表示將節(jié)點(diǎn)的輸出信息打印到控制臺(tái)屏幕上,以便進(jìn)行調(diào)試和監(jiān)控。
  2. 話題重映射:

    • <remap from="~odom" to="$(arg odom_topic)"/>:
      • 這條命令將節(jié)點(diǎn)中的 ~odom 話題重映射到由 odom_topic 參數(shù)指定的話題。$(arg odom_topic) 是一個(gè)參數(shù)引用,意味著節(jié)點(diǎn)將訂閱由 odom_topic 參數(shù)定義的話題,比如 /visual_slam/odom。
    • <remap from="~goal" to="/move_base_simple/goal"/>:
      • 這條命令將節(jié)點(diǎn)中的 ~goal 話題重映射到 /move_base_simple/goal。即,節(jié)點(diǎn)將從 /move_base_simple/goal 話題接收目標(biāo)點(diǎn)數(shù)據(jù)。
    • <remap from="~traj_start_trigger" to="/traj_start_trigger" />:
      • 這條命令將節(jié)點(diǎn)中的 ~traj_start_trigger 話題重映射到 /traj_start_trigger。即,節(jié)點(diǎn)將從 /traj_start_trigger 話題接收觸發(fā)信號(hào)。
  3. 參數(shù)設(shè)置:

    • <param name="waypoint_type" value="manual-lonely-waypoint"/>:
      • 這行設(shè)置了名為 waypoint_type 的參數(shù),其值為 manual-lonely-waypoint。這個(gè)參數(shù)可能用于定義航點(diǎn)生成器的工作模式或類型,這里表示采用手動(dòng)的孤立航點(diǎn)方式。

section 6 simulator.xml配置

  <!-- use simulator --><include file="$(find ego_planner)/launch/simulator.xml"><arg name="map_size_x_" value="$(arg map_size_x)"/><arg name="map_size_y_" value="$(arg map_size_y)"/><arg name="map_size_z_" value="$(arg map_size_z)"/><arg name="c_num" value="200"/><arg name="p_num" value="200"/><arg name="min_dist" value="1.2"/><arg name="odometry_topic" value="$(arg odom_topic)" /></include>

包含一個(gè)名為 simulator.xml 的 ROS 啟動(dòng)文件,并傳遞一些參數(shù)用于覆蓋默認(rèn)xml文件中的參數(shù),使模擬器能夠按照指定的設(shè)置進(jìn)行模擬。

  1. 注釋:

    • <!-- use simulator -->: 這句話表示接下來配置的內(nèi)容是用于啟動(dòng)模擬器。
  2. 包含文件:

    • <include file="$(find ego_planner)/launch/simulator.xml">:
      • file="$(find ego_planner)/launch/simulator.xml":指定要包含的啟動(dòng)文件路徑。$(find ego_planner) 是 ROS 的一個(gè)命令,用于找到 ego_planner 包的位置,然后從該位置加載 launch/simulator.xml 文件。
  3. 參數(shù)傳遞:

    • <arg name="map_size_x_" value="$(arg map_size_x)"/>:
      • 這個(gè)參數(shù)將 map_size_x_ 傳遞給 simulator.xml 文件,其值為 $(arg map_size_x)。即,map_size_x_ 的值來自于當(dāng)前啟動(dòng)文件中的 map_size_x 參數(shù)。
    • <arg name="map_size_y_" value="$(arg map_size_y)"/>:
      • 這個(gè)參數(shù)將 map_size_y_ 傳遞給 simulator.xml 文件,其值為 $(arg map_size_y)。即,map_size_y_ 的值來自于當(dāng)前啟動(dòng)文件中的 map_size_y 參數(shù)。
    • <arg name="map_size_z_" value="$(arg map_size_z)"/>:
      • 這個(gè)參數(shù)將 map_size_z_ 傳遞給 simulator.xml 文件,其值為 $(arg map_size_z)。即,map_size_z_ 的值來自于當(dāng)前啟動(dòng)文件中的 map_size_z 參數(shù).
    • <arg name="c_num" value="200"/>:
      • 這個(gè)參數(shù)設(shè)置 c_num 的值為 200,可能表示模擬器中使用的某種元素的數(shù)量,如障礙物或?qū)ο蟮臄?shù)量。
    • <arg name="p_num" value="200"/>:
      • 這個(gè)參數(shù)設(shè)置 p_num 的值為 200,可能表示模擬器中使用的另一種元素的數(shù)量,如路徑點(diǎn)或目標(biāo)點(diǎn)的數(shù)量。
    • <arg name="min_dist" value="1.2"/>:
      • 這個(gè)參數(shù)設(shè)置 min_dist 的值為 1.2,可能表示模擬器中某種元素之間的最小距離或間隔。
    • <arg name="odometry_topic" value="$(arg odom_topic)" />:
      • 這個(gè)參數(shù)將 odometry_topic 傳遞給 simulator.xml 文件,其值為 $(arg odom_topic)。即,odometry_topic 的值來自于當(dāng)前啟動(dòng)文件中的 odom_topic 參數(shù)。

section 7 rviz.launch配置

  <include file="$(find ego_planner)/launch/rviz.launch"/>

包含一個(gè)名為 rviz.launch 的 ROS 啟動(dòng)文件。

4. 總結(jié)

通過這個(gè) simple_run.launch 啟動(dòng)文件,可以了解到除了該文件中的配置參數(shù)以外:

  • 引用了一些基礎(chǔ)配置文件
  • 引入了一些ROS節(jié)點(diǎn)
simple_run.launch├──> traj_server   //[ego-planner開源代碼之traj_server數(shù)據(jù)流分析](https://blog.csdn.net/lida2003/article/details/142312414)├──> waypoint_generator├──> advanced_param.xml  //[ego-planner開源代碼之a(chǎn)dvanced_param.xml介紹&分析](https://blog.csdn.net/lida2003/article/details/142322809)│   └──> ego_planner_node  //[ego-planner開源代碼之ego_planner_node數(shù)據(jù)流分析](ego-planner開源代碼之ego_planner_node數(shù)據(jù)流分析)├──> simulator.xml  //[ego-planner開源代碼之simulator.xml介紹&分析](https://blog.csdn.net/lida2003/article/details/142336384)│   ├──> mockamap_node│   ├──> quadrotor_simulator_so3│   ├──> nodelet│   ├──> odom_visualization│   └──> pcl_render_node└──> rviz.launch└──> rviz└──> default.rviz //[ego-planner開源代碼之default.rviz介紹&分析](https://blog.csdn.net/lida2003/article/details/142324456)

上面標(biāo)注了前面分析過的node代碼,正因?yàn)橛羞@么多的代碼數(shù)據(jù)流(模塊)沒有進(jìn)行分析,所以才導(dǎo)致我們?cè)诜治瞿M的時(shí)候感覺總是缺了什么,理不清楚來龍去脈。

后續(xù)我們將隨著時(shí)間的推移,逐步的分析上面node的數(shù)據(jù)流。

5. 附錄

5.1 PDCA 戴明循環(huán)

PDCA(Plan-Do-Check-Act)循環(huán),也被稱為戴明循環(huán),是一種持續(xù)改進(jìn)質(zhì)量管理的工具,用于優(yōu)化流程和解決問題。它幫助企業(yè)和個(gè)人通過反復(fù)評(píng)估和改進(jìn)來達(dá)到更好的成果。以下是PDCA四個(gè)階段的介紹:

  1. Plan(計(jì)劃)

    • 在這個(gè)階段,確定需要改進(jìn)的問題或目標(biāo),分析現(xiàn)狀,設(shè)定目標(biāo),并制定一個(gè)行動(dòng)計(jì)劃來解決問題或?qū)崿F(xiàn)目標(biāo)。計(jì)劃中應(yīng)包括具體的行動(dòng)步驟、時(shí)間表和所需資源。
  2. Do(執(zhí)行)

    • 根據(jù)計(jì)劃實(shí)施行動(dòng),按照步驟執(zhí)行任務(wù)。這一階段強(qiáng)調(diào)小范圍實(shí)驗(yàn)性地執(zhí)行,以減少潛在的風(fēng)險(xiǎn)。如果可能,先在較小范圍內(nèi)試點(diǎn),驗(yàn)證計(jì)劃的可行性。
  3. Check(檢查)

    • 執(zhí)行完畢后,對(duì)結(jié)果進(jìn)行檢查和評(píng)估。通過數(shù)據(jù)和事實(shí)來衡量計(jì)劃是否有效,是否達(dá)到預(yù)期目標(biāo)。分析執(zhí)行過程中的問題和偏差,并記錄下來。
  4. Act(行動(dòng))

    • 如果計(jì)劃有效,則將其標(biāo)準(zhǔn)化,并在更大范圍內(nèi)實(shí)施。如果計(jì)劃不完全有效,找出問題的根源,并修改計(jì)劃,重新開始PDCA循環(huán)。這個(gè)階段的關(guān)鍵是總結(jié)經(jīng)驗(yàn)教訓(xùn),持續(xù)改進(jìn)。

PDCA 循環(huán)的核心是通過反復(fù)迭代,持續(xù)提升流程效率和質(zhì)量。這一工具廣泛應(yīng)用于生產(chǎn)管理、質(zhì)量控制、項(xiàng)目管理等領(lǐng)域。

5.2 相機(jī)內(nèi)參

相機(jī)內(nèi)參(也稱為相機(jī)內(nèi)部參數(shù)或內(nèi)參矩陣)描述了相機(jī)成像過程中的固有特性,用于將3D世界坐標(biāo)轉(zhuǎn)換為2D圖像坐標(biāo)。相機(jī)內(nèi)參反映了相機(jī)的光學(xué)和幾何屬性,用于將深度相機(jī)捕捉到的二維圖像數(shù)據(jù)轉(zhuǎn)化為三維空間坐標(biāo)。這些參數(shù)通常在將圖像坐標(biāo)轉(zhuǎn)換為三維坐標(biāo)時(shí)使用,是路徑規(guī)劃或3D重建等應(yīng)用的關(guān)鍵參數(shù)。

  1. 焦距 (focal length, f):描述相機(jī)鏡頭的光學(xué)放大倍數(shù)。通常在圖像坐標(biāo)系中,它以像素單位表示,并分為兩個(gè)分量。定義了相機(jī)成像時(shí)的縮放關(guān)系,影響圖像中物體的投影比例,用于將像素坐標(biāo)轉(zhuǎn)換為物理空間中的距離。

    • f x f_x fx?:水平方向的焦距。
    • f y f_y fy?:垂直方向的焦距。
  2. 主點(diǎn) (principal point):圖像中光軸與成像平面的交點(diǎn),也就是圖像的中心點(diǎn)。由于制造誤差,主點(diǎn)通常不在圖像的正中心。表示成像平面上光軸的中心位置,用于確定相機(jī)的視場(chǎng)中心。

    • c x c_x cx?:主點(diǎn)的水平坐標(biāo)。
    • c y c_y cy?:主點(diǎn)的垂直坐標(biāo)。
  3. 畸變系數(shù) (distortion coefficients):由于鏡頭的光學(xué)特性,圖像可能會(huì)出現(xiàn)徑向和切向畸變。內(nèi)參還包括這些畸變的校正參數(shù),常見的畸變包括:

    • 徑向畸變:使圖像中直線向外或向內(nèi)彎曲。
    • 切向畸變:由于鏡頭與成像平面不完全平行,導(dǎo)致圖像的畸變。

這些參數(shù)通常以矩陣形式表示為3x3的內(nèi)參矩陣(相機(jī)矩陣):

K = ( f x 0 c x 0 f y c y 0 0 1 ) K = \begin{pmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{pmatrix} K= ?fx?00?0fy?0?cx?cy?1? ?

通過相機(jī)內(nèi)參矩陣,3D世界坐標(biāo)可以轉(zhuǎn)換為2D圖像平面上的像素坐標(biāo),這對(duì)計(jì)算機(jī)視覺中的各種任務(wù)(如立體視覺、SLAM等)至關(guān)重要。

注:實(shí)際標(biāo)定可以通過拍攝棋盤格圖像,并用校準(zhǔn)軟件進(jìn)行計(jì)算獲取相關(guān)參數(shù)。用于立體視覺和SLAM應(yīng)用的傳感器設(shè)計(jì)廠家也會(huì)在傳感設(shè)備出廠時(shí)進(jìn)行校準(zhǔn)和記錄(可通過特殊命令獲取生產(chǎn)校準(zhǔn)參數(shù))。

5.3 Field of View 感知視野

感知視野(Field of View,簡(jiǎn)稱 FOV)是指?jìng)鞲衅?#xff08;例如相機(jī)、激光雷達(dá)等)在某一時(shí)刻能夠覆蓋和檢測(cè)到的空間范圍。它描述了傳感器可以“看到”或“感知”到的環(huán)境區(qū)域,通常以角度或弧度來表示。感知視野在計(jì)算機(jī)視覺、機(jī)器人、無人駕駛等領(lǐng)域中非常重要,特別是對(duì)于傳感器數(shù)據(jù)的處理和環(huán)境感知。

感知視野的具體定義

  • 水平視野 (Horizontal FOV, HFOV):傳感器在水平方向上可以感知的最大角度范圍。
  • 垂直視野 (Vertical FOV, VFOV):傳感器在垂直方向上可以感知的最大角度范圍。

感知視野可以用角度來衡量,例如常見相機(jī)的水平視野可能在60度到120度之間。FOV越大,表示傳感器能覆蓋的范圍越廣;但較大的FOV可能會(huì)帶來較大的失真,特別是在邊緣區(qū)域。

感知視野的影響因素

  1. 傳感器的物理屬性:例如,鏡頭的焦距會(huì)直接影響相機(jī)的視野大小。焦距短(廣角鏡頭)會(huì)提供較大的視野,而焦距長(zhǎng)(長(zhǎng)焦鏡頭)會(huì)提供較小的視野。
  2. 安裝位置和角度:相機(jī)或傳感器的安裝高度、傾斜角度等都會(huì)改變其感知的范圍和視野角度。
  3. 傳感器類型:不同傳感器的感知視野不同。例如,激光雷達(dá)的FOV和相機(jī)的FOV有很大區(qū)別。

感知視野的大小影響了機(jī)器人、無人機(jī)或自動(dòng)駕駛車輛的感知能力,決定了它們能夠覆蓋多少環(huán)境信息來進(jìn)行決策和控制。

http://www.risenshineclean.com/news/51673.html

相關(guān)文章:

  • 做網(wǎng)站在哪找靠譜搜索引擎鏈接
  • wordpress 轉(zhuǎn)圈加載win優(yōu)化大師有免費(fèi)版嗎
  • 做網(wǎng)站建設(shè)月收入多少大數(shù)據(jù)培訓(xùn)班出來能就業(yè)嗎
  • 做網(wǎng)站的價(jià)格表百度賬號(hào)快速注冊(cè)入口
  • 網(wǎng)站建設(shè)之織夢(mèng)模板天眼查企業(yè)查詢
  • 站長(zhǎng)之家 wordpress 流量統(tǒng)計(jì)2023年新聞?wù)畻l
  • 用jsp做網(wǎng)站互聯(lián)網(wǎng)電商平臺(tái)
  • 皮革材料做網(wǎng)站如何建立自己的博客網(wǎng)站
  • 網(wǎng)站開發(fā)項(xiàng)目合同書營(yíng)銷策劃咨詢
  • 服裝網(wǎng)站公司網(wǎng)站全球中文網(wǎng)站排名
  • 網(wǎng)站是哪家公司做的幫人推廣注冊(cè)app的平臺(tái)
  • wordpress主題帶手機(jī)版seo自然排名
  • 做的最少的網(wǎng)站百度免費(fèi)優(yōu)化
  • 個(gè)人網(wǎng)站怎么申請(qǐng)注冊(cè)廣州seo排名收費(fèi)
  • 河南做網(wǎng)站推廣哪個(gè)好廣州品牌seo推廣
  • 做wish選品網(wǎng)站 數(shù)據(jù)網(wǎng)站湖南平臺(tái)網(wǎng)站建設(shè)制作
  • 阿里云wordpress 安裝seo的優(yōu)化方案
  • 利用網(wǎng)上菜譜做網(wǎng)站東莞seo優(yōu)化排名
  • nginx建設(shè)網(wǎng)站教程寧波seo推薦推廣渠道
  • 設(shè)計(jì)師資源網(wǎng)站世界軍事新聞
  • 友情鏈接如何選擇網(wǎng)站新app推廣方案
  • sql做網(wǎng)站免費(fèi)網(wǎng)絡(luò)推廣100種方法
  • 溫州網(wǎng)站關(guān)鍵詞淘寶推廣
  • 沈陽酒店企業(yè)網(wǎng)站制作天門網(wǎng)站建設(shè)
  • 泉州網(wǎng)頁搜索排名提升杭州網(wǎng)站建設(shè)方案優(yōu)化
  • 賓館的網(wǎng)站回款如何做分錄群排名優(yōu)化軟件
  • 德陽seo網(wǎng)站建設(shè)重慶seo
  • wordpress給用戶發(fā)送郵件googleseo推廣
  • 無錫大型網(wǎng)站建設(shè)公司seo排名優(yōu)化軟件有
  • 普通銀行卡可以做國(guó)外網(wǎng)站購物信用卡使用嗎哈爾濱seo網(wǎng)絡(luò)推廣