remove simple module logging
This commit is contained in:
+1
-2
@@ -52,8 +52,7 @@ module3/.venv/bin/python module3/simple_module_b.py
|
|||||||
|
|
||||||
Ввод предмета нужен только для показа. Скрипт выводит YOLO в окне OpenCV, через
|
Ввод предмета нужен только для показа. Скрипт выводит YOLO в окне OpenCV, через
|
||||||
5 секунд открывает захват, а через 2 секунды переводит его в положение
|
5 секунд открывает захват, а через 2 секунды переводит его в положение
|
||||||
`take_cube`. В терминале раз в секунду показываются детекции YOLO. Выход — `Q`
|
`take_cube`. Выход — `Q` или `Esc`.
|
||||||
или `Esc`.
|
|
||||||
|
|
||||||
Камера реального RMC1: `/RMC1/arm95/svcam/right/image`. Для проверки в Webots
|
Камера реального RMC1: `/RMC1/arm95/svcam/right/image`. Для проверки в Webots
|
||||||
замените константу `CAMERA` на `/RMC1/arm95/camera_gripper/image_color`.
|
замените константу `CAMERA` на `/RMC1/arm95/camera_gripper/image_color`.
|
||||||
|
|||||||
@@ -26,10 +26,9 @@ class Demo(Node):
|
|||||||
self.gripper = self.create_publisher(JointTrajectory, GRIPPER, 10)
|
self.gripper = self.create_publisher(JointTrajectory, GRIPPER, 10)
|
||||||
self.create_subscription(Image, CAMERA, self.on_image, qos_profile_sensor_data)
|
self.create_subscription(Image, CAMERA, self.on_image, qos_profile_sensor_data)
|
||||||
self.started = None
|
self.started = None
|
||||||
self.last_log = -1
|
|
||||||
self.step = 0
|
self.step = 0
|
||||||
|
|
||||||
def move_gripper(self, position, state):
|
def move_gripper(self, position):
|
||||||
message = JointTrajectory()
|
message = JointTrajectory()
|
||||||
message.joint_names = ["left_joint", "right_joint"]
|
message.joint_names = ["left_joint", "right_joint"]
|
||||||
point = JointTrajectoryPoint()
|
point = JointTrajectoryPoint()
|
||||||
@@ -37,7 +36,6 @@ class Demo(Node):
|
|||||||
point.time_from_start = Duration(sec=1)
|
point.time_from_start = Duration(sec=1)
|
||||||
message.points = [point]
|
message.points = [point]
|
||||||
self.gripper.publish(message)
|
self.gripper.publish(message)
|
||||||
print(f"[GRIPPER] {state}: {position}", flush=True)
|
|
||||||
|
|
||||||
def on_image(self, message):
|
def on_image(self, message):
|
||||||
frame = self.bridge.imgmsg_to_cv2(message, "bgr8")
|
frame = self.bridge.imgmsg_to_cv2(message, "bgr8")
|
||||||
@@ -45,18 +43,13 @@ class Demo(Node):
|
|||||||
|
|
||||||
if self.started is None:
|
if self.started is None:
|
||||||
self.started = time.monotonic()
|
self.started = time.monotonic()
|
||||||
print(f"[CAMERA] {CAMERA}", flush=True)
|
|
||||||
seconds = int(time.monotonic() - self.started)
|
seconds = int(time.monotonic() - self.started)
|
||||||
|
|
||||||
if seconds != self.last_log:
|
|
||||||
print(f"[YOLO] {result.verbose().strip()}", flush=True)
|
|
||||||
self.last_log = seconds
|
|
||||||
|
|
||||||
if seconds >= 5 and self.step == 0:
|
if seconds >= 5 and self.step == 0:
|
||||||
self.move_gripper(0.04, "OPEN")
|
self.move_gripper(0.04)
|
||||||
self.step = 1
|
self.step = 1
|
||||||
elif seconds >= 7 and self.step == 1:
|
elif seconds >= 7 and self.step == 1:
|
||||||
self.move_gripper(0.02, "TAKE_CUBE")
|
self.move_gripper(0.02)
|
||||||
self.step = 2
|
self.step = 2
|
||||||
|
|
||||||
cv2.imshow("YOLO", result.plot())
|
cv2.imshow("YOLO", result.plot())
|
||||||
@@ -65,8 +58,7 @@ class Demo(Node):
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
target = input("Предмет (Кисть, Нож или Резаки): ")
|
input("Предмет (Кисть, Нож или Резаки): ")
|
||||||
print(f"[START] {target}", flush=True)
|
|
||||||
rclpy.init()
|
rclpy.init()
|
||||||
node = Demo()
|
node = Demo()
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user