Open AndyZe opened 3 months ago
Two quick responses:
RuckigError
exception type that you need to catch.2. Do you mean to have all zero jerk, or do you want to have infinite jerk limits?
I'm trying to do what's mentioned in the README:
If you only want to have a acceleration-constrained trajectory, you can also omit the max_jerk as well as the current and target_acceleration value.
Not clear if that means I need to clear the vectors (current accel, target accel, max jerk) or just leave them as they were initialized. Doesn't seem to work either way.
Good point though, I could fill max_jerk
with DBL_MAX and effectively get the same thing.
1. There is a `RuckigError` exception type that you need to catch.
Doesn't compile!
catch (const ruckig::RuckigError& error)
--> error: expected unqualified-id before ‘&’ token
catch (ruckig::RuckigError error)
--> error: ‘RuckigError’ in namespace ‘ruckig’ does not name a type; did you mean ‘RuckigThrow’?
I've included the header file #include <ruckig/ruckig.hpp>
which includes ruckig/error.hpp
The input parameters are initialized with infinite max jerk and max acceleration - omitting means that you can just leave them as they are. Filling the max limits with DBL_MAX
wouldn't work due to numerical issues stated in the Readme.
Not sure about the RuckigError
include error. It seems that your compiler is not picking up the error class at all. Are you certain that ruckig/error.hpp
is included?
Are you using the most recent Ruckig version?
@pantor I tested the release V0.14.0 (installed using apt-get install ros-humble-ruckig
). If we ignore initilaizing current acceleration, target acceleration, and max jerk, they were all initialized to 0s and thus when running otg.calculate()
for offline trajectory generation, it gives out ErrorInvalidInput
error tag.
@Aadi0902 I'm not sure if I get that - please provide a minimum example to reproduce the issue.
Ruckig
's throw_error
template parameter to get details about the invalid input error. current_velocity
, current_acceleration
, target_velocity
, target_acceleration
and infs for max_acceleration
, and max_jerk
. You need to provide at least: current_position
, target_position
, and max_velocity
.
Ruckig works great for me when jerk limits are present. However I see weird behavior when no
jerk limit
/current acceleration
/target acceleration
is specified. Here's the state of the system. Seems fine as far as I can tell. All joint positions are valid.When I try to run
validateInput()
the results are a little strange. Try/catch does not print anything! Did I use this correctly?There is a
false
boolean returned, but that doesn't give me much info to debug:This is for a MoveIt2 PR btw.