Why is RosAria PointCloud and LaserScan mirrored?
Is there a reason why the pointcloud and laserscan readings from rosaria (when running MobileSim) is mirror in relation to eachother when observing in RVIZ? It seems like the pointcloud (flat squares) is correctly oriented in relation to the simulation in MobileSim while the laserscan (boxes) are mirrored. Why is this?
Please attach your image directly to the question, so we can keep things self-contained.
I've given you sufficient karma to do that.
Thank you, corrected now.
Are you sure your transforms are properly set?
It is like you are publishing the Pointcould in a frame and the laser scan in another frame with a different transformation.
I believe the OP is using one of the
.xacro
s from the MobileRobots/amr-ros-config repository (#q335375), so I would assume those are OK, but perhaps there is some configuration that needs to be updated.I Indeed use the urdf from MobileRobots/amr-ros-config. Specifically this one which I believe should be correct, right?
I don't see any mention of a laser scanner or anything about sensors in that
.urdf
. Did you add something yourself? Or how did you 'attach' the laserscanner to the robot model?The transformation between the base_link and laser_frame is published by RosAria (see the image I added to the original post).
that could be, but that does't mean it necessarily correct.
If you visualise the TF tree in RViz (add the display), does it have the expected orientation?
From your RViz+rosaria screenshot it looks to me like the entire robot is 'backwards'. Does rosaria require any configuration? Perhaps you need to tell it which model Pioneer you have and what sensors are mounted and how?
I've never used rosaria or these robots though, so I could be wrong.
I uploaded another picture showing the frames in rviz which to me seems to be correct. However, the TF tree in the left panel does not show the expected tree and it seems like there is some kind of bug since the "odom" tab between "Tree" and "base_link" is invisible.
When using MobileSim I explicitly tells it that it should simulate a Pioneer LX robot ($MobileSim --robot pioneer-lx), specifically this Aria/params/pioneer-lx.p.
edit: line 135 in the file mentioned specifies that the laser is flipper (LaserFlipped true; Laser_1 is upside-down.)
if rosaria flips the laser, but the TF frame is not flipped, that could cause what you are seeing.
Again: I don't know whether that it 'normal' for this robot/rosaria, or whether there are other ways to configure things properly.
Also: amor-ros-pkg/rosaria#43 seems related.
Edit: looks like
LaserFlipped
is checked (here). Just to see if it makes a difference: could you setLaserFlipped
tofalse
and see what happens?I just set
LaserFlipped
tofalse
and made a new map using SLAM, then run the navigation stack. Everything works fine now! amcl need some tuning, but the posearray arrows now converge and the robot navigates fine. This has been a source for headache for me the last couple of days.. Thanks for your help!