240
笔下虽有千言,胸中实无一策

实操 | Implementing "slam_karto" package in Stage simulation

slam_karto

ROS Wiki: http://wiki.ros.org/slam_karto

Source: https://github.com/ros-perception/slam_karto

Reliance: open_karto - https://github.com/ros-perception/open_karto

 fetch_gazebo - https://github.com/fetchrobotics/fetch_gazebo

 pr2_navigation - https://github.com/pr2/pr2_navigation

Implementing karto_stage.launch:

1. Error: ResourceNotFound: karto

Use crtl+shift+F to find all "karto" packages, and replace it as slam_karto.

Eg:

For all $(find karto), we should modify them to $(find slam_karto).

2. ERROR: cannot launch node of type [stage/stageros]: can't locate node [stageros] in package [stage]

Use crtl+shift+F to find all "stage" packages, and replace it as stage_ros which is pre-installed in ROS.

3. CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by "move_base" with
  any of the following names:

    move_baseConfig.cmake
    move_base-config.cmake

the required ROS Navigation packages:

sudo apt-get install ros-indigo-move-base ros-indigo-map-server 
ros-indigo-amcl ros-indigo-gmapping
ros-indigo-openni2-launch ros-indigo-openni2-camera 
ros-indigo-dwa-local-planner 

4. err: Model type laser not found in model typetable (/tmp/binarydeb/ros-indigo-stage-4.1.1/libstage/world.cc CreateModel)

    err: Unknown model type laser in world file. (/tmp/binarydeb/ros-indigo-stage-4.1.1/libstage/world.cc CreateModel)

ANSWER: http://answers.ros.org/question/33973/stage-error-in-fuerte/

An easy solution: $ perl -p -i -e 's/laser/ranger/g' $(find . -name *.world) $(find . -name *.inc)

Tip:

Use comment <!-- & --> to disable some lines to position the error source.

in willow-pr2-5cm.world

looks like you also have to wrap your laser in a "sensor" block...

define topurg ranger
(
  range_max 30.0
  fov 270.25
  samples 1081
  # generic model properties
  color "black"
  size [ 0.05 0.05 0.1 ]
)

Has now become:

define topurg ranger
(
  sensor(
    range_max 30.0
    fov 270.25
    samples 1081
  )
  # generic model properties
  color "black"
  size [ 0.05 0.05 0.1 ]
)

5. rviz Robot Model Status Error ---- no robot model imported

Because there is no robot model imported. For now, just ignore it.

6. run slam in stage and rviz

$ roslaunch slam_karto karto_stage.launch

use Nav_goal in rviz to navigate the robot

NOTE: This post is outdated since the maintainer has merged what I have modified below. Simply sync the latest version of the package and everything would be OK. 

posted @ 2016-11-15 03:52  CasperWin  阅读(1501)  评论(0编辑  收藏  举报