### base_local_planner工具包
#### 發布的topic
~<name>/global_plan(nav_msgs/Path) #使用全局規劃出的路徑的一部分,以便局部規劃器沿跡前進,同時也可顯示在屏幕上
~<name>/global_plan(nav_msgs/Path) #得分最高的局部規劃或軌跡,用以顯示
~<name>/cost_cloud(sensor_msgs/PointCloud2) #損失網格,主要是為直觀顯示,可修改publish_cost_grid_pc參數是否啟用此功能
#### 注冊的topic
odom(nav_msgs/Odometry) #接收里程計消息,包含機器人當前的速度信息。
#### 參數
此工具包中包含的參數主要有:機器人設置相關,目標容差,前向模擬,路徑得分,震蕩預防,全局規劃
##### 機器人設置參數
~<name>/acc_lim_x(double, default:2.5) #x方向最大加速度
~<name>/acc_lim_y(double, default:2.5) #y方向最大加速度
~<name>/acc_lim_theta(double, default:3.2) #旋轉角加速度最大值
~<name>/max_vel_x(double, default:0.5) #最大前進速度
~<name>/min_vel_x(double, default:0.1) #最小前進速度,設置到適當的值以保證機器人底盤能夠克服摩擦力前進
~<name>/max_vel_theta(double, default:1.0) #最大旋轉角速度
~<name>/min_vel_theta(double, default:-1.0) #最小旋轉角速度
~<name>/min_in_place_vel_theta(double, default:0.4) #原地旋轉最小旋轉角速度
~<name>/backup_vel(double, default:-0.1) #不建議使用,已改換成escape_vel
~<name>/escape_vel(double, default:-0.1) #退出速度,單位為m/s,數值為負
~<name>/holonomic_robot(bool, default:true) #確定速度命令是從holonomic還是非holonomic的機器人上f發出的
~<name>/y_vels(list, default:[-0.3, -0.1, 0.1, 0.3]) #holonomic機器人的偏向移動速度
##### 目標容錯相關參數
~<name>/yaw_goal_tolerance(double, default:0.05) #到達目的地的偏航角偏差閾值
~<name>/xy_goal_tolerance(double, default:0.10) #到達目的地的x&y平面距離偏差閾值
~<name>/latch_xy_goal_tolerance(bool, default:false) #如果目標點鎖定,()
##### 前進模擬參數
~<name>/sim_time(double, default:1.0s) #前進模擬的時間
~<name>/sim_granularity(double, default:0.025m) #步長大小,軌跡上采樣點間的距離長度
~<name>/angular_sim_granularity(double, default:~<name>/sim_granularity) #步長大小,旋轉分量
~<name>/vx_samples(integer, default:3) #每次使用x方向速度的樣點數目
~<name>/vtheta_samples(integer, default:20) #每次使用的旋轉方向的樣點數目
~<name>/controller_frequency(double, default:20.0) #控制器被調用的頻率
##### 軌跡評分模型參數
cost = pdist_scale*(軌跡終點到路徑的距離,以地圖網格數或者m做單位,與meter_scoring參數有關)
+ gdist_scale*(軌跡終點到局部目標點的距離,以地圖網格數目或者m做單位,與meter_scoring有關)
+ occdist_scale*(軌跡上的最大障礙物損失)
~<name>/meter_scoring(bool, default:false) #決定是否使用gdist_scale和pdist_scale參數分別確定goal_distance和
path_distance以地圖網格數或m來表示
~<name>/pdist_scale(double, default:0.6) #決定控制器與規劃路徑的接近程度,最大為5.0
~<name>/gdist_scale(double, default:0.8) #決定控制器與局部目標點的接近程度,同時控制速度,最大為5.0
~<name>/occdist_scale(double, default:0.01) #決定控制器試圖避障的程度
~<name>/heading_lookahead(double, default:0.325) #當原地轉動得分不同時,向前看到的距離
~<name>/heading_scoring(bool, default:faulse) #是根據機器人與路徑的方向還是根據其與路徑的距離打分
~<name>/heading_scoring_timestep(double, default) #以時間s衡量的沿軌跡的轉動幅度(啟用heading_scoring)
~<name>/dwa(bool, default:true) #是否使用dwa算法,另外可用Trajectory Rollout,實驗證明dwa與TR性能相似,但計算量更小
~<name>/publish_cost_grid_pc(bool, default:false) #規劃路徑時是否發布損失函數網格圖
~<name>/global_frame_id(string, default:odom) #cost_cloud的參考系,應當與局部損失圖全局坐標一致
##### 防振蕩模型參數
~<name>/oscillation_reset_dist(double, default:0.05) #振蕩標志距離,即來回運動的距離在0.05時可認為時振動
##### 全局規劃參數
~<name>/prune_plan(bool, default:true) #確定是否抹去機器人走過的軌跡,設置為true時,機器人會抹去身后1m以外的軌跡
- 前言
- 第一章 ROS簡介
- 機器人時代的到來
- ROS發展歷程
- 什么是ROS
- 安裝ROS
- 安裝ROS-Academy-for-Beginners教學包
- 二進制與源碼包
- 安裝RoboWare Studio
- 單元測試一
- 第二章 ROS文件系統
- Catkin編譯系統
- Catkin工作空間
- Package軟件包
- CMakeLists.txt
- package.xml
- Metapacakge軟件元包
- 其他常見文件類型
- 單元測試二
- 第三章 ROS通信架構(一)
- Node & Master
- Launch文件
- Topic
- Msg
- 常見msg類型
- 單元測試三
- 第四章 ROS通信架構(二)
- Service
- Srv
- Parameter server
- Action
- 常見srv類型
- 常見action類型
- 單元測試四
- 第五章 常用工具
- Gazebo
- RViz
- Rqt
- Rosbag
- Rosbridge
- moveit!
- 單元測試五
- 第六章 roscpp
- Client Library與roscpp
- 節點初始、關閉與NodeHandle
- Topic in roscpp
- Service in roscpp
- Param in roscpp
- 時鐘
- 日志與異常
- 第七章 rospy
- Rospy與主要接口
- Topic in rospy
- Service in rospy
- Param與Time
- 第八章 TF與URDF
- 認識TF
- TF消息
- tf in c++
- tf in python
- 統一機器人描述格式
- 附錄:TF數學基礎
- 三維空間剛體運動---旋轉矩陣
- 三維空間剛體運動---歐拉角
- 三維空間剛體運動---四元數
- 第九章 SLAM
- 地圖
- Gmapping
- Karto
- Hector
- 第十章 Navigation
- Navigation Stack
- move_base
- costmap
- Map_server & Amcl
- 附錄:Navigation工具包說明
- amcl
- local_base_planner
- carrot_planner
- clear_costmap_recovery
- costmap_2d
- dwa_local_planner
- fake_localization
- global_planner
- map_server
- move_base_msg
- move_base
- move_slow_and_clear
- navfn
- nav_core
- robot_pose_ekf
- rotate_recovery