Skip to content

Latest commit

 

History

History
128 lines (95 loc) · 5.44 KB

README.md

File metadata and controls

128 lines (95 loc) · 5.44 KB

This is not used anymore! Use this https://github.com/iki-wgt/jaco-ros.git instead!

JacoROS

This is a Hydro and Indigo (Ubuntu 12.04 and Ubuntu 14.04) compatible version of SankarNatarajan's JacoROS package with a MoveIt! config needed to run the Kinova Jaco arm with MoveIt! The package has been cleaned up (deleted arm_navigation stuff) and catkinized.

Its possible to control the arm via RViz and move_group api. A MoveIt! compatible gripper controller is included.

Planned improvements:

  1. Gazebo worked with groovy but has not been testet with hydro/catkin yet (Needs a different arm controller config than the real arm)
  2. IK fast plugin

Installation:

sudo apt-get install ros-hydro-desktop-full ros-hydro-moveit-full mono-devel

Create a catkin workspaces

cd <catkin_ws>
catkin_make
source devel/setup.bash

Clone the workspace from gitlab

cd <catkin_ws>/src
wstool init
wstool set JacoROS --git https://github.com/fivef/JacoROS.git
wstool update JacoROS

or from internal gitlab:

wstool set JacoROS --git [email protected]:ros/jaco_driver.git --version=hydro
wstool update JacoROS

Add this to your .bashrc for automatically sourcing the workspaces each time you open a terminal (replace <your_catkin_workspace>):

source <your_catkin_workspace>/devel/setup.bash

##For Jaco USB access

Copy Jaco udev rule to your udev rules folder

cd to the cloned "JacoROS" folder (e.g. cd ~/catkin_ws/src/marvin_robot/sub_jacoros)
sudo cp udev/99-jaco-arm.rules /etc/udev/rules.d/

Copy the Kinova folder from the jaco_ros package to you home folder or alternatively install the Jaco driver as described in the Jaco documentation (docs and bins can be found in the "Jaco Software" folder)

cp -r Kinova ~

###Problem with USB 3.0 (xHCI) June 2014 on Ubuntu 12.04 and 14.04 Disable USB 3.0 in the BIOS chipset settings to enable eHCI.

Start components

roslaunch jaco start.launch
roslaunch jaco_moveit_config bringup_moveit_planning_execution.launch

The old documentation:

Package Description

  1. jaco_driver
    This ROS stack concerns about the jaco arm control. This stack has the following packages
  • CSharpWrapper
    This is not a ROS package. This C# wrapper communicates with other dlls provided by Kinova. It is thought that it will be easier to write one dll which can communicates with all other dlls(provided by the kinova). Which in turn makes it easier for C++ wrapper. In order to communicate with jaco through C++, one needs to use this wrapper
  • jaco
    This package starts and communicates with jaco arm. It will start the jaco node, which in turn update some functionalities
    1. jaco joint publisher - reads the joint angles from the jaco and publish it.
    2. jaco action controller - its uses ROS action lib to moves jaco in joint space or in cartesian space. It also uses action lib for opening or closing fingers.
    3. jaco - its a mono wrapper for communicating between C++ and C#Wrapper dll.
  • jaco_description
    This package contains jaco arm description. i.e urdf file and also xacro file for simulation('gazebo')
  • jaco_arm_kinematics
    This package contains kinematics plugin for jaco arm. It uses openrave for inverse kinematic and KDL for forward solution.
  • jaco_arm_navigation
    This package does the motion planning for the jaco arm. It will take care of self-collision.
  • jaco_smach Ros smach used to pick and place task for jaco arm and other simple stuff.
  1. jaco_gazebo
    Its a ROS stack concerning the jaco simulation(gazebo)
  • gripper_gazebo
    Its a action lib for opening and closing gripper in gazebo
    • jaco_gazebo_controller_configuration
      This package has the controller parameters for jaco arm and jaco gripper.

How to use these packages in Real Jaco arm

  • roslaunch jaco start.launch
    This launch file intialise the jaco arm api. It will also start publishing the joint angle and starts the action lib server for moving the jaco.
  • roslaunch jaco_arm_navigation jaco_arm_navigation.launch
    This will launch jaco arm navigation package. Kinematics, motion planning the trajectory generation are done here.
  • rosrun jaco_arm_navigation move_jaco_joint_goal
    simple example for moving the jaco joint.

How to use these packages in Simulation

One of the main requirement while developing the simulation is to write programs which can be used in both real jaco and simulation jaco. The test code in jaco_arm_navigation package can also be used in Simulation.

  • roslaunch jaco_description jaco_gazebo.launch
    This launch file will start the gazebo with empty world then it will load jaco urdf file. Then it will launch a trajectory controller for jaco arm and its gripper. Finally a controller manager will be launched, currently we are using pr2 controller manager.
  • roslaunch jaco_arm_navigation jaco_gazebo_navigation.launch
    Here jaco_gazebo_navigation.launch is used instead of jaco_arm_navigation.launch, because of different action lib messages for controlling the arm.
  • rosrun jaco_arm_navigation move_jaco_joint_goal
    simple example for moving the jaco joint.
  • rosrun gripper_gazebo close_gripper / open_gripper
    simple example for closing or opening the jaco gripper.