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

Add load / delete ROS services. #1540

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

MichaelGrupp
Copy link
Contributor

@MichaelGrupp MichaelGrupp commented Oct 28, 2020

See also: RFC 29

Signed-off-by: Michael Grupp [email protected]

Signed-off-by: Michael Grupp <[email protected]>
Signed-off-by: Michael Grupp <[email protected]>
@MichaelGrupp
Copy link
Contributor Author

MichaelGrupp commented Oct 28, 2020

Requires cartographer-project/cartographer#1767 for deleting frozen trajectories. (merged)

cartographer_ros_msgs::LoadStateFromFile::Request& request,
cartographer_ros_msgs::LoadStateFromFile::Response& response) {
absl::MutexLock lock(&mutex_);
// TODO(MichaelGrupp): this crashes if the file is invalid.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not handle the case and return it with the status?

Should be easy with try / catch rigth?

@johuber
Copy link

johuber commented Jan 28, 2021

The load state from file worked as expected.

I got it to crash with the delete call though, following error:
This happened consistently about 15s after the call to the delete service (of a FINISHED trajectory).

F0128 14:04:08.248204 32214 problem_impl.cc:635] Parameter block not found: 0x7f67e0035b80. You must add the parameter block to the problem before you can set a lower bound on one of its components.
[FATAL] [1611839048.248835927][/cartographer/cartographer_node][/home/jonathan/cartographer_ws/src/cartographer_ros/cartographer_ros/cartographer_ros/ros_log_sink.cc:63]: F0128 14:04:08.000000 32214 problem_impl.cc:635] 
Parameter block not found: 0x7f67e0035b80.
 You must add the parameter block to the problem before you can set a lower bound on one of its components.

When I called delete onto a frozen trajectory nothing seemed to happen. Is that expected because there are still active constraints between the trajectories?
Side node; I tested this in pure localization mode, while the robot was not localized with respect to the frozen trajectory

@MichaelGrupp MichaelGrupp marked this pull request as draft March 11, 2021 13:14
@MichaelGrupp
Copy link
Contributor Author

Will address your points at some later point and let you know, I currently don't have too much time for this.

@Wang-Bo-xuan
Copy link

When deleting the same submaps of multiple trajectories, because the reference number is not checked in the pose graph, repeated delete will cause the program to crash.

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

Successfully merging this pull request may close these issues.

3 participants