我们是一群攻读学士学位的学生,我们遇到了一个问题,我们需要使用 ROS 的 moveit 为 6 D.O.F 机器人手臂生成一系列轨迹目标(姿势、速度、acc((无碰撞(,而机器人模型和碰撞是在 Rviz 的环境中设置的,主要目标是让机器人用球拍击球,这就是为什么我们需要发送一系列目标,以便它可以将击球力施加到球上,而不仅仅是去球的位置并且在到达球时 ACC 为零。
请,任何帮助将不胜感激:(
看起来有几种可能性。一种是您可以使用MoveIt规划笛卡尔路径:
moveit::planning_interface::MoveGroup group("right_arm");
std::vector<geometry_msgs::Pose> waypoints;
geometry_msgs::Pose target_pose3 = start_pose;
geometry_msgs::Pose target_pose3 = waypoint_pose;
waypoint_pose.position.x += 0.2;
waypoints.push_back(waypoint_pose); // Add first waypoint
waypoint_pose.position.y -= 0.2;
waypoints.push_back(waypoint_pose); // Add second waypoint
// Compute the Cartesian trajectory (stored in a RobotTrajectory)
moveit_msgs::RobotTrajectory trajectory;
group.computeCartesianPath(waypoints,
0.01, // task space stepsize (meters)
0.0, // jump threshold
trajectory);
缺点可能是我不确定是否可以在每个航点指定所需的速度和加速度,因此如果您有这些限制,此选项可能不适合您。
另一种选择可能是笛卡尔路径规划。这里有教程和这里,还有一些关于笛卡尔/MoveIt的讨论!集成。这个页面看起来有很多关于笛卡尔的文档。