Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 77

Using laser_scan_matcher with long range 2D scanner mounted not horizontally

$
0
0
Hello, I would like to use laser scans data recorded from a 2D scanner into laser_scan_matcher package in order to get a pose2D or odometry (purely laser odometry). (Ros kinetic on Ubuntu 16.04) The scanner is mounted on the top of a vehicle at a particular orientation. We have a transformation matrix from the laser coordinate frame to the base frame (fixed to the vehicle) call it C_socs2base. I am using a launch file created from the demo launch file of the package. **Problem**: I see that the base frame is not moving significantly and the trajectory is very short just centered around the origin. I am not getting any meaningful pose/trajectory. **Questions:** Q1. Can laser_scan_matcher package work fine with a scanner sensor which is not mounted horizontally to the base coordinate? Note: The maximum range of the scanner is upto 200m Q2. Do I need to initialize the first pose of the robot (base coordinate) in the world frame? If yes then how? I have done this step as discussed below: We have an initial pose of the base frame with respect to the world frame (x,y,z and roll,pitch, yaw at time 0 as t_0 ). I edited the source code of the package in laser_scan_matcher.cpp where I replaced f2b_.setIdentity() and f2b_kf_.setIdentity() with the following codes: tf::Quaternion q; q.setOrigin(Vector3(x,y,z at t_0)); q.setRPY(roll, pitch, yaw at t_0); f2b_.setRotation(q); f2b_kf_ = f2b_;enter code here` Here is the launch file: `

Viewing all articles
Browse latest Browse all 77

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>