Skip to content

Instructions to calibrate the Kinova Arm

Adam Allevato edited this page Jul 19, 2019 · 10 revisions

Ref Document: http://kinovarobotics.com/wp-content/uploads/2015/03/Kinova-SDK-User-Guide-1.0.6.pdf

Setup

  • Set up the arm vertically by mounting it to a sturdy table.
  • Install the Kinova Jaco2 arm SDK.
  • If the installation throws an error of the permissions: run the commands inside the installSDK64.sh separately on the terminal. Especially, give the permissions to the ./jaco2Install64_1.0.0 using: sudo chmod a+x ./jaco2Install64_1.0.0. You may also need to run the installation file with sudo.
  • If the arm is not detected through the usb interface (when the arm is plugged in and turned on, lsusb should show a device with 22cd) You may also need to add Kinova's udev rules to /etc/udev/rules.d/.

(NOTE: Refer to this link for help regarding Qt 5.5 installation on Ubuntu 16.04: https://www.lucidar.me/en/dev-c-cpp/how-to-install-qt-creator-on-ubuntu-16-04/)

Position Calibration

  • Navigate to JACO2SDK/GUI directory and open the development center GUI: LD_LIBRARY_PATH=/opt/Qt/5.5/gcc_64/lib ./DevelopmentCenter
  • Open the monitor and virtual joystick.
  • Eyeball the position of the actuators to be in perfect vertical position (Use the virtual joystick to move the joints) and each actuator in a 180 deg mode. Note: You can monitor the angle of each actuator under the monitoring/angular tab
  • Under Advanced tab → Zeroing option: Specify the index of each actuator (base actuator index =16, rest incrementally away from the base). Update the zero position for each actuator. Note that, for a 7-DOF arm the actuator indices are incremented from 16-22.
  • Turn the arm off and on again.

Torque Calibration

  • Check if at home position (all actuator at 180) all sensors are displaying nearly zero current values. Note: You can monitor the current on each actuator under the monitoring/angular tab
  • Zero the torques for all actuators.

Parameter Estimation:

  • Compile and run the gravity estimation code located here. It will run for 10-15 minutes and generate the parameter file. Note: The arm will run on its own, but the operator must be ready to push estop button in case the arm collides with itself. In the case of collision, position calibration needs to be done again.

IFF USING Horizontal Configuration:

  • Set up the arm horizontally on Prentice/Poli
  • Use a Windows machine with the Kinova driver, SDK, and Development Center installed.
  • Connect to the arm using USB.
  • Open the Development Center
  • Verify that the arm is connected (the serial number will appear in the upper right of the development center)
  • Open both the Monitoring and Virtual Joystick panels
  • Using the Virtual Joystick panel, jog the arm to an upright position (pointing up in the world frame) one actuator at a time. The joint angles should be, in order: 270, 90/180/270( depending on arm mounting), 180, 180, 180, 180, 180
  • the goal is for the arm to be pointing up in world space. If you have to deviate from the angles above because the arm is not mounted perfectly, that's fine.
  • Close the Virtual Joystick and Monitoring panels
  • Open the Advanced Settings panel
  • Use the "Torque zero" section to zero the torque value for the second actuator only. Note the Info panel talking about actuator addresses - the joint Address to use is not 1, or 2, but actually 17. So type 17 for the Address and press the Apply button.

Transfer Param File

  • Copy over the new ParametersOptimal_Z.txt file to kinova_bringup/launch/config/ on your robot PC
  • Restart the robot, and test by activating torque mode in the Torque Controller GUI, or running the j2s7s300_driver/start_force_control service on Vector1