ROS導航小車無故倒退問題分析

2021-08-03 00:03:27 字數 796 閱讀 9739

之前用ros+雷射雷達做小車室內導航時,遇到個問題,就是在rviz中給定目的地後小車總是會倒退行走,這個行走速度就是base_local_planner_params.yaml裡配置的escape_vel逃逸速度,調整了其他引數無用,看看源**

在trajectory_planner.cpp中

//and finally, if we can't do anything else, we want to

generate trajectories that move backwards slowly

vtheta_samp = 0.0;

vx_samp = backup_vel_;

vy_samp = 0.0;

這段**之前是計算合適的區域性速度策略,而如果沒有合適的策略(速度),這段**會啟用。也就是說出現這種狀況是因為現在計算不出乙個合法的速度供小車安全的行駛。

為什麼會出現這種情況呢,原因很多,我這裡只講一種比較常見但容易被忽視的。就是你提供的odom資訊中的x速度過大(這裡只針對差分運動的小車),也就是每次計算的小車x方向速度過大,這樣base_local_planner會認為車體會碰撞所以就只發布後退命令。

為什麼x方向速度會很大,因為很多人計算x方向速度時是用兩個ros::time current_time = ros::time::now(); 這樣的時間差作為被除數,這段時間增加的里程作為除數來計算的。在程式執行時有可能這個時間間隔很小,導致速度一下非常大,所以比較好的作法是被除數用乙個固定的時間差,下位機發布里程增量的頻率要和這個時間差一致。這樣就會消除速度突然很大的問題了。

開源自主導航小車MickX4(一)ROS底盤硬體

2 差速底盤運動學模型 參考資料 在學習ros的階段我們使用的都是標準的ros底盤,只需要乙個命令就可以啟動小車,然後向 cmd vel話題上傳送資料即可控制小車移動的線速度和角速度。使用標準的ros底盤可以使我們快速的掌握ros導航的相關知識。處於加深對ros自主導航小車的學習,因此設計自製乙個r...

ROS小車實踐記錄 二

如果使用已經配置好的映象,則windows連線小車wifi後,虛擬機器要重新連線網路,使用終端ping一下小車的ip ping 192.168.1.140看一下是否聯通 如果是自己安裝ubuntu系統搭建ros,則需要安裝nfs,用於掛載小車 開啟終端輸入 sudo apt get install ...

ROS小車實踐記錄(十一)

連線小車,掛載小車 攝像機中的相機深度影象主要是在 執行astra.launch之後既可以獲取深度影象又可以獲取彩色影象 如果只是獲取彩色影象只需要在遠端連線小車的終端執行 執行rviz,新增image,選擇usb cam image raw 執行深度影象需要在遠端連線小車的終端輸入 roslaun...