Mismatch between coordinate monitor and actual motion using SMC_GroupJog2, MC_MoveLinearAbsolute (6DOF)

darwin03
2026-04-06
2 days ago
  • darwin03 - 2026-04-06

    Hi Guys!!!
    I am experiencing an issue when trying to move 6DOF using SMC_GroupJog2 and MC_MoveLinearAbsolute, but I don't understand why, when I jog only X or Y, the coordinate I monitor just changes the X or Y value. It's true, but in reality, Joint6 is still running like the video. Am I wrong somewhere?
    Many thanks for considering my request.!
    Video: https://drive.google.com/drive/folders/1vRHQ3AtTO3mijptqZgn5OcP9pyi527Jm?usp=sharing

     
  • gseidel - 2026-04-07

    Dear darwin03,

    my first guess is that the axis scaling of the last axis (joint 6) is not correct.

    It should be confiugured so that one technical unit equals one angular degree. From the video, it rather looks like 1 technical unit is a full revolution of the joint.

    (This holds for all rotary axes used with SoftMotion Robotics: they must be scaled so that one technical unit equals one angular degree.)

    Best regards,

    Georg

     
    πŸ‘
    1
  • darwin03 - 2026-05-04

    Dear Georg,

    Thank you for your explanation about the axis scaling.
    I checked the scaling of Joint6 and corrected it so that one technical unit equals one angular degree.

    However, I am now facing another issue.

    When I move all axes to zero position and then try to use SMC_GroupJog2 and MC_MoveLinearAbsolute, I receive the error SMC_CP_CONFIGS_DIFFER

    I already tried moving each joint manually to different positions before executing the motion command, but the error still appears.

    Could you please explain:

    • What exactly causes SMC_CP_CONFIGS_DIFFER

    Thank you very much for your support.

    Best regards,
    darwin03

     
  • gseidel - 2026-05-04

    Hi darwin03,

    when all joints are 0Β°, then the 6-axis robot is in a so called singularity. This means that it is in a special position where it cannot move freely in all directions but is restricted by its own construction. For a simple example, imagine a scara robot where the arm is fully stretched. In this position it cannot move freely.

    You can find a lot of information about robot configurations in the www. As far as CODESYS SoftMotion Robotics is concerned, this page holds the most important links, look for the error SMC_CP_CONFIGS_DIFFER: https://content.helpme-codesys.com/en/CODESYS%20SoftMotion/_sm_robotics_errors.html

    The most important rules:

    1) CP movements (linear moves, circular moves, cartesian jogging) cannot change the configuration during the movement. Both start- and endpoint must be in the same configuration. This excludes also the edge case that one or both of them are in a singularity.
    2) PTP movements can move through singularities and cross configurations without problems.
    3) SMC_SetKinConfiguration can be used to set the configuration of the axis group.

    Regards,

    Georg

     
  • darwin03 - 2026-10-09

    Hi Georg,

    Thanks for your previous suggestion. I was able to resolve the issue!

    I'm now trying to build the 6DOF robot again, but I'm not sure why this is happening. Even when I simulate it in RoboDK using the joint angles from my code, the robot's motion still seems abnormal.

    Do you have any ideas what might be causing this?

    Thank you for taking the time to look into my question!

    Best regards,
    darwin03

    Video link: https://drive.google.com/file/d/1PBqS4yIY2R_CZ3celSKz-BXVRk8pCHKz/view?usp=sharing

     
  • gseidel - 6 days ago

    Hi darwin01,

    looking at the video and comparing the movement with the first figure in https://content.helpme-codesys.com/en/libs/SM3_Transformation/Current/SM3_Transformation/Function-Blocks/Standalone-Kinematics/Articulated-Robots/6AxisArticulated/Kin_ArticulatedRobot_6DOF.html, I think that the direction of rotation does not match between the RoboDK model and the CODESYS 6DOF kinematics.

    In the CODESYS kinematics, A1 and A2, when moved in positive direction, rotate into the opposite direction to what the RoboDK model does. This could explain the strange movements.

    For real axes, you could change the direction using the "Invert direction" flag of the scaling/mapping page. For your simulation, you could manually invert the position of the axes A1 and A2 before sending them to RoboDK. (A0 seems correct, please also check A3, A4, and A5. The figure I mentioned gives the order of positive rotation with arrows through the joints. You can use the right-hand-rule to see what the positive rotation is.)

    Best regards,

    Georg

     
    πŸ‘
    1
  • darwin03 - 4 days ago

    Hi Georg,

    Thank you very much for your help and for taking the time to look into my issue!

    After reversing the directions of A2 and A3, the robot now moves correctly according to the coordinate system. That solved the main issue with the joint rotation directions.

    However, I still have two issues:

    1. When I command the robot to move along the X, Y, and Z axes, the movement seems slightly off, and the trajectory appears somewhat diagonal instead of following a straight line along the commanded axis.

    2. The A6 axis also rotates during the movement, whereas I would expect it to maintain its orientation and remain unchanged.

    Do you have any suggestions on how I could correct the Cartesian linear movement and keep A6 fixed during the motion?

    Thank you again for your support!

    Best regards,
    Darwin

    Video link: https://drive.google.com/file/d/1tnokDYoNUEDy--eQtX_JZavMVSn-a9Le/view?usp=sharing

     
  • gseidel - 2 days ago

    Hi darwin03,

    as can bee seen at the end of your video, the direction of rotation now seems correct for all axes.

    I can only guess, but the most likely reason are different denavit hartenberg parameters in the SoftMotion axis group editors and the robot used in the simulation tool. Maybe some arm lengths differ, maybe some offsets are given with opposite sign.

    I would again refer you to https://content.helpme-codesys.com/en/libs/SM3_Transformation/Current/SM3_Transformation/Function-Blocks/Standalone-Kinematics/Articulated-Robots/6AxisArticulated/Kin_ArticulatedRobot_6DOF.html. Please double check all parameters and the table of the DH parameters given there and compare that against the robot in the simulation tool.

    Also: did you configure any tool in CODESYS? I would suggest to simplify and remove any tools for finding the source of the wrong movements.

    Best regards,

    Georg

     

Log in to post a comment.