0
$\begingroup$

Rosanswers logo

Hi all!

After a long time with Fuerte, I decided to migrate to Groovy with the idea of taking advantage with "MoveIt!" and other new packages. I want to point out that, I'm quite happy with the new functionalities, but I don't understand the catkin change...however, maybe this "problem" disappear when I'll get used to. ;)

Regarding my question, I implemented with Fuerte and KDL the Cartesian/Euler control of a 6-degree arm, controllable via keyboard and pad. I got the initial position of the final effector, and I move that with the joystick making little increments and passing them to the IK solver, that returns me each joint position for that final effector pose.

Currently, I'm trying to get the same effect with "MoveIt!" but I don't reach it. I found the "moveit_commander" package, and I tried to use them as interface, passing them little increments in each direction, but the solver is too slow (takes between 0.4-1.3 seconds) and it makes long queues of petitions, failing in the 95% of the chances. Could you give me any idea to get the desired effect?

Thanks in advance!


Originally posted by mbj on ROS Answers with karma: 197 on 2013-07-29

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I am not sure I understand the question too well. Are you trying to just move the arm, or do you want to do planning as well? Are you using the moveit_commander MoveGroupCommander class?

The moveit_commander package will do planning for you, and define regions in the environment where you want to move towards (something like up to 1mm error I think, with respect to where you tell it to go; you can set the error margin). Are you interested in following straight line trajectories only?


Originally posted by isucan with karma: 1055 on 2013-07-30

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by mbj on 2013-07-30:
Hello Isucan, thak your for answering!

Currently, I can move the real arm via rviz and "moveit_commander". I want to be able to move the arm with a pad in cart./euler, using the functionality provided by the commander method, however, I can't. When I used Fuerte, I used the KDL methods to do this.

Comment by isucan on 2013-07-30:
I am afraid I am not familiar with the KDL methods you are talking about. moveit_commander does have the functionality you like in both Python and C++. You can plan motions to Cartesian poses or move in straight lines. Can you give more details on the problem? Is it just the slow response?

Comment by mbj on 2013-07-30:
Dear Ioan. I want to use a joystick/pad to use jog commands in my robot. I was planning to use the stick of the pad to send references in X/Y/Z as little increments. With this, the behaviour of the arm should be like if we were sending velocity references to the TCP. Instead of getting a continuous movement, we are obtaining 0.4-1.3 second (approx.) steps, making the robot uncontrollable. Can I modify the function or the planner behaviour to get that? Maybe does exists another function for jog commands?

Comment by isucan on 2013-07-30:
It sounds to me like you do not want to plan motions then. The moveit_commander package attempts to compute motions that avoid collisions and self collisions. It is possible you have detailed meshes representing your robot, which increases planning time. I think you should send the commands directly to the controller instead of using moveit_commander.

Comment by mbj on 2013-07-30:
Dear Ioan. In that case, what do you suggest me toperform that? I need a solver to work with cartesian/euler in the TCP (Jacobian Transformation), and I thought that with the services provided with "MoveIt" I could make that, with the advantages of avoiding collisions and self collisions. Thank you very much.

Comment by isucan on 2013-07-31:
I think you should use the kinematics API directly: http://moveit.ros.org/wiki/Kinematics/C%2B%2B_API

There is also a ROS service for this (see moveit_msgs/GetPositionIK.srv), provided by a default move_group capability.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.