This commit is contained in:
2929ss 2022-08-02 14:25:43 +08:00
parent 49b4f19b5e
commit dbdee86f60
6 changed files with 9 additions and 65 deletions

View file

@ -52,15 +52,6 @@ class Object_detect(Movement):
# 判断连接设备:ttyUSB*为M5ttyACM*为seeed
self.raspi = False
# import RPi.GPIO as GPIO
# self.GPIO = GPIO
# GPIO.setwarnings(False)
# GPIO.setmode(GPIO.BCM)
# GPIO.setup(20, GPIO.OUT)
# GPIO.setup(21, GPIO.OUT)
# self.gpio_status(False)
# self.Pin = [2, 5]
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]
@ -90,12 +81,6 @@ class Object_detect(Movement):
self.x1 = self.x2 = self.y1 = self.y2 = 0
# set cache of real coord
self.cache_x = self.cache_y = 0
# load model of img recognition
# self.model_path = os.path.join(dir_path, "frozen_inference_graph.pb")
# self.pbtxt_path = os.path.join(dir_path, "graph.pbtxt")
# self.label_path = os.path.join(dir_path, "labels.json")
# # load class labels
# self.labels = json.load(open(self.label_path))
# use to calculate coord between cube and mycobot
self.sum_x1 = self.sum_x2 = self.sum_y2 = self.sum_y1 = 0
@ -109,13 +94,7 @@ class Object_detect(Movement):
self.aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_6X6_250)
# Get ArUco marker params.
self.aruco_params = cv2.aruco.DetectorParameters_create()
# if IS_CV_4:
# self.net = cv2.dnn.readNetFromTensorflow(self.model_path, self.pbtxt_path)
# else:
# print('Load tensorflow model need the version of opencv is 4.')
# exit(0)
# init a node and a publisher
rospy.init_node("marker", anonymous=True)
self.pub = rospy.Publisher('/cube', Marker, queue_size=1)
@ -151,6 +130,7 @@ class Object_detect(Movement):
self.marker.pose.position.z = z
self.marker.color.g = self.color
self.pub.publish(self.marker)
# pump_control pi
def gpio_status(self, flag):
if flag:
@ -534,10 +514,6 @@ def run():
parent_conn, child_conn = Pipe()
child = Process(target = process_display_frame, args=(child_conn,))
child.start()
# Object_detect().take_photo()
# Object_detect().cut_photo()
# goal = Object_detect().distinguist()
res_queue = [[], [], [], []]
res_queue[0] = parse_folder('res/red')
@ -545,11 +521,6 @@ def run():
res_queue[2] = parse_folder('res/blue')
res_queue[3] = parse_folder('res/gray')
# res_queue = []
# res_queue.extend(parse_folder('res/red'))
# res_queue.extend(parse_folder('res/green'))
# res_queue.extend(parse_folder('res/gray'))
# res_queue.extend(parse_folder('res/blue'))
sift = cv2.xfeatures2d.SIFT_create()
kp_list, desc_list = compute_keypoints_and_descriptors(sift, res_queue)

View file

@ -16,6 +16,8 @@ mc = MyCobot(os.popen("ls /dev/ttyUSB*").readline()[:-1], 115200)
# mc.send_angles([0,0,0,0,90,0],20) # coords:[95.6, 0.5, 166.4, 179.12, -0.18, 179.46]
# time.sleep(4)
mc.send_angle(3,-15,30)
# mc.send_angles([-3.25, 17.22, -32.51, 2.37, 92.54, -36.21],30)
# mc.send_coords([92.3, -104.9, 211.4, -179.6, 28.91, 131.29], 30, 0) # above the red bucket
@ -30,7 +32,7 @@ mc = MyCobot(os.popen("ls /dev/ttyUSB*").readline()[:-1], 115200)
# mc.send_coords([-5.4, 120.6, 204.6, 162.66, -6.96, 159.93],30,0) # above the gray bucket
# time.sleep(3)
mc.send_coords([80, 0, 92, 179.12, -0.18, 179.46], 30, 0)
# mc.send_coords([80, 0, 92, 179.12, -0.18, 179.46], 30, 0)
# mc.send_angle(3,0,25)
# print(mc.get_angles())

View file

@ -38,7 +38,7 @@ class Object_detect(Movement):
# 移动坐标
self.move_coords = [
[141.2, -142.0, 210, -26.8], # above the red bucket
[141.2, -142.0, 220, -26.8], # above the red bucket
[234.3, -120, 210, -48.77], # above the green bucket
[100.9, 159.3, 248.6, -124.27], # above the blue bucket
[-17.6, 161.6, 238.4, -152.31], # above the gray bucket
@ -174,7 +174,7 @@ class Object_detect(Movement):
self.mc.send_angle(2, 0, 20)
time.sleep(0.3)
self.mc.send_angle(3, -15, 20)
self.mc.send_angle(3, -20, 20)
time.sleep(2)
self.mc.send_coords(self.move_coords[color], 20, 1)

View file

@ -53,15 +53,6 @@ class Object_detect(Movement):
# 判断连接设备:ttyUSB*为M5ttyACM*为seeed
self.raspi = False
# import RPi.GPIO as GPIO
# self.GPIO = GPIO
# GPIO.setwarnings(False)
# GPIO.setmode(GPIO.BCM)
# GPIO.setup(20, GPIO.OUT)
# GPIO.setup(21, GPIO.OUT)
# self.gpio_status(False)
# self.Pin = [2, 5]
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]
@ -90,12 +81,6 @@ class Object_detect(Movement):
self.x1 = self.x2 = self.y1 = self.y2 = 0
# set cache of real coord
self.cache_x = self.cache_y = 0
# load model of img recognition
# self.model_path = os.path.join(dir_path, "frozen_inference_graph.pb")
# self.pbtxt_path = os.path.join(dir_path, "graph.pbtxt")
# self.label_path = os.path.join(dir_path, "labels.json")
# # load class labels
# self.labels = json.load(open(self.label_path))
# use to calculate coord between cube and mycobot
self.sum_x1 = self.sum_x2 = self.sum_y2 = self.sum_y1 = 0
@ -110,11 +95,6 @@ class Object_detect(Movement):
# Get ArUco marker params.
self.aruco_params = cv2.aruco.DetectorParameters_create()
# if IS_CV_4:
# self.net = cv2.dnn.readNetFromTensorflow(self.model_path, self.pbtxt_path)
# else:
# print('Load tensorflow model need the version of opencv is 4.')
# exit(0)
# init a node and a publisher
rospy.init_node("marker", anonymous=True)
@ -151,6 +131,7 @@ class Object_detect(Movement):
self.marker.pose.position.z = z
self.marker.color.g = self.color
self.pub.publish(self.marker)
# pump_control pi
def gpio_status(self, flag):
if flag:
@ -195,7 +176,7 @@ class Object_detect(Movement):
self.mc.send_angle(2, 0, 20)
time.sleep(0.3)
self.mc.send_angle(3, -15, 20)
self.mc.send_angle(3, -18, 20)
time.sleep(2)
self.mc.send_coords(self.move_coords[color], 20, 1)
@ -520,22 +501,12 @@ def run():
child = Process(target = process_display_frame, args=(child_conn,))
child.start()
# Object_detect().take_photo()
# Object_detect().cut_photo()
# goal = Object_detect().distinguist()
res_queue = [[], [], [], []]
res_queue[0] = parse_folder('res/red')
res_queue[1] = parse_folder('res/green')
res_queue[2] = parse_folder('res/blue')
res_queue[3] = parse_folder('res/gray')
# res_queue = []
# res_queue.extend(parse_folder('res/red'))
# res_queue.extend(parse_folder('res/green'))
# res_queue.extend(parse_folder('res/gray'))
# res_queue.extend(parse_folder('res/blue'))
sift = cv2.xfeatures2d.SIFT_create()
kp_list, desc_list = compute_keypoints_and_descriptors(sift, res_queue)