ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
2017-11-02 10:14:35 -0500 | received badge | ● Famous Question (source) |
2017-05-08 12:08:12 -0500 | received badge | ● Notable Question (source) |
2017-04-11 04:09:39 -0500 | received badge | ● Popular Question (source) |
2017-04-04 23:46:14 -0500 | asked a question | Robot localization Package parameters Hello all, I am pretty new to ROS and working on a two wheeled differential drive self balancing robot. The drivers seem to be working alright. I have an issue syncing the external IMU heading with the Odometry topic heading. So I am using the ekf_filter in robot localization to fuse them to create a new topic which I want to use as the odometry topic for navigation purposes. This is the configuration of the ekf: #frequency at which a position estimate is output to ros. Defaults to 30 Hz if not specified frequency: 50.0 the minimum time at which the robot has to receive messagessensor_timeout: 1 # default 1 second If set to true, two_d_mode will only take x and y readings from the laser point cloud to estimate position,that is z readings are disregarded. Roll and yaw are disregarded as well. If set to false, all points fromthe laser point cloud are used to estimate position. 3D is more useful to detect different levels of positionin the ground, while 2d while only create a planar x and y view.two_d_mode: true Frames in which the robot operate. You do not want to change any of these at all!odom_frame: odom base_link_frame: segway/base_link world_frame: odom Assign ros topics for the odometry and imuodom0: /segway/feedback/wheel_odometry imu0: /segway/feedback/ext_imu The config matrices define which components are used to estimate the robot's position in the map. the matricescomponents are in the order of x,y,z,roll,pitch,way,vel x, vel y, vel z, vel roll, vel pitch, vel yaw, acc x,acc y, acc z. Keep X and Y in the odom_config matrix set to true at all times, otherwise, robot localization willfail misserably. IMU_config does not need any changes.odom0_config: [true, true, false, false, false, false, true, true, true, false, false, true, false, false, false] # originally x,y,z,yaw=true imu0_config: [false, false, false, true, true, true, false, false, false, true, true, true, false, false, false] set IMU to differential mode. Set this to true if different components (IMU, odometry, gps) are integratedto estimate position. Set to false if navsat is used.imu0_differential: true Queue size when information is retrieved at the frequency rate set beforeodom0_queue_size: 10 imu0_queue_size: 10 Again, the issue is there is an offset between the IMU's heading and the Odometry Heading. I want to know if there is a parameter that I can use to say that I want the heading from the filter to be more related to the IMU which has a magnetic truth. I have seen material on how there is a parameter for "relative". Already tried using that and didnt work. Looking for input. ideas. literature on correcting imu and odometry heading offsets etc. |