一个鼠标、一把键盘,一个bug找半年。。。。。。
SW导出了URDF文件,配置助手生成了moveit_config文件,Rviz中拖动目标球也实现了位置到达拖动位置的轨迹规划,本以为完事大吉,但是当通过C++ interface的方式传递目标点的时候,问题来了。
geometry_msgs::Quaternion q;
double roll=-3.127;
double pitch=-0.512;
double yaw=1.559;
q=tf::createQuaternionMsgFromRollPitchYaw(roll,pitch,yaw);
geometry_msgs::Pose target_pose;
target_pose.position.x = 0.480988469635;
target_pose.position.y = 3.28034542767;
target_pose.position.z = -0.037;
target_pose.orientation.x = q.x;
target_pose.orientation.y = q.y;
target_pose.orientation.z = q.z; //设置末端的抓取姿态即末端朝向
target_pose.orientation.w = q.w ; // 四元数
用这种方式将数据传递给Moveit执行的时候,moveit执行不了,不管设置规划次数多少,总是规划失败?抛出如下异常
ABORTED: No motion plan found. No execution attempted.
看到一些文章中提到,你设定的目标点根本就是机械臂到达不了的点,为避免这个情况,想到了