Comments (8)
@shaun-edwards: Do you know where I can find the joint acceleration limits for ABB robots; is it possible to get them from RobotStudio?
from abb.
The joint acceleration limits are not publicly available on most robots. A good guess is 10 x max velocity (i.e. a joint can reach max speed in 0.1s). I believe the accelerations can be removed. The moveit package will need to be regenerated if the limits are removed/changed.
from abb.
@shaun-edwards wrote:
I believe the accelerations can be removed
Do we know what the defaults are that MoveIt would use in that case?
from abb.
Do we know what the defaults are that MoveIt would use in that case?
I currently have the same question... From what I am seeing currently, it seems MoveIt's default accel limits are conservative as the robot's motion is very slow to accelerate (when compared to the native hardware controller's behavior)
from abb.
Yep. I recognise that.
Problem is with most robots that acceleration profiles are also load dependent (as are the velocity profiles), so setting hard limits in the MoveIt configuration doesn't really always work.
from abb.
The ABB robot driver will not allow you to exceed acceleration/velocity limits. You could set them arbitrarily high and the robot will perform the trajectory the best it can. That being said, dense trajectories will always be executed slowly, as the robot motion controller struggles with these. See here for more info.
Do you have a particular need that you are trying to address? There might be a better option if I understood your use case.
from abb.
From a quick investigation, the default behavior seems to be as follows:
For the parameter server
For each joint: /robot_description_planning/joint_limits/[joint_name]/
- has_acceleration_limits = false
- max_acceleration = 0
Inside of IterativeParabolicTimeParameterization::applyAccelerationConstraints()
00368 double a_max = 1.0;
00369 const robot_model::VariableBounds &b = rmodel.getVariableBounds(vars[j]);
00370 if (b.acceleration_bounded_)
00371 a_max = std::min(fabs(b.max_acceleration_*acceleration_scaling_factor), fabs(b.min_acceleration_*acceleration_scaling_factor));
... which if I understand correctly, will result in MoveIt defaulting to 1 [rad/s/s] unless iptp is not called in all cases; not sure.
@gavanderhoorn do you have a best practice for adjusting MoveIt acceleration limits? Maybe set them to their highest limits in the moveit config and then use MoveIt's acceleration_scaling_factor to control based on (current) payload
@shaun-edwards I got here via Googling "moveit default acceleration limits". The application in question is using the kuka_rsi_hw_interface which implicitly enforces limits by faulting if you ask too much of it. My current problem, however, is that my accelerations are way too slow... which I think I can fix by setting limits in the moveit config...
btw, sorry if this conversation should be somewhere else
from abb.
btw, sorry if this conversation should be somewhere else
I'd say it's a good place, as #44 (comment) asks for what "the defaults are". Seems we got an answer :).
@gavanderhoorn do you have a best practice for adjusting MoveIt acceleration limits? Maybe set them to their highest limits in the moveit config and then use MoveIt's acceleration_scaling_factor to control based on (current) payload
I'd always put in the maxima. The controller will either fault (RSI, MXT, EGM), or just perform at its maximum (current Rapid based driver). Scaling based on payload is difficult I think, unless you know how the robot controller does it itself (or figure it out by iteratively increasing and seeing where it starts to fail, but even then).
from abb.
Related Issues (20)
- How to control the velocity of the end effector? HOT 3
- How to improve the max trajectory size of abb_driver HOT 10
- Problem working with real IRB 1200 robot HOT 17
- ABB IRB120 does not move when trajectory command is sent from Moveit HOT 16
- Pass extra information to RAPID HOT 10
- OmniCore and IRB 1100 support HOT 4
- Not able to execute cartesian trajectory on ABB IRB120 HOT 2
- Unable to connect ROS with Robotstudio (ROS in Parallels VM) HOT 13
- Melodic release HOT 1
- Fixed the release track configuration for Kinetic HOT 1
- can't locate node [robot_state] in package [abb_driver] HOT 3
- REST based interface for ABB HOT 2
- Planned migration of abb_driver to its own repository HOT 4
- Too many close points while executing in Robot Studio. HOT 4
- Support package GoFa CRB 15000 HOT 6
- why abb ibr1410 is not supported? HOT 2
- Dependency on abb_driver HOT 6
- IRB2400 URDF Seems Wrong
- Production Support for GoFa CRB 15000 HOT 1
- ROS 2 Support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abb.