-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kinova jaco2 robot model description .xml to use in RL library #1
Comments
If you could point me to the correct CAD files and documentation, I'd be happy to include this model in RL. The resources page of the manufacturer has several different models. I assume it's the one labeled "Gen2 7 DoF" with the Spherical - CAD Models geometry and this Product Spec Sheet? |
Yes, you got it right, this is the model I am working with. furthermore , this guidehttps://www.kinovarobotics.com/sites/default/files/UG-009_KINOVA_Gen2_Ultra_lightweight_robot_User_guide_EN_R02.pdf |
thanks for your detailed working and quick response. |
You can find my work-in-progress version here #2. Let me know if you find any issues or when you get a chance to verify this against the actual hardware. |
hi, I have tried the above model it is working good in most of the applications, however I am unable to use it in rlplan.demo tutorial as you have mentioned on robotic library robotic library . |
@rickertm |
thanks @rickertm , for your help, I have implemented successfully rlplandemo for kinova robot using above files. i have simulated same environment as was in demo and it is successfully implemented plan prm and rrt con for kinova robot. |
hi there, @rickertm , i really appreciate your time and effort , kindly guide me further how to implement this path trajectory in rlplan demo to real robot... |
The result from a planning algorithm is a path of joint configurations. You can access a To precisely follow the path at all points, you would however have to stop at each waypoint. Common alternatives to this include blending at waypoints or cubic splines, but these may deviate more or less from the solution path. You can either use a safety margin to compensate for this or check this trajectory against collisions, while updating it accordingly. For creating a trajectory interpolation function, you can use the polynomial and spline functions in rl::math. |
dear @rickertm concerning your question rgd this pose and orientation problem arising from model making from dh parameters and frame assignment , the lab is recently re-opened after covid pandemic and i arrnged these actual pose of robotic arm on required joint angles , please refere below images for pose 1 : 180,180,180,180 ,180,180,180 and pose -2 : Pose-2: [180°,240°,0°,60°,−90°,−90°,180°] |
there is an error in website provided ref manual as there is no such pose as [180,240,0,60,90,90,180] near the picture shown in manual, only configuration pose [ 180,240,0,60,-9-,-90,180 ] is there with change in end effector direction as shown in above real manipulator pictures. |
Thank you for providing the pictures of the actual hardware with given configurations. I'll have a look and try to update the models accordingly. |
I did a first comparison of your pictures, the documentation, and the model. Could you please confirm, that the sixth joint in your second pose is indeed set to -90°? With +90° for this joint, the model would match the pictures. According to the manual, the lower/upper limits for this joint are [65°, 295°], this is also what the URDF description is using. Or is this maybe a special setting in your robot setup? |
hi, yes you are right the pose used for 2nd second pose is Pose-2: [180°,240°,0°,60°,−90°,−90°,180°] , and leading joint six to +90 will lead to pose as shown in your rl-model. 2- please also confirm me , calculating jacobian with rl-mdl file you provided uses DH parameters of robot ? or the jacobian computed through rl lib is based on rl-robot model ? because the jac i calculated given input set of joint angles is not matching with robotic arm real jacobian computed in its API .? is there any relation between correction of model and calculation of jacobian? or the jacobian only depends on dh parameters . |
the pose shown in manual can be achieved on real robotic arm by pose 3: 180,240,0,90,90,90,180 |
Thank you for your comparison with the actual hardware and explaining the difference in joint limits when using the joystick. I modeled the current model to match the DH parameters in the documentation and the URDF description in Kinova's ROS package. rl::kin directly uses DH parameters (classical notation according to Richard Paul) for its model, so you can find values directly matching those on page 58 of the documentation in All three models (rl::kin, rl::mdl, URDF) match your latest pictures for Pose 2 [180°,240°,0°,60°,90°,65°,180°] and Pose 3 [180°,180°,180°,180°,180°,180°,180°]. As Kinova's URDF description matches the positive z rotation direction of the classical DH notation, I assume that this is the correct one while the arrow in the image of the documentation seems to be incorrect. Maybe you can verify this also with your hardware in each control mode? The robot's Jacobian matrix depends on the current joint configuration, its full notation is J(q). Its values also depend on the chosen base and tool reference frames. If there's a mismatch with the one provided by the API, could you please provide an example of the Jacobian matrix for a few poses? |
thanks, i got it, i am working on implementing rl-mdl jacobian on real jaco-2 robot , can you please tell me how to calculate a jacobian in end effector frame . what is bool inworld frame and how to switch it true or false in code // |
In order to calculate the Jacobian with rl::mdl, you first have to set the current joint configuration via kinematics->setPosition(q);
kinematics->forwardPosition(); // for inWorldFrame=true
kinematics->calculateJacobian();
const rl::math::Matrix& jacobian = kinematics->getJacobian(); |
hi @rickertm , hope you are well, i have tried this model in rl lib for generating end effector jacobian for jaco-2 7 dof robot, but validating on robotic arm i found that , the eJe we get from rl lib kinova7dof model has to be multiplied or transform by a matrix for actual robot jacobian EJe = T. eje |
above ref manual page 58 , this placing of robot is important and creates difference in position of end effector and in turn end eff jacobian of rob.arm also this happens when i use the conventional methods to calculate jacobian , but when i add 180 deg to the initial joint angle in conventional methods the robotic arm actual and calculated positions matches. |
This relates back to my earlier comment regarding the last three frames of the model. The image in the documentation on page 59 deviates from the frames defined by the classical DH model. For the end-effector Jacobian however, only the last frame is important. If frame 7 in the image correctly matches the real robot, then the end-effector frame can simply be rotated by updating the z value of the rotation in rl-examples/rlmdl/kinova-gen2-7dof.xml Line 352 in 0a2a696
You should be able to check the end-effector frame on the real robot by using the joystick control to move relative in the end-effector frame (not in base frame). In the [180°,240°,0°,60°,90°,90°,180°] configuration and from this perspective, the robot should move up for positive y, right for positive x, and toward you for positive z. The offsets in Table 32 in the manual are already present in the model, as is the transformation from BASE to 0 axis system as shown in page 59: Q1 rl-examples/rlmdl/kinova-gen2-7dof.xml Line 104 in 0a2a696
Q6 rl-examples/rlmdl/kinova-gen2-7dof.xml Line 322 in 0a2a696
BASE to 0 axis system rl-examples/rlmdl/kinova-gen2-7dof.xml Lines 72 to 81 in 0a2a696
|
老铁666,您知道怎么自己生成rlmdl的xml运动学的描述文件吗?用的小众机器人,不知道怎么改rlmdl |
请访问 rl 库教程的网站, 这是解释如何使自己的 rlmdl 文件为任何机器人。 |
hi there, I am using kinova jaco-2, 7 D.O.F spherical wrist robot for my research work, and also using RL library in conjunction with vision ...if you can upload a model of kinova jaco2 7d..o.f robot xml description file...that will be so helpful ..
I have tried to develop using the format and tutorial provided in RL website and also trying to develop from URDF model , but it was not successful yet.
As lots of other people are also using this robot in research nowadays, it will be beneficial for all of us.
thanks
Zubair
PhD scholar
HIT university
The text was updated successfully, but these errors were encountered: