Merge branch 'shalenikol-jazzy' into 'nix-jazzy'
update object detection skill See merge request robossembler/robossembler-ros2!76
This commit is contained in:
commit
09420025a1
1 changed files with 13 additions and 9 deletions
|
@ -3,7 +3,7 @@
|
||||||
object_detection_lifecycle_node_via_interface_node
|
object_detection_lifecycle_node_via_interface_node
|
||||||
ROS 2 program for Object Detection
|
ROS 2 program for Object Detection
|
||||||
|
|
||||||
@shalenikol release 0.3
|
@shalenikol release 0.4
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
@ -116,20 +116,22 @@ class ObjectDetection(Node):
|
||||||
dependency = {}
|
dependency = {}
|
||||||
for comm in self.skill_cfg["BTAction"]:
|
for comm in self.skill_cfg["BTAction"]:
|
||||||
for par in comm["param"]:
|
for par in comm["param"]:
|
||||||
if par["type"] == "weights":
|
|
||||||
dependency = par["dependency"]
|
dependency = par["dependency"]
|
||||||
elif par["type"] == "topic":
|
if par["type"] == "topic":
|
||||||
self.topicImage = par["dependency"]["topicOut"]
|
self.topicImage = dependency["topicOut"]
|
||||||
assert dependency, "no weights dependency"
|
elif par["type"] == "formBuilder":
|
||||||
|
self.objName = dependency["output"]["object_name"]
|
||||||
|
val = dependency["output"]["process"]["selectProcess"]["value"]
|
||||||
|
self.yolov8_weights_file = os.path.join(val["instancePath"], val["instanceName"]+".pt")
|
||||||
|
assert self.objName, "no object name"
|
||||||
assert self.topicImage, "no input topic dependency"
|
assert self.topicImage, "no input topic dependency"
|
||||||
|
# assert self.yolov8_weights_file, "no weights dependency"
|
||||||
|
|
||||||
self.yolov8_weights_file = dependency["weights_file"]
|
# self.yolov8_weights_file = dependency["weights_file"]
|
||||||
if not os.path.isfile(self.yolov8_weights_file):
|
if not os.path.isfile(self.yolov8_weights_file):
|
||||||
self.get_logger().warning(f"No weights found <{self.yolov8_weights_file}>")
|
self.get_logger().warning(f"No weights found <{self.yolov8_weights_file}>")
|
||||||
return TransitionCallbackReturn.FAILURE
|
return TransitionCallbackReturn.FAILURE
|
||||||
|
|
||||||
self.objName = dependency["object_name"]
|
|
||||||
|
|
||||||
# Create the publisher.
|
# Create the publisher.
|
||||||
if self._is_image_mode:
|
if self._is_image_mode:
|
||||||
self._pub = self.create_lifecycle_publisher(Image, self.topicDetectImage, 3)
|
self._pub = self.create_lifecycle_publisher(Image, self.topicDetectImage, 3)
|
||||||
|
@ -169,6 +171,8 @@ class ObjectDetection(Node):
|
||||||
self.image_det = []
|
self.image_det = []
|
||||||
self.bbox_res = None
|
self.bbox_res = None
|
||||||
self.topicImage = ""
|
self.topicImage = ""
|
||||||
|
self.objName = ""
|
||||||
|
self.yolov8_weights_file = ""
|
||||||
|
|
||||||
self.destroy_timer(self._timer)
|
self.destroy_timer(self._timer)
|
||||||
self.destroy_publisher(self._pub)
|
self.destroy_publisher(self._pub)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue