next up previous
Next: Collision sets Up: Keyboard commands and mouse Previous: Configuration database and task


Mouse interface

When the graphics window is in examination mode (see [*]), the mouse can be used to rotate/move the entire scene. This is handled by Open Inventor.

When in input/selection mode, the mouse can be used to select robots and individual robot links (use the left mouse button). The status output in the shell window shows which robot and joint/link is currently selected:

  Picked joint & link: <picked-joint>
  Picked robot: <picked-rob>

Once a robot link has been selected by clicking on it, the configuration can be modified by changing individual DOFs (parameter mode), by dragging links with a 'rubber' band (Cartesian mode) or by clicking on target points for a robot's end-effector (target mode):

Parameter mode
In parameter mode (default), the user can click on a robot link and then use the cursor keys to increase/decrease the corresponding DOF parameter (in steps), typically a joint angle. If more than one DOF affect the picked link (e.g., a free-flying robot), then press SHIFT and use the second mouse button to switch through these DOFs (observe how the status output next to 'Picked joint & link' in the shell window changes). To change the step size, use the SPACE (or NUM5) command [*].

Cartesian mode
In Cartesian mode, a cross cursor appears in the graphics window that can be moved in space with the cursor keys (plus PGUP/PGDN). See SPACE (or NUM5) command [*] to change the step size. The user can then click on a robot link to attach a rubber band between the selected point on the robot and the center of the cross cursor. The robot then follows the cross cursor. This allows to move the end-effector in Cartesian space, e.g., along a line in workspace. Note that the Cartesian mode works only if the function mpk_optimize() in file mpk_opt.cpp is implemented (we cannot include this function in our package, for copyright reasons, since the implementation that we use is taken from the book 'Numerical Recipes in C').

Target mode
In target mode, the user first chooses a robot by clicking on an arbitrary link. Once a robot is selected, clicking on an obstacle moves the robot so that its trace point comes closer to the selected point on the obstacle. The 'trace point' is usually a point at the end-effector (see documentation in file doc/mpk_new/index.html on how to define new robots). Since this is an inverse-kinematics problem, the solution may not be unique or not exist at all. Fmstudio uses an incremental distance minimization approach, so several clicks on the obstacle may be necessary to move the robot to its final location. Like the Cartesian mode, the target mode works only if the mpk_optimize() function in the file mpk_opt.cpp is implemented (which it is not by default).

To switch through these modes, press F1 (see [*]). Note that for Cartesian/target modes, the function mpk_optimize() must be implemented (we use code from the book 'Numerical Recipes in C' which we cannot include for copyright reasons).


next up previous
Next: Collision sets Up: Keyboard commands and mouse Previous: Configuration database and task
Mitul Saha 2003-03-10