Issue with integrating IMU, encoder odomtery with gps for localization using robot-localization package in ros2
Hello! I am working with robot localization package to use GPS for localization and integrate wheel odometry in ROS2 while taking a reference of this ROS1 answer Integrate a GPS sensor with robot_localization and use move_base node.
I am using this parameter dual_ekf_navsat_example.yaml file which has this functionality. This had some error with respect to ros-dashing, hence I modified the file (which I have mentioned below the error.)
But when I run this launch file I get the error of what(): expected [double] got [integer]
pankhuri@pankhuri-LENOVO-IDEAPAD-500-15ISK:~/robot-localization-ros/robot_localization$ ros2 launch robot_localization dual_ekf_navsat_example.launch.py
[INFO] [launch]: All log files can be found below /home/pankhuri/.ros/log/2020-04-20-22-23-01-444715-pankhuri-LENOVO-IDEAPAD-500-15ISK-21439
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ekf_node-1]: process started with pid [21454]
INFO] [ekf_node-2]: process started with pid [21456]
[INFO] [navsat_transform_node-3]: process started with pid [21457]
[INFO] [launch]: All log files can be found below /home/pankhuri/.ros/log/2020-04-20-22-23-01-444715-pankhuri-LENOVO-IDEAPAD-500-15ISK-21439
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ekf_node-1]: process started with pid [21454]
[INFO] [ekf_node-2]: process started with pid [21456]
[INFO] [navsat_transform_node-3]: process started with pid [21457]
[ekf_node-1] [WARN] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[ekf_node-1] terminate called after throwing an instance of 'rclcpp::ParameterTypeException'
[ekf_node-1] what(): expected [double] got [integer]
[navsat_transform_node-3] [WARN] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[ekf_node-2] [WARN] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[ekf_node-2] terminate called after throwing an instance of 'rclcpp::ParameterTypeException'
[ekf_node-2] what(): expected [double] got [integer]
[ERROR] [ekf_node-1]: process has died [pid 21454, exit code -6, cmd '/home/pankhuri/robot-localization-ros/robot_localization/install/robot_localization/lib/robot_localization/ekf_node __node:=ekf_filter_node_odom __params:=/home/pankhuri/robot-localization-ros/robot_localization/install/robot_localization/share/robot_localization/params/dual_ekf_navsat_example.yaml'].
[ERROR] [ekf_node-2]: process has died [pid 21456, exit code -6, cmd '/home/pankhuri/robot-localization-ros/robot_localization/install/robot_localization/lib/robot_localization/ekf_node __node:=ekf_filter_node_map __params:=/home/pankhuri/robot-localization-ros/robot_localization/install/robot_localization/share/robot_localization/params/dual_ekf_navsat_example.yaml'].
My new file dual_ekf_navsat_example.yaml is:dual_ekf_navsat_example.yaml
My launch file is: dual_ekf_navsat_example.launch.py
Any suggestions regarding this error/approach ...