How to fix car`s position by visual odometry in rviz

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

How to fix car`s position by visual odometry in rviz

polarbear
Hi,
The rtabmap worked well.
But in rviz,the car model will still showed moving with control command even if something that make it don`t move with command was happening.Such as the car was hiting the wall.
This situation don`t influence rtabmap.But showing in wrong place in map looks bad and it acturally interfering move_base to creat the redundant path and wrong control command was send to car.
Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: How to fix car`s position by visual odometry in rviz

matlabbe
Administrator
Hi,

Is it in a simulated environment? maybe there are acceleration/deceleration limits of the car model, that even if move_base doesn't send command, the model has still inertia. Do you have screenshots of the problem?

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: How to fix car`s position by visual odometry in rviz

polarbear
Hi,
    I`m sorry for reply too late.For some reason i stop to learn SLAM one mouth,i leave my computer and can`t take screenshots.


    It`s look like this.
    Frist,if i haven`t reboot Gazebo and the car was moved,the car`s position in Rviz is wrong when starting a new Rtabmap. Then i still control it to go straight when it hiting the wall,the position error is add.
    But the VO is working rightly.Changing the global frame from "map" to "base_link",the car will at the right position.
   
    The problem is changing frame just change "cloud_map" position and do not change "proj_map"`s.It influence the "move base" founction that the global_map is base on the proj_map.The navigation need the car in the range of global_map.
    Is there anyway to make the car at right position and the founction is work well too?
Reply | Threaded
Open this post in threaded view
|

Re: How to fix car`s position by visual odometry in rviz

matlabbe
Administrator
What is you TF Tree?
$ rosrun tf view_frames

Normally in RVIZ you should set fixed frame to /map.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: How to fix car`s position by visual odometry in rviz

polarbear
  Hi,
1.pdf
  For checking TF and node graph,i may know why it happen.
  /Odom and /base_link are published by the /ekf_localization.And /ekf_localization is base on the Gazebo.Car may be considered as runing when wheels running,and VO can`t limit the car`s location.
  So i try to change the setting of node(robot_localization) that add VO to /ekf_localization.But this change make rtabmap can`t work.
Reply | Threaded
Open this post in threaded view
|

Re: How to fix car`s position by visual odometry in rviz

matlabbe
Administrator
Hi,

Don't know how your launch file looks like, but make sure rgbd_odometry has publish_tf = false to avoid any conflict with TF sent by robot_localization.

You may setup vo parameters like the husky parameters. I am not sure how robot_localization would have to be configured to handle the case where one odometry source says "I'm moving" and other one says "I'm not moving", you may ask on ROS answers. Maybe some odometry covariance tuning would be required.

cheers,
Mathieu