一、move_base步骤:
roscore
roslaunch rbx1_bringup fake_turtlebot.launch(运行机器人节点)
roslaunch rbx1_nav fake_amcl.launch map:=test_map.yaml(地图)
rosrun rviz rviz -d 'rospack find rbx1_nav'/nav_fuerte.rviz
打开rviz后,add-by topic-①map②current_goal-pose③odometry
点击上面的 2D Nav Goal ,在地图上点击确定目标点,会自动导航。
二、RRT步骤(用rrt_planner替代ros中默认的planner,默认的全局路径规划算法是Dijkstra/A*)
1.下载并编译 path-planning中的rrt_planner包
2.在/home/y/turtlebot1_ws/src/turtlebot/turtlebot_apps/turtlebot_navigation/launch/includes路径下的move_base.launch.xml文件中添加
<param name="base_global_planner" value="rrt_plan/rrt_planner"/>
3.运行roslaunch turtlebot_stage turtlebot_in_stage.launch
备注:修改move_base参数:可以设置哪种包优先。
/home/y/turtlebot1_ws/src/turtlebot/turtlebot_apps/turtlebot_navigation/param/move_base_params.yaml,
三、编译运行过程遇到的错误:
1.错误:
at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "turtlebot_msgs"
with any of the following names:
turtlebot_msgsConfig.cmake
turtlebot_msgs-config.cmake
……
解决:sudo apt-get install ros-kinetic-turtlebot-msgs
2.错误:
at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "depth_image_proc"
with any of the following names:
depth_image_procConfig.cmake
depth_image_proc-config.cmake
……
解决:sudo apt-get install ros-kinetic-depth-image-proc
3.错误:
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
解决:放弃catkin_make,直接用cmake ../make编译。
4.错误:
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by "joy" with any of
the following names:
joyConfig.cmake
joy-config.cmake
……
解决:sudo apt-get install ros-kinetic-joy*
5.错误:
Could not find the GUI, install the ‘joint_state_publisher_gui’ package
解决:sudo apt-get install ros-kinetic-joint-state-publisher-gui
6.错误:
[ERROR] [1598543901.958695971]: Failed to load nodelet [/kobuki_safety_controller] of type [kobuki_safety_controller/SafetyControllerNodelet] even after refreshing the cache:
……
解决:sudo apt-get install ros-kinetic-kobuki-safety-controller
7.错误:
[ERROR] [1598546190.149222800, 0.600000000]: Failed to load nodelet [/cmd_vel_mux] of type [yocs_cmd_vel_mux/CmdVelMuxNodelet] even after refreshing the cache:
……
解决:sudo apt-get install ros-kinetic-yocs-cmd-vel-mux
8.错误:
[ERROR] [1598546357.316421397, 0.600000000]: Failed to load nodelet [/navigation_velocity_smoother] of type [yocs_velocity_smoother/VelocitySmootherNodelet] even after refreshing the cache:
……
解决:sudo apt-get install ros-kinetic-yocs-velocity-smoother
9.错误:
[ERROR] Failed to load nodelet [/navigation_velocity_smoother] of type [yocs_velocity_smoother/VelocitySmootherNodelet] even after refreshing the cache: According to the loaded plugin descriptions the class yocs_velocity_smoother/VelocitySmootherNodelet with base class type nodelet::Nodelet does not exist.
……
解决:sudo apt-get install ros-kinetic-yocs-velocity-smoother
10.错误:
[ERROR] Failed to create the rrt_plan/rrt_planner planner, are you sure it is properly registered and that the containing library is built? Exception: According to the loaded plugin descriptions the class rrt_plan/rrt_planner with base class type nav_core::BaseGlobalPlanner does not exist. Declared types are carrot_planner/CarrotPlanner global_planner/GlobalPlanner navfn/NavfnROS
……
解决:source一下rrt的路径。