Revision history [back]

Can anyone give me a example on how to use moveit_ros_control_interface?

Hello,

I'm trying to learn Moveit, but still haven't figure out what is the best way to execute a planned trajectories for a robot arm manipulator, even though I have spent quite some time searching the internet. Can anyone give me a brief summary or an example of what is the best way of doing it?

As I know the procedure may including the followings

First need to plan the trajectory, for example

moveit::planning_interface::MoveGroupInterface move_group("manipulator");
move_group.setPoseTarget(some_target_pose);
moveit::planning_interface::MoveGroupInterface::Plan my_plan;
bool success = move_group.plan(my_plan);


So what should I do afterwards?

1. Get out the joint trajectory and send to a joint trajectory (action) server (for example the one in ur_ros_wrapper)?
2. Or use moveit_ros_control_interface. But how? just do some thing like the following and then

move_group.move();

or

 move_group.execute();


 <arg name="moveit_controller_manager" default="moveit_ros_control_interface::MoveItControllerManager" />


controller_manager_ns: ROBOT
controller_list:
# Arm controller
- name: /ROBOT/position_trajectory_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- joint_1
...


As I see there is no connection between move_group and hardware interface and control interface. Seems miss something?

Can anyone give me a example on how to use moveit_ros_control_interface?

Hello,

I'm trying to learn Moveit, but still haven't figure out what is the best way to execute a planned trajectories for a robot arm manipulator, even though I have spent quite some time searching the internet. Can anyone give me a brief summary or an example of what is the best way of doing it?

As I know the procedure may including the followings

First need to plan the trajectory, for example

moveit::planning_interface::MoveGroupInterface move_group("manipulator");
move_group.setPoseTarget(some_target_pose);
moveit::planning_interface::MoveGroupInterface::Plan my_plan;
bool success = move_group.plan(my_plan);


So what should I do afterwards?

1. Get out the joint trajectory and send to a joint trajectory (action) server (for example the one in ur_ros_wrapper)?
2. Or use moveit_ros_control_interface. But how? just do some thing like the following and then

move_group.move();

or

 move_group.execute();


 <arg name="moveit_controller_manager" default="moveit_ros_control_interface::MoveItControllerManager" />


controller_manager_ns: ROBOT
controller_list:
# Arm controller
- name: /ROBOT/position_trajectory_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- joint_1
...


As I see there is no connection between move_group and hardware interface and control interface. Seems miss missing something?