MoveGroup class_loader::LibraryUnloadException on destruction.
Kukanani opened this issue · comments
I am getting the following error when destroying a MoveGroup object:
terminate called after throwing an instance of 'class_loader::LibraryUnloadException'
what(): Attempt to unload library that class_loader is unaware of.
Aborted (core dumped)
With the following trivial example:
#include <moveit/move_group_interface/move_group.h>
int main(int argc, char** argv)
{
ros::init(argc, argv, "test_motion");
moveit::planning_interface::MoveGroup moveGroup("manipulator");
}
Note that this message prints at the end of the MoveGroup Interface Tutorial, as well (https://github.com/ros-planning/moveit_pr2/blob/indigo-devel/pr2_moveit_tutorials/planning/src/move_group_interface_tutorial.cpp)
I am not sure of the underlying reason for this issue, but placing a ros::spin() at the end of the main loop will keep the movegroup from throwing the exception which crashes the node.
This fix doesn't make much sense for me, since I am getting the error when my application shuts down. Why add a spin() at the end of my code?
I'm also running in the same error, but I'm following the example code of the ROS Industrial tutorial (http://aeswiki.datasys.swri.edu/rositraining/indigo/Exercises/3.6).
There the node looks like this one:
#include <ros/ros.h>
#include <moveit/move_group_interface/move_group.h>
int main(int argc, char **argv)
{
ros::init(argc, argv, "lesson_move_group");
// start a background "spinner", so our node can process ROS messages
// - this lets us know when the move is completed
ros::AsyncSpinner spinner(1);
spinner.start();
moveit::planning_interface::MoveGroup group("manipulator");
group.setRandomTarget();
group.move();
}
Any help with this issue?
This issue is linked from here: http://answers.ros.org/question/218945/a-trouble-with-the-training-unit-36-from-ros-i/