open_manipulator_p
open_manipulator_p copied to clipboard
[ERROR] [checkJointLimit] Goal value exceeded limit at joint2.
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 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.
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
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.
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
Once again, please give us more information about your development environment. ROS & Ubuntu version, list of command typed in to run the example... etc
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
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
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.
After launching the GUI, please check the Joint 1 ~ 6 values to see if they are inbetween -1.571 rad to 1.571
I can't see this picture
Do you have wechat? Let's add a friend
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.
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
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.
Are there specific update instructions? I need to update the action steps
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"?
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
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
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".
Oblique motion values refer to, for example, moving in the positive x direction, resulting in an oblique curve of the real manipulator trajectory
I was wrong. At the moment each joint movement command sends 45 degrees and the actual movement is 90 degrees
I'm sorry but could you give us detailed step by step instructions so that we can reproduce what you are seeing?
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
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.
[ERROR] [TxRxResult] Incorrect status packet! [ERROR] groupSyncRead getdata failed [ERROR] groupSyncRead getdata failed [ERROR] groupSyncRead getdata failed
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
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.