Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Husky-01] Reproduce on working system #89

Open
schmerl opened this issue Nov 7, 2021 · 3 comments
Open

[Husky-01] Reproduce on working system #89

schmerl opened this issue Nov 7, 2021 · 3 comments

Comments

@schmerl
Copy link
Collaborator

schmerl commented Nov 7, 2021

No description provided.

@schmerl
Copy link
Collaborator Author

schmerl commented Nov 7, 2021

The misconfiguration is in spawn_husky.launch. In the working system, it turns to be in realsense.launch.

Looking at the node model for pointcloud_to_laserscan_node, we do not capture the topic for this during static analysis. See: ros_ws/src/pointcloud_to_laserscan/src/pointcloud_to_laserscan_node.cpp:

  private_nh.param<int>("concurrency_level", concurrency_level, 0);

  nodelet::Loader nodelet;
  nodelet::M_string remap(ros::names::getRemappings());
  nodelet::V_string nargv;
  std::string nodelet_name = ros::this_node::getName();
  nodelet.load(nodelet_name, "pointcloud_to_laserscan/pointcloud_to_laserscan_nodelet", remap, nargv);

Probably we don't handle nodelet.load.

@schmerl
Copy link
Collaborator Author

schmerl commented Nov 7, 2021

Note that I am trying to reproduce this on the husky:0.4.10 image.

@ChrisTimperley
Copy link
Member

This is a tricky one to solve. It's not really a case of missing publisher/subscriber calls. nodelet::Loader::load is loading the plugin for a given node at runtime. To deal with this case, we would want to capture and symbolically represent calls to that API method (e.g., LoadNodelet(:[name], :[type])). On the C++ side, I don't think that should be too much trouble. On the ROSDiscover side, we would need to add an ability to load nodelets (and ensure the right semantics) as part of the interpreter.

This is definitely solvable by the paper deadline, but is more of a "medium" difficulty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants