1

We're a group of students working on our bachelor's degree, We encountered a problem where we need to generate a sequence of trajectory goals (pose,velocity,acc) (Collision free) for a 6 D.O.F robot arm using ROS's moveit while the robot model and collisions are set in Rviz's environment, the main objective is for the robot to hit a ball with a racket so that's why we need to send a sequence of goals so that it can apply the hitting force to the ball and not just go to the ball's position and have zero acc when reaching it.

Please, any help would be appreciated:)

4

1 回答 1

0

看起来有几种可能性。一种是您可以使用 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的一些讨论!一体化。这个页面看起来有很多关于笛卡尔的文档。

于 2018-10-18T22:45:53.933 回答