diff --git a/mecharm/mecharm/scripts/simple_gui.py b/mecharm/mecharm/scripts/simple_gui.py index 67784ec..387718d 100755 --- a/mecharm/mecharm/scripts/simple_gui.py +++ b/mecharm/mecharm/scripts/simple_gui.py @@ -33,7 +33,7 @@ class Window: # 计算 Tk 根窗口的 x 和 y 坐标 x = (self.ws / 2) - 190 y = (self.hs / 2) - 250 - self.win.geometry("430x400+{}+{}".format(x, y)) + self.win.geometry("430x400+{}+{}".format(int(x), int(y))) # layout,布局 self.set_layout() # input section,输入部分 diff --git a/mecharm/mecharm/scripts/teleop_keyboard.py b/mecharm/mecharm/scripts/teleop_keyboard.py index 3d2b971..b7d1033 100755 --- a/mecharm/mecharm/scripts/teleop_keyboard.py +++ b/mecharm/mecharm/scripts/teleop_keyboard.py @@ -84,7 +84,7 @@ def teleop_keyboard(): init_pose = [0, 0, 0, 0, 0, 0, speed] - home_pose = [0, 8, -127, 40, 0, 0, speed] + home_pose = [0, 30, 30, 0, 30, 0, speed] # rsp = set_angles(*init_pose) diff --git a/mecharm/mecharm_communication/scripts/mecharm_services.py b/mecharm/mecharm_communication/scripts/mecharm_services.py index 322127c..aa1e026 100755 --- a/mecharm/mecharm_communication/scripts/mecharm_services.py +++ b/mecharm/mecharm_communication/scripts/mecharm_services.py @@ -1,17 +1,55 @@ -#!/usr/bin/env python2 - # -*- coding: UTF-8 -*- +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- import time import rospy +import os +import fcntl from mycobot_communication.srv import * from pymycobot.mycobot import MyCobot mc = None +# Avoid serial port conflicts and need to be locked +def acquire(lock_file): + open_mode = os.O_RDWR | os.O_CREAT | os.O_TRUNC + fd = os.open(lock_file, open_mode) + + pid = os.getpid() + lock_file_fd = None + + timeout = 50.0 + start_time = current_time = time.time() + while current_time < start_time + timeout: + try: + # The LOCK_EX means that only one process can hold the lock + # The LOCK_NB means that the fcntl.flock() is not blocking + # and we are able to implement termination of while loop, + # when timeout is reached. + fcntl.flock(fd, fcntl.LOCK_EX | fcntl.LOCK_NB) + except (IOError, OSError): + pass + else: + lock_file_fd = fd + break + # print('pid waiting for lock:%d'% pid) + time.sleep(1.0) + current_time = time.time() + if lock_file_fd is None: + os.close(fd) + return lock_file_fd + + +def release(lock_file_fd): + # Do not remove the lockfile: + fcntl.flock(lock_file_fd, fcntl.LOCK_UN) + os.close(lock_file_fd) + return None + def create_handle(): global mc - rospy.init_node("mecharm_services") + rospy.init_node("mycobot_services") rospy.loginfo("start ...") port = rospy.get_param("~port") baud = rospy.get_param("~baud") @@ -43,7 +81,9 @@ def set_angles(req): sp = req.speed if mc: + lock = acquire("/tmp/mycobot_lock") mc.send_angles(angles, sp) + release(lock) return SetAnglesResponse(True) @@ -51,7 +91,9 @@ def set_angles(req): def get_angles(req): """get angles,获取角度""" if mc: + lock = acquire("/tmp/mycobot_lock") angles = mc.get_angles() + release(lock) return GetAnglesResponse(*angles) @@ -68,14 +110,18 @@ def set_coords(req): mod = req.model if mc: + lock = acquire("/tmp/mycobot_lock") mc.send_coords(coords, sp, mod) + release(lock) return SetCoordsResponse(True) def get_coords(req): if mc: + lock = acquire("/tmp/mycobot_lock") coords = mc.get_coords() + release(lock) return GetCoordsResponse(*coords) @@ -83,23 +129,26 @@ def switch_status(req): """Gripper switch status""" """夹爪开关状态""" if mc: + lock = acquire("/tmp/mycobot_lock") if req.Status: mc.set_gripper_state(0, 80) else: mc.set_gripper_state(1, 80) + release(lock) return GripperStatusResponse(True) def toggle_pump(req): if mc: + lock = acquire("/tmp/mycobot_lock") if req.Status: mc.set_basic_output(req.Pin1, 0) mc.set_basic_output(req.Pin2, 0) else: mc.set_basic_output(req.Pin1, 1) mc.set_basic_output(req.Pin2, 1) - + release(lock) return PumpStatusResponse(True) @@ -107,12 +156,12 @@ robot_msg = """ MyCobot Status -------------------------------- Joint Limit: - joint 1: -160 ~ +160 - joint 2: -90 ~ +90 + joint 1: -160 ~ +170 + joint 2: -85 ~ +90 joint 3: -180 ~ +45 joint 4: -160 ~ +160 joint 5: -100 ~ +100 - joint 6: -180 ~ +180 + joint 6: -∞ ~ +∞ Connect Status: %s @@ -131,11 +180,15 @@ def output_robot_message(): atom_version = "unknown" if mc: + lock = acquire("/tmp/mycobot_lock") cn = mc.is_controller_connected() + release(lock) if cn == 1: connect_status = True time.sleep(0.1) + lock = acquire("/tmp/mycobot_lock") si = mc.is_all_servo_enable() + release(lock) if si == 1: servo_infomation = "all connected" diff --git a/mecharm/mecharm_pi/scripts/simple_gui.py b/mecharm/mecharm_pi/scripts/simple_gui.py index 67784ec..c7e76cf 100644 --- a/mecharm/mecharm_pi/scripts/simple_gui.py +++ b/mecharm/mecharm_pi/scripts/simple_gui.py @@ -1,6 +1,7 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- -import Tkinter as tk +# import Tkinter as tk # python2 +import tkinter as tk from mycobot_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus import rospy import time @@ -33,7 +34,7 @@ class Window: # 计算 Tk 根窗口的 x 和 y 坐标 x = (self.ws / 2) - 190 y = (self.hs / 2) - 250 - self.win.geometry("430x400+{}+{}".format(x, y)) + self.win.geometry("430x400+{}+{}".format(int(x), int(y))) # layout,布局 self.set_layout() # input section,输入部分 diff --git a/mecharm/mecharm_pi/scripts/teleop_keyboard.py b/mecharm/mecharm_pi/scripts/teleop_keyboard.py index 3d2b971..6cfa0f3 100644 --- a/mecharm/mecharm_pi/scripts/teleop_keyboard.py +++ b/mecharm/mecharm_pi/scripts/teleop_keyboard.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding:utf-8 -*- from __future__ import print_function from mycobot_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus @@ -84,7 +84,7 @@ def teleop_keyboard(): init_pose = [0, 0, 0, 0, 0, 0, speed] - home_pose = [0, 8, -127, 40, 0, 0, speed] + home_pose = [0, 30, 30, 0, 30, 0, speed] # rsp = set_angles(*init_pose) diff --git a/mycobot_280/mycobot_280/config/mycobot.rviz b/mycobot_280/mycobot_280/config/mycobot.rviz index 68ab389..6fe1018 100644 --- a/mycobot_280/mycobot_280/config/mycobot.rviz +++ b/mycobot_280/mycobot_280/config/mycobot.rviz @@ -8,6 +8,7 @@ Panels: - /Status1 - /RobotModel1 - /TF1 + - /Marker1 Splitter Ratio: 0.5 Tree Height: 607 - Class: rviz/Selection @@ -147,6 +148,14 @@ Visualization Manager: {} Update Interval: 0 Value: true + - Class: rviz/Marker + Enabled: true + Marker Topic: /cube + Name: Marker + Namespaces: + {} + Queue Size: 100 + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 diff --git a/mycobot_280/mycobot_280pi/scripts/simple_gui.py b/mycobot_280/mycobot_280pi/scripts/simple_gui.py index d2757cb..41f9258 100755 --- a/mycobot_280/mycobot_280pi/scripts/simple_gui.py +++ b/mycobot_280/mycobot_280pi/scripts/simple_gui.py @@ -1,6 +1,7 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: utf-8 -*- -import Tkinter as tk +# import Tkinter as tk +import tkinter as tk from mycobot_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus import rospy import time @@ -33,7 +34,7 @@ class Window: # 计算 Tk 根窗口的 x 和 y 坐标 x = (self.ws / 2) - 190 y = (self.hs / 2) - 250 - self.win.geometry("430x400+{}+{}".format(x, y)) + self.win.geometry("430x400+{}+{}".format(int(x), int(y))) # layout,布局 self.set_layout() # input section,输入部分 diff --git a/mycobot_280/mycobot_280pi/scripts/teleop_keyboard.py b/mycobot_280/mycobot_280pi/scripts/teleop_keyboard.py index e5ee716..110f8a4 100755 --- a/mycobot_280/mycobot_280pi/scripts/teleop_keyboard.py +++ b/mycobot_280/mycobot_280pi/scripts/teleop_keyboard.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # encoding=utf-8 from __future__ import print_function from mycobot_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus diff --git a/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_color.py b/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_color.py index 3a8e940..92d39af 100644 --- a/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_color.py +++ b/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_color.py @@ -40,8 +40,8 @@ class Object_detect(Movement): self.move_coords = [ [92.3, -104.9, 211.4, -179.6, 28.91, 131.29], # above the red bucket [165.0, -93.6, 201.4, -173.43, 46.23, 160.65], # above the green bucket - [88.1, 126.3, 193.4, 162.15, 2.23, 156.02], # above the blue bucket - [-5.4, 120.6, 204.6, 162.66, -6.96, 159.93], # above the gray bucket + [84.3, 123.8, 205.0, 153.45, -3.67, 142.01], # above the blue bucket + [-15, 120.6, 204.6, 162.66, -6.96, 159.93], # above the gray bucket ] # which robot: USB* is m5; ACM* is wio; AMA* is raspi @@ -50,7 +50,7 @@ class Object_detect(Movement): self.robot_raspi = os.popen("ls /dev/ttyAMA*").readline()[:-1] self.robot_jes = os.popen("ls /dev/ttyTHS1").readline()[:-1] self.raspi = False - if "dev" in self.robot_m5: + if "dev" in self.robot_m5 or "dev" in self.robot_wio: self.Pin = [2, 5] # self.Pin = [5] elif "dev" in self.robot_wio: @@ -173,7 +173,7 @@ class Object_detect(Movement): # open pump - if "dev" in self.robot_m5: + if "dev" in self.robot_m5 or "dev" in self.robot_wio: self.pump_on() elif "dev" in self.robot_raspi or "dev" in self.robot_jes: self.gpio_status(True) @@ -188,7 +188,7 @@ class Object_detect(Movement): time.sleep(0.5) # print(tmp) - self.mc.send_angles([tmp[0], 17.22, -32.51, tmp[3], 97, tmp[5]],30) + self.mc.send_angles([tmp[0], 17.22, -45, tmp[3], 97, tmp[5]],30) time.sleep(3) @@ -200,7 +200,7 @@ class Object_detect(Movement): time.sleep(3) # close pump - if "dev" in self.robot_m5: + if "dev" in self.robot_m5 or "dev" in self.robot_wio: self.pump_off() elif "dev" in self.robot_raspi or "dev" in self.robot_jes: self.gpio_status(False) @@ -231,7 +231,9 @@ class Object_detect(Movement): # init 270 def run(self): if "dev" in self.robot_m5: - self.mc = MyCobot(self.robot_m5, 115200) + self.mc = MyCobot(self.robot_m5, 115200) + elif "dev" in self.robot_wio: + self.mc = MyCobot(self.robot_wio, 115200) elif "dev" in self.robot_raspi: self.mc = MyCobot(self.robot_raspi, 1000000) if not self.raspi: diff --git a/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_img_folder_opt.py b/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_img_folder_opt.py index d0f7873..5d891dd 100755 --- a/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_img_folder_opt.py +++ b/mycobot_ai/ai_mecharm_270/scripts/combine_detect_obj_img_folder_opt.py @@ -46,8 +46,8 @@ class Object_detect(Movement): self.move_coords = [ [92.3, -104.9, 211.4, -179.6, 28.91, 131.29], # above the red bucket [165.0, -93.6, 201.4, -173.43, 46.23, 160.65], # above the green bucket - [88.1, 126.3, 193.4, 162.15, 2.23, 156.02], # above the blue bucket - [-5.4, 120.6, 204.6, 162.66, -6.96, 159.93], # above the gray bucket + [84.3, 123.8, 205.0, 153.45, -3.67, 142.01], # above the blue bucket + [-15, 120.6, 204.6, 162.66, -6.96, 159.93], # above the gray bucket ] # 判断连接设备:ttyUSB*为M5,ttyACM*为seeed @@ -56,7 +56,7 @@ class Object_detect(Movement): self.robot_wio = os.popen("ls /dev/ttyACM*").readline()[:-1] self.robot_raspi = os.popen("ls /dev/ttyAMA*").readline()[:-1] self.robot_jes = os.popen("ls /dev/ttyTHS1").readline()[:-1] - if "dev" in self.robot_m5: + if "dev" in self.robot_m5 or "dev" in self.robot_wio: self.Pin = [2, 5] elif "dev" in self.robot_wio: self.Pin = [20, 21] @@ -158,21 +158,20 @@ class Object_detect(Movement): def move(self, x, y, color): # send Angle to move 270 self.mc.send_angles(self.move_angles[0], 30) - time.sleep(7) + time.sleep(4) print("x %s ,y %s" % (x,y)) # send coordinates to move 270 根据不同底板机械臂,调整吸泵高度 self.mc.send_coords([x, y, 140, 179.12, -0.18, 179.46], 30, 0) - time.sleep(7) - print("ntm") + time.sleep(3) self.mc.send_coords([x, y, 95, 179.12, -0.18, 179.46], 30, 0) # -178.77, -2.69, 40.15 m5 # self.mc.send_coords([x, y, 90, 179.12, -0.18, 179.46], 30, 0) # -178.77, -2.69, 40.15 pi # self.mc.send_coords([x, y, 92, 179.12, -0.18, 179.46], 30, 0) # -178.77, -2.69, 40.15 - time.sleep(6) + time.sleep(3) # open pump - if "dev" in self.robot_m5: + if "dev" in self.robot_m5 or "dev" in self.robot_wio: self.pump_on() elif "dev" in self.robot_raspi or "dev" in self.robot_jes: self.gpio_status(True) @@ -187,25 +186,25 @@ class Object_detect(Movement): time.sleep(0.5) # print(tmp) - self.mc.send_angles([tmp[0], 17.22, -32.51, tmp[3], 97, tmp[5]],30) - time.sleep(6) + self.mc.send_angles([tmp[0], 17.22, -45, tmp[3], 97, tmp[5]],30) + time.sleep(3) self.mc.send_coords(self.move_coords[color], 30, 1) self.pub_marker(self.move_coords[color][0] / 1000.0, self.move_coords[color][1] / 1000.0, self.move_coords[color][2] / 1000.0) - time.sleep(6) + time.sleep(3) # close pump - if "dev" in self.robot_m5: + if "dev" in self.robot_m5 or "dev" in self.robot_wio: self.pump_off() elif "dev" in self.robot_raspi or "dev" in self.robot_jes: self.gpio_status(False) time.sleep(6) self.mc.send_angles(self.move_angles[1], 30) - time.sleep(6) + time.sleep(2) # decide whether grab cube def decide_move(self, x, y, color): diff --git a/mycobot_ai/ai_mycobot_280/scripts/ai_windows.py b/mycobot_ai/ai_mycobot_280/scripts/ai_windows.py new file mode 100644 index 0000000..a0ebfe9 --- /dev/null +++ b/mycobot_ai/ai_mycobot_280/scripts/ai_windows.py @@ -0,0 +1,191 @@ +#!/usr/bin/env python3 +# encoding:utf-8 + +from tkinter import ttk +from tkinter import * +import os,sys +import time +import subprocess + +import threading +from multiprocessing import Process + + +class Application(object): + def __init__(self): + self.win = Tk() + # 窗口置顶 + self.win.wm_attributes('-topmost', 1) + self.ros = False + # 运行的文件 + self.run_py = "" + # 判断通信口并给权限 + try: + self.robot_m5 = os.popen("ls /dev/ttyUSB*").readline()[:-1] + self.robot_wio = os.popen("ls /dev/ttyACM*").readline()[:-1] + self.robot_raspi = os.popen("ls /dev/ttyAMA*").readline()[:-1] + self.robot_jes = os.popen("ls /dev/ttyTHS1").readline()[:-1] + if "dev" in self.robot_wio: + self.set_file(self.robot_wio) + elif "dev" in self.robot_m5: + self.set_file(self.robot_m5) + elif "dev" in self.robot_raspi: + self.change_file(self.robot_raspi) + elif "dev" in self.robot_jes: + self.change_file(self.robot_jes) + except Exception as e: + pass + + # 设置标题 + self.win.title("aikit启动工具") + self.win.geometry( + "800x600+100+100") # 290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置 + # 打开ros按钮 + self.btn = Button(self.win, text="open ROS", font=("Helvetica","13"), command=self.open_ros) + self.btn.grid(row=0) + + self.chanse_code = Label(self.win, text="选择程序:", font=("Helvetica","13"), width=10) + self.chanse_code.grid(row=1) + + self.myComboList = [u"颜色识别", u"物体识别", u"二维码识别"] + self.myCombox = ttk.Combobox(self.win, font=("Helvetica","13"), values=self.myComboList) + self.myCombox.grid(row=1, column=1) + + self.add_btn = Button(self.win, text="添加新的物体图像", font=("Helvetica","13"), command=self.add_img) + self.add_btn.grid(row=1, column=2) + + self.tips = "1、首先打开ros,大概需要等待5s\n2、选择所要运行的程序点击运行即可,开启大概需要10秒,可以通过查看终端查看开启情况。\n\n添加新的图像:\n1、点击按钮,等待开启摄像头\n2、选中图像框,按z键拍照\n3、使用鼠标框出需要识别的图像区域\n4、按Enter键提取图像\n5、根据终端提示,输入数字(1~4)保存到相对应图像的文件夹,按下Enter键即可保存至对应文件夹。" + + self.btn = Button(self.win, text="运行", font=("Helvetica","13"), command=self.start_run) + self.btn.grid(row=5) + + self.close = Button(self.win, text="close", font=("Helvetica","13"), command=self.close_py) + self.close.grid(row=5, column=1) + + self.t2 = None + self.log_data = Text(self.win, width=74, height=20, font=("Helvetica","13")) + self.log_data.grid(row=16, column=0, columnspan=10) + self.log_data.insert(END, self.tips) + + # self.open_ros() + self.win.protocol('WM_DELETE_WINDOW', self.close_rviz) + + def close_rviz(self): + os.system( + "ps -ef | grep -E mycobot.rviz | grep -v 'grep' | awk '{print $2}' | xargs kill -9") + sys.exit(0) + + def set_file(self,port): + self.command = ''.format( + port) + # 根据通信口修改ros启动文件 + os.system( + "sed -i '2c {}' ~/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mycobot_280/launch/vision_wio.launch" + .format(self.command)) + + def change_file(self, port): + command1 = ''.format(port) + command2 = ''.format(1000000) + # 根据通信口修改ros启动文件 + os.system( + "sed -i '2c {}' ~/catkin_ws/src/mycobot_ros/mycobot_ai/launch/vision.launch".format(command1)) + os.system( + "sed -i '3c {}' ~/catkin_ws/src/mycobot_ros/mycobot_ai/launch/vision.launch".format(command2)) + + def start_run(self): + try: + print(u"开始运行") + one = self.myCombox.get() + if one == u"颜色识别": + self.run_py = "combine_detect_obj_color.py" + t2 = threading.Thread(target=self.open_py1) + t2.setDaemon(True) + t2.start() + elif one == u"物体识别": + self.run_py = "combine_detect_obj_img_folder_opt.py" + t3 = threading.Thread(target=self.open_py) + t3.setDaemon(True) + t3.start() + elif one == u"二维码识别": + self.run_py = "detect_encode.py" + t3 = threading.Thread(target=self.open_py2) + t3.setDaemon(True) + t3.start() + except Exception as e: + self.tips = str(e) + self.log_data.insert(END, self.tips) + + def open_py(self): + os.system( + "cd /home/h/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mycobot_280 && python scripts/combine_detect_obj_img_folder_opt.py" + ) + + def open_py1(self): + os.system( + "python ~/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_color.py" + ) + + def open_py2(self): + os.system( + "python ~/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mycobot_280/scripts/detect_encode.py" + ) + + def add_img(self): + os.system( + "python ~/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mycobot_280/scripts/add_img.py" + ) + + def open_ros(self): + if self.ros: + print("ros is opened") + return + # t1 = threading.Thread(target=self.ross) + # t1.setDaemon(True) + # t1.start() + self.ross() + self.ros = True + + def ross(self): + # os.system( + # "roslaunch ~/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mycobot_280/launch/vision_wio.launch" + # ) + p = subprocess.Popen(["roslaunch", "/home/h/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mycobot_280/launch/vision_wio.launch"],shell=False, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + + def close_py(self): + t1 = threading.Thread(target=self.close_p) + t1.setDaemon(True) + t1.start() + + def close_p(self): + # 关闭ai程序 + os.system("ps -ef | grep -E " + self.run_py + + " | grep -v 'grep' | awk '{print $2}' | xargs kill -9") + + def get_current_time(self): + # 日志时间 + """Get current time with format.""" + current_time = time.strftime("%Y-%m-%d %H:%M:%S", + time.localtime(time.time())) + return current_time + + def write_log_to_Text(self, logmsg): + # 设置日志函数 + global LOG_NUM + current_time = self.get_current_time() + logmsg_in = str(current_time) + " " + str(logmsg) + "\n" # 换行 + + if LOG_NUM <= 18: + self.log_data_Text.insert(END, logmsg_in) + LOG_NUM += len(logmsg_in.split("\n")) + # print(LOG_NUM) + else: + self.log_data_Text.insert(END, logmsg_in) + self.log_data_Text.yview("end") + + def run(self): + self.win.mainloop() + + +if __name__ == "__main__": + mc = Application() + mc.run() diff --git a/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_color.py b/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_color.py index f29c73f..389a29a 100755 --- a/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_color.py +++ b/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_color.py @@ -51,8 +51,8 @@ class Object_detect(Movement): # self.Pin = [20, 21] self.Pin = [2, 5] - for i in self.move_coords: - i[2] -= 20 + # for i in self.move_coords: + # i[2] -= 20 elif "dev" in self.robot_raspi or "dev" in self.robot_jes: import RPi.GPIO as GPIO GPIO.setwarnings(False) diff --git a/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_img_folder_opt.py b/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_img_folder_opt.py index ee5ca7d..de5ca4a 100644 --- a/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_img_folder_opt.py +++ b/mycobot_ai/ai_mycobot_280/scripts/combine_detect_obj_img_folder_opt.py @@ -61,8 +61,8 @@ class Object_detect(Movement): self.Pin = [2, 5] elif "dev" in self.robot_wio: self.Pin = [2, 5] - for i in self.move_coords: - i[2] -= 20 + # for i in self.move_coords: + # i[2] -= 20 elif "dev" in self.robot_raspi or "dev" in self.robot_jes: import RPi.GPIO as GPIO GPIO.setwarnings(False) diff --git a/mycobot_ai/ai_mira/CMakeLists.txt b/mycobot_ai/ai_ultraarm/CMakeLists.txt similarity index 99% rename from mycobot_ai/ai_mira/CMakeLists.txt rename to mycobot_ai/ai_ultraarm/CMakeLists.txt index 03316d1..b866e09 100644 --- a/mycobot_ai/ai_mira/CMakeLists.txt +++ b/mycobot_ai/ai_ultraarm/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(ai_mira) +project(ai_ultraarm) ## Compile as C++11, supported in ROS Kinetic and newer # add_compile_options(-std=c++11) @@ -8,7 +8,7 @@ project(ai_mira) ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) ## is used, also find other catkin packages find_package(catkin REQUIRED COMPONENTS - mira + ultraarm ) ## System dependencies are found with CMake's conventions diff --git a/mycobot_ai/ai_mira/launch/vision_m5.launch b/mycobot_ai/ai_ultraarm/launch/vision_m5.launch similarity index 70% rename from mycobot_ai/ai_mira/launch/vision_m5.launch rename to mycobot_ai/ai_ultraarm/launch/vision_m5.launch index e15a01d..7928868 100644 --- a/mycobot_ai/ai_mira/launch/vision_m5.launch +++ b/mycobot_ai/ai_ultraarm/launch/vision_m5.launch @@ -2,8 +2,8 @@ - - + + @@ -14,13 +14,13 @@ - + - + diff --git a/mycobot_ai/ai_mira/launch/vision_pi.launch b/mycobot_ai/ai_ultraarm/launch/vision_pi.launch similarity index 100% rename from mycobot_ai/ai_mira/launch/vision_pi.launch rename to mycobot_ai/ai_ultraarm/launch/vision_pi.launch diff --git a/mycobot_ai/ai_mira/launch/vision_wio.launch b/mycobot_ai/ai_ultraarm/launch/vision_wio.launch similarity index 100% rename from mycobot_ai/ai_mira/launch/vision_wio.launch rename to mycobot_ai/ai_ultraarm/launch/vision_wio.launch diff --git a/mycobot_ai/ai_mira/local_photo/goal5.jpeg b/mycobot_ai/ai_ultraarm/local_photo/goal5.jpeg similarity index 100% rename from mycobot_ai/ai_mira/local_photo/goal5.jpeg rename to mycobot_ai/ai_ultraarm/local_photo/goal5.jpeg diff --git a/mycobot_ai/ai_mira/local_photo/img/goal01.jpeg b/mycobot_ai/ai_ultraarm/local_photo/img/goal01.jpeg similarity index 100% rename from mycobot_ai/ai_mira/local_photo/img/goal01.jpeg rename to mycobot_ai/ai_ultraarm/local_photo/img/goal01.jpeg diff --git a/mycobot_ai/ai_mira/local_photo/img/goal03.jpeg b/mycobot_ai/ai_ultraarm/local_photo/img/goal03.jpeg similarity index 100% rename from mycobot_ai/ai_mira/local_photo/img/goal03.jpeg rename to mycobot_ai/ai_ultraarm/local_photo/img/goal03.jpeg diff --git a/mycobot_ai/ai_mira/local_photo/img/goal2.jpeg b/mycobot_ai/ai_ultraarm/local_photo/img/goal2.jpeg similarity index 100% rename from mycobot_ai/ai_mira/local_photo/img/goal2.jpeg rename to mycobot_ai/ai_ultraarm/local_photo/img/goal2.jpeg diff --git a/mycobot_ai/ai_mira/local_photo/takephoto.jpeg b/mycobot_ai/ai_ultraarm/local_photo/takephoto.jpeg similarity index 100% rename from mycobot_ai/ai_mira/local_photo/takephoto.jpeg rename to mycobot_ai/ai_ultraarm/local_photo/takephoto.jpeg diff --git a/mycobot_ai/ai_mira/package.xml b/mycobot_ai/ai_ultraarm/package.xml similarity index 91% rename from mycobot_ai/ai_mira/package.xml rename to mycobot_ai/ai_ultraarm/package.xml index b24b134..e18f968 100644 --- a/mycobot_ai/ai_mira/package.xml +++ b/mycobot_ai/ai_ultraarm/package.xml @@ -1,8 +1,8 @@ - ai_mira + ai_ultraarm 0.0.0 - The ai_mira package + The ai_ultraarm package @@ -49,9 +49,9 @@ catkin - mira - mira - mira + ultraarm + ultraarm + ultraarm diff --git a/mycobot_ai/ai_mira/prof.calltree b/mycobot_ai/ai_ultraarm/prof.calltree similarity index 100% rename from mycobot_ai/ai_mira/prof.calltree rename to mycobot_ai/ai_ultraarm/prof.calltree diff --git a/mycobot_ai/ai_mira/prof.out b/mycobot_ai/ai_ultraarm/prof.out similarity index 100% rename from mycobot_ai/ai_mira/prof.out rename to mycobot_ai/ai_ultraarm/prof.out diff --git a/mycobot_ai/ai_mira/res/blue/goal1.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal1.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal1.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal1.jpeg diff --git a/mycobot_ai/ai_mira/res/blue/goal2.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal2.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal2.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal2.jpeg diff --git a/mycobot_ai/ai_mira/res/blue/goal3.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal3.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal3.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal3.jpeg diff --git a/mycobot_ai/ai_mira/res/blue/goal4.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal4.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal4.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal4.jpeg diff --git a/mycobot_ai/ai_mira/res/blue/goal5.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal5.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal5.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal5.jpeg diff --git a/mycobot_ai/ai_mira/res/blue/goal6.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal6.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal6.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal6.jpeg diff --git a/mycobot_ai/ai_mira/res/blue/goal7.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal7.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal7.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal7.jpeg diff --git a/mycobot_ai/ai_mira/res/blue/goal8.jpeg b/mycobot_ai/ai_ultraarm/res/blue/goal8.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/blue/goal8.jpeg rename to mycobot_ai/ai_ultraarm/res/blue/goal8.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal1.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal1.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal1.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal1.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal2.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal2.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal2.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal2.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal3.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal3.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal3.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal3.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal4.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal4.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal4.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal4.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal5.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal5.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal5.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal5.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal6.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal6.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal6.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal6.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal7.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal7.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal7.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal7.jpeg diff --git a/mycobot_ai/ai_mira/res/gray/goal8.jpeg b/mycobot_ai/ai_ultraarm/res/gray/goal8.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/gray/goal8.jpeg rename to mycobot_ai/ai_ultraarm/res/gray/goal8.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal1.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal1.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal1.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal1.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal10.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal10.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal10.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal10.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal11.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal11.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal11.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal11.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal2.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal2.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal2.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal2.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal3.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal3.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal3.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal3.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal4.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal4.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal4.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal4.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal5.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal5.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal5.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal5.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal6.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal6.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal6.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal6.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal7.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal7.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal7.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal7.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal8.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal8.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal8.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal8.jpeg diff --git a/mycobot_ai/ai_mira/res/green/goal9.jpeg b/mycobot_ai/ai_ultraarm/res/green/goal9.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/green/goal9.jpeg rename to mycobot_ai/ai_ultraarm/res/green/goal9.jpeg diff --git a/mycobot_ai/ai_mira/res/red/goal1.jpeg b/mycobot_ai/ai_ultraarm/res/red/goal1.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/red/goal1.jpeg rename to mycobot_ai/ai_ultraarm/res/red/goal1.jpeg diff --git a/mycobot_ai/ai_mira/res/red/goal2.jpeg b/mycobot_ai/ai_ultraarm/res/red/goal2.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/red/goal2.jpeg rename to mycobot_ai/ai_ultraarm/res/red/goal2.jpeg diff --git a/mycobot_ai/ai_mira/res/red/goal3.jpeg b/mycobot_ai/ai_ultraarm/res/red/goal3.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/red/goal3.jpeg rename to mycobot_ai/ai_ultraarm/res/red/goal3.jpeg diff --git a/mycobot_ai/ai_mira/res/red/goal4.jpeg b/mycobot_ai/ai_ultraarm/res/red/goal4.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/red/goal4.jpeg rename to mycobot_ai/ai_ultraarm/res/red/goal4.jpeg diff --git a/mycobot_ai/ai_mira/res/red/goal5.jpeg b/mycobot_ai/ai_ultraarm/res/red/goal5.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/red/goal5.jpeg rename to mycobot_ai/ai_ultraarm/res/red/goal5.jpeg diff --git a/mycobot_ai/ai_mira/res/red/goal6.jpeg b/mycobot_ai/ai_ultraarm/res/red/goal6.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/red/goal6.jpeg rename to mycobot_ai/ai_ultraarm/res/red/goal6.jpeg diff --git a/mycobot_ai/ai_mira/res/red/goal7.jpeg b/mycobot_ai/ai_ultraarm/res/red/goal7.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/red/goal7.jpeg rename to mycobot_ai/ai_ultraarm/res/red/goal7.jpeg diff --git a/mycobot_ai/ai_mira/res/takephoto.jpeg b/mycobot_ai/ai_ultraarm/res/takephoto.jpeg similarity index 100% rename from mycobot_ai/ai_mira/res/takephoto.jpeg rename to mycobot_ai/ai_ultraarm/res/takephoto.jpeg diff --git a/mycobot_ai/ai_mira/scripts/add_img.py b/mycobot_ai/ai_ultraarm/scripts/add_img.py similarity index 97% rename from mycobot_ai/ai_mira/scripts/add_img.py rename to mycobot_ai/ai_ultraarm/scripts/add_img.py index 2b16744..bc6dddc 100755 --- a/mycobot_ai/ai_mira/scripts/add_img.py +++ b/mycobot_ai/ai_ultraarm/scripts/add_img.py @@ -49,8 +49,8 @@ def take_photo(): def cut_photo(): - path1 = '/home/ubuntu/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mira/' # pi - path2 = '/home/h/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mira/' # m5 + path1 = '/home/ubuntu/catkin_ws/src/mycobot_ros/mycobot_ai/ai_ultraarm/' # pi + path2 = '/home/h/catkin_ws/src/mycobot_ros/mycobot_ai/ai_ultraarm/' # m5 if os.path.exists(path1): path = path1 diff --git a/mycobot_ai/ai_mira/scripts/combine_detect_obj_color.py b/mycobot_ai/ai_ultraarm/scripts/combine_detect_obj_color.py similarity index 92% rename from mycobot_ai/ai_mira/scripts/combine_detect_obj_color.py rename to mycobot_ai/ai_ultraarm/scripts/combine_detect_obj_color.py index adf2040..7ca841a 100755 --- a/mycobot_ai/ai_mira/scripts/combine_detect_obj_color.py +++ b/mycobot_ai/ai_ultraarm/scripts/combine_detect_obj_color.py @@ -9,7 +9,7 @@ import json import os,sys import rospy from visualization_msgs.msg import Marker -from pymycobot.mira import Mira +from pymycobot.ultraArm import ultraArm from moving_utils import Movement IS_CV_4 = cv2.__version__[0] == '4' @@ -25,8 +25,8 @@ class Object_detect(Movement): # get path of file dir_path = os.path.dirname(__file__) - # declare mira - self.mc = None + # declare ultraArm + self.ua = None # 移动角度 self.move_angles = [ @@ -63,11 +63,11 @@ class Object_detect(Movement): "blue": [np.array([100, 43, 46]), np.array([124, 255, 255])], "cyan": [np.array([78, 43, 46]), np.array([99, 255, 255])], } - # use to calculate coord between cube and mira + # use to calculate coord between cube and ultraArm self.sum_x1 = self.sum_x2 = self.sum_y2 = self.sum_y1 = 0 - # The coordinates of the grab center point relative to the mira + # The coordinates of the grab center point relative to the ultraArm self.camera_x, self.camera_y = camera_x, camera_y - # The coordinates of the cube relative to the mira + # The coordinates of the cube relative to the ultraArm self.c_x, self.c_y = 0, 0 # The ratio of pixels to actual values self.ratio = 0 @@ -121,35 +121,35 @@ class Object_detect(Movement): # 开启吸泵 m5 def pump_on(self): - self.mc.set_gpio_state(0) + self.ua.set_gpio_state(0) # 停止吸泵 m5 def pump_off(self): - self.mc.set_gpio_state(1) + self.ua.set_gpio_state(1) # Grasping motion def move(self, x, y, color): - # send Angle to move mira + # send Angle to move ultraArm print('color-->', color) - self.mc.set_angles(self.move_angles[0], 20) + self.ua.set_angles(self.move_angles[0], 20) time.sleep(3) - # send coordinates to move mira - self.mc.set_coords([x, -y, 58.84], 20) + # send coordinates to move ultraArm + self.ua.set_coords([x, -y, 58.84], 20) time.sleep(1.5) - self.mc.set_coords([x, -y, 21.8], 20) + self.ua.set_coords([x, -y, 21.8], 20) time.sleep(2) # open pump self.pump_on() time.sleep(1.5) - self.mc.set_angle(2, 0, 30) + self.ua.set_angle(2, 0, 30) time.sleep(0.3) - self.mc.set_angle(3, 0, 30) + self.ua.set_angle(3, 0, 30) time.sleep(1) - self.mc.set_coords(self.move_coords[color], 30) + self.ua.set_coords(self.move_coords[color], 30) self.pub_marker(self.move_coords[color][0]/1000.0, self.move_coords[color] [1]/1000.0, self.move_coords[color][2]/1000.0) time.sleep(7) @@ -166,7 +166,7 @@ class Object_detect(Movement): self.pub_marker( self.move_coords[color][0]/1000.0+0.03, self.move_coords[color][1]/1000.0) - self.mc.set_angles(self.move_angles[1], 20) + self.ua.set_angles(self.move_angles[1], 20) time.sleep(1.5) # decide whether grab cube @@ -181,11 +181,11 @@ class Object_detect(Movement): # 调整吸泵吸取位置,y增大,向左移动;y减小,向右移动;x增大,前方移动;x减小,向后方移动 self.move(x, y, color) - # init mira + # init ultraArm def run(self): - self.mc = Mira(self.robot_m5, 115200) - self.mc.go_zero() - self.mc.set_angles([19.48, 0.0, 0.0], 40) + self.ua = ultraArm(self.robot_m5, 115200) + self.ua.go_zero() + self.ua.set_angles([19.48, 0.0, 0.0], 40) time.sleep(3) # draw aruco @@ -239,13 +239,13 @@ class Object_detect(Movement): self.y2 = int(y2) print(self.x1, self.y1, self.x2, self.y2) - # set parameters to calculate the coords between cube and mira + # set parameters to calculate the coords between cube and ultraArm def set_params(self, c_x, c_y, ratio): self.c_x = c_x self.c_y = c_y self.ratio = 220.0/ratio - # calculate the coords between cube and mira + # calculate the coords between cube and ultraArm def get_position(self, x, y): return ((y - self.c_y)*self.ratio + self.camera_x), ((x - self.c_x)*self.ratio + self.camera_y) @@ -319,7 +319,7 @@ class Object_detect(Movement): cv2.rectangle(img, (x, y), (x+w, y+h), (153, 153, 0), 2) # calculate the rectangle center x, y = (x*2+w)/2, (y*2+h)/2 - # calculate the real coordinates of mira relative to the target + # calculate the real coordinates of ultraArm relative to the target if mycolor == "red": self.color = 0 elif mycolor == "green": @@ -343,7 +343,7 @@ if __name__ == "__main__": cap.open() # init a class of Object_detect detect = Object_detect() - # init mira + # init ultraArm detect.run() _init_ = 20 @@ -386,7 +386,7 @@ if __name__ == "__main__": init_num += 1 continue - # calculate params of the coords between cube and mira + # calculate params of the coords between cube and ultraArm if nparams < 10: if detect.get_calculate_params(frame) is None: cv2.imshow("figure", frame) @@ -403,7 +403,7 @@ if __name__ == "__main__": continue elif nparams == 10: nparams += 1 - # calculate and set params of calculating real coord between cube and mira + # calculate and set params of calculating real coord between cube and ultraArm detect.set_params( (detect.sum_x1+detect.sum_x2)/20.0, (detect.sum_y1+detect.sum_y2)/20.0, @@ -420,7 +420,7 @@ if __name__ == "__main__": continue else: x, y = detect_result - # calculate real coord between cube and mira + # calculate real coord between cube and ultraArm real_x, real_y = detect.get_position(x, y) if num == 20: detect.pub_marker(real_sx/20.0/1000.0, real_sy/20.0/1000.0) diff --git a/mycobot_ai/ai_mira/scripts/combine_detect_obj_img_folder_opt.py b/mycobot_ai/ai_ultraarm/scripts/combine_detect_obj_img_folder_opt.py similarity index 96% rename from mycobot_ai/ai_mira/scripts/combine_detect_obj_img_folder_opt.py rename to mycobot_ai/ai_ultraarm/scripts/combine_detect_obj_img_folder_opt.py index a548d23..ecef81d 100755 --- a/mycobot_ai/ai_mira/scripts/combine_detect_obj_img_folder_opt.py +++ b/mycobot_ai/ai_ultraarm/scripts/combine_detect_obj_img_folder_opt.py @@ -20,7 +20,7 @@ from threading import Thread import tkFileDialog as filedialog import Tkinter as tk from moving_utils import Movement -from pymycobot.mira import Mira +from pymycobot.ultraArm import ultraArm IS_CV_4 = cv2.__version__[0] == '4' __version__ = "1.0" # Adaptive seeed @@ -35,7 +35,7 @@ class Object_detect(Movement): dir_path = os.path.dirname(__file__) # declare mypal260 - self.mc = None + self.ua = None # 移动角度 self.move_angles = [ [0.0, 0.0, 0.0], # init the point @@ -116,34 +116,34 @@ class Object_detect(Movement): # 开启吸泵 m5 def pump_on(self): - self.mc.set_gpio_state(0) + self.ua.set_gpio_state(0) # 停止吸泵 m5 def pump_off(self): - self.mc.set_gpio_state(1) + self.ua.set_gpio_state(1) # Grasping motion def move(self, x, y, color): # send Angle to move mypal260 - self.mc.set_angles(self.move_angles[0], 20) + self.ua.set_angles(self.move_angles[0], 20) time.sleep(3) # send coordinates to move mypal260 根据不同底板机械臂,调整吸泵高度 - self.mc.set_coords([x, -y, 58.84], 20) + self.ua.set_coords([x, -y, 58.84], 20) time.sleep(1.5) - self.mc.set_coords([x, -y, 21.8], 20) + self.ua.set_coords([x, -y, 21.8], 20) time.sleep(2) # open pump self.pump_on() time.sleep(1.5) - self.mc.set_angle(2, 0, 30) + self.ua.set_angle(2, 0, 30) time.sleep(0.3) - self.mc.set_angle(3, 0, 30) + self.ua.set_angle(3, 0, 30) time.sleep(2) - self.mc.set_coords(self.move_coords[color], 30) + self.ua.set_coords(self.move_coords[color], 30) self.pub_marker(self.move_coords[color][0] / 1000.0, self.move_coords[color][1] / 1000.0, self.move_coords[color][2] / 1000.0) @@ -153,7 +153,7 @@ class Object_detect(Movement): self.pump_off() time.sleep(6) - self.mc.set_angles(self.move_angles[1], 20) + self.ua.set_angles(self.move_angles[1], 20) time.sleep(1.5) # decide whether grab cube @@ -170,9 +170,9 @@ class Object_detect(Movement): # init mypal260 def run(self): - self.mc = Mira(self.robot_m5, 115200) - self.mc.go_zero() - self.mc.set_angles([19.48, 0.0, 0.0], 40) + self.ua = ultraArm(self.robot_m5, 115200) + self.ua.go_zero() + self.ua.set_angles([19.48, 0.0, 0.0], 40) time.sleep(3) # draw aruco @@ -358,8 +358,8 @@ class Object_detect(Movement): # The path to save the image folder def parse_folder(folder): restore = [] - path1 = '/home/ubuntu/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mira/' + folder - path2 = '/home/h/catkin_ws/src/mycobot_ros/mycobot_ai/ai_mira/' + folder + path1 = '/home/ubuntu/catkin_ws/src/mycobot_ros/mycobot_ai/ai_ultraarm/' + folder + path2 = '/home/h/catkin_ws/src/mycobot_ros/mycobot_ai/ai_ultraarm/' + folder if os.path.exists(path1): path = path1 diff --git a/mycobot_ai/ai_mira/scripts/detect_encode.py b/mycobot_ai/ai_ultraarm/scripts/detect_encode.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/detect_encode.py rename to mycobot_ai/ai_ultraarm/scripts/detect_encode.py diff --git a/mycobot_ai/ai_mira/scripts/detect_obj_color.py b/mycobot_ai/ai_ultraarm/scripts/detect_obj_color.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/detect_obj_color.py rename to mycobot_ai/ai_ultraarm/scripts/detect_obj_color.py diff --git a/mycobot_ai/ai_mira/scripts/detect_obj_color_wio.py b/mycobot_ai/ai_ultraarm/scripts/detect_obj_color_wio.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/detect_obj_color_wio.py rename to mycobot_ai/ai_ultraarm/scripts/detect_obj_color_wio.py diff --git a/mycobot_ai/ai_mira/scripts/detect_obj_img.py b/mycobot_ai/ai_ultraarm/scripts/detect_obj_img.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/detect_obj_img.py rename to mycobot_ai/ai_ultraarm/scripts/detect_obj_img.py diff --git a/mycobot_ai/ai_mira/scripts/detect_obj_img_folder.py b/mycobot_ai/ai_ultraarm/scripts/detect_obj_img_folder.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/detect_obj_img_folder.py rename to mycobot_ai/ai_ultraarm/scripts/detect_obj_img_folder.py diff --git a/mycobot_ai/ai_mira/scripts/detect_obj_img_folder_opt.py b/mycobot_ai/ai_ultraarm/scripts/detect_obj_img_folder_opt.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/detect_obj_img_folder_opt.py rename to mycobot_ai/ai_ultraarm/scripts/detect_obj_img_folder_opt.py diff --git a/mycobot_ai/ai_mira/scripts/detect_obj_img_wio.py b/mycobot_ai/ai_ultraarm/scripts/detect_obj_img_wio.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/detect_obj_img_wio.py rename to mycobot_ai/ai_ultraarm/scripts/detect_obj_img_wio.py diff --git a/mycobot_ai/ai_mira/scripts/frozen_inference_graph.pb b/mycobot_ai/ai_ultraarm/scripts/frozen_inference_graph.pb similarity index 100% rename from mycobot_ai/ai_mira/scripts/frozen_inference_graph.pb rename to mycobot_ai/ai_ultraarm/scripts/frozen_inference_graph.pb diff --git a/mycobot_ai/ai_mira/scripts/graph.pbtxt b/mycobot_ai/ai_ultraarm/scripts/graph.pbtxt similarity index 100% rename from mycobot_ai/ai_mira/scripts/graph.pbtxt rename to mycobot_ai/ai_ultraarm/scripts/graph.pbtxt diff --git a/mycobot_ai/ai_mira/scripts/labels.json b/mycobot_ai/ai_ultraarm/scripts/labels.json similarity index 100% rename from mycobot_ai/ai_mira/scripts/labels.json rename to mycobot_ai/ai_ultraarm/scripts/labels.json diff --git a/mycobot_ai/ai_mira/scripts/local_photo/takephoto.jpeg b/mycobot_ai/ai_ultraarm/scripts/local_photo/takephoto.jpeg similarity index 100% rename from mycobot_ai/ai_mira/scripts/local_photo/takephoto.jpeg rename to mycobot_ai/ai_ultraarm/scripts/local_photo/takephoto.jpeg diff --git a/mycobot_ai/ai_mira/scripts/moving_utils.py b/mycobot_ai/ai_ultraarm/scripts/moving_utils.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/moving_utils.py rename to mycobot_ai/ai_ultraarm/scripts/moving_utils.py diff --git a/mycobot_ai/ai_mira/scripts/mtx_dist.npz b/mycobot_ai/ai_ultraarm/scripts/mtx_dist.npz similarity index 100% rename from mycobot_ai/ai_mira/scripts/mtx_dist.npz rename to mycobot_ai/ai_ultraarm/scripts/mtx_dist.npz diff --git a/mycobot_ai/ai_mira/scripts/openVideo.py b/mycobot_ai/ai_ultraarm/scripts/openVideo.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/openVideo.py rename to mycobot_ai/ai_ultraarm/scripts/openVideo.py diff --git a/mycobot_ai/ai_mira/scripts/pump.py b/mycobot_ai/ai_ultraarm/scripts/pump.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/pump.py rename to mycobot_ai/ai_ultraarm/scripts/pump.py diff --git a/mycobot_ai/ai_mira/scripts/scripts.tar.gz b/mycobot_ai/ai_ultraarm/scripts/scripts.tar.gz similarity index 100% rename from mycobot_ai/ai_mira/scripts/scripts.tar.gz rename to mycobot_ai/ai_ultraarm/scripts/scripts.tar.gz diff --git a/mycobot_ai/ai_mira/scripts/send_maker.py b/mycobot_ai/ai_ultraarm/scripts/send_maker.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/send_maker.py rename to mycobot_ai/ai_ultraarm/scripts/send_maker.py diff --git a/mycobot_ai/ai_mira/scripts/test.py b/mycobot_ai/ai_ultraarm/scripts/test.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/test.py rename to mycobot_ai/ai_ultraarm/scripts/test.py diff --git a/mycobot_ai/ai_mira/scripts/tools.py b/mycobot_ai/ai_ultraarm/scripts/tools.py similarity index 100% rename from mycobot_ai/ai_mira/scripts/tools.py rename to mycobot_ai/ai_ultraarm/scripts/tools.py diff --git a/mycobot_communication/scripts/mycobot_services.py b/mycobot_communication/scripts/mycobot_services.py index 0f105a8..cbf1b75 100755 --- a/mycobot_communication/scripts/mycobot_services.py +++ b/mycobot_communication/scripts/mycobot_services.py @@ -1,13 +1,51 @@ #!/usr/bin/env python2 -# -*- coding: utf-8 -* +# -*- coding: utf-8 -*- import time import rospy +import os +import fcntl from mycobot_communication.srv import * from pymycobot.mycobot import MyCobot mc = None +# Avoid serial port conflicts and need to be locked +def acquire(lock_file): + open_mode = os.O_RDWR | os.O_CREAT | os.O_TRUNC + fd = os.open(lock_file, open_mode) + + pid = os.getpid() + lock_file_fd = None + + timeout = 50.0 + start_time = current_time = time.time() + while current_time < start_time + timeout: + try: + # The LOCK_EX means that only one process can hold the lock + # The LOCK_NB means that the fcntl.flock() is not blocking + # and we are able to implement termination of while loop, + # when timeout is reached. + fcntl.flock(fd, fcntl.LOCK_EX | fcntl.LOCK_NB) + except (IOError, OSError): + pass + else: + lock_file_fd = fd + break + # print('pid waiting for lock:%d'% pid) + time.sleep(1.0) + current_time = time.time() + if lock_file_fd is None: + os.close(fd) + return lock_file_fd + + +def release(lock_file_fd): + # Do not remove the lockfile: + fcntl.flock(lock_file_fd, fcntl.LOCK_UN) + os.close(lock_file_fd) + return None + def create_handle(): global mc @@ -41,9 +79,11 @@ def set_angles(req): req.joint_6, ] sp = req.speed - print('angles1:',angles) + if mc: + lock = acquire("/tmp/mycobot_lock") mc.send_angles(angles, sp) + release(lock) return SetAnglesResponse(True) @@ -51,8 +91,9 @@ def set_angles(req): def get_angles(req): """get angles,获取角度""" if mc: + lock = acquire("/tmp/mycobot_lock") angles = mc.get_angles() - print('angles2:',angles) + release(lock) return GetAnglesResponse(*angles) @@ -69,15 +110,18 @@ def set_coords(req): mod = req.model if mc: + lock = acquire("/tmp/mycobot_lock") mc.send_coords(coords, sp, mod) + release(lock) return SetCoordsResponse(True) def get_coords(req): if mc: + lock = acquire("/tmp/mycobot_lock") coords = mc.get_coords() - print('coords:',coords) + release(lock) return GetCoordsResponse(*coords) @@ -85,23 +129,26 @@ def switch_status(req): """Gripper switch status""" """夹爪开关状态""" if mc: + lock = acquire("/tmp/mycobot_lock") if req.Status: mc.set_gripper_state(0, 80) else: mc.set_gripper_state(1, 80) + release(lock) return GripperStatusResponse(True) def toggle_pump(req): if mc: + lock = acquire("/tmp/mycobot_lock") if req.Status: mc.set_basic_output(req.Pin1, 0) mc.set_basic_output(req.Pin2, 0) else: mc.set_basic_output(req.Pin1, 1) mc.set_basic_output(req.Pin2, 1) - + release(lock) return PumpStatusResponse(True) @@ -133,11 +180,15 @@ def output_robot_message(): atom_version = "unknown" if mc: + lock = acquire("/tmp/mycobot_lock") cn = mc.is_controller_connected() + release(lock) if cn == 1: connect_status = True time.sleep(0.1) + lock = acquire("/tmp/mycobot_lock") si = mc.is_all_servo_enable() + release(lock) if si == 1: servo_infomation = "all connected" diff --git a/mycobot_description/urdf/mira_urdf/suit_env.dae b/mycobot_description/urdf/ultraArm_urdf/suit_env.dae similarity index 100% rename from mycobot_description/urdf/mira_urdf/suit_env.dae rename to mycobot_description/urdf/ultraArm_urdf/suit_env.dae diff --git a/mycobot_description/urdf/mira_urdf/Mira-1.dae b/mycobot_description/urdf/ultraArm_urdf/ultraArm-1.dae similarity index 100% rename from mycobot_description/urdf/mira_urdf/Mira-1.dae rename to mycobot_description/urdf/ultraArm_urdf/ultraArm-1.dae diff --git a/mycobot_description/urdf/mira_urdf/Mira-2.dae b/mycobot_description/urdf/ultraArm_urdf/ultraArm-2.dae similarity index 100% rename from mycobot_description/urdf/mira_urdf/Mira-2.dae rename to mycobot_description/urdf/ultraArm_urdf/ultraArm-2.dae diff --git a/mycobot_description/urdf/mira_urdf/Mira-3.dae b/mycobot_description/urdf/ultraArm_urdf/ultraArm-3.dae similarity index 100% rename from mycobot_description/urdf/mira_urdf/Mira-3.dae rename to mycobot_description/urdf/ultraArm_urdf/ultraArm-3.dae diff --git a/mycobot_description/urdf/mira_urdf/Mira-base.dae b/mycobot_description/urdf/ultraArm_urdf/ultraArm-base.dae similarity index 100% rename from mycobot_description/urdf/mira_urdf/Mira-base.dae rename to mycobot_description/urdf/ultraArm_urdf/ultraArm-base.dae diff --git a/mycobot_description/urdf/mira_urdf/mira.urdf b/mycobot_description/urdf/ultraArm_urdf/ultraArm.urdf similarity index 75% rename from mycobot_description/urdf/mira_urdf/mira.urdf rename to mycobot_description/urdf/ultraArm_urdf/ultraArm.urdf index 6b6368f..23e7127 100644 --- a/mycobot_description/urdf/mira_urdf/mira.urdf +++ b/mycobot_description/urdf/ultraArm_urdf/ultraArm.urdf @@ -8,14 +8,14 @@ - + - + @@ -25,13 +25,13 @@ - + - + @@ -40,13 +40,13 @@ - + - + @@ -57,14 +57,14 @@ - + - + diff --git a/mycobot_description/urdf/mira_urdf/mira_aiki.urdf b/mycobot_description/urdf/ultraArm_urdf/ultraArm_aiki.urdf similarity index 74% rename from mycobot_description/urdf/mira_urdf/mira_aiki.urdf rename to mycobot_description/urdf/ultraArm_urdf/ultraArm_aiki.urdf index 039618d..d779d79 100644 --- a/mycobot_description/urdf/mira_urdf/mira_aiki.urdf +++ b/mycobot_description/urdf/ultraArm_urdf/ultraArm_aiki.urdf @@ -6,7 +6,7 @@ - + @@ -16,14 +16,14 @@ - + - + @@ -33,13 +33,13 @@ - + - + @@ -48,13 +48,13 @@ - + - + @@ -65,14 +65,14 @@ - + - + diff --git a/Mira/mira/CMakeLists.txt b/ultraArm/ultraarm/CMakeLists.txt similarity index 98% rename from Mira/mira/CMakeLists.txt rename to ultraArm/ultraarm/CMakeLists.txt index c3a95b8..bb99912 100644 --- a/Mira/mira/CMakeLists.txt +++ b/ultraArm/ultraarm/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 2.8.3) -project(mira) +project(ultraarm) add_compile_options(-std=c++11) ## Find catkin and any catkin packages diff --git a/Mira/mira/LICENSE b/ultraArm/ultraarm/LICENSE similarity index 100% rename from Mira/mira/LICENSE rename to ultraArm/ultraarm/LICENSE diff --git a/Mira/mira/config/mira.rviz b/ultraArm/ultraarm/config/ultraArm.rviz similarity index 100% rename from Mira/mira/config/mira.rviz rename to ultraArm/ultraarm/config/ultraArm.rviz diff --git a/Mira/mira/launch/simple_gui.launch b/ultraArm/ultraarm/launch/simple_gui.launch similarity index 68% rename from Mira/mira/launch/simple_gui.launch rename to ultraArm/ultraarm/launch/simple_gui.launch index 857c366..22ea22f 100644 --- a/Mira/mira/launch/simple_gui.launch +++ b/ultraArm/ultraarm/launch/simple_gui.launch @@ -3,8 +3,8 @@ - - + + @@ -14,11 +14,11 @@ - + - - + + diff --git a/Mira/mira/launch/slider_control.launch b/ultraArm/ultraarm/launch/slider_control.launch similarity index 86% rename from Mira/mira/launch/slider_control.launch rename to ultraArm/ultraarm/launch/slider_control.launch index 8a19152..a72eac4 100644 --- a/Mira/mira/launch/slider_control.launch +++ b/ultraArm/ultraarm/launch/slider_control.launch @@ -3,8 +3,8 @@ --> - - + + diff --git a/Mira/mira/launch/teleop_keyboard.launch b/ultraArm/ultraarm/launch/teleop_keyboard.launch similarity index 75% rename from Mira/mira/launch/teleop_keyboard.launch rename to ultraArm/ultraarm/launch/teleop_keyboard.launch index 565d5f8..00ca168 100644 --- a/Mira/mira/launch/teleop_keyboard.launch +++ b/ultraArm/ultraarm/launch/teleop_keyboard.launch @@ -6,8 +6,8 @@ - - + + @@ -18,11 +18,11 @@ - + - + diff --git a/Mira/mira/launch/test.launch b/ultraArm/ultraarm/launch/test.launch similarity index 82% rename from Mira/mira/launch/test.launch rename to ultraArm/ultraarm/launch/test.launch index b6b508f..bcc6da5 100644 --- a/Mira/mira/launch/test.launch +++ b/ultraArm/ultraarm/launch/test.launch @@ -1,7 +1,7 @@ - - + + diff --git a/Mira/mira/package.xml b/ultraArm/ultraarm/package.xml similarity index 84% rename from Mira/mira/package.xml rename to ultraArm/ultraarm/package.xml index 2450d9d..a401406 100644 --- a/Mira/mira/package.xml +++ b/ultraArm/ultraarm/package.xml @@ -1,8 +1,8 @@ - mira + ultraarm 0.3.0 - The mira package + The ultraarm package ZhangLijun ZhangLijun @@ -18,9 +18,9 @@ std_msgs actionlib mycobot_description - mira_communication + ultraarm_communication - mira_communication + ultraarm_communication mycobot_description roscpp @@ -36,7 +36,7 @@ controller_manager python-tk mycobot_description - mira_communication + ultraarm_communication diff --git a/Mira/mira/scripts/listen_real.py b/ultraArm/ultraarm/scripts/listen_real.py similarity index 97% rename from Mira/mira/scripts/listen_real.py rename to ultraArm/ultraarm/scripts/listen_real.py index 688641b..6d441d2 100755 --- a/Mira/mira/scripts/listen_real.py +++ b/ultraArm/ultraarm/scripts/listen_real.py @@ -6,7 +6,7 @@ import math import rospy from sensor_msgs.msg import JointState from std_msgs.msg import Header -from mira_communication.srv import GetAngles +from ultraarm_communication.srv import GetAngles def talker(): diff --git a/Mira/mira/scripts/listen_real_of_topic.py b/ultraArm/ultraarm/scripts/listen_real_of_topic.py similarity index 91% rename from Mira/mira/scripts/listen_real_of_topic.py rename to ultraArm/ultraarm/scripts/listen_real_of_topic.py index 411acbb..a37af59 100755 --- a/Mira/mira/scripts/listen_real_of_topic.py +++ b/ultraArm/ultraarm/scripts/listen_real_of_topic.py @@ -1,11 +1,11 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import math import rospy from sensor_msgs.msg import JointState from std_msgs.msg import Header # from mycobot_communication.msg import MycobotAngles -from mira_communication.msg import MiraAngles +from ultraarm_communication.msg import ultraArmAngles class Listener(object): @@ -17,7 +17,7 @@ class Listener(object): # init publisher. 初始化发布者 self.pub = rospy.Publisher("joint_states", JointState, queue_size=10) # init subscriber. 初始化订阅者 - self.sub = rospy.Subscriber("mypal/angles_real", MiraAngles, self.callback) + self.sub = rospy.Subscriber("mypal/angles_real", ultraArmAngles, self.callback) rospy.spin() def callback(self, data): diff --git a/Mira/mira/scripts/simple_gui.py b/ultraArm/ultraarm/scripts/simple_gui.py similarity index 98% rename from Mira/mira/scripts/simple_gui.py rename to ultraArm/ultraarm/scripts/simple_gui.py index 12ca53c..a1f7d66 100755 --- a/Mira/mira/scripts/simple_gui.py +++ b/ultraArm/ultraarm/scripts/simple_gui.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- import tkinter as tk -from mira_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus +from ultraarm_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus import rospy import time from rospy import ServiceException @@ -359,7 +359,7 @@ class Window: def main(): window = tk.Tk() - window.title("Mira ros GUI") + window.title("ultraArm ros GUI") Window(window).run() diff --git a/Mira/mira/scripts/slider_control.py b/ultraArm/ultraarm/scripts/slider_control.py similarity index 88% rename from Mira/mira/scripts/slider_control.py rename to ultraArm/ultraarm/scripts/slider_control.py index 4a86c89..8f0dfdc 100755 --- a/Mira/mira/scripts/slider_control.py +++ b/ultraArm/ultraarm/scripts/slider_control.py @@ -13,10 +13,10 @@ import time import rospy from sensor_msgs.msg import JointState -from pymycobot.mira import Mira +from pymycobot.ultraArm import ultraArm import math -ma = None +ua = None def callback(data): @@ -27,21 +27,21 @@ def callback(data): data_list.append(round(value,3)) print('data_list:',data_list) - ma.set_radians(data_list, 80) + ua.set_radians(data_list, 80) # time.sleep(0.5) def listener(): - global ma + 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) - ma = Mira(port, baud) - ma.power_on() - ma.go_zero() + ua = ultraArm(port, baud) + ua.power_on() + ua.go_zero() # spin() simply keeps python from exiting until this node is stopped # spin() 只是阻止python退出,直到该节点停止 diff --git a/Mira/mira/scripts/teleop_keyboard.py b/ultraArm/ultraarm/scripts/teleop_keyboard.py similarity index 96% rename from Mira/mira/scripts/teleop_keyboard.py rename to ultraArm/ultraarm/scripts/teleop_keyboard.py index ab5ef0b..75007a3 100755 --- a/Mira/mira/scripts/teleop_keyboard.py +++ b/ultraArm/ultraarm/scripts/teleop_keyboard.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from __future__ import print_function -from mira_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus +from __future__ import print_functiontermios +from ultraarm_communication.srv import GetCoords, SetCoords, GetAngles, SetAngles, GripperStatus import rospy import sys import select @@ -12,7 +12,7 @@ import roslib # Terminal output prompt information. 终端输出提示信息 msg = """\ -Mira Teleop Keyboard Controller +ultraArm Teleop Keyboard Controller --------------------------- Movimg options(control coordinations [x,y,z]): w(x+) diff --git a/Mira/mira_communication/CMakeLists.txt b/ultraArm/ultraarm_communication/CMakeLists.txt similarity index 96% rename from Mira/mira_communication/CMakeLists.txt rename to ultraArm/ultraarm_communication/CMakeLists.txt index 9375fb2..3ca5973 100644 --- a/Mira/mira_communication/CMakeLists.txt +++ b/ultraArm/ultraarm_communication/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 2.8.3) -project(mira_communication) +project(ultraarm_communication) add_compile_options(-std=c++11) ## Compile as C++11, supported in ROS Kinetic and newer @@ -50,12 +50,12 @@ find_package(catkin REQUIRED COMPONENTS ## Generate messages in the 'msg' folder add_message_files(FILES - MiraAngles.msg - MiraCoords.msg - MiraSetAngles.msg - MiraSetCoords.msg - MiraGripperStatus.msg - MiraPumpStatus.msg + ultraArmAngles.msg + ultraArmCoords.msg + ultraArmSetAngles.msg + ultraArmSetCoords.msg + ultraArmGripperStatus.msg + ultraArmPumpStatus.msg ) ## Generate services in the 'srv' folder @@ -169,8 +169,8 @@ include_directories( ## Mark executable scripts (Python etc.) for installation ## in contrast to setup.py, you can choose the destination catkin_install_python(PROGRAMS - scripts/mira_services.py - scripts/mira_topics.py + scripts/ultraArm_services.py + scripts/ultraArm_topics.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) diff --git a/Mira/mira_communication/LICENSE b/ultraArm/ultraarm_communication/LICENSE similarity index 100% rename from Mira/mira_communication/LICENSE rename to ultraArm/ultraarm_communication/LICENSE diff --git a/Mira/mira_communication/launch/communication_jsnn.launch b/ultraArm/ultraarm_communication/launch/communication_jsnn.launch similarity index 100% rename from Mira/mira_communication/launch/communication_jsnn.launch rename to ultraArm/ultraarm_communication/launch/communication_jsnn.launch diff --git a/Mira/mira_communication/launch/communication_seeed.launch b/ultraArm/ultraarm_communication/launch/communication_seeed.launch similarity index 70% rename from Mira/mira_communication/launch/communication_seeed.launch rename to ultraArm/ultraarm_communication/launch/communication_seeed.launch index 07b6e57..1f8efed 100644 --- a/Mira/mira_communication/launch/communication_seeed.launch +++ b/ultraArm/ultraarm_communication/launch/communication_seeed.launch @@ -3,7 +3,7 @@ - + diff --git a/Mira/mira_communication/launch/communication_service.launch b/ultraArm/ultraarm_communication/launch/communication_service.launch similarity index 71% rename from Mira/mira_communication/launch/communication_service.launch rename to ultraArm/ultraarm_communication/launch/communication_service.launch index ae29117..f3cebb9 100644 --- a/Mira/mira_communication/launch/communication_service.launch +++ b/ultraArm/ultraarm_communication/launch/communication_service.launch @@ -3,7 +3,7 @@ - + diff --git a/Mira/mira_communication/launch/communication_topic.launch b/ultraArm/ultraarm_communication/launch/communication_topic.launch similarity index 78% rename from Mira/mira_communication/launch/communication_topic.launch rename to ultraArm/ultraarm_communication/launch/communication_topic.launch index f5cdad9..8c47768 100644 --- a/Mira/mira_communication/launch/communication_topic.launch +++ b/ultraArm/ultraarm_communication/launch/communication_topic.launch @@ -4,7 +4,7 @@ - + diff --git a/Mira/mira_communication/launch/communication_topic_pi.launch b/ultraArm/ultraarm_communication/launch/communication_topic_pi.launch similarity index 100% rename from Mira/mira_communication/launch/communication_topic_pi.launch rename to ultraArm/ultraarm_communication/launch/communication_topic_pi.launch diff --git a/Mira/mira_communication/msg/MiraAngles.msg b/ultraArm/ultraarm_communication/msg/ultraArmAngles.msg similarity index 100% rename from Mira/mira_communication/msg/MiraAngles.msg rename to ultraArm/ultraarm_communication/msg/ultraArmAngles.msg diff --git a/Mira/mira_communication/msg/MiraCoords.msg b/ultraArm/ultraarm_communication/msg/ultraArmCoords.msg similarity index 100% rename from Mira/mira_communication/msg/MiraCoords.msg rename to ultraArm/ultraarm_communication/msg/ultraArmCoords.msg diff --git a/Mira/mira_communication/msg/MiraGripperStatus.msg b/ultraArm/ultraarm_communication/msg/ultraArmGripperStatus.msg similarity index 100% rename from Mira/mira_communication/msg/MiraGripperStatus.msg rename to ultraArm/ultraarm_communication/msg/ultraArmGripperStatus.msg diff --git a/Mira/mira_communication/msg/MiraPumpStatus.msg b/ultraArm/ultraarm_communication/msg/ultraArmPumpStatus.msg similarity index 100% rename from Mira/mira_communication/msg/MiraPumpStatus.msg rename to ultraArm/ultraarm_communication/msg/ultraArmPumpStatus.msg diff --git a/Mira/mira_communication/msg/MiraSetAngles.msg b/ultraArm/ultraarm_communication/msg/ultraArmSetAngles.msg similarity index 100% rename from Mira/mira_communication/msg/MiraSetAngles.msg rename to ultraArm/ultraarm_communication/msg/ultraArmSetAngles.msg diff --git a/Mira/mira_communication/msg/MiraSetCoords.msg b/ultraArm/ultraarm_communication/msg/ultraArmSetCoords.msg similarity index 100% rename from Mira/mira_communication/msg/MiraSetCoords.msg rename to ultraArm/ultraarm_communication/msg/ultraArmSetCoords.msg diff --git a/Mira/mira_communication/package.xml b/ultraArm/ultraarm_communication/package.xml similarity index 97% rename from Mira/mira_communication/package.xml rename to ultraArm/ultraarm_communication/package.xml index 85116b8..02fd4e9 100644 --- a/Mira/mira_communication/package.xml +++ b/ultraArm/ultraarm_communication/package.xml @@ -1,8 +1,8 @@ - mira_communication + ultraarm_communication 0.1.0 - The mira_communication package + The ultraarm_communication package diff --git a/Mira/mira_communication/scripts/mira_services.py b/ultraArm/ultraarm_communication/scripts/ultraArm_services.py similarity index 81% rename from Mira/mira_communication/scripts/mira_services.py rename to ultraArm/ultraarm_communication/scripts/ultraArm_services.py index 23598f5..cd50beb 100755 --- a/Mira/mira_communication/scripts/mira_services.py +++ b/ultraArm/ultraarm_communication/scripts/ultraArm_services.py @@ -2,25 +2,25 @@ # -*- coding: utf-8 -*- import time import rospy -from mira_communication.srv import * -from pymycobot.mira import Mira +from ultraarm_communication.srv import * +from pymycobot.ultraArm import ultraArm -ma = None +ua = None def create_handle(): - global ma - rospy.init_node("mira_services") + global ua + rospy.init_node("ultraArm_services") rospy.loginfo("start ...") port = rospy.get_param("~port") baud = rospy.get_param("~baud") rospy.loginfo("%s,%s" % (port, baud)) - ma = Mira(port, baud) + ua = ultraArm(port, baud) # Power on the robotic arm - ma.power_on() + ua.power_on() # calibrate the zero position of the robot arm - ma.go_zero() + ua.go_zero() # time.sleep(3) @@ -43,8 +43,8 @@ def set_angles(req): req.joint_3, ] sp = req.speed - if ma: - ma.set_angles(angles, sp) + if ua: + ua.set_angles(angles, sp) return SetAnglesResponse(True) @@ -52,8 +52,8 @@ def set_angles(req): def get_angles(req): count = 0 while count < 10: - if ma: - angles = ma.get_angles_info() + if ua: + angles = ua.get_angles_info() if angles != None: return GetAnglesResponse(*angles) count += 1 @@ -69,8 +69,8 @@ def set_coords(req): req.z, ] sp = req.speed - if ma: - ma.set_coords(coords, sp) + if ua: + ua.set_coords(coords, sp) return SetCoordsResponse(True) @@ -78,8 +78,8 @@ def set_coords(req): def get_coords(req): count = 0 while count < 10: - if ma: - coords = ma.get_coords_info() + if ua: + coords = ua.get_coords_info() # coords = [176.0, 0.0, 120.0] if coords != None: return GetCoordsResponse(*coords) @@ -91,27 +91,27 @@ def get_coords(req): def switch_status(req): """Gripper switch,夹爪开关""" - if ma: + if ua: if req.Status: - ma.set_gripper_state(0) + ua.set_gripper_state(0) else: - ma.set_gripper_state(1) + ua.set_gripper_state(1) return GripperStatusResponse(True) def toggle_pump(req): - if ma: + if ua: if req.Status: - ma.set_gpio_state(1) + ua.set_gpio_state(1) else: - ma.set_gpio_state(0) + ua.set_gpio_state(0) return PumpStatusResponse(True) robot_msg = """ -Mira Status +ultraArm Status -------------------------------- Joint Limit: joint 1: -170 ~ +170 @@ -136,7 +136,7 @@ def output_robot_message(): servo_infomation = "unknown" servo_temperature = "unknown" - if ma: + if ua: connect_status = True servo_infomation = "all connected" diff --git a/Mira/mira_communication/scripts/mira_topics.py b/ultraArm/ultraarm_communication/scripts/ultraArm_topics.py similarity index 78% rename from Mira/mira_communication/scripts/mira_topics.py rename to ultraArm/ultraarm_communication/scripts/ultraArm_topics.py index 3147f7d..aeed934 100755 --- a/Mira/mira_communication/scripts/mira_topics.py +++ b/ultraArm/ultraarm_communication/scripts/ultraArm_topics.py @@ -7,16 +7,15 @@ import signal import threading import rospy -from pymycobot.mypalletizer import MyPalletizer -from pymycobot.mira import Mira +from pymycobot.ultraArm import ultraArm -from mira_communication.msg import( - MiraAngles, - MiraCoords, - MiraSetAngles, - MiraSetCoords, - MiraGripperStatus, - MiraPumpStatus, +from ultraarm_communication.msg import( + ultraArmAngles, + ultraArmCoords, + ultraArmSetAngles, + ultraArmSetCoords, + ultraArmGripperStatus, + ultraArmPumpStatus, ) @@ -64,17 +63,17 @@ class Watcher: pass -class MiraTopics(object): +class ultraArmTopics(object): def __init__(self): - super(MiraTopics, self).__init__() + super(ultraArmTopics, self).__init__() - rospy.init_node("Mira_topics") + rospy.init_node("ultraArm_topics") rospy.loginfo("start ...") port = rospy.get_param("~port", "/dev/ttyUSB0") baud = rospy.get_param("~baud", 115200) rospy.loginfo("%s,%s" % (port, baud)) - self.mc = Mira(port, baud) - self.mc.go_zero() + self.ua = ultraArm(port, baud) + self.ua.go_zero() self.lock = threading.Lock() def start(self): @@ -109,11 +108,11 @@ class MiraTopics(object): """Publish real angle""" """发布真实角度""" pub = rospy.Publisher("Mypal/angles_real", - MiraAngles, queue_size=5) - ma = MiraAngles() + ultraArmAngles, queue_size=5) + ma = ultraArmAngles() while not rospy.is_shutdown(): self.lock.acquire() - angles = self.mc.get_angles_info() + angles = self.ua.get_angles_info() self.lock.release() if angles: ma.joint_1 = angles[0] @@ -129,12 +128,12 @@ class MiraTopics(object): """publish real coordinates""" """发布真实坐标""" pub = rospy.Publisher("Mypal/coords_real", - MiraCoords, queue_size=5) - ma = MiraCoords() + ultraArmCoords, queue_size=5) + ma = ultraArmCoords() while not rospy.is_shutdown(): self.lock.acquire() - coords = self.mc.get_coords_info() + coords = self.ua.get_coords_info() self.lock.release() if coords: ma.x = coords[0] @@ -159,10 +158,10 @@ class MiraTopics(object): # data.joint_6, ] sp = int(data.speed) - self.mc.set_angles(angles, sp) + self.ua.set_angles(angles, sp) sub = rospy.Subscriber( - "Mypal/angles_goal", MiraSetAngles, callback=callback + "Mypal/angles_goal", ultraArmSetAngles, callback=callback ) rospy.spin() @@ -173,10 +172,10 @@ class MiraTopics(object): sp = int(data.speed) # model = int(data.model) - self.mc.set_coords(angles, sp) + self.ua.set_coords(angles, sp) sub = rospy.Subscriber( - "Mypal/coords_goal", MiraSetCoords, callback=callback + "Mypal/coords_goal", ultraArmSetCoords, callback=callback ) rospy.spin() @@ -185,33 +184,33 @@ class MiraTopics(object): """订阅夹爪状态""" def callback(data): if data.Status: - self.mc.set_gripper_state(0) + self.ua.set_gripper_state(0) else: - self.mc.set_gripper_state(1) + self.ua.set_gripper_state(1) sub = rospy.Subscriber( - "Mypal/gripper_status", MiraGripperStatus, callback=callback + "Mypal/gripper_status", ultraArmGripperStatus, callback=callback ) rospy.spin() def sub_pump_status(self): def callback(data): if data.Status: - self.mc.set_gpio_state(0) + self.ua.set_gpio_state(0) else: - self.mc.set_gpio_state(1) + self.ua.set_gpio_state(1) sub = rospy.Subscriber( - "Mypal/pump_status", MiraPumpStatus, callback=callback + "Mypal/pump_status", ultraArmPumpStatus, callback=callback ) rospy.spin() if __name__ == "__main__": Watcher() - mc_topics = MiraTopics() - mc_topics.start() + ua_topics = ultraArmTopics() + ua_topics.start() # while True: - # mc_topics.pub_real_coords() - # mc_topics.sub_set_angles() + # ua_topics.pub_real_coords() + # ua_topics.sub_set_angles() pass diff --git a/Mira/mira_communication/scripts/mira_topics_seeed.py b/ultraArm/ultraarm_communication/scripts/ultraArm_topics_seeed.py similarity index 77% rename from Mira/mira_communication/scripts/mira_topics_seeed.py rename to ultraArm/ultraarm_communication/scripts/ultraArm_topics_seeed.py index 09a7607..7c13c00 100755 --- a/Mira/mira_communication/scripts/mira_topics_seeed.py +++ b/ultraArm/ultraarm_communication/scripts/ultraArm_topics_seeed.py @@ -8,15 +8,15 @@ import threading import rospy -from mira_communication.msg import ( - MiraAngles, - MiraCoords, - MiraSetAngles, - MiraSetCoords, - MiraGripperStatus, - MiraPumpStatus, +from ultraarm_communication.msg import ( + ultraArmAngles, + ultraArmCoords, + ultraArmSetAngles, + ultraArmSetCoords, + ultraArmGripperStatus, + ultraArmPumpStatus, ) -from pymycobot.mira import Mira +from pymycobot.ultraArm import ultraArm class Watcher: @@ -63,18 +63,18 @@ class Watcher: pass -class MiraTopics(object): +class ultraArmTopics(object): def __init__(self): - super(MiraTopics, self).__init__() + super(ultraArmTopics, self).__init__() - rospy.init_node("Mira_topics") + rospy.init_node("ultraArm_topics") rospy.loginfo("start ...") # problem port = rospy.get_param("~port", "/dev/ttyUSB0") baud = rospy.get_param("~baud", 115200) rospy.loginfo("%s,%s" % (port, baud)) - self.mc = Mira(port,baud) - self.mc.go_zero() + self.ua = ultraArm(port,baud) + self.ua.go_zero() self.lock = threading.Lock() def start(self): @@ -108,11 +108,11 @@ class MiraTopics(object): def pub_real_angles(self): """Publish real angle""" """发布真实角度""" - pub = rospy.Publisher("Mira/angles_real", MiraAngles, queue_size=5) - ma = MiraAngles() + pub = rospy.Publisher("ultraArm/angles_real", ultraArmAngles, queue_size=5) + ma = ultraArmAngles() while not rospy.is_shutdown(): self.lock.acquire() - angles = self.mc.get_angles() + angles = self.ua.get_angles_info() self.lock.release() if angles: ma.joint_1 = angles[0] @@ -127,12 +127,12 @@ class MiraTopics(object): def pub_real_coords(self): """publish real coordinates""" """发布真实坐标""" - pub = rospy.Publisher("Mira/coords_real", MiraCoords, queue_size=5) - ma = MiraCoords() + pub = rospy.Publisher("ultraArm/coords_real", ultraArmCoords, queue_size=5) + ma = ultraArmCoords() while not rospy.is_shutdown(): self.lock.acquire() - coords = self.mc.get_coords() + coords = self.ua.get_coords_info() self.lock.release() if coords: ma.x = coords[0] @@ -157,10 +157,10 @@ class MiraTopics(object): # data.joint_6, ] sp = int(data.speed) - self.mc.send_angles(angles, sp) + self.ua.set_angles(angles, sp) sub = rospy.Subscriber( - "Mira/angles_goal", MiraSetAngles, callback=callback + "ultraArm/angles_goal", ultraArmSetAngles, callback=callback ) rospy.spin() @@ -169,10 +169,10 @@ class MiraTopics(object): angles = [data.x, data.y, data.z, data.rx] sp = int(data.speed) model = int(data.model) - self.mc.send_coords(angles, sp, model) + self.ua.set_coords(angles, sp) sub = rospy.Subscriber( - "Mira/coords_goal", MiraSetCoords, callback=callback + "ultraArm/coords_goal", ultraArmSetCoords, callback=callback ) rospy.spin() @@ -181,32 +181,30 @@ class MiraTopics(object): """订阅夹爪状态""" def callback(data): if data.Status: - self.mc.set_gripper_state(0, 80) + self.ua.set_gripper_state(0, 80) else: - self.mc.set_gripper_state(1, 80) + self.ua.set_gripper_state(1, 80) sub = rospy.Subscriber( - "Mira/gripper_status", MiraGripperStatus, callback=callback + "ultraArm/gripper_status", ultraArmGripperStatus, callback=callback ) rospy.spin() def sub_pump_status(self): def callback(data): if data.Status: - self.mc.set_basic_output(data.Pin1, 0) - self.mc.set_basic_output(data.Pin2, 0) + self.ua.set_gpio_state(0) else: - self.mc.set_basic_output(data.Pin1, 1) - self.mc.set_basic_output(data.Pin2, 1) + self.ua.set_gpio_state(1) sub = rospy.Subscriber( - "Mira/pump_status", MiraPumpStatus, callback=callback + "ultraArm/pump_status", ultraArmPumpStatus, callback=callback ) rospy.spin() if __name__ == "__main__": Watcher() - mc_topics = MiraTopics() + mc_topics = ultraArmTopics() mc_topics.start() # while True: # mc_topics.pub_real_coords() diff --git a/Mira/mira_communication/srv/GetAngles.srv b/ultraArm/ultraarm_communication/srv/GetAngles.srv similarity index 100% rename from Mira/mira_communication/srv/GetAngles.srv rename to ultraArm/ultraarm_communication/srv/GetAngles.srv diff --git a/Mira/mira_communication/srv/GetCoords.srv b/ultraArm/ultraarm_communication/srv/GetCoords.srv similarity index 100% rename from Mira/mira_communication/srv/GetCoords.srv rename to ultraArm/ultraarm_communication/srv/GetCoords.srv diff --git a/Mira/mira_communication/srv/GripperStatus.srv b/ultraArm/ultraarm_communication/srv/GripperStatus.srv similarity index 100% rename from Mira/mira_communication/srv/GripperStatus.srv rename to ultraArm/ultraarm_communication/srv/GripperStatus.srv diff --git a/Mira/mira_communication/srv/PumpStatus.srv b/ultraArm/ultraarm_communication/srv/PumpStatus.srv similarity index 100% rename from Mira/mira_communication/srv/PumpStatus.srv rename to ultraArm/ultraarm_communication/srv/PumpStatus.srv diff --git a/Mira/mira_communication/srv/SetAngles.srv b/ultraArm/ultraarm_communication/srv/SetAngles.srv similarity index 100% rename from Mira/mira_communication/srv/SetAngles.srv rename to ultraArm/ultraarm_communication/srv/SetAngles.srv diff --git a/Mira/mira_communication/srv/SetCoords.srv b/ultraArm/ultraarm_communication/srv/SetCoords.srv similarity index 100% rename from Mira/mira_communication/srv/SetCoords.srv rename to ultraArm/ultraarm_communication/srv/SetCoords.srv diff --git a/Mira/mira_moveit/.setup_assistant b/ultraArm/ultraarm_moveit/.setup_assistant similarity index 100% rename from Mira/mira_moveit/.setup_assistant rename to ultraArm/ultraarm_moveit/.setup_assistant diff --git a/Mira/mira_moveit/CMakeLists.txt b/ultraArm/ultraarm_moveit/CMakeLists.txt similarity index 95% rename from Mira/mira_moveit/CMakeLists.txt rename to ultraArm/ultraarm_moveit/CMakeLists.txt index 82a877a..8c4122b 100644 --- a/Mira/mira_moveit/CMakeLists.txt +++ b/ultraArm/ultraarm_moveit/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.1.3) -project(mira_moveit) +project(ultraarm_moveit) find_package(catkin REQUIRED rospy diff --git a/Mira/mira_moveit/config/cartesian_limits.yaml b/ultraArm/ultraarm_moveit/config/cartesian_limits.yaml similarity index 100% rename from Mira/mira_moveit/config/cartesian_limits.yaml rename to ultraArm/ultraarm_moveit/config/cartesian_limits.yaml diff --git a/Mira/mira_moveit/config/chomp_planning.yaml b/ultraArm/ultraarm_moveit/config/chomp_planning.yaml similarity index 100% rename from Mira/mira_moveit/config/chomp_planning.yaml rename to ultraArm/ultraarm_moveit/config/chomp_planning.yaml diff --git a/Mira/mira_moveit/config/fake_controllers.yaml b/ultraArm/ultraarm_moveit/config/fake_controllers.yaml similarity index 100% rename from Mira/mira_moveit/config/fake_controllers.yaml rename to ultraArm/ultraarm_moveit/config/fake_controllers.yaml diff --git a/Mira/mira_moveit/config/firefighter.srdf b/ultraArm/ultraarm_moveit/config/firefighter.srdf similarity index 100% rename from Mira/mira_moveit/config/firefighter.srdf rename to ultraArm/ultraarm_moveit/config/firefighter.srdf diff --git a/Mira/mira_moveit/config/gazebo_controllers.yaml b/ultraArm/ultraarm_moveit/config/gazebo_controllers.yaml similarity index 100% rename from Mira/mira_moveit/config/gazebo_controllers.yaml rename to ultraArm/ultraarm_moveit/config/gazebo_controllers.yaml diff --git a/Mira/mira_moveit/config/joint_limits.yaml b/ultraArm/ultraarm_moveit/config/joint_limits.yaml similarity index 100% rename from Mira/mira_moveit/config/joint_limits.yaml rename to ultraArm/ultraarm_moveit/config/joint_limits.yaml diff --git a/Mira/mira_moveit/config/kinematics.yaml b/ultraArm/ultraarm_moveit/config/kinematics.yaml similarity index 100% rename from Mira/mira_moveit/config/kinematics.yaml rename to ultraArm/ultraarm_moveit/config/kinematics.yaml diff --git a/Mira/mira_moveit/config/ompl_planning.yaml b/ultraArm/ultraarm_moveit/config/ompl_planning.yaml similarity index 100% rename from Mira/mira_moveit/config/ompl_planning.yaml rename to ultraArm/ultraarm_moveit/config/ompl_planning.yaml diff --git a/Mira/mira_moveit/config/ros_controllers.yaml b/ultraArm/ultraarm_moveit/config/ros_controllers.yaml similarity index 100% rename from Mira/mira_moveit/config/ros_controllers.yaml rename to ultraArm/ultraarm_moveit/config/ros_controllers.yaml diff --git a/Mira/mira_moveit/config/sensors_3d.yaml b/ultraArm/ultraarm_moveit/config/sensors_3d.yaml similarity index 100% rename from Mira/mira_moveit/config/sensors_3d.yaml rename to ultraArm/ultraarm_moveit/config/sensors_3d.yaml diff --git a/Mira/mira_moveit/config/simple_moveit_controllers.yaml b/ultraArm/ultraarm_moveit/config/simple_moveit_controllers.yaml similarity index 100% rename from Mira/mira_moveit/config/simple_moveit_controllers.yaml rename to ultraArm/ultraarm_moveit/config/simple_moveit_controllers.yaml diff --git a/Mira/mira_moveit/config/stomp_planning.yaml b/ultraArm/ultraarm_moveit/config/stomp_planning.yaml similarity index 100% rename from Mira/mira_moveit/config/stomp_planning.yaml rename to ultraArm/ultraarm_moveit/config/stomp_planning.yaml diff --git a/Mira/mira_moveit/launch/chomp_planning_pipeline.launch.xml b/ultraArm/ultraarm_moveit/launch/chomp_planning_pipeline.launch.xml similarity index 92% rename from Mira/mira_moveit/launch/chomp_planning_pipeline.launch.xml rename to ultraArm/ultraarm_moveit/launch/chomp_planning_pipeline.launch.xml index 8198bae..364e511 100644 --- a/Mira/mira_moveit/launch/chomp_planning_pipeline.launch.xml +++ b/ultraArm/ultraarm_moveit/launch/chomp_planning_pipeline.launch.xml @@ -19,5 +19,5 @@ - + diff --git a/Mira/mira_moveit/launch/default_warehouse_db.launch b/ultraArm/ultraarm_moveit/launch/default_warehouse_db.launch similarity index 84% rename from Mira/mira_moveit/launch/default_warehouse_db.launch rename to ultraArm/ultraarm_moveit/launch/default_warehouse_db.launch index 7bc8979..5165aaa 100644 --- a/Mira/mira_moveit/launch/default_warehouse_db.launch +++ b/ultraArm/ultraarm_moveit/launch/default_warehouse_db.launch @@ -2,7 +2,7 @@ - + diff --git a/Mira/mira_moveit/launch/demo.launch b/ultraArm/ultraarm_moveit/launch/demo.launch similarity index 97% rename from Mira/mira_moveit/launch/demo.launch rename to ultraArm/ultraarm_moveit/launch/demo.launch index 14e261d..ee45554 100644 --- a/Mira/mira_moveit/launch/demo.launch +++ b/ultraArm/ultraarm_moveit/launch/demo.launch @@ -6,7 +6,7 @@ - + diff --git a/Mira/mira_moveit/launch/demo_gazebo.launch b/ultraArm/ultraarm_moveit/launch/demo_gazebo.launch similarity index 100% rename from Mira/mira_moveit/launch/demo_gazebo.launch rename to ultraArm/ultraarm_moveit/launch/demo_gazebo.launch diff --git a/Mira/mira_moveit/launch/fake_moveit_controller_manager.launch.xml b/ultraArm/ultraarm_moveit/launch/fake_moveit_controller_manager.launch.xml similarity index 82% rename from Mira/mira_moveit/launch/fake_moveit_controller_manager.launch.xml rename to ultraArm/ultraarm_moveit/launch/fake_moveit_controller_manager.launch.xml index 76e9faf..9d988df 100644 --- a/Mira/mira_moveit/launch/fake_moveit_controller_manager.launch.xml +++ b/ultraArm/ultraarm_moveit/launch/fake_moveit_controller_manager.launch.xml @@ -7,6 +7,6 @@ - + diff --git a/Mira/mira_moveit/launch/firefighter_moveit_sensor_manager.launch.xml b/ultraArm/ultraarm_moveit/launch/firefighter_moveit_sensor_manager.launch.xml similarity index 100% rename from Mira/mira_moveit/launch/firefighter_moveit_sensor_manager.launch.xml rename to ultraArm/ultraarm_moveit/launch/firefighter_moveit_sensor_manager.launch.xml diff --git a/Mira/mira_moveit/launch/gazebo.launch b/ultraArm/ultraarm_moveit/launch/gazebo.launch similarity index 92% rename from Mira/mira_moveit/launch/gazebo.launch rename to ultraArm/ultraarm_moveit/launch/gazebo.launch index e5eb0af..9432e8d 100644 --- a/Mira/mira_moveit/launch/gazebo.launch +++ b/ultraArm/ultraarm_moveit/launch/gazebo.launch @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ respawn="false" output="screen" /> - + diff --git a/Mira/mira_moveit/launch/joystick_control.launch b/ultraArm/ultraarm_moveit/launch/joystick_control.launch similarity index 100% rename from Mira/mira_moveit/launch/joystick_control.launch rename to ultraArm/ultraarm_moveit/launch/joystick_control.launch diff --git a/Mira/mira_moveit/launch/move_group.launch b/ultraArm/ultraarm_moveit/launch/move_group.launch similarity index 100% rename from Mira/mira_moveit/launch/move_group.launch rename to ultraArm/ultraarm_moveit/launch/move_group.launch diff --git a/Mira/mira_moveit/launch/moveit.rviz b/ultraArm/ultraarm_moveit/launch/moveit.rviz similarity index 100% rename from Mira/mira_moveit/launch/moveit.rviz rename to ultraArm/ultraarm_moveit/launch/moveit.rviz diff --git a/Mira/mira_moveit/launch/moveit_rviz.launch b/ultraArm/ultraarm_moveit/launch/moveit_rviz.launch similarity index 100% rename from Mira/mira_moveit/launch/moveit_rviz.launch rename to ultraArm/ultraarm_moveit/launch/moveit_rviz.launch diff --git a/Mira/mira_moveit/launch/ompl-chomp_planning_pipeline.launch.xml b/ultraArm/ultraarm_moveit/launch/ompl-chomp_planning_pipeline.launch.xml similarity index 100% rename from Mira/mira_moveit/launch/ompl-chomp_planning_pipeline.launch.xml rename to ultraArm/ultraarm_moveit/launch/ompl-chomp_planning_pipeline.launch.xml diff --git a/Mira/mira_moveit/launch/ompl_planning_pipeline.launch.xml b/ultraArm/ultraarm_moveit/launch/ompl_planning_pipeline.launch.xml similarity index 92% rename from Mira/mira_moveit/launch/ompl_planning_pipeline.launch.xml rename to ultraArm/ultraarm_moveit/launch/ompl_planning_pipeline.launch.xml index ab8759c..946d777 100644 --- a/Mira/mira_moveit/launch/ompl_planning_pipeline.launch.xml +++ b/ultraArm/ultraarm_moveit/launch/ompl_planning_pipeline.launch.xml @@ -21,6 +21,6 @@ - + diff --git a/Mira/mira_moveit/launch/pilz_industrial_motion_planner_planning_pipeline.launch.xml b/ultraArm/ultraarm_moveit/launch/pilz_industrial_motion_planner_planning_pipeline.launch.xml similarity index 100% rename from Mira/mira_moveit/launch/pilz_industrial_motion_planner_planning_pipeline.launch.xml rename to ultraArm/ultraarm_moveit/launch/pilz_industrial_motion_planner_planning_pipeline.launch.xml diff --git a/Mira/mira_moveit/launch/planning_context.launch b/ultraArm/ultraarm_moveit/launch/planning_context.launch similarity index 68% rename from Mira/mira_moveit/launch/planning_context.launch rename to ultraArm/ultraarm_moveit/launch/planning_context.launch index be01b59..987f232 100644 --- a/Mira/mira_moveit/launch/planning_context.launch +++ b/ultraArm/ultraarm_moveit/launch/planning_context.launch @@ -6,20 +6,20 @@ - + - + - - + + - + diff --git a/Mira/mira_moveit/launch/planning_pipeline.launch.xml b/ultraArm/ultraarm_moveit/launch/planning_pipeline.launch.xml similarity index 100% rename from Mira/mira_moveit/launch/planning_pipeline.launch.xml rename to ultraArm/ultraarm_moveit/launch/planning_pipeline.launch.xml diff --git a/Mira/mira_moveit/launch/ros_control_moveit_controller_manager.launch.xml b/ultraArm/ultraarm_moveit/launch/ros_control_moveit_controller_manager.launch.xml similarity index 100% rename from Mira/mira_moveit/launch/ros_control_moveit_controller_manager.launch.xml rename to ultraArm/ultraarm_moveit/launch/ros_control_moveit_controller_manager.launch.xml diff --git a/Mira/mira_moveit/launch/ros_controllers.launch b/ultraArm/ultraarm_moveit/launch/ros_controllers.launch similarity index 77% rename from Mira/mira_moveit/launch/ros_controllers.launch rename to ultraArm/ultraarm_moveit/launch/ros_controllers.launch index 95e326a..8f077c8 100644 --- a/Mira/mira_moveit/launch/ros_controllers.launch +++ b/ultraArm/ultraarm_moveit/launch/ros_controllers.launch @@ -2,7 +2,7 @@ - + - + diff --git a/Mira/mira_moveit/launch/sensor_manager.launch.xml b/ultraArm/ultraarm_moveit/launch/sensor_manager.launch.xml similarity index 88% rename from Mira/mira_moveit/launch/sensor_manager.launch.xml rename to ultraArm/ultraarm_moveit/launch/sensor_manager.launch.xml index a45688a..51c6085 100644 --- a/Mira/mira_moveit/launch/sensor_manager.launch.xml +++ b/ultraArm/ultraarm_moveit/launch/sensor_manager.launch.xml @@ -3,7 +3,7 @@ - + diff --git a/Mira/mira_moveit/launch/setup_assistant.launch b/ultraArm/ultraarm_moveit/launch/setup_assistant.launch similarity index 92% rename from Mira/mira_moveit/launch/setup_assistant.launch rename to ultraArm/ultraarm_moveit/launch/setup_assistant.launch index bf52e51..962c7ba 100644 --- a/Mira/mira_moveit/launch/setup_assistant.launch +++ b/ultraArm/ultraarm_moveit/launch/setup_assistant.launch @@ -8,7 +8,7 @@ diff --git a/Mira/mira_moveit/launch/simple_moveit_controller_manager.launch.xml b/ultraArm/ultraarm_moveit/launch/simple_moveit_controller_manager.launch.xml similarity index 63% rename from Mira/mira_moveit/launch/simple_moveit_controller_manager.launch.xml rename to ultraArm/ultraarm_moveit/launch/simple_moveit_controller_manager.launch.xml index 6183e16..18ab583 100644 --- a/Mira/mira_moveit/launch/simple_moveit_controller_manager.launch.xml +++ b/ultraArm/ultraarm_moveit/launch/simple_moveit_controller_manager.launch.xml @@ -3,6 +3,6 @@ - - + + diff --git a/Mira/mira_moveit/launch/stomp_planning_pipeline.launch.xml b/ultraArm/ultraarm_moveit/launch/stomp_planning_pipeline.launch.xml similarity index 92% rename from Mira/mira_moveit/launch/stomp_planning_pipeline.launch.xml rename to ultraArm/ultraarm_moveit/launch/stomp_planning_pipeline.launch.xml index 6bdfb2d..27add2f 100644 --- a/Mira/mira_moveit/launch/stomp_planning_pipeline.launch.xml +++ b/ultraArm/ultraarm_moveit/launch/stomp_planning_pipeline.launch.xml @@ -21,5 +21,5 @@ - + diff --git a/Mira/mira_moveit/launch/trajectory_execution.launch.xml b/ultraArm/ultraarm_moveit/launch/trajectory_execution.launch.xml similarity index 100% rename from Mira/mira_moveit/launch/trajectory_execution.launch.xml rename to ultraArm/ultraarm_moveit/launch/trajectory_execution.launch.xml diff --git a/Mira/mira_moveit/launch/mira_moveit.launch b/ultraArm/ultraarm_moveit/launch/ultraArm_moveit.launch similarity index 97% rename from Mira/mira_moveit/launch/mira_moveit.launch rename to ultraArm/ultraarm_moveit/launch/ultraArm_moveit.launch index 14e261d..ee45554 100644 --- a/Mira/mira_moveit/launch/mira_moveit.launch +++ b/ultraArm/ultraarm_moveit/launch/ultraArm_moveit.launch @@ -6,7 +6,7 @@ - + diff --git a/Mira/mira_moveit/launch/warehouse.launch b/ultraArm/ultraarm_moveit/launch/warehouse.launch similarity index 100% rename from Mira/mira_moveit/launch/warehouse.launch rename to ultraArm/ultraarm_moveit/launch/warehouse.launch diff --git a/Mira/mira_moveit/launch/warehouse_settings.launch.xml b/ultraArm/ultraarm_moveit/launch/warehouse_settings.launch.xml similarity index 100% rename from Mira/mira_moveit/launch/warehouse_settings.launch.xml rename to ultraArm/ultraarm_moveit/launch/warehouse_settings.launch.xml diff --git a/Mira/mira_moveit/package.xml b/ultraArm/ultraarm_moveit/package.xml similarity index 98% rename from Mira/mira_moveit/package.xml rename to ultraArm/ultraarm_moveit/package.xml index eba866d..7483957 100644 --- a/Mira/mira_moveit/package.xml +++ b/ultraArm/ultraarm_moveit/package.xml @@ -1,6 +1,6 @@ - mira_moveit + ultraarm_moveit 0.3.0 An automatically generated package with all the configuration and launch files for using the firefighter with the MoveIt Motion Planning Framework diff --git a/Mira/mira_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py b/ultraArm/ultraarm_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py similarity index 100% rename from Mira/mira_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py rename to ultraArm/ultraarm_moveit/scripts/path_planning_and_obstacle_avoidance_demo.py diff --git a/Mira/mira_moveit/scripts/sync_plan.py b/ultraArm/ultraarm_moveit/scripts/sync_plan.py similarity index 86% rename from Mira/mira_moveit/scripts/sync_plan.py rename to ultraArm/ultraarm_moveit/scripts/sync_plan.py index cc502ef..ab90abd 100644 --- a/Mira/mira_moveit/scripts/sync_plan.py +++ b/ultraArm/ultraarm_moveit/scripts/sync_plan.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import rospy from sensor_msgs.msg import JointState -from pymycobot.mira import Mira +from pymycobot.ultraArm import ultraArm ma = None @@ -15,7 +15,7 @@ def callback(data): data_list.append(round(value,3)) print('data_list:',data_list) - ma.set_radians(data_list, 50) + ua.set_radians(data_list, 50) # time.sleep(0.5) @@ -27,9 +27,9 @@ def listener(): port = rospy.get_param("~port", "/dev/ttyUSB0") # Select connected device. 选择连接设备 baud = rospy.get_param("~baud", 115200) print(port, baud) - ma = Mira(port, baud) - ma.power_on() - ma.go_zero() + ua = ultraArm(port, baud) + ua.power_on() + ua.go_zero() # spin() simply keeps python from exiting until this node is stopped # spin() 只是阻止python退出,直到该节点停止