-
Notifications
You must be signed in to change notification settings - Fork 197
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
Aborting Trajectory. Failed to send point (#0): Invalid message (3) : Trajectory start position doesn't match current robot position (3011) #445
Comments
Figuring out what is going wrong is not going to be possible without more information. I'd suggest making available (or pointing to):
PS: this could have been a comment on one of the existing issues. As-is, it seems like it's the same / a similar problem. Opening a new issue increases fragmentation. |
Sorry about that, didn't mean to cause fragmentation, as mentioned in #111 if I have a big enough delay between my movements, then the problem doesn't occur, I'm currently trying to implement the checking of the robot status in motion bit. |
Then I'll close this for now assuming the problem is as described in #111 (sending new trajectories before the current one has finished executing). Note that providing a description of the control flow would have helped to diagnose this (which is what prompted the request for an MWE). |
Hello @gavanderhoorn I am still experiencing this issue. Here are some logs with a python script to reproduce: I'm working on getting the moveit config to a MWE for you as well. It is basically just a robot on a track with an external axis. |
We're going to need at least items 1 and 2 before I can help. Edit: and if you're not using And:
this is now working? How are you checking exactly? The code you provided appears to be a copy-paste of a MoveIt tutorial. I don't see any lines which check |
Ping @akashjinandra ? |
I'm sorry for the delay. Here it is: src.zip after downloading and creating a catkin ws, you should be able to build and run these commands. Please run roslaunch universal_moveit_config planning_execution.launch mode:=stub for testing in simulation |
I just checked the archive you've shared. It references a For a multi-group setup, there should be a Could you show how the driver is started exactly? Edit: there is a good chance this is related to what #259 attempts to fix (ie: #111), but it depends on the exact configuration and how things are started. |
And could you please also share the console logging output of the driver? I cannot run your Please make sure to start the driver using the |
I've just checked the wireshark traces you've shared in #445 (comment). While we could still be seeing an instance of #111, at least in From packet From packet Summarising the messages as follows:
for all joints The difference is This is likely larger than the max allowed difference which is 30 pulses. |
Hello and thanks for your response. I didn't realize that you would be looking at it during this time(I appreciate it.) It was referencing this launch file, which loads the yaml file which has the topic list parameters |
Here is a set of logs that are from the past run: |
breaking up cause github has file limit size |
If I look at the failure_2.pcapng at the last failure: I have to go back to packet 145667 to find the report of position Group 1 Position J0: 3.771580935 |
@akashjinandra: could you verify the results of the analysis I did in #445 (comment) and @EricMarcil reports? I realise it may be inconvenient, but the way MotoROS works, there is a good reason for why it checks |
Could I also ask you to please not post screenshots of what is essentially text? Please just copy-paste it into comments inside a code block. |
Could you please update your export ROSCONSOLE_FORMAT='[${severity}] [${time}] [${node}] [${logger}]: ${message}' you currently appear to have it at its default, which makes it rather difficult to see which messages are emitted by which nodes / loggers. |
In
Packet I've marked the joints which show a difference between the current state and the values used in the first trajectory point of the new trajectory. It's likely |
@akashjinandra: could you perhaps also share a rosbag with the That might help determine whether there is a problem with the action server reporting motion completion too soon. |
Alright I will work on getting those. Thanks for the help! |
Note that so far it looks like the trajectories you are sending are just not starting at The reason I ask for additional information / |
Any update here @akashjinandra ? |
Sorry our robot was down for one day, I think it is resolved but I am going to double check with a couple more cycles tomorrow. |
I've taken a look at the two According to your earlier descriptions and the files you provided, this system is a multi-group system. The Were the The
These are the timestamps of the
note: these are the There is some uncertainty, but note how the messages for the track ( I can't determine why that is from these If you could supply both a I'd also be grateful if you could clear up my confusion about the action server(s) and the configuration of the topics. |
Hello, I'm sorry for the delay in response. We will gather both the logs and ros bags. There are still 4 JointTrajectory Topics for each of the groups, but we only captured one in the rosbag, we will gather all of them in the next one. And I believe we are still using the motoman driver as before. Thanks again for your help. |
Hello @gavanderhoorn sorry for the delay here is the rosbag with all the joint trajectory topics and a wireshark log |
I've taken a look, and it seems to be the same issue as earlier. MotoROS seems to be doing what it's supposed to do (ie: refuse to execute motions which don't start at the current state). It's the ROS side which doesn't seem to be doing things correctly. In the
this is in essence a similar check to what MotoROS does, but more forgiving ( After this error, there seems to be one new trajectory submitted, which then passes the MoveIt check, but fails the MotoROS check. The wireshark trace seems to suggest MotoROS is correct:
The left packet is the first trajectory point, the right packet is the last joint state packet before the trajectory execution request is submitted. As we can see, When processing the [1647365689.51]: header:
seq: 14679
stamp:
secs: 1647365689
nsecs: 510989038
frame_id: ''
name: [joint_1_s, joint_2_l, joint_3_u, joint_4_r, joint_5_b, joint_6_t]
position: [-2.0665206909179688, -0.9527987241744995, -0.3348167836666107, 0.08235537260770798, 0.9534109830856323, -0.04774243384599686]
velocity: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
effort: []
---
[1647365689.51]: header:
seq: 14676
stamp:
secs: 1647365689
nsecs: 510952833
frame_id: ''
name: [gripper_joint_3]
position: [-0.20099610090255737]
velocity: [0.0]
effort: []
---
[1647365688.09]: header:
seq: 14469
stamp:
secs: 1647365688
nsecs: 88279632
frame_id: ''
name: [gripper_joint_1]
position: [1.1229965686798096]
velocity: [0.030971070751547813]
effort: []
---
[1647365687.76]: header:
seq: 14422
stamp:
secs: 1647365687
nsecs: 756798469
frame_id: ''
name: [robot_mount_joint]
position: [4.649924278259277]
velocity: [0.0014973023207858205]
effort: [] note the timestamps on the messages for That's over 2 seconds difference with the messages for Right now, I don't have any hypotheses for why this would happen. Those messages are all published at the same time, and the Simple Message traffic in the Wireshark capture does not show any such delays. I feel solving this (ie: figuring out the cause of the delay) would probably make everything work. |
The total number of messages on |
@akashjinandra: could you please check kinetic-devel...gavanderhoorn:coalesced_joint_feedback_ex_relay and see whether it resolves your issue? I've changed two things:
Note that since you are using #259, you'll have to rebase that on-top of kinetic-devel...gavanderhoorn:coalesced_joint_feedback_ex_relay. I expect that to not be too difficult, as I believe the changes are orthogonal. Edit: note that this is all rather ugly. But I want to see whether this helps resolve your issue. I'll work on a nicer way of solving this later. |
Hello @gavanderhoorn, thanks for your response, we will try this new code this coming Wednesday. |
@akashjinandra: could you perhaps test the combination of kinetic-devel...gavanderhoorn:coalesced_joint_feedback_ex_relay and kinetic-devel...gavanderhoorn:rebased_two_arms_on_a_rail? That would be instead of #259 in your case. NOTE: this is not a complete solution. There are additional issues to address. I just want to test on more than my own hw config. And please always keep your -- and your hw's -- safety in mind. |
Hello @gavanderhoorn we will try this today. Thanks for that! |
@akashjinandra: did you have a chance to test? |
Friendly ping @akashjinandra |
Hello @gavanderhoorn when we merged and ran the system the joint trajectory action server crashed, we are in the process of debugging it. |
Could you tell me what you merged exactly? Just to reiterate: #259 is not involved at all any more. Creating a new branch (from (or at least: if I follow 'normal' usage patterns with If it doesn't, something is not right. Could you build |
Does #487 mean you've got things to work (ie: not crash)? |
Not yet, I'm going to get it tonight, should be within the hour. |
This is our branch: https://github.com/BastianSolutionsRandD/motoman/tree/test_fixes_for_vanderlande Here is the trace:
|
I'm not sure what to make of the commit history. There appears to be a huge single commit, touching 660 files. I can't tell whether that branch contains the changes I pointed to, or what other changes it contains. |
That's because we are on a branch of a branch, but I will post one with my personal github tomorrow to confirm it's just the changes you recommended, is there anything else you want to see from the terminal when I run my test tommorow? |
? That would/should not change the commit history to only show a single commit.
if things keep crashing, make sure to build And I'd also suggest updating your Reproducing will be difficult without an MWE, so if you could add a |
@akashjinandra: I've been able to reproduce the crash. I don't believe I would need you to test anything right now. Having some representative Edit: could you confirm you see the crash when you're trying to execute a trajectory for a (MoveIt) group which doesn't include all joints (ie: only the robot's joints, or the robot's + one of the gripper joints)? Edit 2: after adding a check (to make sure I assume however that you'd like to be able to submit goals for specific groups individually @akashjinandra, correct? Technically, the global JTA was not supposed to be used for that I believe (but I was not involved in the design, nor the implementation). But I also don't believe you can send goals to the per-group action servers at the same time (which could perhaps offer a work-around, as MoveIt can deal with multiple controllers). The changes in kinetic-devel...gavanderhoorn:rebased_two_arms_on_a_rail do not add partial-goal capability. #259 does. That's likely why you see the crashes. |
@akashjinandra: please ignore my previous request, and please test My assumption is the changes in that branch will help with the outdated Edit: I've gone ahead and rebased #259 on-top of current I cannot stress-test it in the same way you are @akashjinandra, so let me know whether this solves your current issue. |
Friendly ping @akashjinandra. |
Hello @gavanderhoorn we tested this driver: #488 and it seems to be working but are doing a couple more tests today to say for sure. I will also try out the one that you have created for us. |
The changes proposed in #488 are similar to the ones in #259, with some additions. It's also incomplete, just as #259 is/was. If it works for you, it works of course. The branch I created only tries to address the problem of out-of-date I would still like to know whether the changes to the multi-group publishers help avoid the out-of-date |
Hey @gavanderhoorn I'm trying to look at the joint state topics it seems like there aren't any separate ones for each joint group they are all in one message now, how would you like me to verify that this problem is fixed? |
There should still be separate topics. That hasn't changed. What did change is that the global topic (ie: Could you show me a
whatever you were doing earlier, and which caused the problem to occur. I suspect the problem with the outdated In all cases you reported, MotoROS was correct in that the start state of the trajectory did not match the current state. Incomplete multi-group support was not the cause there. Outdated |
Friendly ping @akashjinandra. If you can't find an opportunity to test this any more, also ok, but please let me know. |
I'm going to assume you got the immediate issue fixed and don't/can't spend time testing kinetic-devel...gavanderhoorn:pr259_rebased_with_coalesced_feedback any more. Closing. |
Hello,
My system: ROS Melodic, Ubuntu 18.04, YRC1000 running MotoRos 1.99
I'm running a multi group system with a robot on a track, meaning a group for robot and a group for the track. I am running into this error: Aborting Trajectory. Failed to send point (#0): Invalid message (3) : Trajectory start position doesn't match current robot position (3011)
I am currently on this branch:
#259
The error doesn't seem to happen very frequently. I've read into: #251
and #111
however it doesn't seem like there is a solution to this issue. But I might be getting lost in reading the issues and possible solutions people have tried. Is there any solution/test code I can use to help debug this?
The text was updated successfully, but these errors were encountered: