Is it possible to get the end-effector to the desired position without knowing the orientation for the end-effector for a 4 DOF robot arm?

asked 2019-10-08 00:31:38 -0600

Mano gravatar image

updated 2019-10-08 00:38:23 -0600

I have a 4 DOF robot arm model and using lma kinematics solver. If I know the valid position(x,y,z) in space but don't know the orientation for the the end-effector, Is it possible to get the end-effector to the desired position ? (I'm sorry if the question is stupid)

edit retag flag offensive close merge delete

Comments

Hello, it's not stupid, it has been asked many time

Is it what you are looking for ? : https://answers.ros.org/question/2549...

lmathieu gravatar image lmathieu  ( 2019-10-08 06:09:29 -0600 )edit

Thank you, but I'm confused with the syntax, I have tried move_group.set_position_target(x,y,z, end_effector) or move_group.set_position_target([x,y,z]), both didn't work, former error says atmost 3 arguments (5 given) and the latter error says no motion plan found (given valid position). Or is it a kinematics solver problem?

Mano gravatar image Mano  ( 2019-10-08 09:39:09 -0600 )edit

Probably a Kinematics solver problem but I can't say it for sure. The correct way in python is the second version :

def moveit_commander.move_group.MoveGroupCommander.set_position_target  (       self,
            xyz,
            end_effector_link = "" 
    )       

Specify a target position for the end-effector. Any orientation of the end-effector is acceptable.

You can try to get the current position and add a +0.01m to any direction to see if moveit can plan it for you (or get a random pose and try to plan a random trajectory)

Also, You can get the doc here : http://docs.ros.org/kinetic/api/movei...

lmathieu gravatar image lmathieu  ( 2019-10-08 11:07:09 -0600 )edit

I tried joint goal, set_random_target and set_pose_target(pose_goal) all are working. But, move_group.set_position_target([-0.602,0.020,0.503]) is not working (given the position are valid confirrmed with set_pose_target)

Mano gravatar image Mano  ( 2019-10-31 00:34:26 -0600 )edit

According to the doc here, the position only IK work only with KDL. Did you try to set the planner to KDL and adding position_only_ik in your kinematics.yaml file ? if this work maybe it's due to a limitation in the LMA in moveit.

Also, which robot and which package are you using ? (if it's open source)

lmathieu gravatar image lmathieu  ( 2019-11-04 06:42:23 -0600 )edit