On Fri, Jan 7, 2011 at 12:14 AM, clarkwu 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