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


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

Is it what you are looking for ? :

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,
            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 :

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