Skip to content

Towards building contact rich manipulation frameworks with the Kinova gen3 ultralightweight robots

Notifications You must be signed in to change notification settings

gautamigolani/myKINOVA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myKINOVA

Towards building contact rich manipulation frameworks with the Kinova gen3 ultralightweight robots.

Pre-Requisites

  1. Get Visual Studio 2019 by downloading 'vs_community__98951435.1629706453.exe' present in this repository.
  2. Install CMake. Please make sure that you select the option of adding CMake to the system PATH as shown below.
  1. Install Boost using these instructions. In case you run into an error while installing MinGW-w64, please follow the instructions here under the 'Installing the MinGW-w64 toolchain' section.

Follow the instructions under the MSYS link. Once done, go back to the previous page and continue with steps 4-7.

  1. Install Qt OpenSource
  2. Install Robotics Library

Build Robotics Library

  1. Download the source code and additional examples and extract the archives.
  2. In a cmd opened as administrator:
cmake -E tar x rl-0.7.0.zip
cmake -E tar x rl-examples-0.7.0.zip
cd rl-0.7.0
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -D CMAKE_INSTALL_PREFIX="C:\Program Files\Robotics Library\0.7.0\MSVC\14.1\x64" ..
cmake --build . --config Release --target INSTALL

Unpack myKINOVA

  1. Ensure your firewall is turned OFF (Windows Defender Firewall with Advanced Security).
  2. Clone this repository via Visual Studio. Make sure you have Git installed on your system. You can refer to section 2 (ignore 2a) and 3 here to learn more on the installation process.
  3. If you run into an error while cloning the repository, open powershell or command prompt --> navigate to the project directory and enter
git restore --source=HEAD :/
  1. Use the CMakeLists to set things up : Project -> Configure kortexApiCppExamples
  2. Build -> Build all

fin

Control strategies for single arm

Saturation function

In all the strategies listed below, the external torque used to drive the robot is limited by a saturation function. The purpose is to ensure no high torque is transmitted to the low-level controller of the robot. Note that this may have consequences in your application and will need to be adjusted to allow for high-torque or dynamical control behaviors.

The UDP need not operate at a high frequency, the low-level torque controller of the robot will still function. These control strategies allow to vary the following variables

Variable Name
$q$$_{des}$ Desired joint configuration
$\tau$$_{cmd}$ Joint torque command
$\tau$$_{ext}$ External torque

Mode 0 - Impedance control

Mode 1 - Impedance and torque control

Mode 2 - Torque control

Mode 3 - Gravity compensation

Note: Kinematic calibration is needed to ensure no drift.

Mode 5 - Impedance, torque and gripper control

About

Towards building contact rich manipulation frameworks with the Kinova gen3 ultralightweight robots

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.6%
  • MATLAB 0.5%
  • C 0.3%
  • CMake 0.2%
  • Python 0.2%
  • Batchfile 0.1%
  • Shell 0.1%