
Hello everyone,
first of all I would like to thank you for such a great forum, it has helped me solve many issues in the past!
I have questions that could be caused by my luck of understanding how the mapping is performed. What i am trying to do is map a wall as it was the ground.
I have a wall crawler and I would like to add the ability to perform autonomous navigation - on the wall - with it.
Crawler setup: chassis with 4 wheels, depth camera and tracking module mounted in front ( Intel realsense d435i, and realsense t265 ) ROS Version: Noetic running on ubuntu 20.04 Packages: depthimage_to_laserscan, gmapping and move_base - basic stuff.
When testing the crawler on the floor mapping and navigation work fine, but when trying to "map the wall" ( effectively rotate the robot by 90 degrees along x axis ), the occupancy map is filled with black cells, as i am guessing it "sees" the wall but identifies it as obstacle.
Other things I tried:
- using rtabmap_ros as well but I get pretty similar results
- adding a world frame in between the map and base of the robot and rotating it by 90 degusing a static tf from map to world ( map -> 90 world -> base )
Can this be achieved using gmapping / rtab or any other package? If so, could you please provide any pointers on what changes I have to make in order to achieve this? If not, can you suggest an alternative approach to tackle that?
EDIT1:
Default setup ( map -> t265 odom -> base ), cameras facing the ceiling and fixed frame in RVIZ set to map

Here is the full tf tree of that setup
Here is the 90 map rotation setup (world -> 90 map -> t265 odom -> base ), cameras facing the ceiling and fixed frame in RVIZ set to world.

Here is the full tf tree of that setup
Thank you in advance for your time and effort you might put in trying to assist me.
Best,
Mike
Originally posted by ekptwtos on ROS Answers with karma: 35 on 2021-10-20
Post score: 0
Original comments
Comment by TomSon on 2021-10-20:
Seems that you got a TF initialisation that cause this effect. Your frame "map" shouldn't be rotated. On rtabmap, watch out the parameters that define the height of ground and obstacle, it directly impact the map generation.
Comment by ekptwtos on 2021-10-21:
Hello and thanks for the reply, I have checked the values, but these - as i understand - are good if you have an uneven ground. The only reason i tried to rotate the world frame IRT the map by 90, is because i am trying to "map" the wall, not the floor ( or ground ).
Comment by matlabbe on 2021-10-21:
I think you should do 90 world -> map -> odom -> base, so that all mapping stuff will work in standard z->up. rosrun tf static_transform_publisher 0 0 0 0 -1.57079632679 0 world map 100
Comment by ekptwtos on 2021-10-26:
oh for some reason i didnt get a notification for your comment! will try this next time i get the chance and post results!
Comment by ekptwtos on 2021-10-29:
@matlabbe I did try rotating the map WRT the world, however didn't get any different results :-/ Please see updated post!