Moveit & singularities
Hi all,
I was wondering if MoveIt actually knows about robot singularities... because when I execute trajectories sometimes the robot makes a little oscillation. It seems that it stops for a little time and then restart moving. Is this because of the robot is passing close a singularity configuration? Or is there another reason?
Ros Kinetic, Ubuntu 16.04
Asked by enrico on 2018-08-08 07:39:22 UTC
Comments
If with 'MoveIt' you mean MoveIt configured with the default OMPL, then afaik, it will not take singularities into account.
this could be the time parameterisation interacting with the path planning in a strange way. Does ..
Asked by gvdhoorn on 2018-08-08 08:24:50 UTC
.. your robot really come to a halt, or does it slow down and then accelerate again?
Asked by gvdhoorn on 2018-08-08 08:25:09 UTC
sorry for late reply but I couldn't access to the lab during this period. The robot comes to a halt, not just a slow down
Asked by enrico on 2018-08-20 08:24:11 UTC
Hi, did anyone solve this issue?
Asked by tal.l on 2023-06-15 10:47:14 UTC
MoveIt outputs
JointTrajectory
s. AFAIK, joint space doesn't have singularities, or at least not the ones we can find when executing a Cartesian motion.Asked by gvdhoorn on 2023-06-15 11:42:22 UTC
So is there a way to tell MoveIt to calculate motions while avoiding singularities?
Asked by tal.l on 2023-06-15 13:10:00 UTC
Joint space motions don't suffer from singularities. By definition there would be nothing to avoid.
Asked by gvdhoorn on 2023-06-15 14:10:06 UTC
I wonder what can I do with this because I'm relying on MoveIt for my motion planning but the robot halts every time it reaches singularities. I'm currently using the default OMPL. If I change that would it solve this issue? If not - what options do I have for doing motion planning with my robot that won't reach singularities?
Thanks.
Asked by tal.l on 2023-06-15 14:57:21 UTC
We appear to not understand each other.
AFAIK, singularities will only be problematic if you're trying to move through them with a linear (ie: Cartesian) motion. A joint space motion by definition doesn't suffer from Cartesian singularities. In fact, it'd be one of the ways to "move through" a singularity safely.
MoveIt only generates joint space trajectories.
Unless you have custom code which converts those into some representation of a Cartesian trajectory or use MoveIt's output to generate a program in the vendor's proprietary robot programming language with Cartesian/linear motions, you can't run into singularities.
I would suggest you post a new question, clearly describe what you observe, give examples of the code you're using, describe your hw (ie: robot, driver, settings), etc.
Discussing this in the comments of a 5 year old question is not going to attract a lot of attention.
Asked by gvdhoorn on 2023-06-16 00:04:28 UTC
Hello. Unfortunately it's been several years since I asked this question, so I remember very little (I'm not working on ROS anymore, it was only my thesis project). As gvdhoorn stated, there's no singularities issue. If I'm not wrong, I managed to solve this problem by modifying the velocity scaling value on MoveIt and/or the speed parameter on robot's teach pendant. As a first attempt, you can try setting the velocity scaling value to 0.25.
Asked by enrico on 2023-06-16 03:39:23 UTC
I've opened a discussion about this here: https://github.com/ros-industrial/motoman/discussions/557
Asked by tal.l on 2023-06-19 04:19:16 UTC