ROS全域性定位失效時的解決辦法

2021-09-05 11:18:38 字數 895 閱讀 3371

global_localization (std_srvs/empty):通過呼叫該服務將初始化全域性定位,將所有的粒子重新打散隨機的分散在地圖的空閒地方,可以通過以下命令來呼叫該服務,當呼叫後可以發現所有的粒子被重新打散隨機分布在地圖上,然後使用鍵盤遙控機械人旋轉,這樣可以自動重新對機械人進行定位

rosservice call /global_localization "{}" 

request_nomotion_update (std_srvs/empty):該服務是手動的來更新粒子並發布新的粒子,可以使用如下命令來呼叫服務執行更新粒子的操作,該服務一般需要多次呼叫才能逐漸看到粒子收斂的效果:

rosservice call /request_nomotion_update "{}"

清理代價地圖

rosservice call / move_base / clear_costmaps「{}」
機械人再進行旋轉重定位

全域性定位失效時,執行

rosparam dump amcl.yaml /amcl/
修改amcl.yaml檔案,將引數"initial_pose_x"、「initial_pose_y」、「initia;_pose_a」注釋掉。

<!--param name="initial_pose_x"            value="0.0"/-->

<!--param name="initial_pose_y" value="0.0"/-->

<!--param name="initial_pose_a" value="0.0"/-->

重新啟動機械人

git gitignore失效的解決辦法

在使用git這個多人協作的 版本控制工具時,為了避免每次提交修改 時,一些預期外的無用檔案的改動同時被提交並加入版本控制,需要將一些和 無關的無用檔案排除在版本控制外,此時也就需要使用.gitignore檔案來指定這些需要忽略的檔案資訊。不同型別的工程都有一些通用的.gitignore範本,一般在專...

git gitignore失效的解決辦法

在使用git這個多人協作的 版本控制工具時,為了避免每次提交修改 時,一些預期外的無用檔案的改動同時被提交並加入版本控制,需要將一些和 無關的無用檔案排除在版本控制外,此時也就需要使用.gitignore檔案來指定這些需要忽略的檔案資訊。不同型別的工程都有一些通用的.gitignore範本,一般在專...

gitignore失效的解決辦法

在vue專案中的vue.config.js下有devserver的配置,在這裡可以配置本地伺服器的host和port。由於我和同事對vue.config.js的配置不同,所以不想讓這個檔案被git提交到倉庫,不然每次從倉庫拉取 都需要 修改vue.config.js裡配置。我遇到的問題是,我明明已經...