not able to link imu_link with base_link navigation stack
i have implemented a slam robot using ros navigation stack. i was only using wheel encoder data but the robot localization was poor so iam trying to add imu sensor mpu 6050. i've edited my lauch file and added the config file with all the parameters but when i run the launch file iam getting this error.
I can't link the imu_link with the base_link. do i have to edit the URDF file too
launch file
<launch>
<arg name="map_file" default="$(find mobile_robot_autonomous_navigation)/maps/layout.yaml"/> <arg name="model" default="$(find mobile_robot_autonomous_navigation)/urdf/mobile_robot.urdf.xacro"/>
<rosparam file="$(find mobile_robot_autonomous_navigation)/config/controllers.yaml" command="load"/> <rosparam file="$(find mobile_robot_autonomous_navigation)/config/joint_limits.yaml" command="load"/>
<node name="robot_hardware_interface" pkg="mobile_robot_autonomous_navigation" type="mobile_robot_hardware_interface" output="screen"> <remap from="/mobile_robot/mobile_base_controller/cmd_vel" to="/cmd_vel"/> </node>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" >="" <="" node="">
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find mobile_robot_autonomous_navigation)/config/nav_config.rviz"/>
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args=" /mobile_robot/joints_update /mobile_robot/mobile_base_controller" >="" <="" node="">
<node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" >="" <="" node="">
<include file="$(find rplidar_ros)/launch/rplidar.launch"/> <include file="$(find mobile_robot_autonomous_navigation)/launch/amcl.launch"/> <include file="$(find mobile_robot_autonomous_navigation)/launch/move_base.launch"/>
<node name="imu_unit" pkg="mpu_6050_driver" type="imu_node.py"> </node>
<node name="imu_filter" pkg="imu_complementary_filter" type="complementary_filter_node"> </node>
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_se" clear_params="true"> <rosparam command="load" file="$(find mobile_robot_autonomous_navigation)/config/ekf.yaml"/> <remap from="odometry/filtered" to="odom"/> </node> </launch>
config file
frequency: 30
two_d_mode: true
publish_tf: true
map_frame: map odom_frame: odom base_link_frame: base_link world_frame: odom
odom0: /mobile_robot/mobile_base_controller/odom odom0_config: [false, false, false, false, false, true, true, true, false, false, false, true, false, false, false] odom0_differential: false
imu0: /imu/data imu0_config: [false, false, false, false, false, true, false, false, false, false, false, true, true, false, false] imu0_differential: false
common_costmap
footprint: [[-0.12, -0.12], [-0.12, 0.12], [0.12, 0.12], [0.12, -0.12]] footprint_padding: 0.01
robot_base_frame: base_link update_frequency: 2 publish_frequency: 1 transform_tolerance: 0.5
resolution: 0.05
obstacle_range: 5.5 raytrace_range: 6.0
layer definitions
static: map_topic: /map subscribe_to_updates: true
obstacles_laser: observation_sources: laser laser: {data_type: LaserScan, clearing: true, marking: true, topic: scan, inf_is_valid: true}
inflation_g: inflation_radius: 0.06
inflation_l: inflation_radius: 0.03