Start of trail Force Dimension Write navigation bar

Table of Contents

Force Dimension Read

Beta

This block is currently a beta version. If you are using this block, we would appreciate any feedback at tech@quanser.com.

Initializes a connection to the Force Dimension haptic device and reads the position and orientation.

Library

QUARC Targets Beta/Devices/Third-Party/Force Dimension

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

qc_open_library('quarc_library_beta/Devices/Third-Party/Force Dimension')

Description

Force Dimension Read

The Force Dimension Read block can be used to read the Force Dimension end effector position and orientation in the world frame. The Force Dimension Read block also reads the gripper position, applied force and torque, and status of the device. This block has been tested with the Force Dimension sigma.7 device and should also support the omega.x and delta.x devices.

Limitations

CAUTION: Open Architecture Robot!

Warning When using this block, the Force Dimension haptic device becomes an open architecture system. This block is intended for mature and experienced engineers only! The user must understand the difference between an industrial controller and an open architecture controller. If it is unclear contact Quanser immediately at tech@quanser.com.

The user is solely responsible for the implementation of the open architecture controller! Quanser and Force Dimension are not responsible for any material or bodily damage that ensues from the use of this equipment.

All software using this block supplied by Quanser is only to be considered a sample and should not be used on a regular basis. The user should write their own open architecture control software.

Fully read this document as well as the Force Dimension Write block documentation before connecting the QUARC external PC to the Force Dimension device.

Safety Limit

Warning Every Force Dimension haptic device implements a safety feature that prevents the device from accelerating without control. If the device detects that the velocity of the end effector is higher than the programmed threshold limit, the forces are automatically disabled and the device brakes are engaged to prevent possible damage. See the specific Force Dimension device documentation for details. If the device engages the safety feature, the operating mode of the device will be changed from FORCE mode to BRAKE mode, which will be shown in the status output of the Force Dimension Read block.

Force and Torque Limitations

Warning The Force Dimension haptic devices have limits on the magnitude of force and torque that can be commanded. See the documentation for your specific Force Dimension device for details.

Sample time limitations

Warning The communication cycle of the Force Dimension device takes approximately 0.5ms. It is recommended that the sample time of the Force Dimension Read block be set to 1ms or slower to avoid sample delays.

Installation Requirements

Install In order to use the Force Dimension Read block, the Force Dimension drivers and SDK files must be installed. The SDK used for the Force Dimension Read block is the Force Dimension SDK version 3.7.3 or later, which can be downloaded from the Force Dimension website. First, install the SDK and drivers that are included with the Force Dimension device. Next, add the directory containing the dhd.dll (or dhd64.dll) file to the system PATH environment variable, e.g. C:\Program Files\Force Dimension\sdk-3.7.3\bin.

Install Note that the Force Dimension device must be calibrated each time it is powered on before it can be used. Refer to the documentation for your device for the proper calibration procedure. For exmaple, the sigma.7 device is calibrated by running the executable autoinit.exe in the bin directory of the Force Dimension SDK. This file must be run and allowed to finish calibrating before this block can be used.

Input Ports

This block has no input ports.

Output Ports

fd

A reference to the Force Dimension device that must be passed to the fd input port of the Force Dimension Write block. Failure to connect this signal to the Force Dimension Write block will result in an error being generated.

position

A 3-vector containing the (x, y, z) workspace position (in meters) of the device end effector. Refer to your device manual for more details on the device coordinate system.

orientation

A 3-vector containing the orientation angles (in radians) of the device end effector expressed as Euler angles of the wrist structure about the (x, y, z) axes. Refer to your device manual for more details on the device coordinate system.

gripper

A scalar containing the measured angle of the device gripper in radians. Refer to your device manual for more details on the device coordinate system.

force

A 3-vector containing the force vector applied to the device end effector in Newtons. Refer to your device manual for more details on the device coordinate system.

torque

A 3-vector containing the torque vector applied to the device end effector in Newton meters. Refer to your device manual for more details on the device coordinate system.

buttons

A 8-vector containing the button states. Refer to your device manual for more details on the device buttons.

status

A 20-vector of boolean values containing the device status codes. The following table lists all the status elements that are returned by the Force Dimension SDK version 3.7.3. Refer to your device manual for more detail on the device status codes.

Status Element

Status

0

Power

1

Connected

2

Started

3

Reset Mode

4

Idle Mode

5

Force Mode

6

Brake Mode

7

Torque Mode

8

Wrist detected

9

Error

10

Gravity

11

Timeguard

12

Wrist initialized

13

Redundancy

14

Force off cause

15

Locks

16

For future use

17

For future use

18

For future use

19

For future use

Parameters and Dialog Box

Force Dimension Read

ID

A number identifying the device to be used. Devices are numbered starting from 0.

Disable velocity threshold

To disable the safety feature where the brakes would be applied if the device's velocity is over the device dependent threshold.

Sample time

The sample time of the block. A sample time of 0 indicates that the block will be treated as a continuous time block. A positive sample time indicates that the block is a discrete time block with the given sample time.

A sample time of -1 indicates that the block inherits its sample time. Since this is a source block, only inherent the sample time when it is placed in a conditionally executed subsystem, like a Triggered or Enabled Subsystem, or in a referenced model.

To use the fundamental sampling time of the model, set the sample time to qc_get_step_size, which is a QUARC function that returns the fundamental sampling time of the model.

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Not supported in a referenced model. Use in top-level model only.

QUARC Win64 Target

Yes

Not supported in a referenced model. Use in top-level model only.

QUARC Linux Nvidia Target

No

No

QUARC Linux QBot Platform Target

No

No

QUARC Linux QCar 2 Target

No

No

QUARC Linux QDrone 2 Target

No

No

QUARC Linux Raspberry Pi 3 Target

No

No

QUARC Linux Raspberry Pi 4 Target

No

No

QUARC Linux RT ARMv7 Target

No

No

QUARC Linux x64 Target

No

No

QUARC Linux DuoVero Target

No

No

QUARC Linux DuoVero 2016 Target

No

No

QUARC Linux Verdex Target

No

No

QUARC QNX x86 Target

No

No

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

No

No

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

No

No

* Compatible means that the block can be compiled for the target.

 

navigation bar