IvoD1998 / Staubli_ROS2

ROS2 driver for Staubli robots running a CS9 controller
3 stars 2 forks source link

Cannot load application on CS9 #2

Closed yshen-hss closed 4 months ago

yshen-hss commented 5 months ago

I followed instructions to set the CS9/teach pendant/development laptop, but there seemed to be multiple bugs in the codes. For example, after I uploaded the codes, and loaded from disk on teach pendant, it shows Cannot load application 'Disk://ros_server/ros_server.pjx' - error in a program (see event logger) (File dataStreamer.pgx-line 26) '$getJntSpeedCmd' : undefined function

If I comment out the line 26, it would report other errors like: (File motionCtrlVel.pgx-line 26) '$velJoint' : undefined function

IvoD1998 commented 5 months ago

Hello,

If I'm not mistaken, these are functions originating from the velocity and motion expantion packages offered by Staubli. As is stated, it is required to have the expansions installed in order for this driver to work. Can you verify that you have installed them correctly on your robot controller?

Regards

yshen-hss commented 5 months ago

@IvoD1998 I am not sure how to have the velocity and motion expansion packages installed, could you instruct? I only have ROS 2 Humble installed on my computer, do I need to install ROS 1 to build them? This one seems to be CS8 only: https://github.com/FAU-FAPS/adaptive_motion_control

IvoD1998 commented 5 months ago

This driver has been based on the work given by FAU-FAPS, but has updated it to function on CS9 controllers on ROS2. The motion and velocity add-ons are completely unrelated to the ROS side of the driver, so there is no need to have ROS1 for any compilation. You should take the following steps:

  1. Download the velocity and motion add-ons for your specific robot controller software version via the staubli software portal, which you can access when you have a staubli account.
  2. Via the Robotics Software Suite on windows, in the initialisation of your controller, you can add the add-ons to the controller, which so they are used when the code is transferred to it.
  3. Send the VAL3 driver compontents (ros_libs and ros_server) to the controller via the transfer manager or another FTP server like WinScp.

That should cover it. In theory you should only need to install the motion add-on, but it can't hurt to include the velocity add-on as well.

To conclude, your problem should be solved on the Windows/VAL3 side of the configuration, not the ROS side.

Hope this helps!

yshen-hss commented 5 months ago

@IvoD1998 Very helpful information. I did not know that the add-ons need to be added via the SRS. Thank you very much.

yshen-hss commented 4 months ago

I consider it solved. Thanks, I am going to close the issue now.

saskot commented 3 months ago

Hello I am trying to find those velocity and motion extensions on their site, but cant find any. Do you have some idea where to find them? is it paid extension? Using cs9 controller same error message poped up.

IvoD1998 commented 3 months ago

Hi Saskot

First, you have to make a Staubli account. Once that has been approved, you can login to the MyStaubli portal, which brings you to the software library. Inside the software library, you need to select the staubli robotics controls tab, and select your controller version (which can be found via the teach pendant). From here, you should be able to download the extensions and install them as required.

Hope this helps!

saskot commented 3 months ago

Hello thanks for the clarification, I have managed to download them Velocity and Motion expansion, install them, and see them in SRS as checked marks but after save all, and transfering new controller with ros_server and ros_client yet i cant start the ros_server. (checked correct version of velocity and motion expansion) I got same error message getJntSpeedCmd undefined funcition. and Cannot load application Disk://ros_server/ros_server.pjx - error in a program. Is there anything that i have missed? Files (ros_server) are added under VAL3_applications. I used transfer manager in SRS. CS9 controller Staubli TX2Touch-90L

IvoD1998 commented 3 months ago

I have added some more info regarding this in the README. What I expect you still need to do, is transfer the .so files of the expansions onto the physical robot contoller via winSCP. They should be placed in the app folder of the controller.

saskot commented 3 months ago

Hello onece again. I have tried a lot of solutions to paste the .so file under /sys/app folder but havent had any success. neither by winSCP nor total commander. with ethernet cable or without. default or maintainer user. Every time i try to move .so files there access is denied.

IvoD1998 commented 3 months ago

For these problems, I would recommend contacting Staubli directly for assistance with the installation of the add-ons, as this is a fully Staubli-related issue separate from the ROS driver component.