mirror of
https://github.com/elephantrobotics/mycobot_ros.git
synced 2026-07-05 19:47:04 +00:00
P340 ROS适配兼容pymycobot新类名ultraArmP340
This commit is contained in:
parent
bae4995d9a
commit
637ce5627f
5 changed files with 93 additions and 13 deletions
|
|
@ -13,8 +13,20 @@ import time
|
|||
import rospy
|
||||
from sensor_msgs.msg import JointState
|
||||
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
import math
|
||||
import pymycobot
|
||||
from packaging import version
|
||||
# min low version require
|
||||
MAX_REQUIRE_VERSION = '3.5.3'
|
||||
current_verison = pymycobot.__version__
|
||||
print('current pymycobot library version: {}'.format(current_verison))
|
||||
if version.parse(current_verison) > version.parse(MAX_REQUIRE_VERSION):
|
||||
from pymycobot.ultraArmP340 import ultraArmP340
|
||||
class_name = 'new'
|
||||
else:
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
class_name = 'old'
|
||||
print("Note: This class is no longer maintained since v3.6.0, please refer to the project documentation: https://github.com/elephantrobotics/pymycobot/blob/main/README.md")
|
||||
|
||||
ua = None
|
||||
|
||||
|
|
@ -27,7 +39,7 @@ def callback(data):
|
|||
radians_to_angles = round(math.degrees(value), 2)
|
||||
data_list.append(radians_to_angles)
|
||||
|
||||
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
||||
# rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
||||
ua.set_angles(data_list, 25)
|
||||
|
||||
|
||||
|
|
@ -35,14 +47,18 @@ def listener():
|
|||
global ua
|
||||
rospy.init_node("control_slider", anonymous=True)
|
||||
|
||||
rospy.Subscriber("joint_states", JointState, callback)
|
||||
port = rospy.get_param("~port", "/dev/ttyUSB0") # Select connected device. 选择连接设备
|
||||
baud = rospy.get_param("~baud", 115200)
|
||||
print(port, baud)
|
||||
if class_name == 'old':
|
||||
ua = ultraArm(port, baud)
|
||||
else:
|
||||
ua = ultraArmP340(port, baud)
|
||||
ua.power_on()
|
||||
ua.go_zero()
|
||||
|
||||
rospy.Subscriber("joint_states", JointState, callback)
|
||||
|
||||
# spin() simply keeps python from exiting until this node is stopped
|
||||
# spin() 只是阻止python退出,直到该节点停止
|
||||
print("spin ...")
|
||||
|
|
|
|||
|
|
@ -3,7 +3,20 @@
|
|||
import time
|
||||
import rospy
|
||||
from ultraarm_communication.srv import *
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
import pymycobot
|
||||
from packaging import version
|
||||
# min low version require
|
||||
MAX_REQUIRE_VERSION = '3.5.3'
|
||||
current_verison = pymycobot.__version__
|
||||
print('current pymycobot library version: {}'.format(current_verison))
|
||||
if version.parse(current_verison) > version.parse(MAX_REQUIRE_VERSION):
|
||||
from pymycobot.ultraArmP340 import ultraArmP340
|
||||
class_name = 'new'
|
||||
else:
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
class_name = 'old'
|
||||
print("Note: This class is no longer maintained since v3.6.0, please refer to the project documentation: https://github.com/elephantrobotics/pymycobot/blob/main/README.md")
|
||||
|
||||
|
||||
ua = None
|
||||
|
||||
|
|
@ -15,7 +28,10 @@ def create_handle():
|
|||
port = rospy.get_param("~port")
|
||||
baud = rospy.get_param("~baud")
|
||||
rospy.loginfo("%s,%s" % (port, baud))
|
||||
if class_name == 'old':
|
||||
ua = ultraArm(port, baud)
|
||||
else:
|
||||
ua = ultraArmP340(port, baud)
|
||||
|
||||
# Power on the robotic arm
|
||||
ua.power_on()
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import signal
|
|||
import threading
|
||||
|
||||
import rospy
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
|
||||
from ultraarm_communication.msg import(
|
||||
ultraArmAngles,
|
||||
|
|
@ -17,6 +16,19 @@ from ultraarm_communication.msg import(
|
|||
ultraArmGripperStatus,
|
||||
ultraArmPumpStatus,
|
||||
)
|
||||
import pymycobot
|
||||
from packaging import version
|
||||
# min low version require
|
||||
MAX_REQUIRE_VERSION = '3.5.3'
|
||||
current_verison = pymycobot.__version__
|
||||
print('current pymycobot library version: {}'.format(current_verison))
|
||||
if version.parse(current_verison) > version.parse(MAX_REQUIRE_VERSION):
|
||||
from pymycobot.ultraArmP340 import ultraArmP340
|
||||
class_name = 'new'
|
||||
else:
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
class_name = 'old'
|
||||
print("Note: This class is no longer maintained since v3.6.0, please refer to the project documentation: https://github.com/elephantrobotics/pymycobot/blob/main/README.md")
|
||||
|
||||
|
||||
class Watcher:
|
||||
|
|
@ -72,7 +84,10 @@ class ultraArmTopics(object):
|
|||
port = rospy.get_param("~port", "/dev/ttyUSB0")
|
||||
baud = rospy.get_param("~baud", 115200)
|
||||
rospy.loginfo("%s,%s" % (port, baud))
|
||||
if class_name == 'old':
|
||||
self.ua = ultraArm(port, baud)
|
||||
else:
|
||||
self.ua = ultraArmP340(port, baud)
|
||||
self.ua.go_zero()
|
||||
self.lock = threading.Lock()
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,20 @@ from ultraarm_communication.msg import (
|
|||
ultraArmGripperStatus,
|
||||
ultraArmPumpStatus,
|
||||
)
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
import pymycobot
|
||||
from packaging import version
|
||||
# min low version require
|
||||
MAX_REQUIRE_VERSION = '3.5.3'
|
||||
current_verison = pymycobot.__version__
|
||||
print('current pymycobot library version: {}'.format(current_verison))
|
||||
if version.parse(current_verison) > version.parse(MAX_REQUIRE_VERSION):
|
||||
from pymycobot.ultraArmP340 import ultraArmP340
|
||||
class_name = 'new'
|
||||
else:
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
class_name = 'old'
|
||||
print("Note: This class is no longer maintained since v3.6.0, please refer to the project documentation: https://github.com/elephantrobotics/pymycobot/blob/main/README.md")
|
||||
|
||||
|
||||
|
||||
class Watcher:
|
||||
|
|
@ -73,7 +86,10 @@ class ultraArmTopics(object):
|
|||
port = rospy.get_param("~port", "/dev/ttyUSB0")
|
||||
baud = rospy.get_param("~baud", 115200)
|
||||
rospy.loginfo("%s,%s" % (port, baud))
|
||||
if class_name == 'old':
|
||||
self.ua = ultraArm(port,baud)
|
||||
else:
|
||||
self.ua = ultraArmP340(port ,baud)
|
||||
self.ua.go_zero()
|
||||
self.lock = threading.Lock()
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,20 @@
|
|||
import math
|
||||
import rospy
|
||||
from sensor_msgs.msg import JointState
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
import pymycobot
|
||||
from packaging import version
|
||||
# min low version require
|
||||
MAX_REQUIRE_VERSION = '3.5.3'
|
||||
current_verison = pymycobot.__version__
|
||||
print('current pymycobot library version: {}'.format(current_verison))
|
||||
if version.parse(current_verison) > version.parse(MAX_REQUIRE_VERSION):
|
||||
from pymycobot.ultraArmP340 import ultraArmP340
|
||||
class_name = 'new'
|
||||
else:
|
||||
from pymycobot.ultraArm import ultraArm
|
||||
class_name = 'old'
|
||||
print("Note: This class is no longer maintained since v3.6.0, please refer to the project documentation: https://github.com/elephantrobotics/pymycobot/blob/main/README.md")
|
||||
|
||||
|
||||
|
||||
ua = None
|
||||
|
|
@ -24,14 +37,18 @@ def listener():
|
|||
global ua
|
||||
rospy.init_node("control_slider", anonymous=True)
|
||||
|
||||
rospy.Subscriber("joint_states", JointState, callback)
|
||||
port = rospy.get_param("~port", "/dev/ttyUSB0") # Select connected device. 选择连接设备
|
||||
baud = rospy.get_param("~baud", 115200)
|
||||
print(port, baud)
|
||||
if class_name == 'old':
|
||||
ua = ultraArm(port, baud)
|
||||
else:
|
||||
ua = ultraArmP340(port, baud)
|
||||
ua.power_on()
|
||||
ua.go_zero()
|
||||
|
||||
rospy.Subscriber("joint_states", JointState, callback)
|
||||
|
||||
# spin() simply keeps python from exiting until this node is stopped
|
||||
# spin() 只是阻止python退出,直到该节点停止
|
||||
print("spin ...")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue