On Fri, Jan 7, 2011 at 12:14 AM, clarkwu <wu.xiaojun@gmail.com> wrote:

Eric,

I am working together with zhiping and here are some follow-ups for the
testing.

We attached a gyroscope to the robot and also wrote a ros node to interpret
the gyro's output, i.e., the yaw angle, into Imu message; then we tested the
csm again. The observation shows the csm output is obviously more stable
than before. When somebody move into the laser's view field and disappear,
the pose2D.x, pose2D.y curve fluctuates in much smaller scale. Yet
unfortunately, the above x, y values still keep drifting no matter human
interference exists or not. A youtube link or bag file will be posed later.

So we agree this limitation, i.e., to interpret a person walking as movement
of the robot, is inherently from the csm algorithm itself. An alternative
algorithm being free of this would really be preferred.
If I am not wrong, some scan matching algorithms, such as HAYAI, claims
robust in dynamic environments. Do you guys have experience on that?

best regards
xiaojun


--
View this message in context: http://ros-users.122217.n3.nabble.com/Problem-with-canonical-scan-matcher-tp2197613p2210070.html
Sent from the ROS-Users mailing list archive at Nabble.com.
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users


Xiaojun,

You are correct that CSM assumes a static environment, and any violations to that assumption will degrade performance. I am not familiar with scan matching algorithms that can correctly segment dynamic and static objects. You can try to tweak CSM to ignore dynamic objects by setting the correspondence parameters to aggressive values - read my suggestions in the previous reply. In addition, you can try setting "outliers_maxPerc (double, default: 0.90)" to something lower, like ..60 or .70, and see if that helps. This will throw away mad matches and only keep the better ones, hopefully ignoring moving objects.

Ivan