Kinovarobotics / kinova-ros

ROS packages for Jaco2 and Mico robotic arms
BSD 3-Clause "New" or "Revised" License
371 stars 318 forks source link

What is specific to kinova-ros to indigo? Can I upgrade to kinetic? #117

Closed sjhansen3 closed 4 years ago

sjhansen3 commented 6 years ago

I am considering upgrading to kinetic to support more modern sensor drivers and I want to know if I will be able to use the kinova drivers or which ones will need modification.

-Steve

mpmendes commented 6 years ago

Hi Steve,

I'm using j2n6s300 with Ubuntu 16.04 and Kinetic. I don't know if it works for other robot versions, but if I'm not mistaken I only had to change the zero dimensional boxes in some files. Check this: https://github.com/Kinovarobotics/kinova-ros/issues/103

I had other minor issues with some moveit code, that I don't remember...

Miguel

sjhansen3 commented 6 years ago

Thanks Miguel! Would you be willing to share your code? Perhaps create a PR on a Kinova branch so others can see the changes that were made. :)

-Stevr

mpmendes commented 6 years ago

I have a pending PR, not exactly for these specific changes yet, because they would only work for the 16.04 users. Check #112, and then commit 0f6e8b3. If you see I accidently pushed all my changes, but then reverted the ones that would be of no use for the 14.04 users. I think you can get an idea :)

martine1406 commented 6 years ago

Hey guys

I do not know if this can help you, but we have a collaborator who has forked our repo and has made the required changes to make it work on Ubuntu 16.04/ROS Kinetic. Here is the link to the repo: https://github.com/CNURobotics/kinova-ros/tree/kinetic_devel

sjhansen3 commented 6 years ago

Hey @mpmendes and @martine1406 I went ahead and installed the CNURobotics branch - all seems to work well. I am able to run the arm in sim with moveit.

I am however not able to connect to the arm. The following command: $ roslaunch kinova_bringup kinova_robot.launch kinova_robotType:=j2s7s300

results in:

`[ERROR] [1519888227.973025135]: KinovaCommException: Could not get general information about the device (return code: 1015)

[j2s7s300_driver-2] process has died [pid 26491, exit code -11, cmd /home/baymax/catkin_ws/devel/lib/kinova_driver/kinova_arm_driver j2s7s300 __name:=j2s7s300_driver __log:=/home/baymax/.ros/log/9e2de776-1d1f-11e8-8ff3-f832e4bea1c5/j2s7s300_driver-2.log]. log file: /home/baymax/.ros/log/9e2de776-1d1f-11e8-8ff3-f832e4bea1c5/j2s7s300_driver-2*.log`

I don't believe it to be an issue with the usb connection on the linux end. here is an output from dmsg after plugging in the device: [35491.206671] usb 3-10.1: new full-speed USB device number 24 using xhci_hcd [35496.389468] usb 3-10.1: New USB device found, idVendor=22cd, idProduct=0000 [35496.389473] usb 3-10.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [35496.389476] usb 3-10.1: Product: Kinova Robotic Platform [35496.389479] usb 3-10.1: Manufacturer: Kinova inc.

Any suggestions/ideas for what could be going on? I noticed in your commits @mpmendes that you are using ethernet - is this because you found issues with usb or is it a preference?

mpmendes commented 6 years ago

If I'm not mistaken, the error code 1015 is when a device has not been found... if you check the header file KinovaAPICommLayerUbuntu.h you can see the error codes definition. I've never had that error, so I don't really know what is wrong. I've had the error 1010 but that is when the robot is not connected/on.

@sjhansen3 I've used the USB connection in the past but right now I'm trying to develop a teleoperation system with this robot. That's why I've been working with the ethernet connection. I've had no issues with the USB prior to this, It's just that with that I need to be close to the robot.

martine1406 commented 6 years ago

Hi guys

In this case, it seems to be the GetGeneralInformation function that fails. Maybe the APIs are not up to date? You can find the latest version on the kinova website (supporting the 7 dof). Just a guess here. I have not tested the CNURobotics branch yet. If I have time today, I can try quickly to connect with a 7 dof at work.

sjhansen3 commented 6 years ago

I think that could be it - I'll try pulling from master on kinova-ros to incorporate those API changes.

sjhansen3 commented 6 years ago

So I was being dumb - I did not have the SDK installed. I am still having problems installing the SDK on ubuntu 16.

Is this the correct driver? It just hangs when I run: https://drive.google.com/file/d/1dDk3BoWXXT68u9_syI5O3J5PPg66lF7X/view

mpmendes commented 6 years ago

I have that one installed. My firmware version is 6.1.9 I think...

sjhansen3 commented 6 years ago

@mpmendes could you zip up and post the installer for 6.1.9? The kinova-api at the link above is versioned 6.0.1

mpmendes commented 6 years ago

I installed my SDK through that version though :/ . I'm almost certain my firmware version is 6.1.9, but I can only confirm that tomorrow morning when I get to the lab.

sjhansen3 commented 6 years ago

okay - perhaps @martine1406 has something to say about it too. really strange that that installer hangs. I tried a few others and those didnt hang, but since they crash, im guessing because they are for jaco1 not jaco2.

Thanks again for all your help. :)

mpmendes commented 6 years ago

What do you mean by "hang"? You can't download?

sjhansen3 commented 6 years ago

Here is my folder:

~/Downloads/kinova_downloads/Ubuntu/16_04/64 bits$ ls installSDK64.sh KinovaAPI-6.0.1-amd64.deb Read me first SDK_JACO2_1.4.0_install64 SDK.png

Here is the command I run: ~/Downloads/kinova_downloads/Ubuntu/16_04/64 bits$ ./installSDK64.sh KINOVA SDK INSTALLATION This operation require root privilege. (Reading database ... 323791 files and directories currently installed.) Preparing to unpack KinovaAPI-6.0.1-amd64.deb ... Unpacking kinova-api (6.0.1) over (6.0.1) ... Setting up kinova-api (6.0.1) ...

And that is where the installation "hangs" It does not move past setting up kinova-api. The JACO 2 SDK Installer setup shows 0% progress and the buttons are unresponsive.

mpmendes commented 6 years ago

Hm.. I remember that I also had some problems installing through the terminal. Edit the SDK_JACO2_1.4.0_install64 and check the allow executing file as a program. Double click and try again... It should work now EDIT: Try using sudo as well .. It might be a permissions issue

sjhansen3 commented 6 years ago

alright, so the issue was sudo. That seems rather unintuitive and really should be fixed so that an error gets thrown if the command is called without super user access.

sjhansen3 commented 6 years ago

To conclude this issue here is what I did to upgrade to kinetic:

  1. Clone and merge with the upstream master (kinova-ros/master), handle all merge conflicts (mostly accepting upstream changes, a couple additional changes need to be made to xacro files)
  2. Download the SDK and make sure to use sudo when calling the install script. Also make sure to chmod +x for all the executable files.
sjhansen3 commented 6 years ago

Created PR https://github.com/Kinovarobotics/kinova-ros/pull/122 to add documentation and tie in accurate robot code into kinetic.

martine1406 commented 6 years ago

Hi guys

Miguel, thanks for your support here. Yes, this may be non-intuitive that you have to run the installer in sudo. I got mixed up myself when I did it the first time, but I was told by our software team that this is something common for Linux users. In any case, I agree with you that this should be documented. I'll check the pull request. thanks

patlican23 commented 6 years ago

Hi

Btw, I recently made a PR for Ros Kinetic to work on Ubuntu 16.04. I just noticed this comment https://github.com/Kinovarobotics/kinova-ros/issues/117#issuecomment-367131134 linking to a repo with this change. Is there a reason why the change hasn't been merged?

sjhansen3 commented 6 years ago

I created a pull request for this a while back and it was merged into kinova-ros-beta. I think there is probably a need for a naming change, perhaps they can create a kinetic devel branch to make this more clear.

GianlucaCerilli commented 6 years ago

Hi @martine1406 ,

I am on Ubuntu 16.04.5 and I am building the kinetic version of Kinova at branch kinetic_devel. There are a few errors related to Eigen3 and MoveGroup that is deprecated.

Can you please update the repo? Because I am having some troubles with it. Thank you very much!

martine1406 commented 6 years ago

Hi @GianlucaCerilli

We do not maintain this branch. However, I can tell you that I used the kinova ros package on ROS Kinetic. What I did is pull the master branch, then switch to commit 94c25e19. I did not have any problem at compilation (catkin_make).

Thank you Martine

martine1406 commented 6 years ago

Hi @GianlucaCerilli

I am not an expert either unfortunately. On github, you can switch (git checkout) to a branch, or you can switch to a specific commit and then create yourself a branch or something. I am using catkin_make. I do not know if using catkin build makes a difference or not. I recommend you use catkin_make.

polthergeist commented 4 years ago

THere is no more activity on this issue so I will close it but feel free to reopen it if you have any other question.