Teleoperating the Robot
In the previous tutorial, the “3 Waypoints Pick and Place” Objective was executed via the MoveIt Studio Web App. While running your robot, you may encounter situations where you need to manually move the robot because:
You would like to move the arm to a specific configuration to save as a waypoint for future use (A waypoint is a named configuration of joint states)
You would like to apply fine-grained motions to the joints or end effector
The arm gets stuck and cannot retreat automatically
For cases like the ones listed above, MoveIt Studio offers several ways to teleoperate a robot.
Joint Control
Joints View
This section will give an overview of the Joints view, used for moving individual joints. Navigate to the Joints view by clicking on the Joints tab.
In the Visualization pane, there is an area that shows the current state and min/max limits of each joint, as well as +/- buttons to manipulate each joint. The joint states can represented in degrees or radians and also copied to the clipboard.
Joint Movement
There are a three ways to move a joint:
Jogging using the +/- buttons. Clicking the + button will increase the joint state and clicking on the - button will decrease the joint state. When using the +/- buttons, a joint can be jogged up to the min or max limit of the joint or until a collision is detected.
Trajectory movement by clicking and dragging the slider to move to the desired joint state.
Trajectory movement by clicking the current joint state’s numerical value and entering the desired value.
Gripper Control
In the hotbar area above the Visualization pane, there are the “Open Gripper” and “Close Gripper” buttons.
note:: Teleoperating the gripper to joint values other than “Open” or “Close” is not currently supported.
Endpoint Control
Endpoint View
This section will give an overview of the Endpoint view, where you can move the robot end effector. Navigate to the Endpoint view by clicking on the Endpoint tab.
Endpoint Movement
There are a three ways to move the end effector:
Jogging using the buttons in the Visualization pane.
Trajectory movement via “Move to Pose”.
Trajectory planning via “Interactive Marker”.
1. Jogging using the buttons in the Visualization pane
In the Visualization pane, there are a number of buttons around the edge. These buttons can be used to jog the end effector along/around the different end effector axes and planes. For example, the arrow on the left will translate the end effector in the positive direction along its x axis and the arrow on the right will rotate the end effector in the positive direction on the x axis plane.
On the top right of the Visualization pane are some additional buttons which can be used to translate and rotate the end effector on the z axis and z axis plane.
Gripper Control
On the bottom left of the Visualization pane are buttons that can be used to open and close the gripper.
2. Trajectory movement via “Move to Pose”
The Endpoint Movement Mode Selection buttons offer a choice between using the “Move to Pose” method or the “Interactive Marker” method for trajectory movement of the end effector.
The Move to Pose hotbar provides some quick waypoints to which the robot can maneuver.
The Collapsible Objectives sidebar button from the Objectives view becomes the Collapsible Waypoints Sidebar button in the Endpoint view.
The Waypoints sidebar can:
Mark a waypoint as favorite by using the star (favoriting a waypoint adds it to the Move to Pose hotbar).
Move to a waypoint by using the play button.
Add a waypoint by using the + button.
Remove a waypoint by using the three dots next to the play button.
3. Trajectory planning via “Interactive Marker”
When moving the end effector in the “Interactive Marker” mode, a marker will appear situated around the robots end effector.
The marker can be used to move the end effector to a desired pose. This can be done by clicking and dragging the marker’s arrows and discs. Dragging an arrow will translate the marker along that direction while turning a disc will rotate the marker in that direction.
Before trajectory planning begins, a preview will show the inverse kinematics solver solution, if one exists.
No preview means that there is no valid inverse kinematics solution for the desired pose.
Once the marker is in the desired pose, a motion will be planned that brings the end effector from the current pose to the markers pose. A preview of the trajectory will play, and if it is acceptable, the “Execute Move” button can be pressed to start the motion.
If the marker is in an undesirable state, the “Reset Marker” button will bring the marker back to the end effector.
Jog Collision Checking and Speed
The gear on the top right will bring up some settings pertinent to jogging the robot while in the Endpoint or Joints view.
The Jog Collision Checking toggle informs the simulation if it should be checking for collisions between different solid entities.
There can be situations where the robot collides with an object during an Objective and is unable to be teleoperated because the beginning of the trajectory is in a collision. In that case, Jog Collision Checking can be turned off so that the robot can be teleoperated.
The Jog Speed slider adjusts the normalized speed at which the end effector/joints moves, meaning at 100% each joint is moving at its max speed, as dictated by the specified joint limits.
Note
The Jog Collision Checking and Jog Speed parameters are only used when jogging a joint via the +/- buttons in the Joints view or when using the endpoint jog buttons around the Visualization pane in the Endpoint view. This is because those two methods use MoveIt Servo (and the respective servo parameters in the robot configuration package), whereas the other methods (such as the slider in Joints view and Interactive Marker in Endpoint view) use a regular motion planner.
Congratulations! You have successfully learned how to teleoperate the robot using MoveIt Studio!