0
$\begingroup$

Rosanswers logo

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 will be helpful.

Thanks,

Edit1: When I try to close it with Ctrl+c I get these logs. I had a GPS publisher running in background publishing to topic /gps/fix:

^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)

[navsat_transform_node-3] [INFO] [navsat_transform_node]: Datum (latitude, longitude, altitude) is (1122303140, 0, 5)

[navsat_transform_node-3] [INFO] [navsat_transform_node]: Datum UTM coordinate is (1122303140, 210667744)

[navsat_transform_node-3] [INFO] [navsat_transform_node]: Datum (latitude, longitude, altitude) is (1122303140, 0, 0)

[navsat_transform_node-3] [INFO] [navsat_transform_node]: Datum UTM coordinate is (1122303140, 210667744)

[navsat_transform_node-3] [INFO] [navsat_transform_node]: Datum (latitude, longitude, altitude) is (1122303140, 0, 0)

.............

    navsat_transform_node-3] [INFO] [rclcpp]: signal_handler(signal_value=2)[INFO] [navsat_transform_node-3]: process has finished cleanly [pid 21457]

Originally posted by petal on ROS Answers with karma: 47 on 2020-04-20

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

We merged in a fix here: https://github.com/cra-ros-pkg/robot_localization/pull/547


Originally posted by stevemacenski with karma: 8272 on 2020-04-20

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by petal on 2020-04-20:
Thank you! These changes have been pending in dashing branch, I shall submit a PR with the fix.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.