亚洲精品无码久久不卡丨熟女少妇人妻中文字幕丨午夜内射高潮视频丨视频区国产亚洲.欧美丨少妇三级全黄

當前位置: 首頁 > news >正文

做網站泰安/網絡營銷戰略有什么用

做網站泰安,網絡營銷戰略有什么用,收藏夾網站的圖標怎么做的,私活接單平臺參考 Cartographer 官方文檔Cartographer 從入門到精通 1. Cartographer 安裝 1.1 前置條件 推薦在剛裝好的 Ubuntu 16.04 或 Ubuntu 18.04 上進行編譯ROS 安裝:ROS學習1:ROS概述與環境搭建 1.2 依賴庫安裝 資源下載完解壓并執行以下指令 https://pa…

參考

  • Cartographer 官方文檔
  • Cartographer 從入門到精通

1. Cartographer 安裝

1.1 前置條件

  • 推薦在剛裝好的 Ubuntu 16.04 或 Ubuntu 18.04 上進行編譯
  • ROS 安裝:ROS學習1:ROS概述與環境搭建

1.2 依賴庫安裝

  • 資源下載完解壓并執行以下指令
    • https://pan.baidu.com/s/1LWqZ4SOKn2sZecQUDDXXEw?pwd=j6cf
    $ sudo chmod 777 auto-carto-build.sh
    $ ./auto-carto-build.sh
    

1.3 編譯

本文只編譯 cartographer_ros,以下為同時開三個終端操作

$ mkdir -p cartographer_ws/src
$ cd ~
$ git clone https://github.com/xiangli0608/cartographer_detailed_comments_ws
$ mv ~/cartographer_detailed_comments_ws/src/cartographer_ros ~/cartographer_ws/src
$ cd ~/cartographer_ws
$ catkin_make

2. Cartographer 運行

2.1 數據集下載

  • 百度網盤鏈接(rslidar-outdoor-gps.bag、landmarks_demo_uncalibrated.bag)
    • https://pan.baidu.com/s/1leRr4JDGg61jBNCwNlSCJw?pwd=5nkq

2.2 配置文件

  • lx_rs16_2d_outdoor.launch

    <launch><!-- bag 的地址與名稱(根據自己情況修改,建議使用絕對路徑) --><arg name="bag_filename" default="/home/yue/bag/rslidar-outdoor-gps.bag"/><!-- 使用 bag 的時間戳 --><param name="/use_sim_time" value="true" /><!-- 啟動 cartographer --><node name="cartographer_node" pkg="cartographer_ros"type="cartographer_node" args="-configuration_directory $(find cartographer_ros)/configuration_files-configuration_basename lx_rs16_2d_outdoor.lua"output="screen"><remap from="points2" to="rslidar_points" /><remap from="scan" to="front_scan" /><remap from="odom" to="odom_scout" /><remap from="imu" to="imu" /></node><!-- 生成 ros 格式的地圖 --><node name="cartographer_occupancy_grid_node" pkg="cartographer_ros"type="cartographer_occupancy_grid_node" args="-resolution 0.05" /><!-- 啟動 rviz --><node name="rviz" pkg="rviz" type="rviz" required="true"args="-d $(find cartographer_ros)/configuration_files/lx_2d.rviz" /><!-- 啟動 rosbag --><node name="playbag" pkg="rosbag" type="play"args="--clock $(arg bag_filename)" /></launch>
    
  • lx_rs16_2d_outdoor.lua

    include "map_builder.lua"
    include "trajectory_builder.lua"options = {map_builder = MAP_BUILDER,               -- map_builder.lua的配置信息trajectory_builder = TRAJECTORY_BUILDER, -- trajectory_builder.lua的配置信息map_frame = "map"-- 地圖坐標系的名字tracking_frame = "imu_link"-- 將所有傳感器數據轉換到這個坐標系下published_frame = "footprint"-- tf: map -> footprintodom_frame = "odom"-- 里程計的坐標系名字provide_odom_frame = false-- 是否提供odom的tf,如果為true,則tf樹為map->odom->footprint-- 如果為false tf樹為map->footprintpublish_frame_projected_to_2d = false-- 是否將坐標系投影到平面上--use_pose_extrapolator = false,           -- 發布tf時是使用pose_extrapolator的位姿還是前端計算出來的位姿use_odometry = false-- 是否使用里程計,如果使用要求一定要有odom的tfuse_nav_sat = false-- 是否使用gpsuse_landmarks = false-- 是否使用landmarknum_laser_scans = 0-- 是否使用單線激光數據num_multi_echo_laser_scans = 0-- 是否使用multi_echo_laser_scans數據num_subdivisions_per_laser_scan = 1-- 1幀數據被分成幾次處理,一般為1num_point_clouds = 1-- 是否使用點云數據lookup_transform_timeout_sec = 0.2-- 查找tf時的超時時間submap_publish_period_sec = 0.3-- 發布數據的時間間隔pose_publish_period_sec = 5e-3,trajectory_publish_period_sec = 30e-3,rangefinder_sampling_ratio = 1.-- 傳感器數據的采樣頻率odometry_sampling_ratio = 1.,fixed_frame_pose_sampling_ratio = 1.,imu_sampling_ratio = 1.,landmarks_sampling_ratio = 1.,
    }MAP_BUILDER.use_trajectory_builder_2d = trueTRAJECTORY_BUILDER_2D.use_imu_data = true
    TRAJECTORY_BUILDER_2D.min_range = 0.3
    TRAJECTORY_BUILDER_2D.max_range = 100.
    TRAJECTORY_BUILDER_2D.min_z = 0.2
    --TRAJECTORY_BUILDER_2D.max_z = 1.4
    --TRAJECTORY_BUILDER_2D.voxel_filter_size = 0.02--TRAJECTORY_BUILDER_2D.adaptive_voxel_filter.max_length = 0.5
    --TRAJECTORY_BUILDER_2D.adaptive_voxel_filter.min_num_points = 200.
    --TRAJECTORY_BUILDER_2D.adaptive_voxel_filter.max_range = 50.--TRAJECTORY_BUILDER_2D.loop_closure_adaptive_voxel_filter.max_length = 0.9
    --TRAJECTORY_BUILDER_2D.loop_closure_adaptive_voxel_filter.min_num_points = 100
    --TRAJECTORY_BUILDER_2D.loop_closure_adaptive_voxel_filter.max_range = 50.TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = false
    TRAJECTORY_BUILDER_2D.ceres_scan_matcher.occupied_space_weight = 1.
    TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight = 1.
    TRAJECTORY_BUILDER_2D.ceres_scan_matcher.rotation_weight = 1.
    --TRAJECTORY_BUILDER_2D.ceres_scan_matcher.ceres_solver_options.max_num_iterations = 12--TRAJECTORY_BUILDER_2D.motion_filter.max_distance_meters = 0.1
    --TRAJECTORY_BUILDER_2D.motion_filter.max_angle_radians = 0.004
    --TRAJECTORY_BUILDER_2D.imu_gravity_time_constant = 1.TRAJECTORY_BUILDER_2D.submaps.num_range_data = 80.
    TRAJECTORY_BUILDER_2D.submaps.grid_options_2d.resolution = 0.1POSE_GRAPH.optimize_every_n_nodes = 160.
    POSE_GRAPH.constraint_builder.sampling_ratio = 0.3
    POSE_GRAPH.constraint_builder.max_constraint_distance = 15.
    POSE_GRAPH.constraint_builder.min_score = 0.48
    POSE_GRAPH.constraint_builder.global_localization_min_score = 0.60return options
    
  • trajectory_builder_2d.lua

    TRAJECTORY_BUILDER_2D = {use_imu_data = true,            -- 是否使用imu數據min_range = 0.,                 -- 雷達數據的最遠最近濾波, 保存中間值max_range = 30.,min_z = -0.8,                   -- 雷達數據的最高與最低的過濾, 保存中間值max_z = 2.,missing_data_ray_length = 5.,   -- 超過最大距離范圍的數據點用這個距離代替num_accumulated_range_data = 1, -- 幾幀有效的點云數據進行一次掃描匹配voxel_filter_size = 0.025,      -- 體素濾波的立方體的邊長-- 使用固定的voxel濾波之后, 再使用自適應體素濾波器-- 體素濾波器 用于生成稀疏點云 以進行 掃描匹配adaptive_voxel_filter = {max_length = 0.5,             -- 嘗試確定最佳的立方體邊長, 邊長最大為0.5min_num_points = 200,         -- 如果存在 較多點 并且大于'min_num_points', 則減小體素長度以嘗試獲得該最小點數max_range = 50.,              -- 距遠離原點超過max_range 的點被移除},-- 閉環檢測的自適應體素濾波器, 用于生成稀疏點云 以進行 閉環檢測loop_closure_adaptive_voxel_filter = {max_length = 0.9,min_num_points = 100,max_range = 50.,},-- 是否使用 real_time_correlative_scan_matcher 為ceres提供先驗信息-- 計算復雜度高 , 但是很魯棒 , 在odom或者imu不準時依然能達到很好的效果use_online_correlative_scan_matching = false,real_time_correlative_scan_matcher = {linear_search_window = 0.1,             -- 線性搜索窗口的大小angular_search_window = math.rad(20.),  -- 角度搜索窗口的大小translation_delta_cost_weight = 1e-1,   -- 用于計算各部分score的權重rotation_delta_cost_weight = 1e-1,},-- ceres匹配的一些配置參數ceres_scan_matcher = {occupied_space_weight = 1.,translation_weight = 10.,rotation_weight = 40.,ceres_solver_options = {use_nonmonotonic_steps = false,max_num_iterations = 20,num_threads = 1,},},-- 為了防止子圖里插入太多數據, 在插入子圖之前之前對數據進行過濾motion_filter = {max_time_seconds = 5.,max_distance_meters = 0.2,max_angle_radians = math.rad(1.),},-- TODO(schwoere,wohe): Remove this constant. This is only kept for ROS.imu_gravity_time_constant = 10.,-- 位姿預測器pose_extrapolator = {use_imu_based = false,constant_velocity = {imu_gravity_time_constant = 10.,pose_queue_duration = 0.001,},imu_based = {pose_queue_duration = 5.,gravity_constant = 9.806,pose_translation_weight = 1.,pose_rotation_weight = 1.,imu_acceleration_weight = 1.,imu_rotation_weight = 1.,odometry_translation_weight = 1.,odometry_rotation_weight = 1.,solver_options = {use_nonmonotonic_steps = false;max_num_iterations = 10;num_threads = 1;},},},-- 子圖相關的一些配置submaps = {num_range_data = 90,          -- 一個子圖里插入雷達數據的個數的一半grid_options_2d = {grid_type = "PROBABILITY_GRID", -- 地圖的種類, 還可以是tsdf格式resolution = 0.05,},range_data_inserter = {range_data_inserter_type = "PROBABILITY_GRID_INSERTER_2D",-- 概率占用柵格地圖的一些配置probability_grid_range_data_inserter = {insert_free_space = true,hit_probability = 0.55,miss_probability = 0.49,},-- tsdf地圖的一些配置tsdf_range_data_inserter = {truncation_distance = 0.3,maximum_weight = 10.,update_free_space = false,normal_estimation_options = {num_normal_samples = 4,sample_radius = 0.5,},project_sdf_distance_to_scan_normal = true,update_weight_range_exponent = 0,update_weight_angle_scan_normal_to_ray_kernel_bandwidth = 0.5,update_weight_distance_cell_to_hit_kernel_bandwidth = 0.5,},},},
    }
    
  • pose_graph.lua

    POSE_GRAPH = {-- 每隔多少個節點執行一次后端優化optimize_every_n_nodes = 90,-- 約束構建的相關參數constraint_builder = {sampling_ratio = 0.3,                 -- 對局部子圖進行回環檢測時的計算頻率, 數值越大, 計算次數越多max_constraint_distance = 15.,        -- 對局部子圖進行回環檢測時能成為約束的最大距離min_score = 0.55,                     -- 對局部子圖進行回環檢測時的最低分數閾值global_localization_min_score = 0.6,  -- 對整體子圖進行回環檢測時的最低分數閾值loop_closure_translation_weight = 1.1e4,loop_closure_rotation_weight = 1e5,log_matches = true,                   -- 打印約束計算的log-- 基于分支定界算法的2d粗匹配器fast_correlative_scan_matcher = {linear_search_window = 7.,angular_search_window = math.rad(30.),branch_and_bound_depth = 7,},-- 基于ceres的2d精匹配器ceres_scan_matcher = {occupied_space_weight = 20.,translation_weight = 10.,rotation_weight = 1.,ceres_solver_options = {use_nonmonotonic_steps = true,max_num_iterations = 10,num_threads = 1,},},-- 基于分支定界算法的3d粗匹配器fast_correlative_scan_matcher_3d = {branch_and_bound_depth = 8,full_resolution_depth = 3,min_rotational_score = 0.77,min_low_resolution_score = 0.55,linear_xy_search_window = 5.,linear_z_search_window = 1.,angular_search_window = math.rad(15.),},-- 基于ceres的3d精匹配器ceres_scan_matcher_3d = {occupied_space_weight_0 = 5.,occupied_space_weight_1 = 30.,translation_weight = 10.,rotation_weight = 1.,only_optimize_yaw = false,ceres_solver_options = {use_nonmonotonic_steps = false,max_num_iterations = 10,num_threads = 1,},},},matcher_translation_weight = 5e2,matcher_rotation_weight = 1.6e3,-- 優化殘差方程的相關參數optimization_problem = {huber_scale = 1e1,                -- 值越大,(潛在)異常值的影響就越大acceleration_weight = 1.1e2,      -- 3d里imu的線加速度的權重rotation_weight = 1.6e4,          -- 3d里imu的旋轉的權重-- 前端結果殘差的權重local_slam_pose_translation_weight = 1e5,local_slam_pose_rotation_weight = 1e5,-- 里程計殘差的權重odometry_translation_weight = 1e5,odometry_rotation_weight = 1e5,-- gps殘差的權重fixed_frame_pose_translation_weight = 1e1,fixed_frame_pose_rotation_weight = 1e2,fixed_frame_pose_use_tolerant_loss = false,fixed_frame_pose_tolerant_loss_param_a = 1,fixed_frame_pose_tolerant_loss_param_b = 1,log_solver_summary = false,use_online_imu_extrinsics_in_3d = true,fix_z_in_3d = false,ceres_solver_options = {use_nonmonotonic_steps = false,max_num_iterations = 50,num_threads = 7,},},max_num_final_iterations = 200,   -- 在建圖結束之后執行一次全局優化, 不要求實時性, 迭代次數多global_sampling_ratio = 0.003,    -- 純定位時候查找回環的頻率log_residual_histograms = true,global_constraint_search_after_n_seconds = 10., -- 純定位時多少秒執行一次全子圖的約束計算--  overlapping_submaps_trimmer_2d = {--    fresh_submaps_count = 1,--    min_covered_area = 2,--    min_added_submaps_count = 5,--  },
    }
    

2.3 運行演示

$ source devel/setup.bash
$ roslaunch cartographer_ros lx_rs16_2d_outdoor.launch

在這里插入圖片描述

3. Cartographer 調參總結

3.1 降低延遲與減小計算量

  • 前端

    • 減小 max_range 即減小了需要處理的點數,在激光雷達遠距離的數據點不準時一定要減小這個值
    • 增大 voxel_filter_size,相當于減小了需要處理的點數
    • 增大 submaps.resolution,相當于減小了匹配時的搜索量
    • 對于自適應體素濾波 減小 min_num_points 與 max_range,增大 max_length,相當于減小了需要處理的點數
  • 后端

    • 減小 optimize_every_n_nodes, 降低優化頻率, 減小了計算量
    • 增大 MAP_BUILDER.num_background_threads, 增加計算速度
    • 減小 global_sampling_ratio, 減小計算全局約束的頻率
    • 減小 constraint_builder.sampling_ratio, 減少了約束的數量
    • 增大 constraint_builder.min_score, 減少了約束的數量
    • 減小分枝定界搜索窗的大小, 包括linear_xy_search_window,inear_z_search_window, angular_search_window
    • 增大 global_constraint_search_after_n_seconds, 減小計算全局約束的頻率
    • 減小 max_num_iterations, 減小迭代次數

3.2 降低內存

  • 增大子圖的分辨率 submaps.resolution

3.3 常調的參數

TRAJECTORY_BUILDER_2D.min_range = 0.3
TRAJECTORY_BUILDER_2D.max_range = 100.
TRAJECTORY_BUILDER_2D.min_z = 0.2 -- / -0.8
TRAJECTORY_BUILDER_2D.voxel_filter_size = 0.02
TRAJECTORY_BUILDER_2D.ceres_scan_matcher.occupied_space_weight = 10.
TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight = 1.
TRAJECTORY_BUILDER_2D.ceres_scan_matcher.rotation_weight = 1.
TRAJECTORY_BUILDER_2D.submaps.num_range_data = 80.
TRAJECTORY_BUILDER_2D.submaps.grid_options_2d.resolution = 0.1 -- / 0.02
POSE_GRAPH.optimize_every_n_nodes = 160. -- 2倍的num_range_data以上
POSE_GRAPH.constraint_builder.sampling_ratio = 0.3
POSE_GRAPH.constraint_builder.max_constraint_distance = 15.
POSE_GRAPH.constraint_builder.min_score = 0.48
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.60

4. Cartographer 工程化建議

4.1 如何提升建圖質量

  • 選擇頻率高(25 Hz 以上)、精度高的激光雷達
  • 如果只能用頻率低的激光雷達
    • 使用高頻、高精度 IMU,且讓機器人運動慢一點
    • 調 ceres 的匹配權重,將地圖權重調大,平移旋轉權重調小
    • 將代碼中平移和旋轉的殘差注釋掉
  • 里程計
    • Cartographer 中對里程計的使用不太好
    • 可以將 karto 與 GMapping 中使用里程計進行預測的部分拿過來進行使用,改完后就可達到比較好的位姿預測效果
  • 粗匹配
    • 將 karto 的掃描匹配的粗匹配放過來,karto 的掃描匹配的計算量很小,當做粗匹配很不錯
  • 地圖
    • 在最終生成地圖的時候使用后端優化后的節點重新生成一次地圖,這樣生成的地圖效果會比前端地圖的疊加要好很多

4.2 降低計算量與內存

  • 體素濾波與自適應體素濾波的計算量(不是很大)
  • 后端進行子圖間約束時的計算量很大
  • 分支定界算法的計算量很大
  • 降低內存,內存的占用基本就是多分辨率地圖,每個子圖的多分辨率地圖都進行保存是否有必要

4.3 純定位的改進建議

  • 將純定位模式與建圖拆分開,改成讀取之前軌跡的地圖進行匹配.
  • 新的軌跡只進行位姿預測,拿到預測后的位姿與之前軌跡的地圖進行匹配,新的軌跡不再進行地圖的生成與保存,同時將整個后端的功能去掉.
  • 去掉后端優化會導致沒有重定位功能,這時可將 cartographer 的回環檢測(子圖間約束的計算)部分單獨拿出來,做成一個重定位功能,通過服務來調用這個重定位功能,根據當前點云確定機器人在之前地圖的位姿

4.4 去 ros 的參考思路

  • 仿照 cartographer_ros 里的操作:獲取到傳感器數據,將數據轉到 tracking_frame 坐標系下并進行格式轉換,再傳入到 cartographer 里就行

5. 源碼注釋

  • cartographer_detailed_comments_ws
http://www.jialimach.com/news/156.html

相關文章:

  • 大良營銷網站建設效果/seo推廣怎么做
  • 建設銀行的社會招聘網站/網站seo課設
  • 做網站的公司不會設計/市場營銷實際案例
  • 用java做網站教程/佛山百度快速排名優化
  • 義烏網站建設方式/網站是怎么做的
  • 免費二級網站/關鍵詞優化難度分析
  • 網站做關鍵詞鏈接有用嗎/制作網站要花多少錢
  • 做網站要怎么備案/品牌推廣是做什么的
  • 錦州網站建設哪家好/seo的基本步驟是什么
  • 個人做慈善網站/北京中文seo
  • 新網個人網站備案/關鍵詞查詢網
  • 網站建設進度說明/app營銷策劃方案
  • 網站用社交圖標做鏈接侵權嗎/網絡營銷外包
  • 找到網站永久域名/網站設計服務企業
  • wordpress支付寶/泰安網站推廣優化
  • 第1063章 自己做視頻網站/深圳網絡營銷軟件
  • 國內flask做的網站/企業建網站一般要多少錢
  • 哪個網站域名便宜/資源搜索引擎
  • 物流管理網站怎么做/百度指數移動版app
  • 河南網站優化推廣/免費域名的網站
  • 承德房地產網站建設/中國域名注冊局官網
  • 學校網站模板wordpress/免費建站網站網頁
  • 手機做任務網站有哪些/百度賬號免費注冊
  • 廣州高端品牌網站建設哪家公司好/百度流量統計
  • 有域名有空間怎么做網站/谷歌推廣哪家公司好
  • 學做海報的網站/域名注冊1元
  • 郴州微網站建設/seo站長綜合查詢工具
  • 專業網站建設費用怎么算/華為手機軟文范文300
  • 可以做商城網站的公司嗎/sem營銷是什么意思
  • 做視頻小網站犯法嗎/seo在線優化工具
  • 主站蜘蛛池模板: 欧美日韩在线亚洲综合国产人| 天天爽夜夜爽人人爽一区二区| 欧美人与禽2o2o性论交| 最新国产福利在线观看精品| 成人免费午夜福利片在线观看 | 亚洲第一天堂无码专区| 激情影院内射美女| 无码av最新无码av专区| 亚洲乱亚洲乱妇中文影视| 性夜夜春夜夜爽aa片a| 国产两女互慰高潮视频在线观看| 亚洲香蕉伊综合在人在线观看| 国产精品久久久久久无毒不卡| 中文字幕无码av激情不卡| 国产精品国产三级国产试看| 少妇性l交大片| 久久人人爽人人人人片| 中文成人无字幕乱码精品区| 久热这里只有精品99在线观看| 日本电影一区二区三区| 亚洲欧美另类久久久精品| 兔费看少妇性l交大片免费| 久久caoporn国产免费| 亚洲中文无码av永久app| 国产v亚洲v天堂无码久久久| 青草伊人久久综在合线亚洲| 青草国产超碰人人添人人碱| 丰满无码人妻熟妇无码区| 久久久久亚洲波多野结衣| 欧美精品免费观看二区| 51久久成人国产精品麻豆| 羞羞午夜福利免费视频| 黑人巨大精品欧美视频一区| 国产精口品美女乱子伦高潮 | 亚洲午夜久久久影院伊人| 女人被狂c到高潮视频网站| 欧美疯狂做受xxxxx高潮| 亚洲日韩成人无码| 深夜福利小视频在线观看| 欧美v成 人在线观看| 久久国产精品国产四虎90后|