Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 1441

initJointTrajectory in ros_controllers ignoring first JointTrajectoryPoint in provided message

$
0
0
I am trying to initialize a (quintic spline) `Trajectory` using the functionality within ros_controllers/joint_trajectory_controller but am getting some undesired behavior when I sample the Trajectory constructed via `joint_trajectory_control::initJointTrajectory`. In particular, when sampling times between the first (at time t=0.0) and second points, the spline returns always the second point's values (expected behavior for all times before the Trajectory's start time) Additionally, when calling the initialization I get the following message: > Dropping first 1 trajectory point(s) out of ### as they occur before the current time... It seems that the initialization function is throwing away my first point (with `time_from_start = 0.0`) despite my trajectory starting from `ros::Time(0.0)` as specified in the passed message. Digging through the code, the comments make me think that this should work but it is not. Is there perhaps a strict less-than compare instead of a less-than-or-equal or a missing check/case for `msg.header.time == 0.0`? I seem to remember from somewhere that ros_control (in contrast to MoveIt!) assumes that the proved trajectory does not contain the current position and I assume that this is related to my issue BUT I feel that there is inherently something wrong with this approach. In particular, what about the case (mine currently) where the provided trajectory_msg for initialization is significantly sparse in time such that a significant number of sampled times are between the current pose and the first spline segment?

Viewing all articles
Browse latest Browse all 1441

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>