Replies: 6 comments 5 replies
-
I also get really different results each time , even with the same parameters. If it helps to figure out the problem ? Thank you for your help |
Beta Was this translation helpful? Give feedback.
-
I’ll take a look at this soon. A few things you could try in the interim are:
To help address the asymmetry you’re seeing, set the |
Beta Was this translation helpful? Give feedback.
-
Thank you for the tips ! I am trying different However, I think that there is a problem with IK before the optimization step. When I get some really low % of reachable points (It should be over 50% on my workpiece) , the results are bad already after IK and before optimization. |
Beta Was this translation helpful? Give feedback.
-
I recreated your demo here so I could play around with it. I think the primary issue is with the definition of the motion groups. The reach study assumes that the target poses are provided to the IK solver relative to that solver's kinematic base frame. When you specify a group of joints as a motion group in the SRDF, you can't explicitly define the desired kinematic base frame. There is an implicit configuration "connection" between the target pose generator, IK solver, and display plugins to make it function correctly, which is that they all need to have the same reference frame. I think in your case where you defined a group of joints as your motion group, the kinematic base link of that motion group was not the same frame as was specified to the display plugin, hence the robot looking like it moved to randomly incorrect positions. Changing the motion group to a chain with its root at I made a few other changes in that repo as well that differs from your original setup:
|
Beta Was this translation helpful? Give feedback.
-
I confirm that your setup gives stable, reproducible results with the gripper. And there is no more broken markers. That's the first time I am able to get this with the gripper. Thank you for this ! With your setup and a script that compile the results from many result files into one final (and remove the unreachable markers) , I was able to get this type of results: Which is really nice and what I wanted. However, I was only able to get this result with your "lightweight" setup. My idea was to use the full move it config for TIAGo . This config use xacro shortcuts and has it specific launch file that launches all the planning and controlling stuff for the robot for every custom configuration (TIAGo robot with the accessories you provide (gripper, hand, no end effector, classical base or omni base, etc). The idea was to add the TCP frame to the currently used xacro (in this case gripper.urdf.xacro) file, add the planning group to the SRDF (in this case tiago_pal-gripper_schunk-ft.srdf) , and run the reach study, and add the group in the kinematic yaml file (in this case, kinematics_kdl.yaml) . To try this idea I used the following launch file that opens everything for the robot:
This would allow to run new reach studies really fast with all configurations of the robot. I was unfortunately unable to do that , even with the changes you gave me above, it leads to the same issues: crashes, and/or varying results and/or broken markers. If you see any obvious reason of why it might not work. Here is a list of things I tried to fix these issues:
Unfortunately, none of them solved the issue. Since I am a beginner with ROS, maybe you will see an obvious reason of why it's not working. One other question is: is the name of the file hard coded somewhere ? Like the names robot.launch, reach_study.yaml, reach_study.xacro etc... , do they matter ? I am pretty sure they do not if you call the right launch files in your command but at this point I am a bit confused so I am asking. One important thing I noticed: Even with your clean configuration, I am able to get crashes (exit code -9) (no broken markers however, and the results seems to be reproducible which is good). At this point, from what I experienced so far, my hypothesis is that if it's too computationally intense to do the study, it will crash. For some reason I don't know loading the full move it configuration requires more power (or memory space ?) than the lightweight config. To me it makes sense because having a very low amount of markers for the study with the full move it config gives way less crashes and unstable results. It might also explain why I am able to add more markers to the study with the simple config than the heavier one. However I don't know if what I am saying could possibly be true or if it's completely bullshit and non sense. |
Beta Was this translation helpful? Give feedback.
-
I have a few other questions after reading your files:
Thanks a lot |
Beta Was this translation helpful? Give feedback.
-
I am trying to do a reach study of the TIAGo robot, you can find the URDF here.. It uses a gripper as end effector , you can find the urdf of the gripper here.
However I struggle to make it work, and I am not sure if it is because of misconfiguration or some bug with the package.
At the end of the analysis, some interactive markers are broken and lead to impossible pose of the robot.
These are the groups defined in the srdf file of the robot:
I added a TCP link to my end effector URDF (gripper urdf) like in the demo:
Most of the interactive makers work, but a small number of them are just acting weird:
example of working marker :
example of broken marker:
This is the pose of the robot I get when clicking on the green marker on the extreme right.
All the markers at the extreme left (relatively to the robot orientation) seem broken:
Here is my yaml config file:
Here is the kinematics config file:
One other thing to notice is that the results are highly asymmetrical while the scene and the robot are symmetrical.
The only asymmetrical thing I know is that:
This is the pose of the robot with zero angle on each joint:
But when the robot is launched into RVIZ the pose of the robot is like this (arm in front of him)
I am not sure why this happens and if this is normal ?
Thank you for your help
Beta Was this translation helpful? Give feedback.
All reactions