-
Notifications
You must be signed in to change notification settings - Fork 196
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
Controller is hanging before reaching trajectory goal #245
Comments
This means that your trajectories don't start at the current pose of the robot. The driver is very sensitive to this as it uses incremental motions, not absolute ones. See #219 for some discussion. Summarising: check the It could also be #111, but that would depend on how you created your MH24 model. If you can make it available I can check it for you (but probably not today).
FYI: the trajectory execution monitor is part of MoveIt, not the driver.
This depends a bit on which
If your trajectories do start at the current state and your urdf is correct, we'd need to start debugging. If they don't (or you're not sure), then that would be the first thing to address. |
Thank you for the fast response. |
Then you might be running into #111, as the Could your try adding a
It's an ugly work-around, but might be necessary for now. |
I tried the workaround but I still have the problem that the controller doesn't reach the goal(The joint names are now in the right order). What are the meanings of the status values i the action server status topic ? |
No ideas what else I could do to fix this problem? |
Plenty, but I've been quite busy. |
Let's start from the beginning: can you please make a wireshark capture of the traffic between your ROS pc and the controller. Start everything as normal, then try to get the driver to command some motion. Any motion will do. If things are still broken, it shouldn't work. Edit: to clarify: we need a capture from where it doesn't work. Save the capture, zip it and attach it here. Second: I'm going to need to see how you configured everything. If you're using a MoveIt configuration, please make that available. If you're not, and you're using the Third: show us how you use the action server. Did you write a client yourself, did you copy it from somewhere, etc? Fourth: please detail your ROS version, controller software version, which version of MotoROS you installed, how you installed it and how you installed ROS (from sources, or Fifth: show the output of |
Many thanks for your great support. I will do that tomorrow. |
Do you have a FSU (Functional Safety Unit) on that robot? And are you using the speed limit function? |
@EricMarcil: should we ticket that as an issue? Doing that could help other users when they search for the symptoms described in it. |
@gavanderhoorn: Yes, we probably should so people are aware of it. At this time, we don't have the tool (Motoplus API) to fix it. We made a request to Japan to get feedback about the FSU but it is a complexe problem to address since the FSU is an independant safety module. For now, the people need to make sure that they command the robot a speed below the FSU settings. |
See #247. |
To 1: wireshark_capture_motoman_problem.pcapng.gz hopefully recorded correctly (my first use of wireshark) Regarding the FSU: I don't know if have a FSU, how can i check that? I couldn't find something in the SAFETY FUNC. menu on the control panel |
If you don't have a SAFETY FUNC. menu on the programming pendant then you don't have the FSU on your controller. So it eliminates that possibility. |
I have a SAFETY FUNC. menu, but no submenu named FSU or something like that. |
I've taken a look at the wireshark capture and noticed that MotoROS does send a The ROS part of the driver is not involved at that point. The immediately preceeding
I'm not sure why MotoROS is giving you the error at this point. @ted-miller @EricMarcil any ideas?
I was actually after the Controller system software version, as mentioned on the wiki page. |
This is strange because if you look at the Status message it is also indicating that "In Motion: True" but the feedback position is not changing. It stopped changing at line 3480 but the "In Motion" flag remains on all the way till the end. They are both based on similar calculation. I believe that when the 3011 error occurs, the values used for the calculation are printed. Can you telnet into the controller and check for the values reported by the MotoRos driver? |
@hufman4: ? |
Sorry for the late response, I wasn't able to work on the problem the last days. I will test it tomorrow. |
Same problem with MotoROS v1.8.0 .
I will try that now. |
This is the output I got from the MotoROS driver via telnet after i aborted the hanging trajectory and started a new one with the moveit GUI. The error occured after i started the new trajectory.
|
There is a 21 pulses difference on the R-axis. Which explains the error, since the default limit is 10 pulses. I'm also working with another customer that is having a similar problem with a large size robot. We are thinking that because the robot Tool properties are defined, the control loop is not optimal and it is preventing the robot to reach its final position. If that doesn't work, we might need to increase the START_MAX_PULSE_DEVIATION value for larger robots. |
Sorry, correction on the last post:
That should have been: |
I have completed the calibration, but the problem is still there.
I've now tried to increase the START_MAX_PULSE_DEVIATION by setting the value in the Conntroller.h file to 25, but i still have the problem, even though the diviation via telnet is below 25. Do I have to manually compile the code in addition catkin_make? Sorry, I don't have much C++ knowledge. |
The START_MAX_PULSE_DEVIATION is part of the MotoROS driver running on the controller. You need to purchase the MotoPlus SDK in order to change and recompile the application. I'll see if I can make a copy for you as a temporary solution. But I would like to get more information to better understand what is going on. Please e-mail my work address directly. I don't want to post temporary version or data specific to your system directly on this message thread. |
@EricMarcil: did you ever get to the bottom of this? |
I have received the data from @boandlgrama but could not confirm the source of the issue from it. |
No, indeed. |
#256 seems to increase |
Yes, there have been multiple reports of this behavior. I haven't been able to identify a root cause. But, I feel that a minor increase to START_MAX_PULSE_DEVIATION isn't going to hurt anything. |
Going to close this as it is either fixed / worked-around with the merge of #256, or is still an issue but there has not been any activity the past 8 months. If we get more reports we can always re-open in the future. |
Hi, i'm trying to control a MH24 with the DX200 controller over the action server(with moveit). Basically it works, but from time to time I get the error: Trajectory start position doesn't match current robot position (3011). I was looking a lot for a solution but I couldn't fix the problem yet. When I disable the execution_duration_monitoring I can determine that before I get the error, the execution of the plan never stops and no result gets published by the controller. The status of the joint_trajectory_action remains at 1. I get the error with both the moveit gui and the python moveit_commander. I also tried to use the boneil point streaming but I wasn't able to build that package. I don't know what else I can do to fix this problem. Is this a known bug or are there any known fixes or workarounds?
Thanks in advance
The text was updated successfully, but these errors were encountered: