Hi Lili,
To run something like gmapping inside simulation, you generally don't need to run the robot description directly. Try running the segbot code with autonomous navigation:
roslaunch segbot_gazebo segbot_navigation.launch --screen
Take a look at the launch file (and how it pulls in other launch files), and you'll figure out how all the nodes are loaded up. You should make a copy of appropriate launch files, and you need to replace the map_server
and amcl
nodes with gmapping
.
Please note 2 other things:
1) gmapping rarely works well in simulation. There are not enough features in the environment, and gmapping messes up when you don't see corners.
2) Try running gmapping with more popular robots like the turtlebot and pr2, as you'll find more help for those robots. Once you have it figured out, try with the segbot code.
In response to your original question about loading the robot model, take a look at this thread: http://answers.ros.org/question/62646/please-help-converting-urdfxacro-to-sdf/