Skip to content

Commit

Permalink
Merge pull request #4 from Kinovarobotics/release/2.2.0
Browse files Browse the repository at this point in the history
Push release 2.2 to master
  • Loading branch information
alexvannobel authored Feb 26, 2020
2 parents 997b0af + 4c8a0d4 commit e5ac39f
Show file tree
Hide file tree
Showing 10 changed files with 328 additions and 76 deletions.
24 changes: 13 additions & 11 deletions simplified_api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,17 @@ This software has been tested on **Ubuntu 16.04 (64-bit)** and **Windows 10**

## Download instructions

You can download the latest firmware package for the Gen3 from [here](https://artifactory.kinovaapps.com/artifactory/generic-local-public/kortex/gen3/2.0.0/Gen3-2.0.0.swu).

You can download the latest Gen3 release notes from [here](https://artifactory.kinovaapps.com/artifactory/generic-local-public/kortex/gen3/2.0.0/RN-001_KINOVA_Gen3_Ultra_lightweight_robot-Release_Notes_EN_R04.pdf).

## Installation Instructions
You can access the latest release of the MATLAB adaptor [here](https://artifactory.kinovaapps.com/artifactory/generic-local-public/kortex/matlab/simplified_API/2.0.0/matlab_simplified_api_2.0.0.zip) on the Kinova Artifactory.
You can access the latest release of the MATLAB adaptor [here](https://artifactory.kinovaapps.com/artifactory/webapp/#/artifacts/browse/tree/General/generic-local-public/kortex/matlab/simplified_api/) on the Kinova Artifactory.

Uncompress the MATLAB adaptor folders from the downloaded archive.
### Windows Operating System
From the Kinova Artifactory:
* Expand `kortex/matlab/simplified_api` to see the release folders
* Right-click on the desired release folder
* Select `Download` in the context menu
* Choose the desired Archive Type
* Click on `Download`
* Extract the MATLAB adaptor folders from the downloaded archive.

## Build instructions

Expand All @@ -48,11 +51,8 @@ sudo apt install build-essential pkg-config
```

### How to build
- Open MATLAB and navigate to the `mex-wrapper` folder.
- Add the current folder and all of its subfolders to the MATLAB path.
- Run the script `compileKortexMex.m` and wait until its completion.

You are now ready to use the KORTEX™ MEX (MATLAB executable) interface.
Refer to the dedicated page for [Setup](documentation/setup.md)

## Usage

Expand All @@ -62,11 +62,13 @@ There are two ways to interact with the robot via MATLAB.
2. Using the MATLAB System object `kortex` (which itself uses the KORTEX™ API MEX interface)

The KORTEX™ API MEX interface is the best option for controlling the arm via a MATLAB script.
The `kortex` System object on the other hand is intended for dynamical simulations of the robot as part of a system in [Simulink](https://www.mathworks.com/help/simulink/define-new-system-objects.html).
The `kortex` System object on the other hand is intended for dynamical simulations of the robot as part of a system in [Simulink](https://www.mathworks.com/help/simulink/define-new-system-objects.html).

For more information on both options:

* [MEX interface](documentation/mex_interface.md)
* [System object](documentation/system_object.md)

In addtion, MATLAB Code Generation support for generating a ROS2 node and deploying the `kortex` System Object node directly on a NVidia Jetson Xavier platform is available. For more information, refer to the [ROS2 Code Generation on Jetson Target](documentation/setup.md#ROS2-Code-Generation-on-Jetson-Target) section in the Setup page.

For more information on MATLAB code generation, see this [Mathworks documentation page](https://www.mathworks.com/help/mpc/code-generation.html).
40 changes: 28 additions & 12 deletions simplified_api/documentation/data_structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,22 @@ This is a data structure returned by most of the functions of the MEX interface.
| uint32_t | code | A general [error code](#error-code-list) associated with this error. Most users will not need to work with this value because it does not tell much and is used internally in the Kortex API. |
| uint32_t | sub_code | An [error sub code](#sub-error-code-list) that gives more information about the error. Most users will prefer to use this value instead of the general code.

<a name="MotorFeedback"></a>
## MotorFeedback

| Type | Name | Description |
|:-----:|:----:|:-----------:|
| uint32_t | motor_id | MessageId |
| uint32_t | status_flags | Status flags |
| uint32_t | jitter_comm | Jitter from the communication (in microsecond) |
| double | position | Position of the gripper motor (in Percentage 0-100%) |
| double | velocity | Velocity of the gripper motor (in Percentage 0-100%) |
| double | force | Force of the gripper motor |
| double | current_motor | Electric current of the gripper motor (in mA) |
| double | voltage | Voltage of the gripper motor (in V) |
| double | temperature_core | temparature of the core (in Celsius) |
| double | temperature_motor | temparature of the gripper motor (in Celsius) |

<a name="GripperFeedback"></a>
## GripperFeedback

Expand All @@ -126,13 +142,7 @@ This is a data structure returned by most of the functions of the MEX interface.
| uint32_t | warning_bank_a | Warning bank A (see `GripperConfig.SafetyIdentifier`) |
| uint32_t | warning_bank_b | Warning bank B (see `GripperConfig.SafetyIdentifier`) |
| uint32_t | motor_count | Motor count on the gripper. |
| uint32_t\[GRIPPER_MAX_MOTOR_COUNT\] | motor_id | Motor ID |
| double\[GRIPPER_MAX_MOTOR_COUNT\] | motor_position | Position of the gripper fingers in percentage (0-100%) |
| double\[GRIPPER_MAX_MOTOR_COUNT\] | motor_velocity | Velocity of the gripper fingers in percentage (0-100%) |
| double\[GRIPPER_MAX_MOTOR_COUNT\] | motor_current_motor | Current comsumed by the gripper motor (mA) |
| double\[GRIPPER_MAX_MOTOR_COUNT\] | motor_voltage | Motor Voltage (V) |
| double\[GRIPPER_MAX_MOTOR_COUNT\] | motor_temperature_motor | Motor temperature. (degrees Celsius) |

| [MotorFeedback](#motorfeedback)\[GRIPPER_MAX_MOTOR_COUNT\] | motor | Feedback of all gripper motors |

<a name="InterconnectFeedback"></a>
## InterconnectFeedback
Expand All @@ -158,6 +168,16 @@ This is a data structure returned by most of the functions of the MEX interface.
| double | difference_count_b | |
| [GripperFeedback](#gripperfeedback) | gripper_feedback | Feedback data from gripper (if attached) |

<a name="DistortionCoefficients"></a>
## DistortionCoefficients

| Type | Name | Description |
|:-----:|:----:|:-----------:|
| double | k1 | First radial distortion coefficient |
| double | k2 | Second radial distortion coefficient |
| double | k3 | Third radial distortion coefficient |
| double | p1 | First tangential distortion coefficient |
| double | p2 | Second tangential distortion coefficient |

<a name="IntrinsicParameters"></a>
## IntrinsicParameters
Expand All @@ -170,11 +190,7 @@ This is a data structure returned by most of the functions of the MEX interface.
| double | principal_point_y | Vertical coordinate of the principal point of the image, as a pixel offset from the top edge |
| double | focal_length_x | Focal length of the image plane, as a multiple of pixel width |
| double | focal_length_y | Focal length of the image plane, as a multiple of pixel height |
| double | k1 | First radial distortion coefficient |
| double | k2 | Second radial distortion coefficient |
| double | k3 | Third radial distortion coefficient |
| double | p1 | First tangential distortion coefficient |
| double | p2 | Second tangential distortion coefficient |
| [DistortionCoefficients](#distortioncoefficients) | distortion_coeffs | Distortion Coefficients |


<a name="RotationMatrix"></a>
Expand Down
Binary file added simplified_api/documentation/images/Build&Run.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added simplified_api/documentation/images/Run.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit e5ac39f

Please sign in to comment.