ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
You have built in impressive system, however, this question is too broad to be answered in one thread. It would be better if you'd open several questions that each solve a single component. Doing SLAM on a moving platform with a rotating sensor is a really hard problem and most likely not what you want to do as your first project.
I suggest you only use the scanner with a stationary robot (move, measure, update map, move, ...) In this case, you only need the encoder values of your Lidar-motor. So one way to proceed would be:
Create a urdf-model (tutorials) of your robot. A urdf describes the mechanical setup of your robot and defines frames for each component (e.g. a frame for the robot and one rotating frame for the scanner) You will need a rotating joint for your laser. Next steps afterwards are the Robot State Publisher who reads the current joint values and publishes the updated frames.
You can then use the TF-Library to get the (interpolated) pose of your Sick for every scan line. (If you rotate the scanner slow enough, you don't have to take into account that the scan line is not measured at one point in time but over several milliseconds).
If you have managed that (and please fell free to ask a lot here), you can think about merging the pointclouds (e.g. an ICP implemented in PCL) and pathplanning (MoveBase).