0

https://github.com/EuropeanRoverChallenge/ERC-Remote-Maintenance-Sim Using this link, I installed a robotic arm simulation, when I run "roslaunch ur3_sim simulation.launch" it throws errors:

Traceback (most recent call last): File "/home/leopard/catkin_ws/src/UR3_sim/ur3_sim/scripts/gripper.py", line 69, in <module> main() File "/home/leopard/catkin_ws/src/UR3_sim/ur3_sim/scripts/gripper.py", line 58, in main gripper = GripperController() File "/home/leopard/catkin_ws/src/UR3_sim/ur3_sim/scripts/gripper.py", line 34, in __init__ self.move_group = MoveGroupPythonInteface() File "/home/leopard/catkin_ws/src/UR3_sim/ur3_sim/scripts/gripper.py", line 17, in __init__ move_group = moveit_commander.MoveGroupCommander("gripper") File "/opt/ros/noetic/lib/python3/dist-packages/moveit_commander/move_group.py", line 66, in __init__ self._g = _moveit_move_group_interface.MoveGroupInterface( RuntimeError: Unable to connect to move_group action server 'move_group' within allotted time (5s)

and

[gripper_control-12] process has died [pid 8523, exit code 1, cmd /home/leopard/catkin_ws/src/UR3_sim/ur3_sim/scripts/gripper.py __name:=gripper_control __log:=/home/leopard/.ros/log/726b466a-cb52-11ed-b804-2d1e17af91e0/gripper_control-12.log]. log file: /home/leopard/.ros/log/726b466a-cb52-11ed-b804-2d1e17af91e0/gripper_control-12*.log

and

[ERROR] [1679779088.936493623, 17.093000000]: Action client not connected: ur3_controller/follow_joint_trajectory

How can I solve those issues?

My gripper.py file:

#!/usr/bin/env python3
import sys
import rospy
from std_msgs.msg import String
import moveit_commander
from math import pi
import actionlib
from control_msgs.msg import FollowJointTrajectoryAction
class MoveGroupPythonInteface(object):
def __init__(self):
    super(MoveGroupPythonInteface, self).__init__()

    moveit_commander.roscpp_initialize(sys.argv)
    rospy.init_node('gripper_control', anonymous=True)
    #self.client = actionlib.SimpleActionClient('/arm_controller/follow_joint_trajectory', FollowJointTrajectoryAction)

    move_group = moveit_commander.MoveGroupCommander("gripper")
    move_group.set_planning_time(15.0)
    #move_group.wait_for_server(timeout=rospy.Duration(15))
    self.move_group = move_group
    rospy.sleep(10)

def go_to_joint_state(self, j0):
    joint_goal = self.move_group.get_current_joint_values()
    joint_goal[0] = j0 * pi / 180

    self.move_group.go(joint_goal, wait=True)
    self.move_group.stop()


class GripperController:
def __init__(self):
    rospy.Subscriber("/gripper_command", String, self.callback)
    self.move_group = MoveGroupPythonInteface()
    self.rate = rospy.Rate(10)  # 10hz

def callback(self, data):
    print("Pose: ", data.data)
    if data.data == 'close':
        self.move_group.go_to_joint_state(76)
    if data.data == 'open':
        self.move_group.go_to_joint_state(0)
    if data.data == 'semi_close':
        self.move_group.go_to_joint_state(52)
    if data.data == 'semi_open':
        self.move_group.go_to_joint_state(39)

def loop(self):
    while not rospy.is_shutdown():
        self.rate.sleep()
        if 0xFF == ord('q'):
            break


def main():
        try:
        print("Start")
        gripper = GripperController()
        gripper.loop()

        print("Complete")
    except rospy.ROSInterruptException:
        return
    except KeyboardInterrupt:
        return


if __name__ == '__main__':
    main()

This file is from a different source, so I cannot sure where the error is.

0 Answers0