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退出,直到该节点停止