Hi all, the answer given by Jeremy is more a suggestion than an answer, it is indeed an issue in MoveIt, but it only appears at the end of performing all the planning tasks.
So if you update the code from the training unit 3.6 to something 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();
int count=0;
while(count<2){
if(count==0){
Eigen::Affine3d pose1 = Eigen::Translation3d(0.490, -0.872, 1.176)
* Eigen::Quaterniond(0.905, -0.090, 0.242, -0.339);
group.setPoseTarget(pose1);
group.move();
ROS_INFO("first pose published");
}else{
Eigen::Affine3d pose2 = Eigen::Translation3d(0.421, -0.312, 1.861)
* Eigen::Quaterniond(0.905, -0.090, 0.242, -0.339);
group.setPoseTarget(pose2);
group.move();
ROS_INFO("second pose published");
}
count=count+1;
}
}
The error is still published, but after performing both plans, see below.
~/catkin_ws$ rosrun lesson_move_group lesson_move_group_1
[ INFO] [1459864834.040952302]: Loading robot model 'abb_irb2400'...
[ INFO] [1459864834.411154624]: Loading robot model 'abb_irb2400'...
[ INFO] [1459864835.508244424]: Ready to take MoveGroup commands for group manipulator.
[ INFO] [1459864839.172945011]: first pose published
[ INFO] [1459864841.435278706]: second pose published
terminate called after throwing an instance of 'class_loader::LibraryUnloadException'
what(): Attempt to unload library that class_loader is unaware of.
Aborted (core dumped)