Some questions about imu_tools and robot_localization
Hi, I'm trying to get imu_filter_madgwick and robot_localization in order to fuse imu (gyro+accel) and wheel odometry for my robot. First, imu_filter_madg. I have it working ok, I think. I have just one question about coordinate frames. My Imu is publishing in imu_link frame. I set
<param name="fixed_frame" value="base_link" />
so in my tf tree I have a transformation between imu_link and base_link published by imu_filter. But in fact imu_link and base_link are the same. Do I need to publish a static transformation from those frames? is it ok that imu_filter publish that transformation?
Second RL: I'm using this bag file and configuration file. I run
rosparam set use_sim_time true
roslaunch ekf_chori.launch
rosbag play chorirover_casa_09-2020.bag --clock
rostopic echo /odometry/filtered
and I get really bad position estimate and the covariance matrix seems to explode. am I doing something wrong?
The /Chori/odom topic is created by me uC frmware and published to ROS using rosserial. The same for the imu message. Orientation from wheel encoder is very poor that's why I just feed velocity to de filter.
Thank
EDIT: Thank to @martin-gunther and @JackB orientation part of the problem is solved.
Now I have a little problem with RL. this is my new bag file. In a terminal I run :
rosparam set use_sim_time true
roslaunch ekf_chori.launch
then in another terminal run
rosbag play chorirover_casa_09-2020.bag --clock
finally in another one run
rostopic echo /odometry/filtered
The first message gives a very high value on twist.linearvel.y (odometry from my robot inform 0 on this field)so the filter integrate it and get some position value on the Y axis. After some seconds, Vy tends to 0. The other problem is that X position start with a non 0 value. Am I configuring RL the wrong way?
thank