国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Jetson Orin NX 開(kāi)發(fā)指南(7): EGO-Swarm 的編譯與運(yùn)行

這篇具有很好參考價(jià)值的文章主要介紹了Jetson Orin NX 開(kāi)發(fā)指南(7): EGO-Swarm 的編譯與運(yùn)行。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、前言

EGO-Planner 浙江大學(xué) FAST-LAB 實(shí)驗(yàn)室的開(kāi)源軌跡規(guī)劃算法是,受到 IEEE Spectrum 等知名科技媒體的報(bào)道,其理論技術(shù)較為前沿,是一種不依賴(lài)于ESDF,基于B樣條的規(guī)劃算法,并且規(guī)劃成功率、算法消耗時(shí)間、代價(jià)數(shù)值等性能方面都要高于其他幾種知名算法。

而 EGO-Swarm 是基于 EGO-Planner 拓展的去中心化的無(wú)人機(jī)集群算法,有助于智能小車(chē)或自主無(wú)人機(jī)集群的規(guī)劃的學(xué)習(xí)與開(kāi)發(fā)

由于 EGO-Planner 是 EGO-Swarm 的一部分,并且他們的安裝其實(shí)差別不大,因此本文主要介紹 EGO-Swarm 的編譯與運(yùn)行,參考

https://github.com/ZJU-FAST-Lab/ego-planner-swarm

https://github.com/ZJU-FAST-Lab/ego-planner

GitHub - ZJU-FAST-Lab/Fast-Drone-250: hardware and software design of the 250mm autonomous drone

由于 Jetson 系列開(kāi)發(fā)板常用于當(dāng)作機(jī)載電腦,因此本文介紹如何在 Jetson Orin NX 開(kāi)發(fā)板上編譯和運(yùn)行 EGO-Swarm,當(dāng)然本文對(duì) EGO-Planner 同樣適用。

二、編譯 EGO-Swarm

首先安裝依賴(lài)

sudo apt-get install libarmadillo-dev

然后創(chuàng)建并進(jìn)入工作空間

mkdir -p ~/catkin_ws/src/
cd ~/catkin_ws/src/

從 GitHub 上下載 EGO-Swarm 源碼

git clone https://github.com/ZJU-FAST-Lab/ego-planner-swarm.git

進(jìn)入 EGO-Swarm 工作空間并編譯

cd ~/catkin_ws/src/ego-planner-swarm
catkin_make

編譯完成顯示如下結(jié)果

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

三、運(yùn)行 EGO-Swarm

接下來(lái)我們運(yùn)行 EGO-Swarm,主要分為仿真和實(shí)驗(yàn)兩個(gè)部分

3.1 EGO-Swarm 仿真

首先通過(guò)快捷鍵 ctrl + alt + A 打開(kāi)超級(jí)終端,如果沒(méi)有安裝則參考下文安裝

Jetson Orin NX 開(kāi)發(fā)指南(2): 基本環(huán)境配置_想要個(gè)小姑娘的博客-CSDN博客

將超級(jí)終端劃分為兩個(gè)終端,全選后 source 一下工作空間,終端輸入

source ~/catkin_ws/src/ego-planner-swarm/devel/setup.bash

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

在第一個(gè)終端輸入

roslaunch ego_planner rviz.launch

在第二個(gè)終端輸入

roslaunch ego_planner swarm.launch

如下所示

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

依次執(zhí)行可以得到如下結(jié)果

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

至此,EGO-Swarm 的仿真運(yùn)行就實(shí)現(xiàn)了!

3.2 EGO-Swarm 實(shí)驗(yàn)

由于條件有限,我么在此僅僅只是將 EGO-Swarm 與 VINS-Fusion 進(jìn)行連接,并且這里只涉及單個(gè)無(wú)人機(jī)(在這種情況下 EGO-Swarm 與 EGO-Planner 是等價(jià)的),其中 EGO-Swarm 單個(gè)無(wú)人機(jī)通過(guò) VINS-Fusion 來(lái)獲取里程計(jì)信息,同時(shí)通過(guò)深度相機(jī)數(shù)據(jù)來(lái)獲取周?chē)h(huán)境的情況。

3.2.1 創(chuàng)建文件配置

首先需要配置實(shí)驗(yàn)用的一些參數(shù),對(duì)應(yīng)于仿真中的 advanced_param.xml 文件,

其次需要配置調(diào)用 VINS-Fusion 里程計(jì)信息和 Realsense 深度相機(jī)信息的 launch 啟動(dòng)文件,對(duì)應(yīng)于仿真中的 single_run_in_sim.launch 文件,

此外還需要用于可視化的 rviz 文件,對(duì)應(yīng)于仿真中的 default.rviz 文件,

具體的配置可以參考 FAST-LAB 實(shí)驗(yàn)室的 fast-drone-250 中采用的 xml 和 launch 文件:

GitHub - ZJU-FAST-Lab/Fast-Drone-250: hardware and software design of the 250mm autonomous drone

主要是如下三個(gè)文件

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

但是由于 VINS-Fusion 中里程計(jì)發(fā)布的話(huà)題是 /vins_estimator/imu_propagate,而上面訂閱的話(huà)題是 /vins_fusion/imu_propagate,這是因?yàn)樵?fast-drone-250 中,vins_estimator 節(jié)點(diǎn)被重命名為了 vins_fusion,從而產(chǎn)生了差異,只需修改以下訂閱的話(huà)題即可,其余的可以不做修改,(當(dāng)然如果標(biāo)定了相機(jī)內(nèi)外參以及 imu 的噪聲,則可以將之后的數(shù)據(jù)修改上去,VINS-Fusion 或者 EGO-Swarm 上都要修改),具體操作如下

在 ~/catkin_ws/src/ego-planner-swarm/src/planner/plan_manage/launch/ 路徑下創(chuàng)建四個(gè)文件

(1)advanced_param_exp.xml,其內(nèi)容如下

<launch>
  <arg name="map_size_x_"/>
  <arg name="map_size_y_"/>
  <arg name="map_size_z_"/>

  <arg name="odometry_topic"/>
  <arg name="camera_pose_topic"/>
  <arg name="depth_topic"/>
  <arg name="cloud_topic"/>

  <arg name="cx"/>
  <arg name="cy"/>
  <arg name="fx"/>
  <arg name="fy"/>

  <arg name="max_vel"/>
  <arg name="max_acc"/>
  <arg name="planning_horizon"/>

  <arg name="point_num"/>
  <arg name="point0_x"/>
  <arg name="point0_y"/>
  <arg name="point0_z"/>
  <arg name="point1_x"/>
  <arg name="point1_y"/>
  <arg name="point1_z"/>
  <arg name="point2_x"/>
  <arg name="point2_y"/>
  <arg name="point2_z"/>
  <arg name="point3_x"/>
  <arg name="point3_y"/>
  <arg name="point3_z"/>
  <arg name="point4_x"/>
  <arg name="point4_y"/>
  <arg name="point4_z"/>

  <arg name="flight_type"/>
  <arg name="use_distinctive_trajs"/>

  <arg name="obj_num_set"/>

  <arg name="drone_id"/>


  <!-- main node -->
  <!-- <node pkg="ego_planner" name="ego_planner_node" type="ego_planner_node" output="screen" launch-prefix="valgrind"> -->
  <node pkg="ego_planner" name="drone_$(arg drone_id)_ego_planner_node" type="ego_planner_node" output="screen">
  
    <remap from="~odom_world" to="$(arg odometry_topic)"/>
    <remap from="~planning/bspline" to = "/drone_$(arg drone_id)_planning/bspline"/>
    <remap from="~planning/data_display" to = "/drone_$(arg drone_id)_planning/data_display"/>
    <remap from="~planning/broadcast_bspline_from_planner" to = "/broadcast_bspline"/>
    <remap from="~planning/broadcast_bspline_to_planner" to = "/broadcast_bspline"/>

    <remap from="~grid_map/odom" to="$(arg odometry_topic)"/>
    <remap from="~grid_map/cloud" to="$(arg cloud_topic)"/>
    <remap from="~grid_map/pose"   to = "$(arg camera_pose_topic)"/> 
    <remap from="~grid_map/depth" to = "$(arg depth_topic)"/>
    

    <!-- planning fsm -->
    <param name="fsm/flight_type" value="$(arg flight_type)" type="int"/>
    <param name="fsm/thresh_replan_time" value="1.0" type="double"/>
    <param name="fsm/thresh_no_replan_meter" value="1.0" type="double"/>
    <param name="fsm/planning_horizon" value="$(arg planning_horizon)" type="double"/> <!--always set to 1.5 times grater than sensing horizen-->
    <param name="fsm/planning_horizen_time" value="3" type="double"/>
    <param name="fsm/emergency_time" value="1.0" type="double"/>
    <param name="fsm/realworld_experiment" value="true"/>
    <param name="fsm/fail_safe" value="true"/>

    <param name="fsm/waypoint_num" value="$(arg point_num)" type="int"/>
    <param name="fsm/waypoint0_x" value="$(arg point0_x)" type="double"/>
    <param name="fsm/waypoint0_y" value="$(arg point0_y)" type="double"/>
    <param name="fsm/waypoint0_z" value="$(arg point0_z)" type="double"/>
    <param name="fsm/waypoint1_x" value="$(arg point1_x)" type="double"/>
    <param name="fsm/waypoint1_y" value="$(arg point1_y)" type="double"/>
    <param name="fsm/waypoint1_z" value="$(arg point1_z)" type="double"/>
    <param name="fsm/waypoint2_x" value="$(arg point2_x)" type="double"/>
    <param name="fsm/waypoint2_y" value="$(arg point2_y)" type="double"/>
    <param name="fsm/waypoint2_z" value="$(arg point2_z)" type="double"/>
    <param name="fsm/waypoint3_x" value="$(arg point3_x)" type="double"/>
    <param name="fsm/waypoint3_y" value="$(arg point3_y)" type="double"/>
    <param name="fsm/waypoint3_z" value="$(arg point3_z)" type="double"/>
    <param name="fsm/waypoint4_x" value="$(arg point4_x)" type="double"/>
    <param name="fsm/waypoint4_y" value="$(arg point4_y)" type="double"/>
    <param name="fsm/waypoint4_z" value="$(arg point4_z)" type="double"/>

    <param name="grid_map/resolution"      value="0.15" /> 
    <param name="grid_map/map_size_x"   value="$(arg map_size_x_)" /> 
    <param name="grid_map/map_size_y"   value="$(arg map_size_y_)" /> 
    <param name="grid_map/map_size_z"   value="$(arg map_size_z_)" /> 
    <param name="grid_map/local_update_range_x"  value="5.5" /> 
    <param name="grid_map/local_update_range_y"  value="5.5" /> 
    <param name="grid_map/local_update_range_z"  value="4.5" /> 
    <param name="grid_map/obstacles_inflation"     value="0.299" /> 
    <param name="grid_map/local_map_margin" value="10"/>
    <param name="grid_map/ground_height"        value="-0.01"/>
    <!-- camera parameter -->
    <param name="grid_map/cx" value="$(arg cx)"/>
    <param name="grid_map/cy" value="$(arg cy)"/>
    <param name="grid_map/fx" value="$(arg fx)"/>
    <param name="grid_map/fy" value="$(arg fy)"/>
    <!-- depth filter -->
    <param name="grid_map/use_depth_filter" value="true"/>
    <param name="grid_map/depth_filter_tolerance" value="0.15"/>
    <param name="grid_map/depth_filter_maxdist"   value="5.0"/>
    <param name="grid_map/depth_filter_mindist"   value="0.2"/>
    <param name="grid_map/depth_filter_margin"    value="2"/>
    <param name="grid_map/k_depth_scaling_factor" value="1000.0"/>
    <param name="grid_map/skip_pixel" value="2"/>
    <!-- local fusion -->
    <param name="grid_map/p_hit"  value="0.65"/>
    <param name="grid_map/p_miss" value="0.35"/>
    <param name="grid_map/p_min"  value="0.12"/>
    <param name="grid_map/p_max"  value="0.90"/>
    <param name="grid_map/p_occ"  value="0.80"/>
    <param name="grid_map/min_ray_length" value="0.3"/>
    <param name="grid_map/max_ray_length" value="5.0"/>

    <param name="grid_map/visualization_truncate_height"   value="1.8"/>
    <param name="grid_map/show_occ_time"  value="false"/>
    <param name="grid_map/pose_type"     value="2"/>  
    <param name="grid_map/frame_id"      value="world"/>

  <!-- planner manager -->
    <param name="manager/max_vel" value="$(arg max_vel)" type="double"/>
    <param name="manager/max_acc" value="$(arg max_acc)" type="double"/>
    <param name="manager/max_jerk" value="4" type="double"/>
    <param name="manager/control_points_distance" value="0.4" type="double"/>
    <param name="manager/feasibility_tolerance" value="0.05" type="double"/>
    <param name="manager/planning_horizon" value="$(arg planning_horizon)" type="double"/>
    <param name="manager/use_distinctive_trajs" value="$(arg use_distinctive_trajs)" type="bool"/>
    <param name="manager/drone_id" value="$(arg drone_id)"/>

  <!-- trajectory optimization -->
    <param name="optimization/lambda_smooth" value="1.0" type="double"/>
    <param name="optimization/lambda_collision" value="0.5" type="double"/>
    <param name="optimization/lambda_feasibility" value="0.1" type="double"/>
    <param name="optimization/lambda_fitness" value="1.0" type="double"/>
    <param name="optimization/dist0" value="0.5" type="double"/>
    <param name="optimization/swarm_clearance" value="0.5" type="double"/>
    <param name="optimization/max_vel" value="$(arg max_vel)" type="double"/>
    <param name="optimization/max_acc" value="$(arg max_acc)" type="double"/>

    <param name="bspline/limit_vel" value="$(arg max_vel)" type="double"/>
    <param name="bspline/limit_acc" value="$(arg max_acc)" type="double"/>
    <param name="bspline/limit_ratio" value="1.1" type="double"/>

  <!-- objects prediction -->
    <param name="prediction/obj_num" value="$(arg obj_num_set)" type="int"/>
    <param name="prediction/lambda" value="1.0" type="double"/>
    <param name="prediction/predict_rate" value="1.0" type="double"/>
  
  


  </node>

</launch>

(2)single_run_in_exp.launch,其內(nèi)容如下

<launch>
    <!-- number of moving objects -->
    <arg name="obj_num" value="10" />
    <arg name="drone_id" value="0"/>

    <arg name="map_size_x" value="100"/>
    <arg name="map_size_y" value="50"/>
    <arg name="map_size_z" value="3.0"/>
    <arg name="odom_topic" value="/vins_estimator/imu_propagate"/>
    
    <!-- main algorithm params -->
    <include file="$(find ego_planner)/launch/advanced_param_exp.xml">
        <arg name="drone_id" value="$(arg drone_id)"/>
        <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)"/>
        <arg name="obj_num_set" value="$(arg obj_num)" />
        <!-- 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="nouse1"/>
        <arg name="depth_topic" value="/camera/depth/image_rect_raw"/>
        <!-- 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="nouse2"/>
        <!-- intrinsic params of the depth camera -->
        <arg name="cx" value="323.3316345214844"/>
        <arg name="cy" value="234.95498657226562"/>
        <arg name="fx" value="384.39654541015625"/>
        <arg name="fy" value="384.39654541015625"/>
        <!-- maximum velocity and acceleration the drone will reach -->
        <arg name="max_vel" value="0.5" />
        <arg name="max_acc" value="6.0" />
        <!--always set to 1.5 times grater than sensing horizen-->
        <arg name="planning_horizon" value="6" />
        <arg name="use_distinctive_trajs" value="false" />
        <!-- 1: use 2D Nav Goal to select goal  -->
        <!-- 2: use global waypoints below  -->
        <arg name="flight_type" value="1" />
        <!-- global waypoints -->
        <!-- It generates a piecewise min-snap traj passing all waypoints -->
        <arg name="point_num" value="1" />
        <arg name="point0_x" value="15" />
        <arg name="point0_y" value="0" />
        <arg name="point0_z" value="1" />
        <arg name="point1_x" value="0.0" />
        <arg name="point1_y" value="0.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="0.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" />
    </include>
    <!-- trajectory server -->
    <node pkg="ego_planner" name="drone_$(arg drone_id)_traj_server" type="traj_server" output="screen">
        <!-- <remap from="position_cmd" to="/setpoints_cmd"/> -->
        <remap from="~planning/bspline" to="drone_$(arg drone_id)_planning/bspline"/>
        <param name="traj_server/time_forward" value="1.0" type="double"/>
    </node>
</launch>

(3)rviz_exp.launch 文件,其內(nèi)容如下

<launch>
  <node name="rviz" pkg="rviz" type="rviz" args="-d $(find ego_planner)/launch/default_exp.rviz" required="true" />
</launch>

(4)default_exp.rviz 文件,其內(nèi)容如下

Panels:
  - Class: rviz/Displays
    Help Height: 0
    Name: Displays
    Property Tree Widget:
      Expanded:
        - /Global Options1
        - /Status1
        - /drone01/Planning1
        - /drone01/Planning1/drone_path1/Offset1
        - /drone01/Mapping1/map inflate1
        - /Odometry1/Shape1
      Splitter Ratio: 0.43611112236976624
    Tree Height: 517
  - Class: rviz/Selection
    Name: Selection
  - Class: rviz/Tool Properties
    Expanded:
      - /2D Pose Estimate1
      - /2D Nav Goal1
      - /Publish Point1
    Name: Tool Properties
    Splitter Ratio: 0.5886790156364441
  - Class: rviz/Views
    Expanded:
      - /Current View1
    Name: Views
    Splitter Ratio: 0.5
  - Class: rviz/Time
    Name: Time
    SyncMode: 0
    SyncSource: map inflate
Preferences:
  PromptSaveOnExit: true
Toolbars:
  toolButtonStyle: 2
Visualization Manager:
  Class: ""
  Displays:
    - Alpha: 1
      Class: rviz/Axes
      Enabled: true
      Length: 1
      Name: Axes
      Radius: 0.10000000149011612
      Reference Frame: <Fixed Frame>
      Show Trail: false
      Value: true
    - Alpha: 0.5
      Cell Size: 1
      Class: rviz/Grid
      Color: 160; 160; 164
      Enabled: true
      Line Style:
        Line Width: 0.029999999329447746
        Value: Lines
      Name: Grid
      Normal Cell Count: 0
      Offset:
        X: 0
        Y: 0
        Z: 0
      Plane: XY
      Plane Cell Count: 1000
      Reference Frame: <Fixed Frame>
      Value: true
    - Class: rviz/Group
      Displays:
        - Class: rviz/Group
          Displays:
            - Class: rviz/Marker
              Enabled: true
              Marker Topic: /drone_0_ego_planner_node/goal_point
              Name: goal_point
              Namespaces:
                {}
              Queue Size: 100
              Value: true
            - Class: rviz/Marker
              Enabled: true
              Marker Topic: /ego_planner_node/global_list
              Name: global_path
              Namespaces:
                {}
              Queue Size: 100
              Value: true
            - Class: rviz/Marker
              Enabled: true
              Marker Topic: /drone_0_ego_planner_node/optimal_list
              Name: optimal_traj
              Namespaces:
                {}
              Queue Size: 100
              Value: true
            - Class: rviz/Marker
              Enabled: false
              Marker Topic: /ego_planner_node/a_star_list
              Name: AStar
              Namespaces:
                {}
              Queue Size: 100
              Value: false
            - Class: rviz/Marker
              Enabled: true
              Marker Topic: /drone_0_ego_planner_node/init_list
              Name: InitTraj
              Namespaces:
                {}
              Queue Size: 100
              Value: true
            - Alpha: 1
              Buffer Length: 1
              Class: rviz/Path
              Color: 29; 108; 212
              Enabled: true
              Head Diameter: 0.30000001192092896
              Head Length: 0.20000000298023224
              Length: 0.30000001192092896
              Line Style: Billboards
              Line Width: 0.10000000149011612
              Name: drone_path
              Offset:
                X: 0
                Y: 0
                Z: 0
              Pose Color: 255; 85; 255
              Pose Style: None
              Queue Size: 10
              Radius: 0.029999999329447746
              Shaft Diameter: 0.10000000149011612
              Shaft Length: 0.10000000149011612
              Topic: /drone_0_odom_visualization/path
              Unreliable: false
              Value: true
          Enabled: true
          Name: Planning
        - Class: rviz/Group
          Displays:
            - Alpha: 1
              Autocompute Intensity Bounds: true
              Autocompute Value Bounds:
                Max Value: 1.565000057220459
                Min Value: 0.06499999761581421
                Value: true
              Axis: Z
              Channel Name: intensity
              Class: rviz/PointCloud2
              Color: 29; 108; 212
              Color Transformer: AxisColor
              Decay Time: 0
              Enabled: true
              Invert Rainbow: false
              Max Color: 255; 255; 255
              Min Color: 0; 0; 0
              Name: map inflate
              Position Transformer: XYZ
              Queue Size: 10
              Selectable: true
              Size (Pixels): 3
              Size (m): 0.15000000596046448
              Style: Boxes
              Topic: /drone_0_ego_planner_node/grid_map/occupancy_inflate
              Unreliable: false
              Use Fixed Frame: true
              Use rainbow: true
              Value: true
          Enabled: true
          Name: Mapping
        - Class: rviz/Group
          Displays:
            - Class: rviz/Marker
              Enabled: true
              Marker Topic: /drone_0_odom_visualization/robot
              Name: robot
              Namespaces:
                {}
              Queue Size: 100
              Value: true
            - Class: rviz/Image
              Enabled: false
              Image Topic: /drone_0_pcl_render_node/depth
              Max Value: 1
              Median window: 5
              Min Value: 0
              Name: depth
              Normalize Range: true
              Queue Size: 2
              Transport Hint: raw
              Unreliable: false
              Value: false
          Enabled: true
          Name: Simulation
      Enabled: true
      Name: drone0
    - Class: rviz/Image
      Enabled: false
      Image Topic: /camera/depth/image_rect_raw
      Max Value: 1
      Median window: 5
      Min Value: 0
      Name: Image
      Normalize Range: true
      Queue Size: 2
      Transport Hint: raw
      Unreliable: false
      Value: false
    - Alpha: 1
      Buffer Length: 1
      Class: rviz/Path
      Color: 25; 255; 0
      Enabled: true
      Head Diameter: 0.30000001192092896
      Head Length: 0.20000000298023224
      Length: 0.30000001192092896
      Line Style: Lines
      Line Width: 0.029999999329447746
      Name: Path
      Offset:
        X: 0
        Y: 0
        Z: 0
      Pose Color: 255; 85; 255
      Pose Style: None
      Queue Size: 10
      Radius: 0.029999999329447746
      Shaft Diameter: 0.10000000149011612
      Shaft Length: 0.10000000149011612
      Topic: /vins_estimator/path
      Unreliable: false
      Value: true
    - Angle Tolerance: 0.10000000149011612
      Class: rviz/Odometry
      Covariance:
        Orientation:
          Alpha: 0.5
          Color: 255; 255; 127
          Color Style: Unique
          Frame: Local
          Offset: 1
          Scale: 1
          Value: true
        Position:
          Alpha: 0.30000001192092896
          Color: 204; 51; 204
          Scale: 1
          Value: true
        Value: true
      Enabled: true
      Keep: 1
      Name: Odometry
      Position Tolerance: 0.10000000149011612
      Queue Size: 10
      Shape:
        Alpha: 1
        Axes Length: 0.5
        Axes Radius: 0.20000000298023224
        Color: 255; 25; 0
        Head Length: 0.30000001192092896
        Head Radius: 0.10000000149011612
        Shaft Length: 1
        Shaft Radius: 0.05000000074505806
        Value: Axes
      Topic: /vins_estimator/odometry
      Unreliable: false
      Value: true
  Enabled: true
  Global Options:
    Background Color: 255; 255; 255
    Default Light: true
    Fixed Frame: world
    Frame Rate: 30
  Name: root
  Tools:
    - Class: rviz/Interact
      Hide Inactive Objects: true
    - Class: rviz/Select
    - Class: rviz/FocusCamera
    - Class: rviz/Measure
    - Class: rviz/SetInitialPose
      Theta std deviation: 0.2617993950843811
      Topic: /initialpose
      X std deviation: 0.5
      Y std deviation: 0.5
    - Class: rviz/SetGoal
      Topic: /move_base_simple/goal
    - Class: rviz/PublishPoint
      Single click: true
      Topic: /clicked_point
  Value: true
  Views:
    Current:
      Class: rviz/ThirdPersonFollower
      Distance: 14.900397300720215
      Enable Stereo Rendering:
        Stereo Eye Separation: 0.05999999865889549
        Stereo Focal Distance: 1
        Swap Stereo Eyes: false
        Value: false
      Field of View: 0.7853981852531433
      Focal Point:
        X: -1.706774115562439
        Y: -2.435426712036133
        Z: 5.149927346792538e-06
      Focal Shape Fixed Size: true
      Focal Shape Size: 0.05000000074505806
      Invert Z Axis: false
      Name: Current View
      Near Clip Distance: 0.009999999776482582
      Pitch: 1.0197973251342773
      Target Frame: <Fixed Frame>
      Yaw: 3.5065858364105225
    Saved:
      - Class: rviz/FPS
        Enable Stereo Rendering:
          Stereo Eye Separation: 0.05999999865889549
          Stereo Focal Distance: 1
          Swap Stereo Eyes: false
          Value: false
        Invert Z Axis: false
        Name: FPS
        Near Clip Distance: 0.009999999776482582
        Pitch: 0.4000000059604645
        Position:
          X: -11
          Y: 0
          Z: 8
        Roll: 0
        Target Frame: my_view
        Yaw: 0
      - Class: rviz/FPS
        Enable Stereo Rendering:
          Stereo Eye Separation: 0.05999999865889549
          Stereo Focal Distance: 1
          Swap Stereo Eyes: false
          Value: false
        Invert Z Axis: false
        Name: FPS
        Near Clip Distance: 0.009999999776482582
        Pitch: 0.5
        Position:
          X: -10
          Y: 0
          Z: 10
        Roll: 0
        Target Frame: my_view
        Yaw: 0
      - Class: rviz/FPS
        Enable Stereo Rendering:
          Stereo Eye Separation: 0.05999999865889549
          Stereo Focal Distance: 1
          Swap Stereo Eyes: false
          Value: false
        Invert Z Axis: false
        Name: FPS
        Near Clip Distance: 0.009999999776482582
        Pitch: 0.6000000238418579
        Position:
          X: -10
          Y: 0
          Z: 10
        Roll: 0
        Target Frame: my_view
        Yaw: 0
Window Geometry:
  Displays:
    collapsed: false
  Height: 668
  Hide Left Dock: false
  Hide Right Dock: false
  Image:
    collapsed: false
  QMainWindow State: 000000ff00000000fd00000004000000000000017b00000242fc0200000024fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073000000003d00000242000000c900fffffffb0000000a0049006d006100670065000000015d000001220000001600fffffffb0000000a0056006900650077007300000001ee000000ad000000a400fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000c00430061006d00650072006100000001d1000000b50000000000000000fb0000000a00640065007000740068000000031d000002310000001600fffffffb0000000a0049006d0061006700650100000415000000f80000000000000000fb0000000a0049006d00610067006501000003f4000001190000000000000000fb0000000a0064006500700074006800000004a2000000ac0000000000000000fb0000000a0064006500700074006800000003b4000001b60000000000000000fb0000000a0064006500700074006800000004b9000000950000000000000000fb0000000a006400650070007400680000000481000000cd0000000000000000fb0000000a006400650070007400680000000429000001250000000000000000fb0000000a0064006500700074006800000003b7000000af0000000000000000fb0000000a0064006500700074006800000003d5000000b50000000000000000fb0000000a006400650070007400680000000444000001260000000000000000fb0000000a00640065007000740068000000041f0000014b0000000000000000fb0000000a0064006500700074006800000001b8000000160000000000000000fb0000000a0064006500700074006800000001c1000000160000000000000000fb0000000a0064006500700074006800000004b1000000550000000000000000fb0000000a006400650070007400680000000505000000650000000000000000fb0000000a006400650070007400680000000502000000680000000000000000fb0000000a0064006500700074006800000004f9000000710000000000000000fb0000000a0064006500700074006800000004e9000000810000000000000000fb0000000a0064006500700074006800000004de0000008c0000000000000000fb0000000a0064006500700074006800000004cc0000009e0000000000000000fb0000000a0064006500700074006800000004bb000000af0000000000000000fb0000000a0064006500700074006800000004aa000000c00000000000000000fb0000000a006400650070007400680000000498000000d20000000000000000fb0000000a0049006d00610067006500000003fa000001540000000000000000000000010000010f00000385fc0200000002fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000006100000003bfc0100000002fb0000000800540069006d00650000000000000006100000041800fffffffb0000000800540069006d00650100000000000004500000000000000000000002600000024200000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
  Selection:
    collapsed: false
  Time:
    collapsed: false
  Tool Properties:
    collapsed: false
  Views:
    collapsed: false
  Width: 608
  X: 1265
  Y: 60
  depth:
    collapsed: false

修改完成后保存即可!

3.2.2 VINS-Fusion-gpu + EGO-Swarm 實(shí)驗(yàn)

接下來(lái)我們先運(yùn)行 Realsense 和 VINS-Fusion-gpu,如果沒(méi)有安裝 Realsense 和 VINS-Fusion-gpu,參考以下兩篇文章

Jetson Orin NX 開(kāi)發(fā)指南(4): 安裝 CUDA 和 Realsense_想要個(gè)小姑娘的博客-CSDN博客

Jetson Orin NX 開(kāi)發(fā)指南(6): VINS-Fusion-gpu 的編譯和運(yùn)行_想要個(gè)小姑娘的博客-CSDN博客

首先打開(kāi)超級(jí)終端,劃分為四個(gè)終端,

然后在第一個(gè)終端輸入

roslaunch realsense2_camera rs_camera.launch

在第二個(gè)終端輸入

source ~/catkin_ws/src/vins-fusion-gpu/devel/setup.bash
roslaunch vins realsense_d435i.launch

第三個(gè)終端輸入

source ~/catkin_ws/src/ego-planner-swarm/devel/setup.bash
roslaunch ego_planner single_run_in_exp.launch

第四個(gè)終端輸入

source ~/catkin_ws/src/ego-planner-swarm/devel/setup.bash
roslaunch ego_planner rviz_exp.launch

如下所示

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense

依次運(yùn)行后顯示如下結(jié)果

ego planner vins gpu,Jetson Orin NX,EGO-swarm,EGO-Planner,VINS-Fusion,ROS,Realsense文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-772654.html

到了這里,關(guān)于Jetson Orin NX 開(kāi)發(fā)指南(7): EGO-Swarm 的編譯與運(yùn)行的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Jetson Orin NX上手使用(Linux系統(tǒng)的配置&Jetpack的燒錄)

    Jetson Orin NX上手使用(Linux系統(tǒng)的配置&Jetpack的燒錄)

    長(zhǎng)文預(yù)警 本篇為完整過(guò)程記錄 有特定需求可以跳轉(zhuǎn)對(duì)應(yīng)位置查看 先介紹手上拿到的orin nx模塊:Jetson Orin NX 16GB 100TOPS的算力聽(tīng)起來(lái)頂呱呱 摸過(guò)一些jetson系列套件的我拿到手自信開(kāi)搞……然后就自閉了 他好像跟以前的不是一個(gè)路子?。ㄒ郧懊^(guò)的有nano nx tx1 tx2) 遂上網(wǎng)搜索

    2024年02月06日
    瀏覽(447)
  • Jetson Orin NX上手使用(Linux系統(tǒng)的配置&Jetpack的燒錄&鏡像的備份恢復(fù))

    Jetson Orin NX上手使用(Linux系統(tǒng)的配置&Jetpack的燒錄&鏡像的備份恢復(fù))

    長(zhǎng)文預(yù)警 本篇為完整過(guò)程記錄 有特定需求可以跳轉(zhuǎn)對(duì)應(yīng)位置查看 先介紹手上拿到的orin nx模塊:Jetson Orin NX 16GB 100TOPS的算力聽(tīng)起來(lái)頂呱呱 摸過(guò)一些jetson系列套件的我拿到手自信開(kāi)搞……然后就自閉了 他好像跟以前的不是一個(gè)路子?。ㄒ郧懊^(guò)的有nano nx tx1 tx2) 遂上網(wǎng)搜索

    2024年02月09日
    瀏覽(19)
  • 【PC電腦windows環(huán)境下-[jetson-orin-NX]Linux環(huán)境下-下載工具esptool工具使用-相關(guān)細(xì)節(jié)-簡(jiǎn)單樣例-實(shí)際操作】

    【PC電腦windows環(huán)境下-[jetson-orin-NX]Linux環(huán)境下-下載工具esptool工具使用-相關(guān)細(xì)節(jié)-簡(jiǎn)單樣例-實(shí)際操作】

    硬件信息:開(kāi)發(fā)板 ESP32-S3-DevKitM-1(EPS32-S3-wroom-1模塊) 其它硬件:一個(gè)usb-type-c連接線(xiàn)。 軟件環(huán)境:ESP-IDF 5.0 PowerShell 、vscode ESP32對(duì)自己來(lái)說(shuō)還是比較新的,最近也是剛剛接觸,這里對(duì)自己使用ESP32進(jìn)行簡(jiǎn)單說(shuō)明。 博文鏈接:【在英偉達(dá)nvidia的jetson-orin-nx和PC電腦ubuntu20.04上-裝

    2024年02月05日
    瀏覽(26)
  • Nvidia Jetson Orin 開(kāi)發(fā)板配置開(kāi)發(fā)環(huán)境

    Nvidia Jetson Orin 開(kāi)發(fā)板配置開(kāi)發(fā)環(huán)境

    參考文檔:(官方)https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit Check your L4T version first to see if you have a unit flashed with older version of the BSP. You may get something like this, # R34 (release), REVISION: 1.0, GCID: 30102743, BOARD: t186ref, EABI: aarch64, DATE: Wed Apr 6 19:11:41 UTC 2022, and this show

    2024年02月07日
    瀏覽(19)
  • NVIDIA Jetson AGX Orin開(kāi)發(fā)套件刷機(jī)說(shuō)明&鏡像制作

    NVIDIA Jetson AGX Orin開(kāi)發(fā)套件刷機(jī)說(shuō)明&鏡像制作

    V1.0.0 – by Holden Date : 2023-03-09 ? 借助功能強(qiáng)大的 AI 計(jì)算機(jī),為節(jié)能高效的自主機(jī)器帶來(lái)新一代產(chǎn)品。NVIDIA? Jetson Orin? 模組算力高達(dá)每秒 275 萬(wàn)億次浮點(diǎn)運(yùn)算 (TOPS),性能是上一代產(chǎn)品的 8 倍,適用于多個(gè)并發(fā) AI 推理管道,此外它還可以通過(guò)高速接口為多個(gè)傳感器提供支持。

    2024年02月10日
    瀏覽(101)
  • Jetson開(kāi)發(fā)實(shí)戰(zhàn)記錄(二):Jetson Xavier NX版本區(qū)別以及燒錄系統(tǒng)

    Jetson開(kāi)發(fā)實(shí)戰(zhàn)記錄(二):Jetson Xavier NX版本區(qū)別以及燒錄系統(tǒng)

    同系列鏈接: Jetson開(kāi)發(fā)實(shí)戰(zhàn)記錄(一):Jetson家族的基本介紹 Jetson開(kāi)發(fā)實(shí)戰(zhàn)記錄(二):Jetson Xavier NX版本區(qū)別以及燒錄系統(tǒng) Jetson開(kāi)發(fā)實(shí)戰(zhàn)記錄(三):Jetson Xavier NX具體開(kāi)發(fā)(Ubuntu18.04系統(tǒng)) 在上一篇文章:Jetson開(kāi)發(fā)實(shí)戰(zhàn)記錄(一):Jetson家族的基本介紹中,已經(jīng)對(duì)Jetson家族

    2023年04月08日
    瀏覽(21)
  • 【AI】AI入門(mén)之Nvidia Jetson平臺(tái)(四)- Xavier NX軟件開(kāi)發(fā)環(huán)境安裝部署

    【AI】AI入門(mén)之Nvidia Jetson平臺(tái)(四)- Xavier NX軟件開(kāi)發(fā)環(huán)境安裝部署

    目錄 一.?CUDA安裝 二.?cuDNN安裝 三.?TensorRT安裝 3.1?Pycuda安裝 四.?TensorFlow安裝 五.?PyTorch安裝 六. DeepStream安裝??????? ???????6.1?安裝依賴(lài)軟件 ???????6.2?安裝DeepStream SDK ???????6.3?運(yùn)行DEMO ???????七.?Multimedia API安裝 ??????

    2024年01月16日
    瀏覽(50)
  • 玩轉(zhuǎn)Jetson AGX Orin官方套件

    玩轉(zhuǎn)Jetson AGX Orin官方套件

    玩轉(zhuǎn)Jetson AGX Orin 官方套件 Jetson AGX Orin產(chǎn)品問(wèn)題點(diǎn)匯總 序號(hào) 異常現(xiàn)象描述 問(wèn)題定位 處理時(shí)長(zhǎng)/H 1 Jetson AGX Orin 正常啟動(dòng),但顯示黑屏 DP線(xiàn)有限制條件 4H 2 Jetson AGX Orin擴(kuò)充固態(tài)硬盤(pán)無(wú)法使用 固態(tài)硬盤(pán)選型有限制 4H 3 Jetson AGX Orin PCIE卡槽開(kāi)關(guān)盒設(shè)計(jì)問(wèn)題 開(kāi)關(guān)盒與天線(xiàn)干涉 2H 4 是否

    2024年02月15日
    瀏覽(30)
  • Jetson AGX Orin安裝archiconda、Pytorch

    Jetson AGX Orin安裝archiconda、Pytorch

    想在Jetson AGX Orin創(chuàng)建一個(gè)虛擬環(huán)境,然后安裝pytorch,過(guò)程中遇到了很多的坑,這篇文章主要用于記錄過(guò)程~因?yàn)镺rin本身是Arm架構(gòu),X86架構(gòu)可以裝Anaconda,對(duì)于ARM要裝archiconda。 1.1確定操作系統(tǒng)架構(gòu) 安裝anaconda前,需要確定Ubuntu20.04操作系統(tǒng)的架構(gòu) Ubuntu版本信息: 查看操作系統(tǒng)

    2024年01月17日
    瀏覽(34)
  • 【適用于Jetson Orin Nano的錄屏軟件】

    適用于Jetson Orin Nano的錄屏軟件kazam,親測(cè)好用!

    2024年02月02日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包