Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to improve the max trajectory size of abb_driver #151

Closed
YuanfaTao opened this issue Jun 19, 2018 · 10 comments
Closed

How to improve the max trajectory size of abb_driver #151

YuanfaTao opened this issue Jun 19, 2018 · 10 comments

Comments

@YuanfaTao
Copy link

I've found that the MAX_TRAJ_LENGTH is defined in ROS_common.sys, which is 100.

https://github.com/ros-industrial/abb/blob/kinetic-devel/abb_driver/rapid/ROS_common.sys#L37

But, in my application, we may need download more than 100 trajectory points.

So, I have two questions:

i. why did you use 100 as the MAX_TRAJ_LENGTH, can we direct impove it?

ii. If we cannot improve the trajectory size by direct modifying ROS_common.sys, is there any other solutions?

Thanks!

@gavanderhoorn
Copy link
Member

@YuanfaTao wrote:

Why did you use 100 as the MAX_TRAJ_LENGTH,

because it was a suitable trade-off between maximum supported trajectory length and length of the array in rapid. Uploading trajectories is typically very fast (see #142), so there's no performance aspect to it.

can we direct impove it?

If you mean: can we change the value, then: yes. You should check the industrial_core side of things as well to make sure there are no assumptions about the value being 100 there, but I don't recall anything like that.

If we cannot improve the trajectory size by direct modifying ROS_common.sys, is there any other solutions?

Right now there is no other option (at least not if you don't want to develop it), abb_driver uses trajectory downloading. Streaming would remove this limitation, but will affect other aspects.

In the future we'll be migrating to an EGM+RWS based driver, which will not have this limitation.

@gavanderhoorn
Copy link
Member

See ros-industrial/industrial_core#147 for a related issue btw.

@gavanderhoorn
Copy link
Member

Closing due to inactivity.

Feel free to keep commenting on the issue though.

@jclinton830
Copy link

Is it possible to increase MAX_TRAJ_LENGTH?

When we tried to increase this value to 250 the controller was giving us type mismatch errors. Even though we just changed the number from 100 to 250.

@gavanderhoorn
Copy link
Member

Yes, it's possible, but you'll have to make sure to update your local copy of industrial_core as well, as the same maximum length is encoded there.

@jclinton830
Copy link

@gavanderhoorn Could you please point where exactly in the Industrial Core the changes should be made? I did a search for the MAX_TRAJ_LENGTH keyword in the industrial core directory and nothing came back on the search.

@jclinton830
Copy link

Tried to find where this is referenced within industrial core package. Have not been able to find where exactly this value has been encoded. Some help on where this is would be much appreciated.

@gavanderhoorn
Copy link
Member

gavanderhoorn commented Feb 15, 2019

Apologies for my delayed reply. And for the confusion.

There is a maximum nr points to a trajectory as specified in industrial_robot_client, but that is only for actual JointTraj messages (here), but those are not used with abb_driver.

abb_driver uses a subclass of JointTrajectoryDownloader which just loops over all points in a trajectory (here).

@jclinton830
Copy link

Hi, thanks for getting back. We solved the issue by deleting the ROS_trajectory variable from the program data in the controller, and by performing a rapid restart
on the controller after changing the constant from 100 to 2000.

@haijing66
Copy link

@jclinton830 hello, i have the same error with you. i tried to increase the value of MAX_TRAJ_LENGTH to 1000 the controller was giving us type mismatch errors. Can you describe in detail how you made it successful. thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants