《ROS机器人开发实践(胡春旭)》第十章MoveIt!机械臂控制 学习笔记三

  • Post author:
  • Post category:其他


按照古月老师给的例子,使用随机轨迹的代码时出现以下问题:

test_random.cpp:

#include <moveit/move_group_interface/move_group_interface.h>

int main(int argc, char **argv)

{


ros::init(argc,argv,”move_group_interface_demo”,ros::init_options::AnonymousName);

ros::AsyncSpinner spinner(1);

spinner.start();

moveit::planning_interface::MoveGroupInterface group(“arm”);

group.setRandomTarget();

group.move();

ros::waitForShutdown();

}

上面的代码是胡春旭博客给的例子(test_random.cpp),但是运行时不对,出现上面出现的问题。需要添加下面两行代码:

moveit::core::RobotStatePtr current_state = group.getCurrentState();//设置机器人初始状态为当前状态

group.setPlanningTime(10);//设置时间,之前默认为5秒,会超时

最终代码如下:

#include <moveit/move_group_interface/move_group_interface.h>

int main(int argc, char **argv)

{


ros::init(argc,argv,”move_group_interface_demo”,ros::init_options::AnonymousName);

ros::AsyncSpinner spinner(1);

spinner.start();

moveit::planning_interface::MoveGroupInterface group(“arm”);

moveit::core::RobotStatePtr current_state = group.getCurrentState();

group.setPlanningTime(10);

group.setRandomTarget();

group.move();

ros::waitForShutdown();

}

之后运行代码,达到预期效果:

参考:

https://answers.ros.org/question/240723/fail-aborted-no-motion-plan-found-no-execution-attempted/


https://www.guyuehome.com/455



版权声明:本文为peijian1998原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。