open_manipulator_p icon indicating copy to clipboard operation
open_manipulator_p copied to clipboard

[ERROR] [checkJointLimit] Goal value exceeded limit at joint2.

Open ysh-ai opened this issue 4 years ago • 26 comments

The angle value of manipulator obtained in GUI program exceeds the limit, which leads to the error of controlling manipulator movement,GUI demo program is not a problem, there is a problem with the Angle value

ysh-ai avatar Sep 23 '20 03:09 ysh-ai

@ysh-ai Hi, could you confirm which version of ROS and Ubuntu you use? Please also let us know which commands did you use so that we can try them with our test platform. Thank you.

ROBOTIS-Will avatar Sep 23 '20 05:09 ROBOTIS-Will

We manually moved the robot arm, and found that there was feedback in the software, but the value was wrong. We manually rotated the 2 axis of the robot arm 10 degrees, and the software showed a deviation of tens of radians. Is there any parameter that needs to be modified in the software configuration file

ysh-ai avatar Sep 23 '20 05:09 ysh-ai

The software defines the MIN / MAX range of most joints by -PI ~ +PI from the origin, and exceeding this limit may result in unexpected data in return. https://github.com/ROBOTIS-GIT/open_manipulator_p/blob/master/open_manipulator_p_libs/src/open_manipulator_p.cpp#L47 Please make sure to operate within the limited range or you'll need to modify the source code properly.

ROBOTIS-Will avatar Sep 23 '20 05:09 ROBOTIS-Will

Now it is not a matter of setting the Angle range, but the problem is that the manipulator's 2, 3 and 5 axes are moving at a small Angle, and the feedback value is large, that is, the actual motion Angle and the feedback Angle are not consistent

ysh-ai avatar Sep 23 '20 05:09 ysh-ai

Once again, please give us more information about your development environment. ROS & Ubuntu version, list of command typed in to run the example... etc

ROBOTIS-Will avatar Sep 23 '20 05:09 ROBOTIS-Will

Ubuntu18.04 Rosversion: 1.14.9 We are according to the installation and use of https://emanual.robotis.com/docs/en/platform/openmanipulator_p/ros_operation/#gui-program

ysh-ai avatar Sep 23 '20 05:09 ysh-ai

addJoint("joint1", // my name "world", // parent name "joint2", // child name math::vector3(0.0, 0.0, 0.126), // relative position math::convertRPYToRotationMatrix(0.0, 0.0, 0.0), // relative orientation Z_AXIS, // axis of rotation 1, // actuator id M_PI, // max joint limit (3.14 rad) -M_PI, // min joint limit (-3.14 rad) ---- -> 1.0, // coefficient 9.8406837e-02, // mass math::inertiaMatrix(3.4543422e-05, -1.6031095e-08, -3.8375155e-07, 3.2689329e-05, 2.8511935e-08, 1.8850320e-05), // inertial tensor math::vector3(-3.0184870e-04, 5.4043684e-04, 0.018 + 2.9433464e-02) // COM );

Does the coefficient pointed by the arrow need to be modified

ysh-ai avatar Sep 23 '20 06:09 ysh-ai

The coefficient doesn't have to do with the angle read from the manipulator. Turn off the power and pose the manipulator like the image below and start launching programs. image After launching the GUI, please check the Joint 1 ~ 6 values to see if they are inbetween -1.571 rad to 1.571

ROBOTIS-Will avatar Sep 23 '20 06:09 ROBOTIS-Will

I can't see this picture

ysh-ai avatar Sep 23 '20 06:09 ysh-ai

Do you have wechat? Let's add a friend

ysh-ai avatar Sep 23 '20 06:09 ysh-ai

The image can be seen in the eManual below. https://emanual.robotis.com/docs/en/platform/openmanipulator_p/ros_controller_package/#launch-controller It looks like the character eight("八") in Chinese.

ROBOTIS-Will avatar Sep 23 '20 07:09 ROBOTIS-Will

According to your method, it still doesn't work. Let's go here. After the coefficient I mentioned above is reduced, it feels almost OK, but the angle of motion is still wrong. Is that coefficient related to the number of wires of reducer and motor? Is it necessary to modify it

ysh-ai avatar Sep 23 '20 07:09 ysh-ai

@ysh-ai Hi, there was a bug in the DYNAMIXEL Workbench code that use a wrong DYNAMIXEL for P series Please update the DYNAMIXEL Workbench to the latest code by $ git pull command. This will fix the issue. Thank you.

ROBOTIS-Will avatar Sep 24 '20 02:09 ROBOTIS-Will

Are there specific update instructions? I need to update the action steps

ysh-ai avatar Sep 24 '20 02:09 ysh-ai

In order to update the source code, use the command below.

$ cd ~/catkin_ws/src/dynamixel-workbench
$ git pull

What do you mean by the "update the action steps"?

ROBOTIS-Will avatar Sep 24 '20 02:09 ROBOTIS-Will

After I modify the motor deceleration ratio, the motion angle of the manipulator joint is OK, but the motion direction is not correct when moving x, y and Z. do you need to modify the DH model parameters in the program

ysh-ai avatar Sep 24 '20 05:09 ysh-ai

Can you give me your successful case procedure? Now the joint angle motion is normal, but the motion XYZ in Cartesian coordinate system is not correct, it is not linear motion, but oblique motion

ysh-ai avatar Sep 24 '20 07:09 ysh-ai

Could you elaborate more on this issue? Are you saying that the manipulator is moving to the opposite X, Y, Z direction? https://www.ros.org/reps/rep-0103.html#coordinate-frame-conventions Task space control(Cartesian) uses the end effector's XYZ coordinate to create a motion trajectory. I'm not sure what you mean by the "oblique motion".

ROBOTIS-Will avatar Sep 25 '20 00:09 ROBOTIS-Will

Oblique motion values refer to, for example, moving in the positive x direction, resulting in an oblique curve of the real manipulator trajectory

ysh-ai avatar Sep 25 '20 01:09 ysh-ai

I was wrong. At the moment each joint movement command sends 45 degrees and the actual movement is 90 degrees

ysh-ai avatar Sep 25 '20 01:09 ysh-ai

I'm sorry but could you give us detailed step by step instructions so that we can reproduce what you are seeing?

ROBOTIS-Will avatar Sep 25 '20 02:09 ROBOTIS-Will

First, we installed Ubuntu 18.04 and installed the robot related packages according to the operation documents. Then we found that the position of joint 2 exceeded the limit because the angle read in GUI program was more than 900 radians. We modified the deceleration ratio coefficient (1.0 in addjoint) in the configuration file, //After the modification, the manipulator moves 90 degrees, but in the GUI program, the feedback is 45 degrees. Is there any other parameter in the configuration file that needs to be modified

GUI program connection: https://emanual.robotis.com/docs/en/platform/openmanipulator_ p/ros_ operation/#gui-program

Modify the program is under the installation Road: Home / catkin_ ws/src/open_ manipulator/open_ manipulator_ P_ libs/src/open_ manipulator_ p.cpp

ysh-ai avatar Sep 25 '20 02:09 ysh-ai

It looks like you have modified the source code that is not necessary after updating the DYNAMIXEL Workbench bug fix. We've tested our OpenMANIPULATOR-P with the latest packages without any modification and confirmed it works fine without a problem, so please delete the packages installed in the catkin_ws/src folder and install ROS pacakges again with below commands.

$ cd ~/catkin_ws/src/
$ git clone https://github.com/ROBOTIS-GIT/DynamixelSDK.git
$ git clone https://github.com/ROBOTIS-GIT/dynamixel-workbench.git
$ git clone https://github.com/ROBOTIS-GIT/dynamixel-workbench-msgs.git
$ git clone https://github.com/ROBOTIS-GIT/open_manipulator_p.git
$ git clone https://github.com/ROBOTIS-GIT/open_manipulator_msgs.git
$ git clone https://github.com/ROBOTIS-GIT/open_manipulator_p_simulations.git
$ git clone https://github.com/ROBOTIS-GIT/robotis_manipulator.git
$ cd ~/catkin_ws && catkin_make

If this does not work for you, please let us know so we can set up a schedule a conference call. Thank you.

ROBOTIS-Will avatar Sep 25 '20 07:09 ROBOTIS-Will

[ERROR] [TxRxResult] Incorrect status packet! [ERROR] groupSyncRead getdata failed [ERROR] groupSyncRead getdata failed [ERROR] groupSyncRead getdata failed

ysh-ai avatar Sep 25 '20 08:09 ysh-ai

It's totally wrong. I want to move the 6-axis motor. As a result, many axes are moving together. The movement is completely disordered. If the controller is opened, an error will be reported [ERROR] [TxRxResult] There is no status packet! [ERROR] groupSyncRead getdata failed [ERROR] groupSyncRead getdata failed [ERROR] groupSyncRead getdata failed

ysh-ai avatar Sep 25 '20 08:09 ysh-ai

@ysh-ai Hi, our sales team will contact you to schedule a conference call. In the meantime, could you give us ID and Baudrate setting of each DYNAMIXEL using DYNAMIXEL Wizard 2.0? Thank you.

ROBOTIS-Will avatar Sep 28 '20 02:09 ROBOTIS-Will