Advertisement
Guest User

dual_ekf_navsat_params.yaml

a guest
Nov 11th, 2024
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.34 KB | None | 0 0
  1. # For parameter descriptions, please refer to the template parameter files for each node.
  2.  
  3. ekf_filter_node_odom:
  4. ros__parameters:
  5. frequency: 20.0 #50.0
  6. two_d_mode: true # Recommended to use 2d mode for nav2 in mostly planar environments
  7. publish_acceleration: true #false
  8. print_diagnostics: false #true
  9. debug: false #true
  10. reset_on_time_jump: true #false
  11. transform_timeout: 1.0 #0.25 # Typical value: 0.1-0.5 seconds. Time to wait for a transform.
  12. sensor_timeout: 0.5 #1.0 # 0.25 # Typical value: 0.1-0.5 seconds. Tolerance for sensor synchronization.
  13. use_sim_time: false
  14.  
  15.  
  16.  
  17.  
  18. # 1. Set the map_frame, odom_frame, and base_link frames to the appropriate frame names for your system.
  19. # 1a. If your system does not have a map_frame, just remove it, and make sure "world_frame" is set to the value of odom_frame.
  20. # 2. If you are fusing continuous position data such as wheel encoder odometry, visual odometry, or IMU data, set "world_frame"
  21. # to your odom_frame value. This is the default behavior for robot_localization's state estimation nodes.
  22. # 3. If you are fusing global absolute position data that is subject to discrete jumps (e.g., GPS or position updates from landmark
  23. # observations) then:
  24. # 3a. Set your "world_frame" to your map_frame value
  25. # 3b. MAKE SURE something else is generating the odom->base_link transform. Note that this can even be another state estimation node
  26. #
  27.  
  28.  
  29. map_frame: map
  30. odom_frame: odom
  31. base_link_frame: base_footprint # the frame id used by the turtlebot's diff drive plugin
  32. world_frame: odom #map if use map the robot truck will move along the navsat arrow (green arrow on mapviz), otherwise if set to 'odom' frame, it is going to do as a clock's point
  33. # 'odom' just work if uses 'odometry/global' as odom0 in ekf_filter_node_map. If use 'odometry/local' or 'odom' must set to map here.
  34. publish_tf: true
  35.  
  36. odom0: '' #/odom
  37. odom0_config: [false, false, false, # Position X, Y, Z
  38. false, false, false, # Orientation roll, pitch, yaw (only yaw is used)
  39. false, false, false, # Velocity X dot, Y dot, Z dot
  40. false, false, false, # Angular Velocity roll dot, pitch dot, yaw dot
  41. false, false, false] # Acceleration X double dot, Y double dot, Z double dot
  42. odom0_differential: false # Typically false for odometry, as it's usually more accurate.
  43. odom0_nodelay: true # Ignore delays in the odometry data.
  44. odom0_relative: false
  45. odom0_queue_size: 10
  46.  
  47.  
  48. imu0: /imu # /imu_heading_novo #/imu
  49. imu0_config: [false, false, false, # Position X, Y, Z
  50. false, false, true, # Orientation roll, pitch, yaw (only yaw is used)
  51. false, false, false, # Velocity X dot, Y dot, Z dot
  52. false, false, true, # Angular Velocity roll dot, pitch dot, yaw dot
  53. false, false, false] # Acceleration X double dot, Y double dot, Z double dot
  54. imu0_differential: false #true # Set to true for real robot IMU data due to typical inaccuracies.
  55. # If using a real robot you might want to set this to true, since usually absolute measurements from real imu's are not very accurate
  56. imu0_nodelay: true # Ignore delays in the imu data.
  57. imu0_relative: false
  58. imu0_queue_size: 100
  59. imu0_remove_gravitational_acceleration: true
  60.  
  61. use_control: false
  62.  
  63. process_noise_covariance: [
  64. 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  65. 0.0, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  66. 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  67. 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  68. 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  69. 0.0, 0.0, 0.0, 0.0, 0.0, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  70. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.025, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  71. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  72. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  73. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  74. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0,
  75. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0,
  76. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0,
  77. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0,
  78. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0
  79. ]
  80.  
  81. initial_estimate_covariance: [
  82. 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  83. 0.0, 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  84. 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  85. 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  86. 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  87. 0.0, 0.0, 0.0, 0.0, 0.0, 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  88. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  89. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  90. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  91. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  92. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0,
  93. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-9, 0.0, 0.0, 0.0,
  94. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0,
  95. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0,
  96. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0
  97. ]
  98.  
  99.  
  100. ekf_filter_node_map:
  101. ros__parameters:
  102. use_sim_time: false
  103. sensor_timeout: 0.5 #2.0 #1.0 # 0.25 # Typical value: 0.1-0.5 seconds. Tolerance for sensor synchronization.
  104. transform_time_offset: 0.0 # Typical value: 0.0 seconds. Time offset for transforms.
  105. transform_timeout: 2.0 #1.0 #0.25 # Typical value: 0.1-0.5 seconds. Time to wait for a transform.
  106. frequency: 20.0 #50.0
  107. two_d_mode: true #false # Recommended to use 2d mode for nav2 in mostly planar environments
  108. #print_diagnostics: true
  109. publish_acceleration: true
  110. debug: false #true
  111. publish_tf: true
  112. reset_on_time_jump: true #false
  113.  
  114. map_frame: map
  115. odom_frame: odom
  116. base_link_frame: base_footprint # the frame id used by the turtlebot's diff drive plugin
  117. world_frame: map
  118.  
  119. odom0: '' #/odometry/global #/odometry/filtered #/odometry/local #odom # # = "fused odometry + Imu in previous node"
  120. odom0_config: [false, false, false, # Position X, Y, Z
  121. false, false, false, # Orientation roll, pitch, yaw (only yaw is used)
  122. false, false, false, # Velocity X dot, Y dot, Z dot
  123. false, false, false, # Angular Velocity roll dot, pitch dot, yaw dot
  124. false, false, false] # Acceleration X double dot, Y double dot, Z double dot
  125. odom0_queue_size: 10
  126. odom0_nodelay: true
  127. odom0_differential: false # Typically false for odometry, as it's usually more accurate.
  128. odom0_relative: false
  129.  
  130. imu0: /imu #/imu_heading_novo #/imu
  131. imu0_config: [false, false, false, # Position X, Y, Z
  132. false, false, true, # Orientation roll, pitch, yaw (only yaw is used)
  133. false, false, false, # Velocity X dot, Y dot, Z dot
  134. false, false, true, # Angular Velocity roll dot, pitch dot, yaw dot
  135. false, false, false] # Acceleration X double dot, Y double dot, Z double dot
  136. imu0_differential: false #true # Set to true for real robot IMU data due to typical inaccuracies.
  137. imu0_nodelay: true #false # Ignore delays in the imu data.
  138. imu0_relative: false
  139. imu0_queue_size: 100
  140. imu0_remove_gravitational_acceleration: true
  141.  
  142.  
  143. #O problema esta aqui, o gazebo publica gps namespace, porém ele deve poder englobar diferentes tipos de dados (Odometry) e também receber o (NavSatFix). Já quando eu uso real_gps/fix aqui
  144. #Eu envio apeans NavSatFix, mas não tenho um namespace para receber outros tipos de mensagens que vem da Fusão anterior (odometry/local) que o ekf_filter_node_odom está entregaando.
  145.  
  146. odom1: odometry/gps # try gps if not fix
  147. odom1_config: [true, true, false, # Position X, Y, Z
  148. false, false, false, # Orientation roll, pitch, yaw (only yaw is used)
  149. false, false, false, # Velocity X dot, Y dot, Z dot
  150. false, false, false, # Angular Velocity roll dot, pitch dot, yaw dot
  151. false, false, false] # Acceleration X double dot, Y double dot, Z double dot
  152. odom1_queue_size: 100
  153. odom1_nodelay: true # Ignore delays in the odometry/gps data.
  154. odom1_differential: false # Typically false for odometry, as it's usually more accurate.
  155. odom1_relative: false
  156. odom1_pose_rejection_threshold: 5.0 #1.0 #2.0
  157. odom1_twist_rejection_threshold: 1.0
  158.  
  159. use_control: false
  160.  
  161. process_noise_covariance: [
  162. 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  163. 0.0, 0.05, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  164. 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  165. 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  166. 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  167. 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  168. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  169. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  170. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  171. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  172. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0,
  173. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0,
  174. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0,
  175. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0,
  176. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0
  177. ]
  178.  
  179. initial_estimate_covariance: [
  180. 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  181. 0.0, 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  182. 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  183. 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  184. 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  185. 0.0, 0.0, 0.0, 0.0, 0.0, 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  186. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  187. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  188. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  189. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  190. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0, 0.0, 0.0,
  191. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1e-9, 0.0, 0.0, 0.0,
  192. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0, 0.0,
  193. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0, 0.0,
  194. 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1000.0
  195. ]
  196.  
  197.  
  198.  
  199. navsat_transform:
  200. ros__parameters:
  201. use_sim_time: false
  202. frequency: 50.0 # Increased frequency to match other nodes #10.0
  203. delay: 3.0 # Typical value: 0.0-3.0 seconds. Accounts for delay in the sensor data. GPS usually has inherent delays
  204. magnetic_declination_radians: -0.382271 # Aproximdamente (20 Graus) # 0.0
  205. yaw_offset: 1.1170 #calculado automaticaente pelo script yaw_offset.py #0.0 #-1.91986 #(Para cabine a 220 graus do NORTE Mangético) # este valor não é fixo (tem que ser ajustado MANUALMENTE através da orientação inicial do norte verdadeiro) # No caso do imu estar dando 0 pro norte, ele precisa dar 0 apontando para o leste, para alinhar com coordenada UTM (+x) segundo o desenvolvedor TOM: https://robotics.stackexchange.com/questions/112056/gps-and-navsat-transform-node-issues-with-magnetic-declination-and-yaw-offset-in/112098?noredirect=1#comment48983_112098
  206. #Fórmula do YAW_OFSSET: yaw_offset = -(orientação_inicial_em_relação_ao_norte_VERDADEIRO - 90)
  207. zero_altitude: true
  208. broadcast_utm_transform: false #true
  209. publish_filtered_gps: true
  210. use_odometry_yaw: false #true
  211. #wait_for_datum: true
  212. #datum: [-23.66075725, -46.5925, 0.0] # pre-set datum if needed, [lat, lon, yaw]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement