ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

gmsanchez's profile - activity

2022-11-04 14:47:05 -0500 marked best answer Right value of magnetic_declination_radians

Hi, I am trying to configure a dual EKF plus navsat_transform setup for robot_localization and I am not sure of how to input the value of magnetic_declination_radians.

Magnetic declination for the place I live is -9° 16' (W) and the webpage I am using says: "Declination is NEGATIVE (WEST)". So, the value of the magnetic_declination_radians parameter should be -0.152425 or should I use the negative value of 0.152425?

Thanks in advance!

2022-11-04 14:47:05 -0500 received badge  Scholar (source)
2022-10-28 09:05:22 -0500 commented answer Right value of magnetic_declination_radians

Thanks Tom for the answer. If the declination is around 0.152425 radians, would you expect that the EKF yaw to have a 0

2022-10-28 09:04:34 -0500 answered a question Right value of magnetic_declination_radians

Thanks Tom for the answer. If the declination is around 0.152425 radians, would you expect that the EKF yaw to have a 0

2022-09-19 17:49:48 -0500 marked best answer robot_localization transform from map to odom drifts

Hi, I am trying to set up robot_localization on an outdoor mobile robot that I am building from scratch. The vehicle is a four wheeled mobile robot and the onboard computer is a Raspberry Pi 3 with a Navio2 hat from Emlid. The Navio2 has two IMUs: a MPU9250 and a LSM9DS1 and a U-blox M8N GPS (among other sensors). I developed a navio2_ros package to access those sensors data as ROS nodes. In my setup I am currently using the odometry from the DC motors, the LSM9DS1 and the GPS.

I have properly configured the IMU following the documentation and calibrated the magnetometer using the robot_calibration package. The gyroscope and accelerometer bias are removed with the imu_complementary_filter package and then imu_filter_madgwick package provides the orientation in ENU using the magnetometer. When the vehicle faces East, the yaw angle is 0 and when the vehicle faces North, the yaw angle is 90 degrees.

Then I have tried to configure a dual EKF setup with two ekf_localization_node and a navsat_transform_node. My launch file goes like this

  <node pkg="robot_localization" type="ekf_localization_node" name="ekf_se_odom" clear_params="true" output="screen">
    <remap from="odometry/filtered" to="odometry/filtered_odom"/>
  </node>

  <node pkg="robot_localization" type="ekf_localization_node" name="ekf_se_map" clear_params="true" output="screen">
    <remap from="odometry/filtered" to="odometry/filtered_map"/>
  </node>

  <node pkg="robot_localization" type="navsat_transform_node" name="navsat_transform" clear_params="true" output="screen">
    <remap from="odometry/filtered" to="odometry/filtered_map"/>
    <remap from="gps/fix" to="/gps/fix" />
  </node>

and the YAML configuration file has the following content

ekf_se_odom:
  frequency: 20
  sensor_timeout: 0.1
  two_d_mode: false
  transform_time_offset: 0.0
  transform_timeout: 0.0
  print_diagnostics: true
  debug: false

  map_frame: map
  odom_frame: odom
  base_link_frame: base_link
  world_frame: odom

  odom0: hibachi_velocity_controller/odom
  odom0_config: [false, false, false,
                 false, false, false,
                 true,  true,  true,
                 false, false, true,
                 false, false, false]
  odom0_queue_size: 10
  odom0_nodelay: true
  odom0_differential: false
  odom0_relative: false

  imu0: imu/data
  imu0_config: [false, false, false,    # x,   y,   z
                true,  true,  true,     # r,   p,   w (yaw)
                false, false, false,    # dx,  dy,  dz
                true,  true,  true,     # dr,  dp,  dw
                false, false, false]    # ddx, ddy, ddz
  imu0_nodelay: true
  imu0_differential: true
  imu0_queue_size: 10
  imu0_remove_gravitational_acceleration: true

  use_control: false

ekf_se_map:
  frequency: 20
  sensor_timeout: 0.1
  two_d_mode: false
  transform_time_offset: 0.0
  transform_timeout: 0.0
  print_diagnostics: true
  debug: false
  dynamic_process_noise_covariance: false

  map_frame: map
  odom_frame: odom
  base_link_frame: base_link
  world_frame: map

  odom0: hibachi_velocity_controller/odom
  odom0_config: [false, false, false,    # x,   y,   z
                 false, false, false,    # r,   p,   w (yaw)
                 true,  true,  true,     # dx,  dy,  dz
                 false, false, true,     # dr,  dp,  dw
                 false, false, false]    # ddx, ddy, ddz

  odom0_queue_size: 10
  odom0_nodelay: true
  odom0_differential: false
  odom0_relative: false

  odom1: odometry/gps
  odom1_config: [true,  true,  false, # x,   y,   z
                 false, false, false, # r,   p,   w (yaw)
                 false, false, false, # dx,  dy,  dz
                 false, false, false, # dr,  dp,  dw
                 false, false, false] # ddx, ddy, ddz

  odom1_queue_size: 10
  odom1_nodelay: true
  odom1_differential: false
  odom1_relative: false

  imu0: imu/data
  imu0_config: [false, false, false, # x,   y,   z
                true,  true,  true, # r,   p,   w (yaw)
                false, false, false,  # dx,  dy,  dz
                true,  true,  true, # dr,  dp,  dw
                false ...
(more)
2021-08-11 06:58:45 -0500 received badge  Famous Question (source)
2021-07-13 07:19:52 -0500 received badge  Famous Question (source)
2021-06-24 18:01:17 -0500 received badge  Student (source)
2021-06-21 02:18:07 -0500 received badge  Notable Question (source)
2021-06-19 07:43:41 -0500 received badge  Popular Question (source)
2021-06-18 12:06:54 -0500 asked a question Right value of magnetic_declination_radians

Right value of magnetic_declination_radians Hi, I am trying to configure a dual EKF plus navsat_transform setup for robo

2021-06-08 13:52:39 -0500 commented question robot_localization transform from map to odom drifts

@JackB I will change that and make the map frame the fixed frame in the RViz configuration. I am expecting drift for the

2021-06-07 17:12:28 -0500 commented question robot_localization transform from map to odom drifts

The pink cone is the UTM to map transform. I did another try, this time I have waited for 10 minutes before moving the v

2021-06-07 16:40:02 -0500 commented question robot_localization transform from map to odom drifts

@JackB I am using a pair of Emlid Reach GPS and using reach_ros_node to provide the data to robot_localization. I have c

2021-06-07 16:38:22 -0500 commented question robot_localization transform from map to odom drifts

@JackB I am using a pair of Emlid Reach GPS. I have configured one of them as a base station and the other as a rover. T

2021-06-07 16:36:37 -0500 commented question robot_localization transform from map to odom drifts

@JackB I am using a pair of Emlid Reach GPS. I have configured one of them as a base station and the other as a rover. T

2021-06-07 16:32:31 -0500 received badge  Notable Question (source)
2021-06-07 16:21:30 -0500 commented question robot_localization transform from map to odom drifts

@JackB thanks for the responses. I have tried to do what you suggested. The map <--> odom transform drifts. You ca

2021-06-07 09:47:48 -0500 commented question robot_localization transform from map to odom drifts

@JackB in that case I should set "use_odometry_yaw" in navsat_transform node to true, right?

2021-06-07 02:29:32 -0500 received badge  Popular Question (source)
2021-06-05 18:28:42 -0500 commented question robot_localization transform from map to odom drifts

@JakB thanks for the response! I removed the IMU from the local EKF but the results are fairly the same. Since the dual

2021-06-05 16:54:46 -0500 commented question robot_localization transform from map to odom drifts

@JakB thanks for the response! I removed the IMU from the local EKF but the results are fairly the same. Since de dual E

2021-06-05 15:25:48 -0500 received badge  Enthusiast
2021-06-02 02:28:37 -0500 asked a question robot_localization transform from map to odom drifts

robot_localization transform from map to odom drifts Hi, I am trying to set up robot_localization on an outdoor mobile r