Control of end_effector

asked 2022-07-09 07:49:29 -0500

onkheisen gravatar image

updated 2022-07-09 11:48:39 -0500

I can carry out the forward kinetic of my robot, and move also the end effector. I am using the scrip of [Move Group Python Interface] (http://docs.ros.org/en/kinetic/api/mo...), the Planning to a Joint Goal funtion, but it is not reognaising the end effector. I used Ubuntu 16.04 and Ros Kinetic

This is the output of script is:

[ INFO] [1657221601.922545523]: Loading robot model 'robotic_arm'...
[ WARN] [1657221601.922747923]: Could not identify parent group for end-effector 'robot_eef'
[ INFO] [1657221601.969660073]: Loading robot model 'robotic_arm'...
[ WARN] [1657221601.969857450]: Could not identify parent group for end-effector 'robot_eef'
[ INFO] [1657221603.055365548]: Ready to take commands for planning group arm.
============ Reference frame: /bottom_link
============ End effector: grasping_frame
============ Robot Groups: ['arm']
============ Printing robot state
[ WARN] [1657221604.061307569]: Joint values for monitored state are requested but the full state is not known
joint_state:
  header:
    seq: 0
    stamp:
      secs: 0
      nsecs:         0
    frame_id: "/bottom_link"
  name: [shoulder_pan_joint, shoulder_pitch_joint, elbow_pitch_joint, wrist_pitch_joint, wrist_joint,
  finger_joint1]
  position: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
  velocity: []
  effort: []
multi_dof_joint_state:
  header:
    seq: 0
    stamp:
      secs: 0
      nsecs:         0
    frame_id: "/bottom_link"
  joint_names: []
  transforms: []
  twist: []
  wrench: []
attached_collision_objects: []
is_diff: False

============ Press `Enter` to execute a movement using a joint state goal ...

Traceback (most recent call last):
  File "/home/frauas/ws_moveit/src/dxl_tutorial/scripts/motion.py", line 443, in <module>
    main()
  File "/home/frauas/ws_moveit/src/dxl_tutorial/scripts/motion.py", line 417, in main
    tutorial.go_to_joint_state()
  File "/home/frauas/ws_moveit/src/dxl_tutorial/scripts/motion.py", line 168, in go_to_joint_state
    joint_goal[5] = -0.0002
IndexError: list assignment index out of range
Segmentation fault (core dumped)

So on [shoulder_pan_joint, shoulder_pitch_joint, elbow_pitch_joint, wrist_pitch_joint, wrist_joint, finger_joint1] It is recognizing the ed-effector joint finger_joint1, but even wirting on the code joint_goal[5] = 0.0, It keeps with the same error. This is code:

def go_to_joint_state(self):

group = self.group
joint_goal = group.get_current_joint_values()

joint_goal[0] = 0.0 # C-2x4 good set point
joint_goal[1] = -0.3
joint_goal[2] = 0.15
joint_goal[3] = 1.3
joint_goal[4] = 1.4
joint_goal[5] = -0.0002

# The go command can be called with joint values, poses, or without any
# parameters if you have already set the pose or joint target for the group
group.go(joint_goal, wait=True)

# Calling ``stop()`` ensures that there is no residual movement
group.stop()

current_joints = self.group.get_current_joint_values()
return all_close(joint_goal, current_joints, 0.01)

And this is the srdf file

<!--
This does not replace URDF, and is not an extension of URDF.
    This is a format for representing semantic information about the robot structure.
    A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
-->
<robot name="robotic_arm">
<!--
GROUPS: Representation of a set of joints and links. This can be useful for specifying DOF to plan for, defining arms, end effectors, etc
-->
<!--
LINKS: When a link is specified, the parent joint of that link (if it exists) is automatically included
-->
<!--
JOINTS: When a joint is specified, the child ...
(more)
edit retag flag offensive close merge delete