Robotics StackExchange | Archived questions

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.

It seems that it stops for a little time and then restart moving.

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 JointTrajectorys. 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

Answers