Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

KINOVA KORTEX™ API Reference

Description

The official repository contains documentation and examples explaining how to use the KINOVA® KORTEX™ API client with C++ or Python. The repository has been tested on Windows 10, Ubuntu 16.04, Ubuntu 18.04 and Ubuntu 20.04.

Table of Contents

Licensing

This repository is licenced under the BSD 3-Clause "Revised" License

Role of Google Protocol Buffer in KINOVA KORTEX™ API

The KINOVA KORTEX™ API uses Google Protocol Buffer message objects1 to exchange data between client and server.

Google Protocol Buffer offers structured data objects with standard methods for each member field:

  • structured, nested objects
  • basic types and collections
  • getter/setter methods on basic types
  • iterators, dimension and appending methods on collections
  • many helpers (e.g. serialize/deserialize, I/O functions)

When using the KINOVA KORTEX™ API a developer will need to understand the Google Protocol Buffer feature set to maximize their efficiency.

Quick Start for C++ users

The following links provide some helpful guidance for C++ developer. You will find information about KINOVA KORTEX™ mechanism and some code examples.

Quick Start for Python users

To run the Python examples you will need to install the Python interpreter and the pip installation module.

Note that for C++ developers it could be useful to install the Python KINOVA KORTEX™ API to allow for quick tests and validations.

Here is some general information about the Python interpreter and the pip module manager.

Quick Start for modbus users

Since release 2.3.0, the KINOVA KORTEX™ API offers a modbus interface to communicate with the robot.

All the data is formatted according to this:

Download links

The latest download links for each arm type are reported in the table below:

Arm typeFirmwareRelease notesAPI
Gen32.8.02.8.02.8.0
Gen3 lite2.3.42.3.42.3.0

When following the link to Artifactory, to download the correct C++ API, you have to select the package for your architecture on the left-hand side tree view and then click Download on the right-hand side:

Artifactory

Previous releases

Build and Run instructions

C++ API
Python API

Reference

Useful Links

Kinova home page:https://www.kinovarobotics.com
Google Protocol Buffers home page:https://developers.google.com/protocol-buffers

About

Code examples and API documentation for KINOVA® KORTEX™ robotic arms

Resources

Stars

163 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages