Open schmerl opened 2 years ago
This is read in as a parameter to ekf_localization
. This seems not to be recovered by static analysis, becuse the topic is derived from a parameter? Or because of complicated type resolution:
In /ros_ws/src/robot_localization/src/ekf_localization_node.cpp
:
RobotLocalization::RosEkf ekf(nh, nh_priv);
ekf.initialize();
typedef RosFilter<Ekf> RosEkf
in /ros_ws/src/robot_localization/include/robot_localization/ros_filter_types.h
Eventually gets to the complicated RosFilter<T>::loadParams
in /ros_ws/src/robot_localization/src/ros_filter.cpp
.
There are two key issues here:
RobotLocalization::RosEkf
is defined in ekf.cpp
, which is compiled into a standalone library that's dynamically linked at run-time. (I.e., we don't have access to the definition for RobotLocalization::RosEkf
.) There are a couple of ways to solve this: (1) we build model summaries for libraries and then refer back to those when building summaries for binaries (after doing a careful toposort); (2) we try to manually edit the node sources for ekf_localization_node
to include ekf.cpp
; if it works, that would be a quick fix.
we don't model object state, so we can't tell what namespace is being used by nh
or nh_priv
inside RosEkf
.
@schmerl, I think that we agreed that this bug is out of the scope of the ICSA submission?
Error is in
localiztion.yaml