首页 > 代码库 > implement "slam_karto" package in Stage simulation

implement "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

 navigation_2d - https://github.com/skasperski/navigation_2d

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. 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
(
  sensor(
    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 ]
)

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

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

5. run slam in stage and rviz

$ roslaunch slam_karto karto_stage.launch

use Nav_goal in rviz to navigate the robot

 

implement "slam_karto" package in Stage simulation