Kinova JACO Read End of trail navigation bar

Table of Contents

Kinova JACO Write

Deprecated

The Kinova JACO Write block has been deprecated and should not be used in new models.

Writes joint and finger position commands to the JACO (Gen1) robot.

Library

QUARC Targets Beta/Devices/Third-Party/Kinova/Robots/JACO

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/Kinova/JACO')

Description

Kinova JACO Write

The Kinova JACO Write block is used to send joint and finger commands to the Kinova JACO 6 degree-of-freedom (DOF) robot.

Limitations

CAUTION: Open Architecture Robot!

Warning When using this block, the JACO robot 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 Kinova are not responsible for any material or bodily damage that ensues from the use of this equipment.

Do not approach the robot when the arm or the controller are powered up! Install the robot in a safe location and ensure no personnel approaches the robot while it is in operation or while the arm is powered.

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 Kinova JACO Read block documentation before connecting the QUARC external PC to the JACO robot.

Operating Procedure

Warning The robot controller communicates with the QUARC external machine (i.e., the QUARC target machine which is running the QUARC model) via two Controller Area Network (CAN) bus links. The exchanged data are transmitted via the CANbus protocol and the QUARC target machine must have a CANbus connection to the robot.

Joint Rate Limitations

Warning The JACO robot is designed to operate within specific velocity and current limitations. The table below outlines the limitations of the JACO's joints for the Standard JACO robot. It is up to the user to regulate the rate of commands to the JACO in the user's controller.

Big Actuators (Joints 1, 2, and 3)

Small Actuators (Joints 4, 5, and 6)

Maximum RPM

8 RPM

10 RPM

Maximum Command/sec

48 deg/s

60 deg/s

Maximum repetitive current

4 A

2 A

The table below outlines the limitations of the JACO's joints for the Fast JACO robot.

Big Actuators (Joints 1, 2, and 3)

Small Actuators (Joints 4, 5, and 6)

Maximum RPM

16 RPM

16 RPM

Maximum Command/sec

90 deg/s

90 deg/s

Maximum repetitive current

4 A

2 A

Joint angle limitations

Warning The JACO robot's joints are designed to operate within minimum and maximum angle limits. The table below outlines the joint angle limits for the JACO robot.

Joint #

Minimum angle (degrees)

Maximum angle (degrees)

1

-360,000

360,000

2

42

318

3

17

343

4

-360,000

360,000

5

-360,000

360,000

6

-360,000

360,000

Sample Time Limitations

Warning The communication cycle of the JACO takes approximately 1.2ms. The Kinova JACO Read block parameter Use separate thread for read and write operations is enabled by default, which executes the JACO communication cycle in an asynchronous thread. If this option is not selected, it is recommended that the sample time of the JACO blocks be set to 2ms or slower to avoid sample delays.

Installation Requirements

Install The Kinova JACO Write block uses a specific CAN controller card to interface with the JACO. The CAN card used with the JACO is the Peak System PCAN-PCI Express Dual Channel opto-decoupled card (part number IPEH-003027). Note: PCAN PCI dual-channel cards may also be used. The JACO provides two CANbus cables labeled CAN 1 and CAN 2, which must be connected to the Peak CAN card channels 1 and 2, respectively.

In order to use the Kinova JACO Write block, the Peak CAN drivers and API files must be installed. The API used for the Kinova JACO Write block is the PCAN-Basic API (April 2011 or later), which can be downloaded from the PEAK-System website. First, follow the instructions to install the PCAN drivers that are included with the Peak CAN device. Next, navigate to the directory PCAN-Basic API on the installation disk and copy the PCAN-Basic API directory to the installation directory, e.g. C:\Program Files\PCAN. Finally, add the directory containing the PCANBasic.dll file to the system PATH environment variable, e.g. C:\Program Files\PCAN\PCAN-Basic API\Win32.

Input Ports

jaco

A reference to the JACO robot that must be connected to the jaco output port of the Kinova JACO Read block. Failure to connect this signal to the Kinova JACO Read block will result in an error being generated.

command

A 9-vector containing the six joint angle commands (in degrees) and three finger positions commands (in counts). Note: the finger actuators are presently disabled.

enable

An enable signal that is used to control when new command values are to be sent to the JACO. A value of 0 (false) disables the Kinova JACO Write block and the joint/finger commands are not sent. A value of 1 (true) enables the Kinova JACO Write block and commands values are sent to the JACO. If the Kinova JACO Read block specifies the option to perform read and write operations in a separate thread, then this signal enables the Kinova JACO Write block to copy the latest command values to that thread. If the JACO blocks are not using an asynchronous thread for read and write operations, this enable signal will enable or disable the communication cycle (reads and writes) between the host computer and the JACO.

Output Ports

This block has no output ports.

Parameters and Dialog Box

Kinova JACO Write

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.

Only one set of Jaco Read/Write blocks is allowed in a model.

QUARC Win64 Target

No

No

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