vtt node saved for testing
parent
195cc5fc2e
commit
9287807a3d
|
|
@ -2,22 +2,35 @@ from ament_index_python.packages import get_package_share_directory
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
|
import numpy as np
|
||||||
|
from math import ceil
|
||||||
|
from itertools import product
|
||||||
|
from rknnlite.api import RKNNLite
|
||||||
from sensor_msgs.msg import CompressedImage
|
from sensor_msgs.msg import CompressedImage
|
||||||
from cv_bridge import CvBridge
|
from cv_bridge import CvBridge
|
||||||
|
import time
|
||||||
from camera_module.threaded_node import ThreadedNode
|
from camera_module.threaded_node import ThreadedNode
|
||||||
|
|
||||||
|
from sensor_msgs.msg import CompressedImage
|
||||||
from std_msgs.msg import String
|
from std_msgs.msg import String
|
||||||
import rclpy
|
import rclpy
|
||||||
|
|
||||||
|
from ament_index_python.packages import get_package_share_directory
|
||||||
|
import os
|
||||||
|
|
||||||
|
package_name = 'camera_module'
|
||||||
|
model_path = os.path.join(get_package_share_directory(package_name), 'resource', 'model', 'RetinaFace.rknn')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CamPublisher(ThreadedNode):
|
class CamPublisher(ThreadedNode):
|
||||||
def __init__(self, rknn, cap):
|
def __init__(self, rknn, cap):
|
||||||
super().__init__('camera_module', default_rate=5.0)
|
super().__init__('camera_module', default_rate=5.0)
|
||||||
self.string_pub = self.create_publisher(String, 'camera_module/cam_topic', 10)
|
#self.string_pub = self.create_publisher(String, 'camera_module/cam_topic', 10)
|
||||||
self.image_pub = self.create_publisher(CompressedImage, 'camera_module/compressed', 10)
|
#self.image_pub = self.create_publisher(CompressedImage, 'camera_module/compressed', 10)
|
||||||
|
self.face_detect_pub = self.create_publisher(String, 'camera_module/face_data', 10)
|
||||||
|
self.face_image_pub = self.create_publisher(CompressedImage, 'camera_module/face_images', 10)
|
||||||
|
self.face_detect_frame_pub = self.create_publisher(CompressedImage, 'camera_module/face_detect_frame', 10)
|
||||||
self.rknn = rknn
|
self.rknn = rknn
|
||||||
self.cap = cap
|
self.cap = cap
|
||||||
self.latest_frame = None
|
self.latest_frame = None
|
||||||
|
|
@ -40,10 +53,10 @@ class CamPublisher(ThreadedNode):
|
||||||
|
|
||||||
def on_tick(self):
|
def on_tick(self):
|
||||||
# Publish string message
|
# Publish string message
|
||||||
msg = String()
|
# msg = String()
|
||||||
msg.data = 'Cam from ROS 2!'
|
# msg.data = 'Cam from ROS 2!'
|
||||||
self.string_pub.publish(msg)
|
# self.string_pub.publish(msg)
|
||||||
self.get_logger().info(f'Published: {msg.data}')
|
# self.get_logger().info(f'Published: {msg.data}')
|
||||||
|
|
||||||
# Capture and publish image
|
# Capture and publish image
|
||||||
if self.cap is None:
|
if self.cap is None:
|
||||||
|
|
@ -53,8 +66,10 @@ class CamPublisher(ThreadedNode):
|
||||||
ret, frame = cap.read()
|
ret, frame = cap.read()
|
||||||
if not ret:
|
if not ret:
|
||||||
return
|
return
|
||||||
|
raw_frame = frame.copy()
|
||||||
|
|
||||||
img_height, img_width, _ = frame.shape
|
img_height, img_width, _ = frame.shape
|
||||||
letterbox_img, aspect_ratio, offset_x, offset_y = letterbox_resize(frame, model_size, 114)
|
letterbox_img, aspect_ratio, offset_x, offset_y = letterbox_resize(frame, self.model_size, 114)
|
||||||
infer_img = np.expand_dims(letterbox_img.astype(np.uint8), axis=0)
|
infer_img = np.expand_dims(letterbox_img.astype(np.uint8), axis=0)
|
||||||
|
|
||||||
outputs = rknn.inference(inputs=[infer_img])
|
outputs = rknn.inference(inputs=[infer_img])
|
||||||
|
|
@ -62,14 +77,14 @@ class CamPublisher(ThreadedNode):
|
||||||
return
|
return
|
||||||
|
|
||||||
loc, conf, landms = outputs
|
loc, conf, landms = outputs
|
||||||
boxes = box_decode(loc.squeeze(0), priors)
|
boxes = box_decode(loc.squeeze(0), self.priors)
|
||||||
boxes *= np.array([model_size[1], model_size[0], model_size[1], model_size[0]])
|
boxes *= np.array([self.model_size[1], self.model_size[0], self.model_size[1], self.model_size[0]])
|
||||||
boxes[:, 0::2] = np.clip((boxes[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
boxes[:, 0::2] = np.clip((boxes[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
||||||
boxes[:, 1::2] = np.clip((boxes[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
boxes[:, 1::2] = np.clip((boxes[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
||||||
|
|
||||||
scores = conf.squeeze(0)[:, 1]
|
scores = conf.squeeze(0)[:, 1]
|
||||||
landms = decode_landm(landms.squeeze(0), priors)
|
landms = decode_landm(landms.squeeze(0), self.priors)
|
||||||
landms *= np.tile(np.array([model_size[1], model_size[0]]), 5)
|
landms *= np.tile(np.array([self.model_size[1], self.model_size[0]]), 5)
|
||||||
landms[:, 0::2] = np.clip((landms[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
landms[:, 0::2] = np.clip((landms[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
||||||
landms[:, 1::2] = np.clip((landms[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
landms[:, 1::2] = np.clip((landms[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
||||||
|
|
||||||
|
|
@ -85,6 +100,10 @@ class CamPublisher(ThreadedNode):
|
||||||
face_data = []
|
face_data = []
|
||||||
frame_center = np.array([img_width / 2, img_height / 2])
|
frame_center = np.array([img_width / 2, img_height / 2])
|
||||||
|
|
||||||
|
face_data = []
|
||||||
|
valid_dets = []
|
||||||
|
valid_landms = []
|
||||||
|
|
||||||
for data, landmark in zip(dets, landms):
|
for data, landmark in zip(dets, landms):
|
||||||
if data[4] < 0.6:
|
if data[4] < 0.6:
|
||||||
continue
|
continue
|
||||||
|
|
@ -100,20 +119,59 @@ class CamPublisher(ThreadedNode):
|
||||||
"y": float(offset[1])
|
"y": float(offset[1])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
valid_dets.append(data)
|
||||||
|
valid_landms.append(landmark)
|
||||||
|
|
||||||
|
|
||||||
|
for data, landmark in zip(valid_dets, valid_landms):
|
||||||
|
x1, y1, x2, y2 = map(int, data[:4])
|
||||||
|
conf = data[4]
|
||||||
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 0, 255), 2)
|
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 0, 255), 2)
|
||||||
cv2.putText(frame, f'{conf:.4f}', (x1, y1 + 12), cv2.FONT_HERSHEY_DUPLEX, 0.5, (255, 255, 255))
|
cv2.putText(frame, f'{conf:.4f}', (x1, y1 + 12), cv2.FONT_HERSHEY_DUPLEX, 0.5, (255, 255, 255))
|
||||||
for j in range(5):
|
for j in range(5):
|
||||||
lx, ly = map(int, landmark[j*2:j*2+2])
|
lx, ly = map(int, landmark[j*2:j*2+2])
|
||||||
cv2.circle(frame, (lx, ly), 1, (0, 255, 255), 2)
|
cv2.circle(frame, (lx, ly), 1, (0, 255, 255), 2)
|
||||||
|
|
||||||
cv2.putText(frame, f'FPS: {fps:.2f}', (10, 30),
|
# cv2.putText(frame, f'FPS: {fps:.2f}', (10, 30),
|
||||||
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
|
# cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
|
||||||
if len(face_data) > 0:
|
if len(face_data) > 0:
|
||||||
print(face_data)
|
print(face_data)
|
||||||
|
self.face_detect_pub.publish(String(data=str(face_data)))
|
||||||
|
|
||||||
|
# CROP FACES AND PUBLISH STITCHED IMAGE
|
||||||
|
face_crops = []
|
||||||
|
for data in dets:
|
||||||
|
if data[4] < 0.6:
|
||||||
|
continue
|
||||||
|
x1, y1, x2, y2 = map(int, data[:4])
|
||||||
|
face_crop = raw_frame[y1:y2, x1:x2]
|
||||||
|
face_crops.append(face_crop)
|
||||||
|
target_height = 100
|
||||||
|
resized_faces = [
|
||||||
|
cv2.resize(face, (int(face.shape[1] * target_height / face.shape[0]), target_height))
|
||||||
|
for face in face_crops
|
||||||
|
]
|
||||||
|
if resized_faces:
|
||||||
|
stitched = cv2.hconcat(resized_faces)
|
||||||
|
ret, stitched_buffer = cv2.imencode('.jpg', stitched)
|
||||||
|
if ret:
|
||||||
|
msg = CompressedImage()
|
||||||
|
msg.header.stamp = self.get_clock().now().to_msg()
|
||||||
|
msg.format = 'jpeg'
|
||||||
|
msg.data = stitched_buffer.tobytes()
|
||||||
|
self.face_image_pub.publish(msg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ret, buffer = cv2.imencode('.jpg', frame)
|
ret, buffer = cv2.imencode('.jpg', frame)
|
||||||
if ret:
|
if ret:
|
||||||
latest_frame = buffer.tobytes()
|
latest_frame = buffer.tobytes()
|
||||||
latest_faces = face_data
|
latest_faces = face_data
|
||||||
|
msg = CompressedImage()
|
||||||
|
msg.header.stamp = self.get_clock().now().to_msg()
|
||||||
|
msg.format = 'jpeg'
|
||||||
|
msg.data = buffer.tobytes()
|
||||||
|
self.face_detect_frame_pub.publish(msg)
|
||||||
|
|
||||||
def destroy_node(self):
|
def destroy_node(self):
|
||||||
if self.cap:
|
if self.cap:
|
||||||
|
|
@ -194,7 +252,7 @@ def nms(dets, thresh):
|
||||||
|
|
||||||
# --- RKNN Initialization ---
|
# --- RKNN Initialization ---
|
||||||
rknn = RKNNLite()
|
rknn = RKNNLite()
|
||||||
rknn.load_rknn('./RetinaFace.rknn')
|
rknn.load_rknn(model_path)
|
||||||
rknn.init_runtime()
|
rknn.init_runtime()
|
||||||
|
|
||||||
# --- Shared State ---
|
# --- Shared State ---
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,115 @@
|
||||||
|
# threaded_node.py
|
||||||
|
import rclpy
|
||||||
|
from rclpy.node import Node
|
||||||
|
from rclpy.parameter import Parameter
|
||||||
|
from rcl_interfaces.msg import SetParametersResult, ParameterEvent
|
||||||
|
from std_msgs.msg import Bool, Float32
|
||||||
|
|
||||||
|
import time
|
||||||
|
import threading
|
||||||
|
import queue
|
||||||
|
from collections import deque
|
||||||
|
|
||||||
|
class ThreadedNode(Node):
|
||||||
|
def __init__(self, name: str, default_rate: float = 1.0):
|
||||||
|
super().__init__(name)
|
||||||
|
|
||||||
|
# Declare and initialize publish_rate
|
||||||
|
self.declare_parameter('publish_rate', default_rate)
|
||||||
|
self.publish_rate = self.get_parameter('publish_rate').get_parameter_value().double_value
|
||||||
|
|
||||||
|
# Heartbeat publisher
|
||||||
|
self.heartbeat_pub = self.create_publisher(Bool, f'{name}/heartbeat', 1)
|
||||||
|
self.heartbeat_timer = self.create_timer(1.0, self.send_heartbeat)
|
||||||
|
|
||||||
|
# Actual FPS publisher
|
||||||
|
self.fps_pub = self.create_publisher(Float32, f'{name}/fps', 1)
|
||||||
|
buffer_size = max(5, int(self.publish_rate * 5)) # 5 seconds worth of ticks
|
||||||
|
self._tick_times = deque(maxlen=buffer_size)
|
||||||
|
|
||||||
|
# Work timer
|
||||||
|
self.timer = self.create_timer(1.0 / self.publish_rate, self.timer_callback)
|
||||||
|
|
||||||
|
# Parameter update hooks
|
||||||
|
self.add_on_set_parameters_callback(self.param_callback)
|
||||||
|
self.create_subscription(ParameterEvent, '/parameter_events', self.parameter_event_listener, 10)
|
||||||
|
|
||||||
|
self.setup_parameters()
|
||||||
|
self.setup_topics()
|
||||||
|
|
||||||
|
# Worker thread setup
|
||||||
|
self.task_queue = queue.Queue()
|
||||||
|
self.worker_thread = threading.Thread(target=self.worker_loop, daemon=True)
|
||||||
|
self.worker_thread.start()
|
||||||
|
|
||||||
|
def setup_parameters(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def setup_topics(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def send_heartbeat(self):
|
||||||
|
self.heartbeat_pub.publish(Bool(data=True))
|
||||||
|
|
||||||
|
def timer_callback(self):
|
||||||
|
if self.task_queue.empty():
|
||||||
|
self.task_queue.put_nowait('tick')
|
||||||
|
|
||||||
|
|
||||||
|
def worker_loop(self):
|
||||||
|
while rclpy.ok():
|
||||||
|
try:
|
||||||
|
task = self.task_queue.get(timeout=1.0)
|
||||||
|
if task == 'tick':
|
||||||
|
now = time.time()
|
||||||
|
self._tick_times.append(now)
|
||||||
|
|
||||||
|
# Call the subclass's tick logic
|
||||||
|
try:
|
||||||
|
self.on_tick()
|
||||||
|
except Exception as e:
|
||||||
|
self.get_logger().error(f'on_tick failed: {e}')
|
||||||
|
|
||||||
|
# Compute smoothed FPS
|
||||||
|
if len(self._tick_times) >= 2:
|
||||||
|
intervals = [t2 - t1 for t1, t2 in zip(self._tick_times, list(self._tick_times)[1:])]
|
||||||
|
avg_interval = sum(intervals) / len(intervals)
|
||||||
|
smoothed_fps = 1.0 / avg_interval if avg_interval > 0 else 0.0
|
||||||
|
else:
|
||||||
|
smoothed_fps = 0.0
|
||||||
|
|
||||||
|
fps_msg = Float32()
|
||||||
|
fps_msg.data = smoothed_fps
|
||||||
|
self.fps_pub.publish(fps_msg)
|
||||||
|
|
||||||
|
|
||||||
|
except queue.Empty:
|
||||||
|
continue
|
||||||
|
|
||||||
|
def on_tick(self):
|
||||||
|
# Override this in your subclass
|
||||||
|
pass
|
||||||
|
|
||||||
|
def update_publish_rate(self, new_rate):
|
||||||
|
self.get_logger().info(f'Updating publish rate to {new_rate} Hz')
|
||||||
|
self.timer.cancel()
|
||||||
|
self.timer = self.create_timer(1.0 / new_rate, self.timer_callback)
|
||||||
|
self.publish_rate = new_rate
|
||||||
|
self.set_parameters([Parameter('publish_rate', Parameter.Type.DOUBLE, new_rate)])
|
||||||
|
buffer_size = max(5, int(self.publish_rate * 5)) # 5 seconds worth of ticks
|
||||||
|
self._tick_times = deque(maxlen=buffer_size)
|
||||||
|
|
||||||
|
def param_callback(self, params):
|
||||||
|
for param in params:
|
||||||
|
if param.name == 'publish_rate' and param.type_ == Parameter.Type.DOUBLE:
|
||||||
|
new_rate = param.value
|
||||||
|
if new_rate > 0.0 and abs(new_rate - self.publish_rate) > 1e-6:
|
||||||
|
self.update_publish_rate(new_rate)
|
||||||
|
return SetParametersResult(successful=True)
|
||||||
|
|
||||||
|
def parameter_event_listener(self, event: ParameterEvent):
|
||||||
|
for changed in event.changed_parameters:
|
||||||
|
if changed.name == 'publish_rate':
|
||||||
|
new_rate = changed.value.double_value
|
||||||
|
if new_rate > 0.0 and abs(new_rate - self.publish_rate) > 1e-6:
|
||||||
|
self.update_publish_rate(new_rate)
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
from ament_index_python.packages import get_package_share_directory
|
||||||
|
import os
|
||||||
|
|
||||||
|
import time
|
||||||
|
from voice_to_text_node.threaded_node import ThreadedNode
|
||||||
|
|
||||||
|
from std_msgs.msg import String
|
||||||
|
import rclpy
|
||||||
|
|
||||||
|
from ament_index_python.packages import get_package_share_directory
|
||||||
|
import threading
|
||||||
|
|
||||||
|
|
||||||
|
import sounddevice as sd
|
||||||
|
import queue
|
||||||
|
from vosk import Model, KaldiRecognizer
|
||||||
|
|
||||||
|
package_name = 'voice_to_text_node'
|
||||||
|
model_path = os.path.join(
|
||||||
|
get_package_share_directory('voice_to_text_node'),
|
||||||
|
'resource', 'model', 'vosk-model-small-en-us-0.15'
|
||||||
|
)
|
||||||
|
print("MODEL PATH: " + model_path)
|
||||||
|
latest_partial = {"partial": ""}
|
||||||
|
latest_result = {"text": ""}
|
||||||
|
|
||||||
|
|
||||||
|
class VoicePublisher(ThreadedNode):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(package_name, default_rate=5.0)
|
||||||
|
self.string_pub = self.create_publisher(String, package_name + '/test_topic', 10)
|
||||||
|
|
||||||
|
self.latest_partial = {"partial": ""}
|
||||||
|
self.latest_result = {"text": ""}
|
||||||
|
|
||||||
|
self.speech_thread = threading.Thread(target=self.speech_loop, daemon=True)
|
||||||
|
self.speech_thread.start()
|
||||||
|
|
||||||
|
def on_tick(self):
|
||||||
|
msg = String()
|
||||||
|
msg.data = self.latest_partial.get("partial", "") or self.latest_result.get("text", "")
|
||||||
|
self.string_pub.publish(msg)
|
||||||
|
self.get_logger().info(f'Published: {msg.data}')
|
||||||
|
|
||||||
|
def speech_loop(self):
|
||||||
|
model = Model(model_path)
|
||||||
|
rec = KaldiRecognizer(model, 16000)
|
||||||
|
q = queue.Queue()
|
||||||
|
|
||||||
|
def callback(indata, frames, time, status):
|
||||||
|
if status:
|
||||||
|
print(status)
|
||||||
|
q.put(bytes(indata))
|
||||||
|
|
||||||
|
with sd.RawInputStream(samplerate=16000, blocksize=8000, dtype='int16',
|
||||||
|
channels=1, callback=callback):
|
||||||
|
while True:
|
||||||
|
data = q.get()
|
||||||
|
if rec.AcceptWaveform(data):
|
||||||
|
result = json.loads(rec.Result())
|
||||||
|
self.latest_result = result
|
||||||
|
print(".", result)
|
||||||
|
else:
|
||||||
|
partial = json.loads(rec.PartialResult())
|
||||||
|
self.latest_partial = partial
|
||||||
|
print("...", partial.get("partial", ""), end='\r')
|
||||||
|
|
||||||
|
def destroy_node(self):
|
||||||
|
super().destroy_node()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
rclpy.init()
|
||||||
|
node = VoicePublisher()
|
||||||
|
rclpy.spin(node)
|
||||||
|
node.destroy_node()
|
||||||
|
rclpy.shutdown()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
0
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# generated from colcon_core/shell/template/command_prefix.sh.em
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
AMENT_PREFIX_PATH=/opt/ros/kilted
|
||||||
|
CMAKE_PREFIX_PATH=/opt/ros/kilted/opt/gz_math_vendor:/opt/ros/kilted/opt/gz_utils_vendor:/opt/ros/kilted/opt/gz_cmake_vendor
|
||||||
|
COLCON=1
|
||||||
|
COLORTERM=truecolor
|
||||||
|
CONDA_EXE=/home/jake/miniconda3/bin/conda
|
||||||
|
CONDA_PYTHON_EXE=/home/jake/miniconda3/bin/python
|
||||||
|
CONDA_SHLVL=0
|
||||||
|
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus
|
||||||
|
DISPLAY=10.255.255.254:0
|
||||||
|
GIT_ASKPASS=/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/extensions/git/dist/askpass.sh
|
||||||
|
HOME=/home/jake
|
||||||
|
HOSTTYPE=x86_64
|
||||||
|
LANG=C.UTF-8
|
||||||
|
LD_LIBRARY_PATH=/opt/ros/kilted/opt/zenoh_cpp_vendor/lib:/opt/ros/kilted/opt/gz_math_vendor/lib:/opt/ros/kilted/opt/gz_utils_vendor/lib:/opt/ros/kilted/opt/rviz_ogre_vendor/lib:/opt/ros/kilted/lib/x86_64-linux-gnu:/opt/ros/kilted/opt/gz_cmake_vendor/lib:/opt/ros/kilted/lib
|
||||||
|
LESSCLOSE=/usr/bin/lesspipe %s %s
|
||||||
|
LESSOPEN=| /usr/bin/lesspipe %s
|
||||||
|
LOGNAME=jake
|
||||||
|
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
|
||||||
|
NAME=DESKTOP-UFLG41E
|
||||||
|
OLDPWD=/home/jake/ros2_ws
|
||||||
|
PATH=/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/bin/remote-cli:/home/jake/.local/bin:/home/jake/miniconda3/condabin:/opt/ros/kilted/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/Program Files/usbipd-win/:/mnt/c/Users/jake/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/jake/AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin:/home/jake/.vscode-server/data/User/globalStorage/github.copilot-chat/debugCommand
|
||||||
|
PULSE_SERVER=unix:/mnt/wslg/PulseServer
|
||||||
|
PWD=/home/jake/ros2_ws/build/voice_to_text_node
|
||||||
|
PYTHONPATH=/opt/ros/kilted/lib/python3.12/site-packages
|
||||||
|
ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET
|
||||||
|
ROS_DISTRO=kilted
|
||||||
|
ROS_PYTHON_VERSION=3
|
||||||
|
ROS_VERSION=2
|
||||||
|
SHELL=/bin/bash
|
||||||
|
SHLVL=2
|
||||||
|
TERM=xterm-256color
|
||||||
|
TERM_PROGRAM=vscode
|
||||||
|
TERM_PROGRAM_VERSION=1.105.1
|
||||||
|
USER=jake
|
||||||
|
VSCODE_GIT_ASKPASS_EXTRA_ARGS=
|
||||||
|
VSCODE_GIT_ASKPASS_MAIN=/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/extensions/git/dist/askpass-main.js
|
||||||
|
VSCODE_GIT_ASKPASS_NODE=/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/node
|
||||||
|
VSCODE_GIT_IPC_HANDLE=/run/user/1001/vscode-git-1d6e8e65c1.sock
|
||||||
|
VSCODE_IPC_HOOK_CLI=/run/user/1001/vscode-ipc-07b86bca-e4f9-4c18-ba3e-d1abb3d5b6bc.sock
|
||||||
|
VSCODE_PYTHON_AUTOACTIVATE_GUARD=1
|
||||||
|
WAYLAND_DISPLAY=wayland-0
|
||||||
|
WSL2_GUI_APPS_ENABLED=1
|
||||||
|
WSLENV=VSCODE_WSL_EXT_LOCATION/up
|
||||||
|
WSL_DISTRO_NAME=Ubuntu-24.04
|
||||||
|
WSL_INTEROP=/run/WSL/440_interop
|
||||||
|
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
|
||||||
|
XDG_RUNTIME_DIR=/run/user/1001/
|
||||||
|
_=/usr/bin/colcon
|
||||||
|
_CE_CONDA=
|
||||||
|
_CE_M=
|
||||||
|
_CONDA_EXE=/home/jake/miniconda3/bin/conda
|
||||||
|
_CONDA_ROOT=/home/jake/miniconda3
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/__init__.py
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/voice_to_text_node.py
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/threaded_node.py
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/__pycache__/__init__.cpython-312.pyc
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/__pycache__/voice_to_text_node.cpython-312.pyc
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/__pycache__/threaded_node.cpython-312.pyc
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/package.xml
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index/packages/voice_to_text_node
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/README
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/HCLr.fst
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/disambig_tid.int
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/Gr.fst
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/phones/word_boundary.int
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf/model.conf
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf/mfcc.conf
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/am/final.mdl
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector/final.ie
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector/final.dubm
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector/online_cmvn.conf
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector/final.mat
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector/splice.conf
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector/global_cmvn.stats
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info/entry_points.txt
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info/SOURCES.txt
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info/zip-safe
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info/top_level.txt
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info/dependency_links.txt
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info/requires.txt
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info/PKG-INFO
|
||||||
|
/home/jake/ros2_ws/install/voice_to_text_node/bin/voice_to_text_node
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,4 @@
|
||||||
|
import sys
|
||||||
|
if sys.prefix == '/usr':
|
||||||
|
sys.real_prefix = sys.prefix
|
||||||
|
sys.prefix = sys.exec_prefix = '/home/jake/ros2_ws/install/voice_to_text_node'
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
Metadata-Version: 2.1
|
||||||
|
Name: voice-to-text-node
|
||||||
|
Version: 0.1.0
|
||||||
|
Summary: Manages voice to text for Little Sophia
|
||||||
|
Maintainer: jake
|
||||||
|
Maintainer-email: jake@example.com
|
||||||
|
License: MIT
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package.xml
|
||||||
|
setup.py
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/PKG-INFO
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/dependency_links.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/entry_points.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/requires.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/top_level.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/zip-safe
|
||||||
|
./voice_to_text_node/__init__.py
|
||||||
|
./voice_to_text_node/threaded_node.py
|
||||||
|
./voice_to_text_node/voice_to_text_node.py
|
||||||
|
resource/voice_to_text_node
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/README
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/am/final.mdl
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/conf/mfcc.conf
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/conf/model.conf
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/Gr.fst
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/HCLr.fst
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/disambig_tid.int
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/phones/word_boundary.int
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/final.dubm
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/final.ie
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/final.mat
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/global_cmvn.stats
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/online_cmvn.conf
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/splice.conf
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
[console_scripts]
|
||||||
|
voice_to_text_node = voice_to_text_node.voice_to_text_node:main
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
setuptools
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
voice_to_text_node
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd ~/ros2_ws
|
||||||
|
source /opt/ros/kilted/setup.bash # Use system ROS setup if needed
|
||||||
|
|
||||||
|
rm -rf build/voice_to_text_node install/voice_to_text_node log
|
||||||
|
|
||||||
|
# Build only voice_to_text_module
|
||||||
|
colcon build --packages-select voice_to_text_node --event-handlers console_direct+
|
||||||
|
|
||||||
|
# Source overlay
|
||||||
|
source install/setup.bash
|
||||||
|
voice_to_text_node voice_to_text_node
|
||||||
Binary file not shown.
|
|
@ -2,22 +2,35 @@ from ament_index_python.packages import get_package_share_directory
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
|
import numpy as np
|
||||||
|
from math import ceil
|
||||||
|
from itertools import product
|
||||||
|
from rknnlite.api import RKNNLite
|
||||||
from sensor_msgs.msg import CompressedImage
|
from sensor_msgs.msg import CompressedImage
|
||||||
from cv_bridge import CvBridge
|
from cv_bridge import CvBridge
|
||||||
|
import time
|
||||||
from camera_module.threaded_node import ThreadedNode
|
from camera_module.threaded_node import ThreadedNode
|
||||||
|
|
||||||
|
from sensor_msgs.msg import CompressedImage
|
||||||
from std_msgs.msg import String
|
from std_msgs.msg import String
|
||||||
import rclpy
|
import rclpy
|
||||||
|
|
||||||
|
from ament_index_python.packages import get_package_share_directory
|
||||||
|
import os
|
||||||
|
|
||||||
|
package_name = 'camera_module'
|
||||||
|
model_path = os.path.join(get_package_share_directory(package_name), 'resource', 'model', 'RetinaFace.rknn')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CamPublisher(ThreadedNode):
|
class CamPublisher(ThreadedNode):
|
||||||
def __init__(self, rknn, cap):
|
def __init__(self, rknn, cap):
|
||||||
super().__init__('camera_module', default_rate=5.0)
|
super().__init__('camera_module', default_rate=5.0)
|
||||||
self.string_pub = self.create_publisher(String, 'camera_module/cam_topic', 10)
|
#self.string_pub = self.create_publisher(String, 'camera_module/cam_topic', 10)
|
||||||
self.image_pub = self.create_publisher(CompressedImage, 'camera_module/compressed', 10)
|
#self.image_pub = self.create_publisher(CompressedImage, 'camera_module/compressed', 10)
|
||||||
|
self.face_detect_pub = self.create_publisher(String, 'camera_module/face_data', 10)
|
||||||
|
self.face_image_pub = self.create_publisher(CompressedImage, 'camera_module/face_images', 10)
|
||||||
|
self.face_detect_frame_pub = self.create_publisher(CompressedImage, 'camera_module/face_detect_frame', 10)
|
||||||
self.rknn = rknn
|
self.rknn = rknn
|
||||||
self.cap = cap
|
self.cap = cap
|
||||||
self.latest_frame = None
|
self.latest_frame = None
|
||||||
|
|
@ -40,10 +53,10 @@ class CamPublisher(ThreadedNode):
|
||||||
|
|
||||||
def on_tick(self):
|
def on_tick(self):
|
||||||
# Publish string message
|
# Publish string message
|
||||||
msg = String()
|
# msg = String()
|
||||||
msg.data = 'Cam from ROS 2!'
|
# msg.data = 'Cam from ROS 2!'
|
||||||
self.string_pub.publish(msg)
|
# self.string_pub.publish(msg)
|
||||||
self.get_logger().info(f'Published: {msg.data}')
|
# self.get_logger().info(f'Published: {msg.data}')
|
||||||
|
|
||||||
# Capture and publish image
|
# Capture and publish image
|
||||||
if self.cap is None:
|
if self.cap is None:
|
||||||
|
|
@ -53,8 +66,10 @@ class CamPublisher(ThreadedNode):
|
||||||
ret, frame = cap.read()
|
ret, frame = cap.read()
|
||||||
if not ret:
|
if not ret:
|
||||||
return
|
return
|
||||||
|
raw_frame = frame.copy()
|
||||||
|
|
||||||
img_height, img_width, _ = frame.shape
|
img_height, img_width, _ = frame.shape
|
||||||
letterbox_img, aspect_ratio, offset_x, offset_y = letterbox_resize(frame, model_size, 114)
|
letterbox_img, aspect_ratio, offset_x, offset_y = letterbox_resize(frame, self.model_size, 114)
|
||||||
infer_img = np.expand_dims(letterbox_img.astype(np.uint8), axis=0)
|
infer_img = np.expand_dims(letterbox_img.astype(np.uint8), axis=0)
|
||||||
|
|
||||||
outputs = rknn.inference(inputs=[infer_img])
|
outputs = rknn.inference(inputs=[infer_img])
|
||||||
|
|
@ -62,14 +77,14 @@ class CamPublisher(ThreadedNode):
|
||||||
return
|
return
|
||||||
|
|
||||||
loc, conf, landms = outputs
|
loc, conf, landms = outputs
|
||||||
boxes = box_decode(loc.squeeze(0), priors)
|
boxes = box_decode(loc.squeeze(0), self.priors)
|
||||||
boxes *= np.array([model_size[1], model_size[0], model_size[1], model_size[0]])
|
boxes *= np.array([self.model_size[1], self.model_size[0], self.model_size[1], self.model_size[0]])
|
||||||
boxes[:, 0::2] = np.clip((boxes[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
boxes[:, 0::2] = np.clip((boxes[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
||||||
boxes[:, 1::2] = np.clip((boxes[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
boxes[:, 1::2] = np.clip((boxes[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
||||||
|
|
||||||
scores = conf.squeeze(0)[:, 1]
|
scores = conf.squeeze(0)[:, 1]
|
||||||
landms = decode_landm(landms.squeeze(0), priors)
|
landms = decode_landm(landms.squeeze(0), self.priors)
|
||||||
landms *= np.tile(np.array([model_size[1], model_size[0]]), 5)
|
landms *= np.tile(np.array([self.model_size[1], self.model_size[0]]), 5)
|
||||||
landms[:, 0::2] = np.clip((landms[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
landms[:, 0::2] = np.clip((landms[:, 0::2] - offset_x) / aspect_ratio, 0, img_width)
|
||||||
landms[:, 1::2] = np.clip((landms[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
landms[:, 1::2] = np.clip((landms[:, 1::2] - offset_y) / aspect_ratio, 0, img_height)
|
||||||
|
|
||||||
|
|
@ -85,6 +100,10 @@ class CamPublisher(ThreadedNode):
|
||||||
face_data = []
|
face_data = []
|
||||||
frame_center = np.array([img_width / 2, img_height / 2])
|
frame_center = np.array([img_width / 2, img_height / 2])
|
||||||
|
|
||||||
|
face_data = []
|
||||||
|
valid_dets = []
|
||||||
|
valid_landms = []
|
||||||
|
|
||||||
for data, landmark in zip(dets, landms):
|
for data, landmark in zip(dets, landms):
|
||||||
if data[4] < 0.6:
|
if data[4] < 0.6:
|
||||||
continue
|
continue
|
||||||
|
|
@ -100,20 +119,59 @@ class CamPublisher(ThreadedNode):
|
||||||
"y": float(offset[1])
|
"y": float(offset[1])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
valid_dets.append(data)
|
||||||
|
valid_landms.append(landmark)
|
||||||
|
|
||||||
|
|
||||||
|
for data, landmark in zip(valid_dets, valid_landms):
|
||||||
|
x1, y1, x2, y2 = map(int, data[:4])
|
||||||
|
conf = data[4]
|
||||||
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 0, 255), 2)
|
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 0, 255), 2)
|
||||||
cv2.putText(frame, f'{conf:.4f}', (x1, y1 + 12), cv2.FONT_HERSHEY_DUPLEX, 0.5, (255, 255, 255))
|
cv2.putText(frame, f'{conf:.4f}', (x1, y1 + 12), cv2.FONT_HERSHEY_DUPLEX, 0.5, (255, 255, 255))
|
||||||
for j in range(5):
|
for j in range(5):
|
||||||
lx, ly = map(int, landmark[j*2:j*2+2])
|
lx, ly = map(int, landmark[j*2:j*2+2])
|
||||||
cv2.circle(frame, (lx, ly), 1, (0, 255, 255), 2)
|
cv2.circle(frame, (lx, ly), 1, (0, 255, 255), 2)
|
||||||
|
|
||||||
cv2.putText(frame, f'FPS: {fps:.2f}', (10, 30),
|
# cv2.putText(frame, f'FPS: {fps:.2f}', (10, 30),
|
||||||
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
|
# cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
|
||||||
if len(face_data) > 0:
|
if len(face_data) > 0:
|
||||||
print(face_data)
|
print(face_data)
|
||||||
|
self.face_detect_pub.publish(String(data=str(face_data)))
|
||||||
|
|
||||||
|
# CROP FACES AND PUBLISH STITCHED IMAGE
|
||||||
|
face_crops = []
|
||||||
|
for data in dets:
|
||||||
|
if data[4] < 0.6:
|
||||||
|
continue
|
||||||
|
x1, y1, x2, y2 = map(int, data[:4])
|
||||||
|
face_crop = raw_frame[y1:y2, x1:x2]
|
||||||
|
face_crops.append(face_crop)
|
||||||
|
target_height = 100
|
||||||
|
resized_faces = [
|
||||||
|
cv2.resize(face, (int(face.shape[1] * target_height / face.shape[0]), target_height))
|
||||||
|
for face in face_crops
|
||||||
|
]
|
||||||
|
if resized_faces:
|
||||||
|
stitched = cv2.hconcat(resized_faces)
|
||||||
|
ret, stitched_buffer = cv2.imencode('.jpg', stitched)
|
||||||
|
if ret:
|
||||||
|
msg = CompressedImage()
|
||||||
|
msg.header.stamp = self.get_clock().now().to_msg()
|
||||||
|
msg.format = 'jpeg'
|
||||||
|
msg.data = stitched_buffer.tobytes()
|
||||||
|
self.face_image_pub.publish(msg)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ret, buffer = cv2.imencode('.jpg', frame)
|
ret, buffer = cv2.imencode('.jpg', frame)
|
||||||
if ret:
|
if ret:
|
||||||
latest_frame = buffer.tobytes()
|
latest_frame = buffer.tobytes()
|
||||||
latest_faces = face_data
|
latest_faces = face_data
|
||||||
|
msg = CompressedImage()
|
||||||
|
msg.header.stamp = self.get_clock().now().to_msg()
|
||||||
|
msg.format = 'jpeg'
|
||||||
|
msg.data = buffer.tobytes()
|
||||||
|
self.face_detect_frame_pub.publish(msg)
|
||||||
|
|
||||||
def destroy_node(self):
|
def destroy_node(self):
|
||||||
if self.cap:
|
if self.cap:
|
||||||
|
|
@ -194,7 +252,7 @@ def nms(dets, thresh):
|
||||||
|
|
||||||
# --- RKNN Initialization ---
|
# --- RKNN Initialization ---
|
||||||
rknn = RKNNLite()
|
rknn = RKNNLite()
|
||||||
rknn.load_rknn('./RetinaFace.rknn')
|
rknn.load_rknn(model_path)
|
||||||
rknn.init_runtime()
|
rknn.init_runtime()
|
||||||
|
|
||||||
# --- Shared State ---
|
# --- Shared State ---
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
# EASY-INSTALL-ENTRY-SCRIPT: 'voice-to-text-node==0.1.0','console_scripts','voice_to_text_node'
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# for compatibility with easy_install; see #2198
|
||||||
|
__requires__ = 'voice-to-text-node==0.1.0'
|
||||||
|
|
||||||
|
try:
|
||||||
|
from importlib.metadata import distribution
|
||||||
|
except ImportError:
|
||||||
|
try:
|
||||||
|
from importlib_metadata import distribution
|
||||||
|
except ImportError:
|
||||||
|
from pkg_resources import load_entry_point
|
||||||
|
|
||||||
|
|
||||||
|
def importlib_load_entry_point(spec, group, name):
|
||||||
|
dist_name, _, _ = spec.partition('==')
|
||||||
|
matches = (
|
||||||
|
entry_point
|
||||||
|
for entry_point in distribution(dist_name).entry_points
|
||||||
|
if entry_point.group == group and entry_point.name == name
|
||||||
|
)
|
||||||
|
return next(matches).load()
|
||||||
|
|
||||||
|
|
||||||
|
globals().setdefault('load_entry_point', importlib_load_entry_point)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||||
|
sys.exit(load_entry_point('voice-to-text-node==0.1.0', 'console_scripts', 'voice_to_text_node')())
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
Metadata-Version: 2.1
|
||||||
|
Name: voice-to-text-node
|
||||||
|
Version: 0.1.0
|
||||||
|
Summary: Manages voice to text for Little Sophia
|
||||||
|
Maintainer: jake
|
||||||
|
Maintainer-email: jake@example.com
|
||||||
|
License: MIT
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package.xml
|
||||||
|
setup.py
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/PKG-INFO
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/dependency_links.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/entry_points.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/requires.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/top_level.txt
|
||||||
|
../../build/voice_to_text_node/voice_to_text_node.egg-info/zip-safe
|
||||||
|
./voice_to_text_node/__init__.py
|
||||||
|
./voice_to_text_node/threaded_node.py
|
||||||
|
./voice_to_text_node/voice_to_text_node.py
|
||||||
|
resource/voice_to_text_node
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/README
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/am/final.mdl
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/conf/mfcc.conf
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/conf/model.conf
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/Gr.fst
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/HCLr.fst
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/disambig_tid.int
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/graph/phones/word_boundary.int
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/final.dubm
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/final.ie
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/final.mat
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/global_cmvn.stats
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/online_cmvn.conf
|
||||||
|
resource/model/vosk-model-small-en-us-0.15/ivector/splice.conf
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
[console_scripts]
|
||||||
|
voice_to_text_node = voice_to_text_node.voice_to_text_node:main
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
setuptools
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
voice_to_text_node
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,115 @@
|
||||||
|
# threaded_node.py
|
||||||
|
import rclpy
|
||||||
|
from rclpy.node import Node
|
||||||
|
from rclpy.parameter import Parameter
|
||||||
|
from rcl_interfaces.msg import SetParametersResult, ParameterEvent
|
||||||
|
from std_msgs.msg import Bool, Float32
|
||||||
|
|
||||||
|
import time
|
||||||
|
import threading
|
||||||
|
import queue
|
||||||
|
from collections import deque
|
||||||
|
|
||||||
|
class ThreadedNode(Node):
|
||||||
|
def __init__(self, name: str, default_rate: float = 1.0):
|
||||||
|
super().__init__(name)
|
||||||
|
|
||||||
|
# Declare and initialize publish_rate
|
||||||
|
self.declare_parameter('publish_rate', default_rate)
|
||||||
|
self.publish_rate = self.get_parameter('publish_rate').get_parameter_value().double_value
|
||||||
|
|
||||||
|
# Heartbeat publisher
|
||||||
|
self.heartbeat_pub = self.create_publisher(Bool, f'{name}/heartbeat', 1)
|
||||||
|
self.heartbeat_timer = self.create_timer(1.0, self.send_heartbeat)
|
||||||
|
|
||||||
|
# Actual FPS publisher
|
||||||
|
self.fps_pub = self.create_publisher(Float32, f'{name}/fps', 1)
|
||||||
|
buffer_size = max(5, int(self.publish_rate * 5)) # 5 seconds worth of ticks
|
||||||
|
self._tick_times = deque(maxlen=buffer_size)
|
||||||
|
|
||||||
|
# Work timer
|
||||||
|
self.timer = self.create_timer(1.0 / self.publish_rate, self.timer_callback)
|
||||||
|
|
||||||
|
# Parameter update hooks
|
||||||
|
self.add_on_set_parameters_callback(self.param_callback)
|
||||||
|
self.create_subscription(ParameterEvent, '/parameter_events', self.parameter_event_listener, 10)
|
||||||
|
|
||||||
|
self.setup_parameters()
|
||||||
|
self.setup_topics()
|
||||||
|
|
||||||
|
# Worker thread setup
|
||||||
|
self.task_queue = queue.Queue()
|
||||||
|
self.worker_thread = threading.Thread(target=self.worker_loop, daemon=True)
|
||||||
|
self.worker_thread.start()
|
||||||
|
|
||||||
|
def setup_parameters(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def setup_topics(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def send_heartbeat(self):
|
||||||
|
self.heartbeat_pub.publish(Bool(data=True))
|
||||||
|
|
||||||
|
def timer_callback(self):
|
||||||
|
if self.task_queue.empty():
|
||||||
|
self.task_queue.put_nowait('tick')
|
||||||
|
|
||||||
|
|
||||||
|
def worker_loop(self):
|
||||||
|
while rclpy.ok():
|
||||||
|
try:
|
||||||
|
task = self.task_queue.get(timeout=1.0)
|
||||||
|
if task == 'tick':
|
||||||
|
now = time.time()
|
||||||
|
self._tick_times.append(now)
|
||||||
|
|
||||||
|
# Call the subclass's tick logic
|
||||||
|
try:
|
||||||
|
self.on_tick()
|
||||||
|
except Exception as e:
|
||||||
|
self.get_logger().error(f'on_tick failed: {e}')
|
||||||
|
|
||||||
|
# Compute smoothed FPS
|
||||||
|
if len(self._tick_times) >= 2:
|
||||||
|
intervals = [t2 - t1 for t1, t2 in zip(self._tick_times, list(self._tick_times)[1:])]
|
||||||
|
avg_interval = sum(intervals) / len(intervals)
|
||||||
|
smoothed_fps = 1.0 / avg_interval if avg_interval > 0 else 0.0
|
||||||
|
else:
|
||||||
|
smoothed_fps = 0.0
|
||||||
|
|
||||||
|
fps_msg = Float32()
|
||||||
|
fps_msg.data = smoothed_fps
|
||||||
|
self.fps_pub.publish(fps_msg)
|
||||||
|
|
||||||
|
|
||||||
|
except queue.Empty:
|
||||||
|
continue
|
||||||
|
|
||||||
|
def on_tick(self):
|
||||||
|
# Override this in your subclass
|
||||||
|
pass
|
||||||
|
|
||||||
|
def update_publish_rate(self, new_rate):
|
||||||
|
self.get_logger().info(f'Updating publish rate to {new_rate} Hz')
|
||||||
|
self.timer.cancel()
|
||||||
|
self.timer = self.create_timer(1.0 / new_rate, self.timer_callback)
|
||||||
|
self.publish_rate = new_rate
|
||||||
|
self.set_parameters([Parameter('publish_rate', Parameter.Type.DOUBLE, new_rate)])
|
||||||
|
buffer_size = max(5, int(self.publish_rate * 5)) # 5 seconds worth of ticks
|
||||||
|
self._tick_times = deque(maxlen=buffer_size)
|
||||||
|
|
||||||
|
def param_callback(self, params):
|
||||||
|
for param in params:
|
||||||
|
if param.name == 'publish_rate' and param.type_ == Parameter.Type.DOUBLE:
|
||||||
|
new_rate = param.value
|
||||||
|
if new_rate > 0.0 and abs(new_rate - self.publish_rate) > 1e-6:
|
||||||
|
self.update_publish_rate(new_rate)
|
||||||
|
return SetParametersResult(successful=True)
|
||||||
|
|
||||||
|
def parameter_event_listener(self, event: ParameterEvent):
|
||||||
|
for changed in event.changed_parameters:
|
||||||
|
if changed.name == 'publish_rate':
|
||||||
|
new_rate = changed.value.double_value
|
||||||
|
if new_rate > 0.0 and abs(new_rate - self.publish_rate) > 1e-6:
|
||||||
|
self.update_publish_rate(new_rate)
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
from ament_index_python.packages import get_package_share_directory
|
||||||
|
import os
|
||||||
|
|
||||||
|
import time
|
||||||
|
from voice_to_text_node.threaded_node import ThreadedNode
|
||||||
|
|
||||||
|
from std_msgs.msg import String
|
||||||
|
import rclpy
|
||||||
|
|
||||||
|
from ament_index_python.packages import get_package_share_directory
|
||||||
|
import threading
|
||||||
|
|
||||||
|
|
||||||
|
import sounddevice as sd
|
||||||
|
import queue
|
||||||
|
from vosk import Model, KaldiRecognizer
|
||||||
|
|
||||||
|
package_name = 'voice_to_text_node'
|
||||||
|
model_path = os.path.join(
|
||||||
|
get_package_share_directory('voice_to_text_node'),
|
||||||
|
'resource', 'model', 'vosk-model-small-en-us-0.15'
|
||||||
|
)
|
||||||
|
print("MODEL PATH: " + model_path)
|
||||||
|
latest_partial = {"partial": ""}
|
||||||
|
latest_result = {"text": ""}
|
||||||
|
|
||||||
|
|
||||||
|
class VoicePublisher(ThreadedNode):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__(package_name, default_rate=5.0)
|
||||||
|
self.string_pub = self.create_publisher(String, package_name + '/test_topic', 10)
|
||||||
|
|
||||||
|
self.latest_partial = {"partial": ""}
|
||||||
|
self.latest_result = {"text": ""}
|
||||||
|
|
||||||
|
self.speech_thread = threading.Thread(target=self.speech_loop, daemon=True)
|
||||||
|
self.speech_thread.start()
|
||||||
|
|
||||||
|
def on_tick(self):
|
||||||
|
msg = String()
|
||||||
|
msg.data = self.latest_partial.get("partial", "") or self.latest_result.get("text", "")
|
||||||
|
self.string_pub.publish(msg)
|
||||||
|
self.get_logger().info(f'Published: {msg.data}')
|
||||||
|
|
||||||
|
def speech_loop(self):
|
||||||
|
model = Model(model_path)
|
||||||
|
rec = KaldiRecognizer(model, 16000)
|
||||||
|
q = queue.Queue()
|
||||||
|
|
||||||
|
def callback(indata, frames, time, status):
|
||||||
|
if status:
|
||||||
|
print(status)
|
||||||
|
q.put(bytes(indata))
|
||||||
|
|
||||||
|
with sd.RawInputStream(samplerate=16000, blocksize=8000, dtype='int16',
|
||||||
|
channels=1, callback=callback):
|
||||||
|
while True:
|
||||||
|
data = q.get()
|
||||||
|
if rec.AcceptWaveform(data):
|
||||||
|
result = json.loads(rec.Result())
|
||||||
|
self.latest_result = result
|
||||||
|
print(".", result)
|
||||||
|
else:
|
||||||
|
partial = json.loads(rec.PartialResult())
|
||||||
|
self.latest_partial = partial
|
||||||
|
print("...", partial.get("partial", ""), end='\r')
|
||||||
|
|
||||||
|
def destroy_node(self):
|
||||||
|
super().destroy_node()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
rclpy.init()
|
||||||
|
node = VoicePublisher()
|
||||||
|
rclpy.spin(node)
|
||||||
|
node.destroy_node()
|
||||||
|
rclpy.shutdown()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
ament_python:rclpy:std_msgs
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
prepend-non-duplicate;AMENT_PREFIX_PATH;
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
||||||
|
|
||||||
|
colcon_prepend_unique_value AMENT_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX"
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
||||||
|
|
||||||
|
_colcon_prepend_unique_value AMENT_PREFIX_PATH "$COLCON_CURRENT_PREFIX"
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
prepend-non-duplicate;PATH;bin
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
||||||
|
|
||||||
|
colcon_prepend_unique_value PATH "$env:COLCON_CURRENT_PREFIX\bin"
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
||||||
|
|
||||||
|
_colcon_prepend_unique_value PATH "$COLCON_CURRENT_PREFIX/bin"
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
prepend-non-duplicate;PYTHONPATH;lib/python3.12/site-packages
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
||||||
|
|
||||||
|
colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\lib/python3.12/site-packages"
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
||||||
|
|
||||||
|
_colcon_prepend_unique_value PYTHONPATH "$COLCON_CURRENT_PREFIX/lib/python3.12/site-packages"
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
prepend-non-duplicate;PATH;bin
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
||||||
|
|
||||||
|
colcon_prepend_unique_value PATH "$env:COLCON_CURRENT_PREFIX\bin"
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
||||||
|
|
||||||
|
_colcon_prepend_unique_value PATH "$COLCON_CURRENT_PREFIX/bin"
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
# generated from colcon_bash/shell/template/package.bash.em
|
||||||
|
|
||||||
|
# This script extends the environment for this package.
|
||||||
|
|
||||||
|
# a bash script is able to determine its own path if necessary
|
||||||
|
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
||||||
|
# the prefix is two levels up from the package specific share directory
|
||||||
|
_colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)"
|
||||||
|
else
|
||||||
|
_colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# function to source another script with conditional trace output
|
||||||
|
# first argument: the path of the script
|
||||||
|
# additional arguments: arguments to the script
|
||||||
|
_colcon_package_bash_source_script() {
|
||||||
|
if [ -f "$1" ]; then
|
||||||
|
if [ -n "$COLCON_TRACE" ]; then
|
||||||
|
echo "# . \"$1\""
|
||||||
|
fi
|
||||||
|
. "$@"
|
||||||
|
else
|
||||||
|
echo "not found: \"$1\"" 1>&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# source sh script of this package
|
||||||
|
_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/voice_to_text_node/package.sh"
|
||||||
|
|
||||||
|
unset _colcon_package_bash_source_script
|
||||||
|
unset _colcon_package_bash_COLCON_CURRENT_PREFIX
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
source;share/voice_to_text_node/hook/path.ps1
|
||||||
|
source;share/voice_to_text_node/hook/path.dsv
|
||||||
|
source;share/voice_to_text_node/hook/path.sh
|
||||||
|
source;share/voice_to_text_node/hook/pythonpath.ps1
|
||||||
|
source;share/voice_to_text_node/hook/pythonpath.dsv
|
||||||
|
source;share/voice_to_text_node/hook/pythonpath.sh
|
||||||
|
source;share/voice_to_text_node/hook/pythonscriptspath.ps1
|
||||||
|
source;share/voice_to_text_node/hook/pythonscriptspath.dsv
|
||||||
|
source;share/voice_to_text_node/hook/pythonscriptspath.sh
|
||||||
|
source;share/voice_to_text_node/hook/ament_prefix_path.ps1
|
||||||
|
source;share/voice_to_text_node/hook/ament_prefix_path.dsv
|
||||||
|
source;share/voice_to_text_node/hook/ament_prefix_path.sh
|
||||||
|
|
@ -0,0 +1,118 @@
|
||||||
|
# generated from colcon_powershell/shell/template/package.ps1.em
|
||||||
|
|
||||||
|
# function to append a value to a variable
|
||||||
|
# which uses colons as separators
|
||||||
|
# duplicates as well as leading separators are avoided
|
||||||
|
# first argument: the name of the result variable
|
||||||
|
# second argument: the value to be prepended
|
||||||
|
function colcon_append_unique_value {
|
||||||
|
param (
|
||||||
|
$_listname,
|
||||||
|
$_value
|
||||||
|
)
|
||||||
|
|
||||||
|
# get values from variable
|
||||||
|
if (Test-Path Env:$_listname) {
|
||||||
|
$_values=(Get-Item env:$_listname).Value
|
||||||
|
} else {
|
||||||
|
$_values=""
|
||||||
|
}
|
||||||
|
$_duplicate=""
|
||||||
|
# start with no values
|
||||||
|
$_all_values=""
|
||||||
|
# iterate over existing values in the variable
|
||||||
|
if ($_values) {
|
||||||
|
$_values.Split(";") | ForEach {
|
||||||
|
# not an empty string
|
||||||
|
if ($_) {
|
||||||
|
# not a duplicate of _value
|
||||||
|
if ($_ -eq $_value) {
|
||||||
|
$_duplicate="1"
|
||||||
|
}
|
||||||
|
if ($_all_values) {
|
||||||
|
$_all_values="${_all_values};$_"
|
||||||
|
} else {
|
||||||
|
$_all_values="$_"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# append only non-duplicates
|
||||||
|
if (!$_duplicate) {
|
||||||
|
# avoid leading separator
|
||||||
|
if ($_all_values) {
|
||||||
|
$_all_values="${_all_values};${_value}"
|
||||||
|
} else {
|
||||||
|
$_all_values="${_value}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# export the updated variable
|
||||||
|
Set-Item env:\$_listname -Value "$_all_values"
|
||||||
|
}
|
||||||
|
|
||||||
|
# function to prepend a value to a variable
|
||||||
|
# which uses colons as separators
|
||||||
|
# duplicates as well as trailing separators are avoided
|
||||||
|
# first argument: the name of the result variable
|
||||||
|
# second argument: the value to be prepended
|
||||||
|
function colcon_prepend_unique_value {
|
||||||
|
param (
|
||||||
|
$_listname,
|
||||||
|
$_value
|
||||||
|
)
|
||||||
|
|
||||||
|
# get values from variable
|
||||||
|
if (Test-Path Env:$_listname) {
|
||||||
|
$_values=(Get-Item env:$_listname).Value
|
||||||
|
} else {
|
||||||
|
$_values=""
|
||||||
|
}
|
||||||
|
# start with the new value
|
||||||
|
$_all_values="$_value"
|
||||||
|
# iterate over existing values in the variable
|
||||||
|
if ($_values) {
|
||||||
|
$_values.Split(";") | ForEach {
|
||||||
|
# not an empty string
|
||||||
|
if ($_) {
|
||||||
|
# not a duplicate of _value
|
||||||
|
if ($_ -ne $_value) {
|
||||||
|
# keep non-duplicate values
|
||||||
|
$_all_values="${_all_values};$_"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# export the updated variable
|
||||||
|
Set-Item env:\$_listname -Value "$_all_values"
|
||||||
|
}
|
||||||
|
|
||||||
|
# function to source another script with conditional trace output
|
||||||
|
# first argument: the path of the script
|
||||||
|
# additional arguments: arguments to the script
|
||||||
|
function colcon_package_source_powershell_script {
|
||||||
|
param (
|
||||||
|
$_colcon_package_source_powershell_script
|
||||||
|
)
|
||||||
|
# source script with conditional trace output
|
||||||
|
if (Test-Path $_colcon_package_source_powershell_script) {
|
||||||
|
if ($env:COLCON_TRACE) {
|
||||||
|
echo ". '$_colcon_package_source_powershell_script'"
|
||||||
|
}
|
||||||
|
. "$_colcon_package_source_powershell_script"
|
||||||
|
} else {
|
||||||
|
Write-Error "not found: '$_colcon_package_source_powershell_script'"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# a powershell script is able to determine its own path
|
||||||
|
# the prefix is two levels up from the package specific share directory
|
||||||
|
$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName
|
||||||
|
|
||||||
|
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/voice_to_text_node/hook/path.ps1"
|
||||||
|
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/voice_to_text_node/hook/pythonpath.ps1"
|
||||||
|
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/voice_to_text_node/hook/pythonscriptspath.ps1"
|
||||||
|
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/voice_to_text_node/hook/ament_prefix_path.ps1"
|
||||||
|
|
||||||
|
Remove-Item Env:\COLCON_CURRENT_PREFIX
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
# generated from colcon_core/shell/template/package.sh.em
|
||||||
|
|
||||||
|
# This script extends the environment for this package.
|
||||||
|
|
||||||
|
# function to prepend a value to a variable
|
||||||
|
# which uses colons as separators
|
||||||
|
# duplicates as well as trailing separators are avoided
|
||||||
|
# first argument: the name of the result variable
|
||||||
|
# second argument: the value to be prepended
|
||||||
|
_colcon_prepend_unique_value() {
|
||||||
|
# arguments
|
||||||
|
_listname="$1"
|
||||||
|
_value="$2"
|
||||||
|
|
||||||
|
# get values from variable
|
||||||
|
eval _values=\"\$$_listname\"
|
||||||
|
# backup the field separator
|
||||||
|
_colcon_prepend_unique_value_IFS=$IFS
|
||||||
|
IFS=":"
|
||||||
|
# start with the new value
|
||||||
|
_all_values="$_value"
|
||||||
|
# workaround SH_WORD_SPLIT not being set in zsh
|
||||||
|
if [ "$(command -v colcon_zsh_convert_to_array)" ]; then
|
||||||
|
colcon_zsh_convert_to_array _values
|
||||||
|
fi
|
||||||
|
# iterate over existing values in the variable
|
||||||
|
for _item in $_values; do
|
||||||
|
# ignore empty strings
|
||||||
|
if [ -z "$_item" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# ignore duplicates of _value
|
||||||
|
if [ "$_item" = "$_value" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# keep non-duplicate values
|
||||||
|
_all_values="$_all_values:$_item"
|
||||||
|
done
|
||||||
|
unset _item
|
||||||
|
# restore the field separator
|
||||||
|
IFS=$_colcon_prepend_unique_value_IFS
|
||||||
|
unset _colcon_prepend_unique_value_IFS
|
||||||
|
# export the updated variable
|
||||||
|
eval export $_listname=\"$_all_values\"
|
||||||
|
unset _all_values
|
||||||
|
unset _values
|
||||||
|
|
||||||
|
unset _value
|
||||||
|
unset _listname
|
||||||
|
}
|
||||||
|
|
||||||
|
# since a plain shell script can't determine its own path when being sourced
|
||||||
|
# either use the provided COLCON_CURRENT_PREFIX
|
||||||
|
# or fall back to the build time prefix (if it exists)
|
||||||
|
_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/jake/ros2_ws/install/voice_to_text_node"
|
||||||
|
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
||||||
|
if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then
|
||||||
|
echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
|
||||||
|
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX"
|
||||||
|
fi
|
||||||
|
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
||||||
|
|
||||||
|
# function to source another script with conditional trace output
|
||||||
|
# first argument: the path of the script
|
||||||
|
# additional arguments: arguments to the script
|
||||||
|
_colcon_package_sh_source_script() {
|
||||||
|
if [ -f "$1" ]; then
|
||||||
|
if [ -n "$COLCON_TRACE" ]; then
|
||||||
|
echo "# . \"$1\""
|
||||||
|
fi
|
||||||
|
. "$@"
|
||||||
|
else
|
||||||
|
echo "not found: \"$1\"" 1>&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# source sh hooks
|
||||||
|
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/voice_to_text_node/hook/path.sh"
|
||||||
|
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/voice_to_text_node/hook/pythonpath.sh"
|
||||||
|
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/voice_to_text_node/hook/pythonscriptspath.sh"
|
||||||
|
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/voice_to_text_node/hook/ament_prefix_path.sh"
|
||||||
|
|
||||||
|
unset _colcon_package_sh_source_script
|
||||||
|
unset COLCON_CURRENT_PREFIX
|
||||||
|
|
||||||
|
# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<package format="3">
|
||||||
|
<name>voice_to_text_node</name>
|
||||||
|
<version>0.1.0</version>
|
||||||
|
<description>Manages voice to text for Little Sophia</description>
|
||||||
|
<maintainer email="jake@example.com">Jake</maintainer>
|
||||||
|
<license>MIT</license>
|
||||||
|
|
||||||
|
<buildtool_depend>ament_python</buildtool_depend>
|
||||||
|
<exec_depend>ament_python</exec_depend>
|
||||||
|
|
||||||
|
<exec_depend>rclpy</exec_depend>
|
||||||
|
<exec_depend>std_msgs</exec_depend>
|
||||||
|
|
||||||
|
<test_depend>ament_lint_auto</test_depend>
|
||||||
|
<test_depend>ament_lint_common</test_depend>
|
||||||
|
|
||||||
|
<export>
|
||||||
|
<build_type>ament_python</build_type>
|
||||||
|
</export>
|
||||||
|
</package>
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
# generated from colcon_zsh/shell/template/package.zsh.em
|
||||||
|
|
||||||
|
# This script extends the environment for this package.
|
||||||
|
|
||||||
|
# a zsh script is able to determine its own path if necessary
|
||||||
|
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
||||||
|
# the prefix is two levels up from the package specific share directory
|
||||||
|
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)"
|
||||||
|
else
|
||||||
|
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# function to source another script with conditional trace output
|
||||||
|
# first argument: the path of the script
|
||||||
|
# additional arguments: arguments to the script
|
||||||
|
_colcon_package_zsh_source_script() {
|
||||||
|
if [ -f "$1" ]; then
|
||||||
|
if [ -n "$COLCON_TRACE" ]; then
|
||||||
|
echo "# . \"$1\""
|
||||||
|
fi
|
||||||
|
. "$@"
|
||||||
|
else
|
||||||
|
echo "not found: \"$1\"" 1>&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# function to convert array-like strings into arrays
|
||||||
|
# to workaround SH_WORD_SPLIT not being set
|
||||||
|
colcon_zsh_convert_to_array() {
|
||||||
|
local _listname=$1
|
||||||
|
local _dollar="$"
|
||||||
|
local _split="{="
|
||||||
|
local _to_array="(\"$_dollar$_split$_listname}\")"
|
||||||
|
eval $_listname=$_to_array
|
||||||
|
}
|
||||||
|
|
||||||
|
# source sh script of this package
|
||||||
|
_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/voice_to_text_node/package.sh"
|
||||||
|
unset convert_zsh_to_array
|
||||||
|
|
||||||
|
unset _colcon_package_zsh_source_script
|
||||||
|
unset _colcon_package_zsh_COLCON_CURRENT_PREFIX
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
US English model for mobile Vosk applications
|
||||||
|
|
||||||
|
Copyright 2020 Alpha Cephei Inc
|
||||||
|
|
||||||
|
Accuracy: 10.38 (tedlium test) 9.85 (librispeech test-clean)
|
||||||
|
Speed: 0.11xRT (desktop)
|
||||||
|
Latency: 0.15s (right context)
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,7 @@
|
||||||
|
--sample-frequency=16000
|
||||||
|
--use-energy=false
|
||||||
|
--num-mel-bins=40
|
||||||
|
--num-ceps=40
|
||||||
|
--low-freq=20
|
||||||
|
--high-freq=7600
|
||||||
|
--allow-downsample=true
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
--min-active=200
|
||||||
|
--max-active=3000
|
||||||
|
--beam=10.0
|
||||||
|
--lattice-beam=2.0
|
||||||
|
--acoustic-scale=1.0
|
||||||
|
--frame-subsampling-factor=3
|
||||||
|
--endpoint.silence-phones=1:2:3:4:5:6:7:8:9:10
|
||||||
|
--endpoint.rule2.min-trailing-silence=0.5
|
||||||
|
--endpoint.rule3.min-trailing-silence=0.75
|
||||||
|
--endpoint.rule4.min-trailing-silence=1.0
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,17 @@
|
||||||
|
10015
|
||||||
|
10016
|
||||||
|
10017
|
||||||
|
10018
|
||||||
|
10019
|
||||||
|
10020
|
||||||
|
10021
|
||||||
|
10022
|
||||||
|
10023
|
||||||
|
10024
|
||||||
|
10025
|
||||||
|
10026
|
||||||
|
10027
|
||||||
|
10028
|
||||||
|
10029
|
||||||
|
10030
|
||||||
|
10031
|
||||||
|
|
@ -0,0 +1,166 @@
|
||||||
|
1 nonword
|
||||||
|
2 begin
|
||||||
|
3 end
|
||||||
|
4 internal
|
||||||
|
5 singleton
|
||||||
|
6 nonword
|
||||||
|
7 begin
|
||||||
|
8 end
|
||||||
|
9 internal
|
||||||
|
10 singleton
|
||||||
|
11 begin
|
||||||
|
12 end
|
||||||
|
13 internal
|
||||||
|
14 singleton
|
||||||
|
15 begin
|
||||||
|
16 end
|
||||||
|
17 internal
|
||||||
|
18 singleton
|
||||||
|
19 begin
|
||||||
|
20 end
|
||||||
|
21 internal
|
||||||
|
22 singleton
|
||||||
|
23 begin
|
||||||
|
24 end
|
||||||
|
25 internal
|
||||||
|
26 singleton
|
||||||
|
27 begin
|
||||||
|
28 end
|
||||||
|
29 internal
|
||||||
|
30 singleton
|
||||||
|
31 begin
|
||||||
|
32 end
|
||||||
|
33 internal
|
||||||
|
34 singleton
|
||||||
|
35 begin
|
||||||
|
36 end
|
||||||
|
37 internal
|
||||||
|
38 singleton
|
||||||
|
39 begin
|
||||||
|
40 end
|
||||||
|
41 internal
|
||||||
|
42 singleton
|
||||||
|
43 begin
|
||||||
|
44 end
|
||||||
|
45 internal
|
||||||
|
46 singleton
|
||||||
|
47 begin
|
||||||
|
48 end
|
||||||
|
49 internal
|
||||||
|
50 singleton
|
||||||
|
51 begin
|
||||||
|
52 end
|
||||||
|
53 internal
|
||||||
|
54 singleton
|
||||||
|
55 begin
|
||||||
|
56 end
|
||||||
|
57 internal
|
||||||
|
58 singleton
|
||||||
|
59 begin
|
||||||
|
60 end
|
||||||
|
61 internal
|
||||||
|
62 singleton
|
||||||
|
63 begin
|
||||||
|
64 end
|
||||||
|
65 internal
|
||||||
|
66 singleton
|
||||||
|
67 begin
|
||||||
|
68 end
|
||||||
|
69 internal
|
||||||
|
70 singleton
|
||||||
|
71 begin
|
||||||
|
72 end
|
||||||
|
73 internal
|
||||||
|
74 singleton
|
||||||
|
75 begin
|
||||||
|
76 end
|
||||||
|
77 internal
|
||||||
|
78 singleton
|
||||||
|
79 begin
|
||||||
|
80 end
|
||||||
|
81 internal
|
||||||
|
82 singleton
|
||||||
|
83 begin
|
||||||
|
84 end
|
||||||
|
85 internal
|
||||||
|
86 singleton
|
||||||
|
87 begin
|
||||||
|
88 end
|
||||||
|
89 internal
|
||||||
|
90 singleton
|
||||||
|
91 begin
|
||||||
|
92 end
|
||||||
|
93 internal
|
||||||
|
94 singleton
|
||||||
|
95 begin
|
||||||
|
96 end
|
||||||
|
97 internal
|
||||||
|
98 singleton
|
||||||
|
99 begin
|
||||||
|
100 end
|
||||||
|
101 internal
|
||||||
|
102 singleton
|
||||||
|
103 begin
|
||||||
|
104 end
|
||||||
|
105 internal
|
||||||
|
106 singleton
|
||||||
|
107 begin
|
||||||
|
108 end
|
||||||
|
109 internal
|
||||||
|
110 singleton
|
||||||
|
111 begin
|
||||||
|
112 end
|
||||||
|
113 internal
|
||||||
|
114 singleton
|
||||||
|
115 begin
|
||||||
|
116 end
|
||||||
|
117 internal
|
||||||
|
118 singleton
|
||||||
|
119 begin
|
||||||
|
120 end
|
||||||
|
121 internal
|
||||||
|
122 singleton
|
||||||
|
123 begin
|
||||||
|
124 end
|
||||||
|
125 internal
|
||||||
|
126 singleton
|
||||||
|
127 begin
|
||||||
|
128 end
|
||||||
|
129 internal
|
||||||
|
130 singleton
|
||||||
|
131 begin
|
||||||
|
132 end
|
||||||
|
133 internal
|
||||||
|
134 singleton
|
||||||
|
135 begin
|
||||||
|
136 end
|
||||||
|
137 internal
|
||||||
|
138 singleton
|
||||||
|
139 begin
|
||||||
|
140 end
|
||||||
|
141 internal
|
||||||
|
142 singleton
|
||||||
|
143 begin
|
||||||
|
144 end
|
||||||
|
145 internal
|
||||||
|
146 singleton
|
||||||
|
147 begin
|
||||||
|
148 end
|
||||||
|
149 internal
|
||||||
|
150 singleton
|
||||||
|
151 begin
|
||||||
|
152 end
|
||||||
|
153 internal
|
||||||
|
154 singleton
|
||||||
|
155 begin
|
||||||
|
156 end
|
||||||
|
157 internal
|
||||||
|
158 singleton
|
||||||
|
159 begin
|
||||||
|
160 end
|
||||||
|
161 internal
|
||||||
|
162 singleton
|
||||||
|
163 begin
|
||||||
|
164 end
|
||||||
|
165 internal
|
||||||
|
166 singleton
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
||||||
|
[
|
||||||
|
1.682383e+11 -1.1595e+10 -1.521733e+10 4.32034e+09 -2.257938e+10 -1.969666e+10 -2.559265e+10 -1.535687e+10 -1.276854e+10 -4.494483e+09 -1.209085e+10 -5.64008e+09 -1.134847e+10 -3.419512e+09 -1.079542e+10 -4.145463e+09 -6.637486e+09 -1.11318e+09 -3.479773e+09 -1.245932e+08 -1.386961e+09 6.560655e+07 -2.436518e+08 -4.032432e+07 4.620046e+08 -7.714964e+07 9.551484e+08 -4.119761e+08 8.208582e+08 -7.117156e+08 7.457703e+08 -4.3106e+08 1.202726e+09 2.904036e+08 1.231931e+09 3.629848e+08 6.366939e+08 -4.586172e+08 -5.267629e+08 -3.507819e+08 1.679838e+09
|
||||||
|
1.741141e+13 8.92488e+11 8.743834e+11 8.848896e+11 1.190313e+12 1.160279e+12 1.300066e+12 1.005678e+12 9.39335e+11 8.089614e+11 7.927041e+11 6.882427e+11 6.444235e+11 5.151451e+11 4.825723e+11 3.210106e+11 2.720254e+11 1.772539e+11 1.248102e+11 6.691599e+10 3.599804e+10 1.207574e+10 1.679301e+09 4.594778e+08 5.821614e+09 1.451758e+10 2.55803e+10 3.43277e+10 4.245286e+10 4.784859e+10 4.988591e+10 4.925451e+10 5.074584e+10 4.9557e+10 4.407876e+10 3.421443e+10 3.138606e+10 2.539716e+10 1.948134e+10 1.381167e+10 0 ]
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# configuration file for apply-cmvn-online, used in the script ../local/run_online_decoding.sh
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
--left-context=3
|
||||||
|
--right-context=3
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Invoking command in '/home/jake/ros2_ws/src/camera_module': PYTHONPATH=/home/jake/ros2_ws/build/camera_module/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/camera_module build --build-base /home/jake/ros2_ws/build/camera_module/build install --record /home/jake/ros2_ws/build/camera_module/install.log --single-version-externally-managed install_data
|
|
||||||
Invoked command in '/home/jake/ros2_ws/src/camera_module' returned '0': PYTHONPATH=/home/jake/ros2_ws/build/camera_module/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/camera_module build --build-base /home/jake/ros2_ws/build/camera_module/build install --record /home/jake/ros2_ws/build/camera_module/install.log --single-version-externally-managed install_data
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
running egg_info
|
|
||||||
creating ../../build/camera_module/camera_module.egg-info
|
|
||||||
writing ../../build/camera_module/camera_module.egg-info/PKG-INFO
|
|
||||||
writing dependency_links to ../../build/camera_module/camera_module.egg-info/dependency_links.txt
|
|
||||||
writing entry points to ../../build/camera_module/camera_module.egg-info/entry_points.txt
|
|
||||||
writing requirements to ../../build/camera_module/camera_module.egg-info/requires.txt
|
|
||||||
writing top-level names to ../../build/camera_module/camera_module.egg-info/top_level.txt
|
|
||||||
writing manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
reading manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
writing manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
running build
|
|
||||||
running build_py
|
|
||||||
creating /home/jake/ros2_ws/build/camera_module/build
|
|
||||||
creating /home/jake/ros2_ws/build/camera_module/build/lib
|
|
||||||
creating /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
copying ./camera_module/__init__.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
copying ./camera_module/camera_module.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
copying ./camera_module/threaded_node.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
running install
|
|
||||||
running install_lib
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/__init__.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/camera_module.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/threaded_node.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/__init__.py to __init__.cpython-312.pyc
|
|
||||||
byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/camera_module.py to camera_module.cpython-312.pyc
|
|
||||||
byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/threaded_node.py to threaded_node.cpython-312.pyc
|
|
||||||
running install_data
|
|
||||||
copying package.xml -> /home/jake/ros2_ws/install/camera_module/share/camera_module
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/camera_module/resource
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/camera_module/resource/model
|
|
||||||
copying resource/model/RetinaFace.rknn -> /home/jake/ros2_ws/install/camera_module/share/camera_module/resource/model
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/ament_index
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index/packages
|
|
||||||
copying resource/camera_module -> /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index/packages
|
|
||||||
running install_egg_info
|
|
||||||
Copying ../../build/camera_module/camera_module.egg-info to /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module-0.1.0-py3.12.egg-info
|
|
||||||
running install_scripts
|
|
||||||
Installing camera_module script to /home/jake/ros2_ws/install/camera_module/bin
|
|
||||||
writing list of installed files to '/home/jake/ros2_ws/build/camera_module/install.log'
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
running egg_info
|
|
||||||
creating ../../build/camera_module/camera_module.egg-info
|
|
||||||
writing ../../build/camera_module/camera_module.egg-info/PKG-INFO
|
|
||||||
writing dependency_links to ../../build/camera_module/camera_module.egg-info/dependency_links.txt
|
|
||||||
writing entry points to ../../build/camera_module/camera_module.egg-info/entry_points.txt
|
|
||||||
writing requirements to ../../build/camera_module/camera_module.egg-info/requires.txt
|
|
||||||
writing top-level names to ../../build/camera_module/camera_module.egg-info/top_level.txt
|
|
||||||
writing manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
reading manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
writing manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
running build
|
|
||||||
running build_py
|
|
||||||
creating /home/jake/ros2_ws/build/camera_module/build
|
|
||||||
creating /home/jake/ros2_ws/build/camera_module/build/lib
|
|
||||||
creating /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
copying ./camera_module/__init__.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
copying ./camera_module/camera_module.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
copying ./camera_module/threaded_node.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
running install
|
|
||||||
running install_lib
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/__init__.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/camera_module.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/threaded_node.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/__init__.py to __init__.cpython-312.pyc
|
|
||||||
byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/camera_module.py to camera_module.cpython-312.pyc
|
|
||||||
byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/threaded_node.py to threaded_node.cpython-312.pyc
|
|
||||||
running install_data
|
|
||||||
copying package.xml -> /home/jake/ros2_ws/install/camera_module/share/camera_module
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/camera_module/resource
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/camera_module/resource/model
|
|
||||||
copying resource/model/RetinaFace.rknn -> /home/jake/ros2_ws/install/camera_module/share/camera_module/resource/model
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/ament_index
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index
|
|
||||||
creating /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index/packages
|
|
||||||
copying resource/camera_module -> /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index/packages
|
|
||||||
running install_egg_info
|
|
||||||
Copying ../../build/camera_module/camera_module.egg-info to /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module-0.1.0-py3.12.egg-info
|
|
||||||
running install_scripts
|
|
||||||
Installing camera_module script to /home/jake/ros2_ws/install/camera_module/bin
|
|
||||||
writing list of installed files to '/home/jake/ros2_ws/build/camera_module/install.log'
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
[0.774s] Invoking command in '/home/jake/ros2_ws/src/camera_module': PYTHONPATH=/home/jake/ros2_ws/build/camera_module/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/camera_module build --build-base /home/jake/ros2_ws/build/camera_module/build install --record /home/jake/ros2_ws/build/camera_module/install.log --single-version-externally-managed install_data
|
|
||||||
[1.009s] running egg_info
|
|
||||||
[1.009s] creating ../../build/camera_module/camera_module.egg-info
|
|
||||||
[1.028s] writing ../../build/camera_module/camera_module.egg-info/PKG-INFO
|
|
||||||
[1.029s] writing dependency_links to ../../build/camera_module/camera_module.egg-info/dependency_links.txt
|
|
||||||
[1.029s] writing entry points to ../../build/camera_module/camera_module.egg-info/entry_points.txt
|
|
||||||
[1.030s] writing requirements to ../../build/camera_module/camera_module.egg-info/requires.txt
|
|
||||||
[1.030s] writing top-level names to ../../build/camera_module/camera_module.egg-info/top_level.txt
|
|
||||||
[1.030s] writing manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
[1.066s] reading manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
[1.067s] writing manifest file '../../build/camera_module/camera_module.egg-info/SOURCES.txt'
|
|
||||||
[1.071s] running build
|
|
||||||
[1.071s] running build_py
|
|
||||||
[1.071s] creating /home/jake/ros2_ws/build/camera_module/build
|
|
||||||
[1.072s] creating /home/jake/ros2_ws/build/camera_module/build/lib
|
|
||||||
[1.072s] creating /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
[1.073s] copying ./camera_module/__init__.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
[1.073s] copying ./camera_module/camera_module.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
[1.073s] copying ./camera_module/threaded_node.py -> /home/jake/ros2_ws/build/camera_module/build/lib/camera_module
|
|
||||||
[1.074s] running install
|
|
||||||
[1.079s] running install_lib
|
|
||||||
[1.098s] creating /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
[1.099s] copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/__init__.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
[1.099s] copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/camera_module.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
[1.099s] copying /home/jake/ros2_ws/build/camera_module/build/lib/camera_module/threaded_node.py -> /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module
|
|
||||||
[1.100s] byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/__init__.py to __init__.cpython-312.pyc
|
|
||||||
[1.100s] byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/camera_module.py to camera_module.cpython-312.pyc
|
|
||||||
[1.103s] byte-compiling /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module/threaded_node.py to threaded_node.cpython-312.pyc
|
|
||||||
[1.104s] running install_data
|
|
||||||
[1.105s] copying package.xml -> /home/jake/ros2_ws/install/camera_module/share/camera_module
|
|
||||||
[1.105s] creating /home/jake/ros2_ws/install/camera_module/share/camera_module/resource
|
|
||||||
[1.105s] creating /home/jake/ros2_ws/install/camera_module/share/camera_module/resource/model
|
|
||||||
[1.106s] copying resource/model/RetinaFace.rknn -> /home/jake/ros2_ws/install/camera_module/share/camera_module/resource/model
|
|
||||||
[1.107s] creating /home/jake/ros2_ws/install/camera_module/share/ament_index
|
|
||||||
[1.108s] creating /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index
|
|
||||||
[1.108s] creating /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index/packages
|
|
||||||
[1.109s] copying resource/camera_module -> /home/jake/ros2_ws/install/camera_module/share/ament_index/resource_index/packages
|
|
||||||
[1.109s] running install_egg_info
|
|
||||||
[1.129s] Copying ../../build/camera_module/camera_module.egg-info to /home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages/camera_module-0.1.0-py3.12.egg-info
|
|
||||||
[1.131s] running install_scripts
|
|
||||||
[1.252s] Installing camera_module script to /home/jake/ros2_ws/install/camera_module/bin
|
|
||||||
[1.253s] writing list of installed files to '/home/jake/ros2_ws/build/camera_module/install.log'
|
|
||||||
[1.286s] Invoked command in '/home/jake/ros2_ws/src/camera_module' returned '0': PYTHONPATH=/home/jake/ros2_ws/build/camera_module/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/camera_module build --build-base /home/jake/ros2_ws/build/camera_module/build install --record /home/jake/ros2_ws/build/camera_module/install.log --single-version-externally-managed install_data
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,216 +0,0 @@
|
||||||
[0.119s] [34mcolcon[0m [1;30mDEBUG[0m [32mCommand line arguments: ['/usr/bin/colcon', 'build', '--packages-select', 'camera_module', '--event-handlers', 'console_direct+'][0m
|
|
||||||
[0.119s] [34mcolcon[0m [1;30mDEBUG[0m [32mParsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=24, event_handlers=['console_direct+'], ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=['camera_module'], packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, verb_parser=<colcon_defaults.argument_parser.defaults.DefaultArgumentsDecorator object at 0x7ea789fff050>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0x7ea789fa6510>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0x7ea789fa6510>>)[0m
|
|
||||||
[0.158s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(colcon_meta) check parameters
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) check parameters
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) check parameters
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) check parameters
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(colcon_meta) discover
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) discover
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_discovery[0m [1;30mINFO[0m Crawling recursively for packages in '/home/jake/ros2_ws'
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'ignore'
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'ignore_ament_install'
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['colcon_pkg']
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'colcon_pkg'
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['colcon_meta']
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'colcon_meta'
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['ros']
|
|
||||||
[0.159s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'ros'
|
|
||||||
[0.181s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['cmake', 'python']
|
|
||||||
[0.181s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'cmake'
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'python'
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['python_setup_py']
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'python_setup_py'
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(build) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(build) by extension 'ignore'
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(build) ignored
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(install) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(install) by extension 'ignore'
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(install) ignored
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(log) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(log) by extension 'ignore'
|
|
||||||
[0.182s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(log) ignored
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'ignore'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'ignore_ament_install'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['colcon_pkg']
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'colcon_pkg'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['colcon_meta']
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'colcon_meta'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['ros']
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'ros'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['cmake', 'python']
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'cmake'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'python'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['python_setup_py']
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'python_setup_py'
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.183s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'ignore'
|
|
||||||
[0.184s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'ignore_ament_install'
|
|
||||||
[0.184s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['colcon_pkg']
|
|
||||||
[0.184s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'colcon_pkg'
|
|
||||||
[0.184s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['colcon_meta']
|
|
||||||
[0.184s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'colcon_meta'
|
|
||||||
[0.184s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['ros']
|
|
||||||
[0.184s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'ros'
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/cam_test' with type 'ros.ament_python' and name 'cam_test'[0m
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'ignore'
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'ignore_ament_install'
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['colcon_pkg']
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'colcon_pkg'
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['colcon_meta']
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'colcon_meta'
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['ros']
|
|
||||||
[0.186s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'ros'
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/camera_module' with type 'ros.ament_python' and name 'camera_module'[0m
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'ignore'
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'ignore_ament_install'
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['colcon_pkg']
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'colcon_pkg'
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['colcon_meta']
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'colcon_meta'
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['ros']
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'ros'
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/hello_pub' with type 'ros.ament_python' and name 'hello_pub'[0m
|
|
||||||
[0.187s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'ignore'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'ignore_ament_install'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['colcon_pkg']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'colcon_pkg'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['colcon_meta']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'colcon_meta'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['ros']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'ros'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['cmake', 'python']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'cmake'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'python'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['python_setup_py']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'python_setup_py'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'ignore'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'ignore_ament_install'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['colcon_pkg']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'colcon_pkg'
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['colcon_meta']
|
|
||||||
[0.188s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'colcon_meta'
|
|
||||||
[0.189s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['ros']
|
|
||||||
[0.189s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'ros'
|
|
||||||
[0.189s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/cv_bridge' with type 'ros.ament_cmake' and name 'cv_bridge'[0m
|
|
||||||
[0.189s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'ignore'
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'ignore_ament_install'
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['colcon_pkg']
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'colcon_pkg'
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['colcon_meta']
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'colcon_meta'
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['ros']
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'ros'
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/image_geometry' with type 'ros.ament_cmake' and name 'image_geometry'[0m
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'ignore'
|
|
||||||
[0.190s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'ignore_ament_install'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['colcon_pkg']
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'colcon_pkg'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['colcon_meta']
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'colcon_meta'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['ros']
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'ros'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/opencv_tests' with type 'ros.ament_python' and name 'opencv_tests'[0m
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'ignore'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'ignore_ament_install'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['colcon_pkg']
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'colcon_pkg'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['colcon_meta']
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'colcon_meta'
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['ros']
|
|
||||||
[0.191s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'ros'
|
|
||||||
[0.192s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/vision_opencv' with type 'ros.ament_cmake' and name 'vision_opencv'[0m
|
|
||||||
[0.192s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) using defaults
|
|
||||||
[0.192s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) discover
|
|
||||||
[0.192s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) using defaults
|
|
||||||
[0.192s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) discover
|
|
||||||
[0.192s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) using defaults
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'cam_test' in 'src/cam_test'
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'cv_bridge' in 'src/vision_opencv/cv_bridge'
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'hello_pub' in 'src/hello_pub'
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'image_geometry' in 'src/vision_opencv/image_geometry'
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'opencv_tests' in 'src/vision_opencv/opencv_tests'
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'vision_opencv' in 'src/vision_opencv/vision_opencv'
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(prefix_path) check parameters
|
|
||||||
[0.206s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(prefix_path) discover
|
|
||||||
[0.209s] [34mcolcon.colcon_installed_package_information.package_discovery[0m [1;30mDEBUG[0m [32mFound 295 installed packages in /opt/ros/kilted[0m
|
|
||||||
[0.210s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(prefix_path) using defaults
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'cmake_args' from command line to 'None'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'cmake_target' from command line to 'None'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'cmake_target_skip_unavailable' from command line to 'False'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'cmake_clean_cache' from command line to 'False'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'cmake_clean_first' from command line to 'False'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'cmake_force_configure' from command line to 'False'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'ament_cmake_args' from command line to 'None'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'catkin_cmake_args' from command line to 'None'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'camera_module' build argument 'catkin_skip_building_tests' from command line to 'False'
|
|
||||||
[0.248s] [34mcolcon.colcon_core.verb[0m [1;30mDEBUG[0m [32mBuilding package 'camera_module' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/jake/ros2_ws/build/camera_module', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/jake/ros2_ws/install/camera_module', 'merge_install': False, 'path': '/home/jake/ros2_ws/src/camera_module', 'symlink_install': False, 'test_result_base': None}[0m
|
|
||||||
[0.248s] [34mcolcon.colcon_core.executor[0m [1;30mINFO[0m Executing jobs using 'parallel' executor
|
|
||||||
[0.250s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mrun_until_complete[0m
|
|
||||||
[0.250s] [34mcolcon.colcon_ros.task.ament_python.build[0m [1;30mINFO[0m Building ROS package in '/home/jake/ros2_ws/src/camera_module' with build type 'ament_python'
|
|
||||||
[0.251s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('camera_module', 'ament_prefix_path')
|
|
||||||
[0.253s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
|
|
||||||
[0.253s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/ament_prefix_path.ps1'
|
|
||||||
[0.256s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/ament_prefix_path.dsv'
|
|
||||||
[0.256s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/ament_prefix_path.sh'
|
|
||||||
[0.257s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
|
|
||||||
[0.257s] [34mcolcon.colcon_core.shell[0m [1;30mDEBUG[0m [32mSkip shell extension 'dsv' for command environment[0m
|
|
||||||
[0.454s] [34mcolcon.colcon_core.task.python.build[0m [1;30mINFO[0m Building Python package in '/home/jake/ros2_ws/src/camera_module'
|
|
||||||
[0.454s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
|
|
||||||
[0.454s] [34mcolcon.colcon_core.shell[0m [1;30mDEBUG[0m [32mSkip shell extension 'dsv' for command environment[0m
|
|
||||||
[1.025s] [34mcolcon.colcon_core.event_handler.log_command[0m [1;30mDEBUG[0m [32mInvoking command in '/home/jake/ros2_ws/src/camera_module': PYTHONPATH=/home/jake/ros2_ws/build/camera_module/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/camera_module build --build-base /home/jake/ros2_ws/build/camera_module/build install --record /home/jake/ros2_ws/build/camera_module/install.log --single-version-externally-managed install_data[0m
|
|
||||||
[1.537s] [34mcolcon.colcon_core.event_handler.log_command[0m [1;30mDEBUG[0m [32mInvoked command in '/home/jake/ros2_ws/src/camera_module' returned '0': PYTHONPATH=/home/jake/ros2_ws/build/camera_module/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/camera_module build --build-base /home/jake/ros2_ws/build/camera_module/build install --record /home/jake/ros2_ws/build/camera_module/install.log --single-version-externally-managed install_data[0m
|
|
||||||
[1.539s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/camera_module' for CMake module files
|
|
||||||
[1.539s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/camera_module' for CMake config files
|
|
||||||
[1.540s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/camera_module/lib'
|
|
||||||
[1.540s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/camera_module/bin'
|
|
||||||
[1.540s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('camera_module', 'path')
|
|
||||||
[1.540s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/path.ps1'
|
|
||||||
[1.541s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/path.dsv'
|
|
||||||
[1.541s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/path.sh'
|
|
||||||
[1.541s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/camera_module/lib/pkgconfig/camera_module.pc'
|
|
||||||
[1.542s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/camera_module/lib/python3.12/site-packages'
|
|
||||||
[1.542s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('camera_module', 'pythonpath')
|
|
||||||
[1.542s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/pythonpath.ps1'
|
|
||||||
[1.542s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/pythonpath.dsv'
|
|
||||||
[1.543s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/pythonpath.sh'
|
|
||||||
[1.543s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/camera_module/bin'
|
|
||||||
[1.544s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('camera_module', 'pythonscriptspath')
|
|
||||||
[1.544s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/pythonscriptspath.ps1'
|
|
||||||
[1.544s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/pythonscriptspath.dsv'
|
|
||||||
[1.544s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/camera_module/share/camera_module/hook/pythonscriptspath.sh'
|
|
||||||
[1.545s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m create_environment_scripts_only(camera_module)
|
|
||||||
[1.545s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/camera_module/share/camera_module/package.ps1'
|
|
||||||
[1.546s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package descriptor '/home/jake/ros2_ws/install/camera_module/share/camera_module/package.dsv'
|
|
||||||
[1.546s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/camera_module/share/camera_module/package.sh'
|
|
||||||
[1.547s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/camera_module/share/camera_module/package.bash'
|
|
||||||
[1.547s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/camera_module/share/camera_module/package.zsh'
|
|
||||||
[1.548s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m create_file_with_runtime_dependencies(/home/jake/ros2_ws/install/camera_module/share/colcon-core/packages/camera_module)
|
|
||||||
[1.549s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mclosing loop[0m
|
|
||||||
[1.550s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mloop closed[0m
|
|
||||||
[1.551s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mrun_until_complete finished with '0'[0m
|
|
||||||
[1.551s] [34mcolcon.colcon_core.event_reactor[0m [1;30mDEBUG[0m [32mjoining thread[0m
|
|
||||||
[1.569s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_notification.desktop_notification.notify_send': Could not find 'notify-send'
|
|
||||||
[1.569s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
|
|
||||||
[1.570s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
|
|
||||||
[1.570s] [34mcolcon.colcon_notification.desktop_notification[0m [1;30mINFO[0m Sending desktop notification using 'notify2'
|
|
||||||
[1.571s] [34mcolcon.colcon_notification.desktop_notification.notify2[0m [1;30mDEBUG[0m [32mFailed to initialize notify2: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files[0m
|
|
||||||
[1.571s] [34mcolcon.colcon_core.event_reactor[0m [1;30mDEBUG[0m [32mjoined thread[0m
|
|
||||||
[1.572s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.ps1'
|
|
||||||
[1.573s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix util module '/home/jake/ros2_ws/install/_local_setup_util_ps1.py'
|
|
||||||
[1.574s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.ps1'
|
|
||||||
[1.575s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.sh'
|
|
||||||
[1.575s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix util module '/home/jake/ros2_ws/install/_local_setup_util_sh.py'
|
|
||||||
[1.576s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.sh'
|
|
||||||
[1.576s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.bash'
|
|
||||||
[1.577s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.bash'
|
|
||||||
[1.578s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.zsh'
|
|
||||||
[1.578s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.zsh'
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,227 @@
|
||||||
|
[0.194s] [34mcolcon[0m [1;30mDEBUG[0m [32mCommand line arguments: ['/usr/bin/colcon', 'build', '--packages-select', 'voice_to_text_node', '--event-handlers', 'console_direct+'][0m
|
||||||
|
[0.194s] [34mcolcon[0m [1;30mDEBUG[0m [32mParsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=24, event_handlers=['console_direct+'], ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=['voice_to_text_node'], packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, allow_overriding=[], cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, verb_parser=<colcon_defaults.argument_parser.defaults.DefaultArgumentsDecorator object at 0x7c2acd607380>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0x7c2acd7ae7b0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0x7c2acd7ae7b0>>)[0m
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(colcon_meta) check parameters
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) check parameters
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) check parameters
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) check parameters
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(colcon_meta) discover
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) discover
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_discovery[0m [1;30mINFO[0m Crawling recursively for packages in '/home/jake/ros2_ws'
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'ignore'
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'ignore_ament_install'
|
||||||
|
[0.254s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['colcon_pkg']
|
||||||
|
[0.255s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'colcon_pkg'
|
||||||
|
[0.255s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['colcon_meta']
|
||||||
|
[0.255s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'colcon_meta'
|
||||||
|
[0.255s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['ros']
|
||||||
|
[0.255s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'ros'
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['cmake', 'python']
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'cmake'
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'python'
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['python_setup_py']
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'python_setup_py'
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(build) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(build) by extension 'ignore'
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(build) ignored
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(install) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(install) by extension 'ignore'
|
||||||
|
[0.281s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(install) ignored
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(log) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(log) by extension 'ignore'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(log) ignored
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'ignore'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'ignore_ament_install'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['colcon_pkg']
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'colcon_pkg'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['colcon_meta']
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'colcon_meta'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['ros']
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'ros'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['cmake', 'python']
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'cmake'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'python'
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extensions ['python_setup_py']
|
||||||
|
[0.282s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src) by extension 'python_setup_py'
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'ignore'
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'ignore_ament_install'
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['colcon_pkg']
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'colcon_pkg'
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['colcon_meta']
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'colcon_meta'
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extensions ['ros']
|
||||||
|
[0.283s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/cam_test) by extension 'ros'
|
||||||
|
[0.286s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/cam_test' with type 'ros.ament_python' and name 'cam_test'[0m
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'ignore'
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'ignore_ament_install'
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['colcon_pkg']
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'colcon_pkg'
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['colcon_meta']
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'colcon_meta'
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extensions ['ros']
|
||||||
|
[0.287s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/camera_module) by extension 'ros'
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/camera_module' with type 'ros.ament_python' and name 'camera_module'[0m
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'ignore'
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'ignore_ament_install'
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['colcon_pkg']
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'colcon_pkg'
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['colcon_meta']
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'colcon_meta'
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extensions ['ros']
|
||||||
|
[0.288s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/hello_pub) by extension 'ros'
|
||||||
|
[0.289s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/hello_pub' with type 'ros.ament_python' and name 'hello_pub'[0m
|
||||||
|
[0.289s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'ignore'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'ignore_ament_install'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['colcon_pkg']
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'colcon_pkg'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['colcon_meta']
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'colcon_meta'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['ros']
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'ros'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['cmake', 'python']
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'cmake'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'python'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extensions ['python_setup_py']
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv) by extension 'python_setup_py'
|
||||||
|
[0.290s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'ignore'
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'ignore_ament_install'
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['colcon_pkg']
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'colcon_pkg'
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['colcon_meta']
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'colcon_meta'
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extensions ['ros']
|
||||||
|
[0.291s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/cv_bridge) by extension 'ros'
|
||||||
|
[0.292s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/cv_bridge' with type 'ros.ament_cmake' and name 'cv_bridge'[0m
|
||||||
|
[0.292s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.292s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'ignore'
|
||||||
|
[0.292s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'ignore_ament_install'
|
||||||
|
[0.292s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['colcon_pkg']
|
||||||
|
[0.293s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'colcon_pkg'
|
||||||
|
[0.293s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['colcon_meta']
|
||||||
|
[0.293s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'colcon_meta'
|
||||||
|
[0.293s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extensions ['ros']
|
||||||
|
[0.293s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/image_geometry) by extension 'ros'
|
||||||
|
[0.293s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/image_geometry' with type 'ros.ament_cmake' and name 'image_geometry'[0m
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'ignore'
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'ignore_ament_install'
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['colcon_pkg']
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'colcon_pkg'
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['colcon_meta']
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'colcon_meta'
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extensions ['ros']
|
||||||
|
[0.294s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/opencv_tests) by extension 'ros'
|
||||||
|
[0.295s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/opencv_tests' with type 'ros.ament_python' and name 'opencv_tests'[0m
|
||||||
|
[0.295s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.295s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'ignore'
|
||||||
|
[0.295s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'ignore_ament_install'
|
||||||
|
[0.295s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['colcon_pkg']
|
||||||
|
[0.295s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'colcon_pkg'
|
||||||
|
[0.296s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['colcon_meta']
|
||||||
|
[0.296s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'colcon_meta'
|
||||||
|
[0.296s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extensions ['ros']
|
||||||
|
[0.296s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/vision_opencv/vision_opencv) by extension 'ros'
|
||||||
|
[0.296s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/vision_opencv/vision_opencv' with type 'ros.ament_cmake' and name 'vision_opencv'[0m
|
||||||
|
[0.296s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extensions ['ignore', 'ignore_ament_install']
|
||||||
|
[0.296s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extension 'ignore'
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extension 'ignore_ament_install'
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extensions ['colcon_pkg']
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extension 'colcon_pkg'
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extensions ['colcon_meta']
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extension 'colcon_meta'
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extensions ['ros']
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(src/voice_to_text_node) by extension 'ros'
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_identification[0m [1;30mDEBUG[0m [32mPackage 'src/voice_to_text_node' with type 'ros.ament_python' and name 'voice_to_text_node'[0m
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) using defaults
|
||||||
|
[0.297s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) discover
|
||||||
|
[0.298s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) using defaults
|
||||||
|
[0.298s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) discover
|
||||||
|
[0.298s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) using defaults
|
||||||
|
[0.314s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'cam_test' in 'src/cam_test'
|
||||||
|
[0.314s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'camera_module' in 'src/camera_module'
|
||||||
|
[0.315s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'cv_bridge' in 'src/vision_opencv/cv_bridge'
|
||||||
|
[0.315s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'hello_pub' in 'src/hello_pub'
|
||||||
|
[0.315s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'image_geometry' in 'src/vision_opencv/image_geometry'
|
||||||
|
[0.315s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'opencv_tests' in 'src/vision_opencv/opencv_tests'
|
||||||
|
[0.315s] [34mcolcon.colcon_core.package_selection[0m [1;30mINFO[0m Skipping not selected package 'vision_opencv' in 'src/vision_opencv/vision_opencv'
|
||||||
|
[0.315s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(prefix_path) check parameters
|
||||||
|
[0.315s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(prefix_path) discover
|
||||||
|
[0.320s] [34mcolcon.colcon_installed_package_information.package_discovery[0m [1;30mDEBUG[0m [32mFound 295 installed packages in /opt/ros/kilted[0m
|
||||||
|
[0.321s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(prefix_path) using defaults
|
||||||
|
[0.359s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'cmake_args' from command line to 'None'
|
||||||
|
[0.359s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'cmake_target' from command line to 'None'
|
||||||
|
[0.359s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'cmake_target_skip_unavailable' from command line to 'False'
|
||||||
|
[0.359s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'cmake_clean_cache' from command line to 'False'
|
||||||
|
[0.359s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'cmake_clean_first' from command line to 'False'
|
||||||
|
[0.359s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'cmake_force_configure' from command line to 'False'
|
||||||
|
[0.359s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'ament_cmake_args' from command line to 'None'
|
||||||
|
[0.360s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'catkin_cmake_args' from command line to 'None'
|
||||||
|
[0.360s] [34mcolcon.colcon_core.verb[0m [1;30mLevel 5[0m set package 'voice_to_text_node' build argument 'catkin_skip_building_tests' from command line to 'False'
|
||||||
|
[0.360s] [34mcolcon.colcon_core.verb[0m [1;30mDEBUG[0m [32mBuilding package 'voice_to_text_node' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/jake/ros2_ws/build/voice_to_text_node', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/jake/ros2_ws/install/voice_to_text_node', 'merge_install': False, 'path': '/home/jake/ros2_ws/src/voice_to_text_node', 'symlink_install': False, 'test_result_base': None}[0m
|
||||||
|
[0.360s] [34mcolcon.colcon_core.executor[0m [1;30mINFO[0m Executing jobs using 'parallel' executor
|
||||||
|
[0.361s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mrun_until_complete[0m
|
||||||
|
[0.361s] [34mcolcon.colcon_ros.task.ament_python.build[0m [1;30mINFO[0m Building ROS package in '/home/jake/ros2_ws/src/voice_to_text_node' with build type 'ament_python'
|
||||||
|
[0.362s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('voice_to_text_node', 'ament_prefix_path')
|
||||||
|
[0.367s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
|
||||||
|
[0.367s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/ament_prefix_path.ps1'
|
||||||
|
[0.370s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/ament_prefix_path.dsv'
|
||||||
|
[0.371s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/ament_prefix_path.sh'
|
||||||
|
[0.372s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
|
||||||
|
[0.372s] [34mcolcon.colcon_core.shell[0m [1;30mDEBUG[0m [32mSkip shell extension 'dsv' for command environment[0m
|
||||||
|
[0.588s] [34mcolcon.colcon_core.task.python.build[0m [1;30mINFO[0m Building Python package in '/home/jake/ros2_ws/src/voice_to_text_node'
|
||||||
|
[0.588s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
|
||||||
|
[0.588s] [34mcolcon.colcon_core.shell[0m [1;30mDEBUG[0m [32mSkip shell extension 'dsv' for command environment[0m
|
||||||
|
[1.301s] [34mcolcon.colcon_core.event_handler.log_command[0m [1;30mDEBUG[0m [32mInvoking command in '/home/jake/ros2_ws/src/voice_to_text_node': PYTHONPATH=/home/jake/ros2_ws/build/voice_to_text_node/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/voice_to_text_node build --build-base /home/jake/ros2_ws/build/voice_to_text_node/build install --record /home/jake/ros2_ws/build/voice_to_text_node/install.log --single-version-externally-managed install_data[0m
|
||||||
|
[2.098s] [34mcolcon.colcon_core.event_handler.log_command[0m [1;30mDEBUG[0m [32mInvoked command in '/home/jake/ros2_ws/src/voice_to_text_node' returned '0': PYTHONPATH=/home/jake/ros2_ws/build/voice_to_text_node/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/voice_to_text_node build --build-base /home/jake/ros2_ws/build/voice_to_text_node/build install --record /home/jake/ros2_ws/build/voice_to_text_node/install.log --single-version-externally-managed install_data[0m
|
||||||
|
[2.104s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/voice_to_text_node' for CMake module files
|
||||||
|
[2.104s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/voice_to_text_node' for CMake config files
|
||||||
|
[2.105s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/voice_to_text_node/lib'
|
||||||
|
[2.105s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/voice_to_text_node/bin'
|
||||||
|
[2.105s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('voice_to_text_node', 'path')
|
||||||
|
[2.106s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/path.ps1'
|
||||||
|
[2.106s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/path.dsv'
|
||||||
|
[2.106s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/path.sh'
|
||||||
|
[2.107s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/voice_to_text_node/lib/pkgconfig/voice_to_text_node.pc'
|
||||||
|
[2.107s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages'
|
||||||
|
[2.107s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('voice_to_text_node', 'pythonpath')
|
||||||
|
[2.107s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/pythonpath.ps1'
|
||||||
|
[2.107s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/pythonpath.dsv'
|
||||||
|
[2.108s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/pythonpath.sh'
|
||||||
|
[2.108s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m checking '/home/jake/ros2_ws/install/voice_to_text_node/bin'
|
||||||
|
[2.108s] [34mcolcon.colcon_core.shell[0m [1;30mLevel 1[0m create_environment_hook('voice_to_text_node', 'pythonscriptspath')
|
||||||
|
[2.108s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/pythonscriptspath.ps1'
|
||||||
|
[2.109s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment descriptor '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/pythonscriptspath.dsv'
|
||||||
|
[2.109s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating environment hook '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/hook/pythonscriptspath.sh'
|
||||||
|
[2.109s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m create_environment_scripts_only(voice_to_text_node)
|
||||||
|
[2.110s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/package.ps1'
|
||||||
|
[2.111s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package descriptor '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/package.dsv'
|
||||||
|
[2.111s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/package.sh'
|
||||||
|
[2.112s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/package.bash'
|
||||||
|
[2.113s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating package script '/home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/package.zsh'
|
||||||
|
[2.114s] [34mcolcon.colcon_core.environment[0m [1;30mLevel 1[0m create_file_with_runtime_dependencies(/home/jake/ros2_ws/install/voice_to_text_node/share/colcon-core/packages/voice_to_text_node)
|
||||||
|
[2.116s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mclosing loop[0m
|
||||||
|
[2.116s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mloop closed[0m
|
||||||
|
[2.116s] [34mcolcon.colcon_parallel_executor.executor.parallel[0m [1;30mDEBUG[0m [32mrun_until_complete finished with '0'[0m
|
||||||
|
[2.117s] [34mcolcon.colcon_core.event_reactor[0m [1;30mDEBUG[0m [32mjoining thread[0m
|
||||||
|
[2.140s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_notification.desktop_notification.notify_send': Could not find 'notify-send'
|
||||||
|
[2.141s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
|
||||||
|
[2.141s] [34mcolcon.colcon_core.plugin_system[0m [1;30mINFO[0m Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
|
||||||
|
[2.141s] [34mcolcon.colcon_notification.desktop_notification[0m [1;30mINFO[0m Sending desktop notification using 'notify2'
|
||||||
|
[2.143s] [34mcolcon.colcon_notification.desktop_notification.notify2[0m [1;30mDEBUG[0m [32mFailed to initialize notify2: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files[0m
|
||||||
|
[2.143s] [34mcolcon.colcon_core.event_reactor[0m [1;30mDEBUG[0m [32mjoined thread[0m
|
||||||
|
[2.143s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.ps1'
|
||||||
|
[2.145s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix util module '/home/jake/ros2_ws/install/_local_setup_util_ps1.py'
|
||||||
|
[2.146s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.ps1'
|
||||||
|
[2.148s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.sh'
|
||||||
|
[2.148s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix util module '/home/jake/ros2_ws/install/_local_setup_util_sh.py'
|
||||||
|
[2.149s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.sh'
|
||||||
|
[2.150s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.bash'
|
||||||
|
[2.151s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.bash'
|
||||||
|
[2.152s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix script '/home/jake/ros2_ws/install/local_setup.zsh'
|
||||||
|
[2.153s] [34mcolcon.colcon_core.shell[0m [1;30mINFO[0m Creating prefix chain script '/home/jake/ros2_ws/install/setup.zsh'
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
Invoking command in '/home/jake/ros2_ws/src/voice_to_text_node': PYTHONPATH=/home/jake/ros2_ws/build/voice_to_text_node/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/voice_to_text_node build --build-base /home/jake/ros2_ws/build/voice_to_text_node/build install --record /home/jake/ros2_ws/build/voice_to_text_node/install.log --single-version-externally-managed install_data
|
||||||
|
Invoked command in '/home/jake/ros2_ws/src/voice_to_text_node' returned '0': PYTHONPATH=/home/jake/ros2_ws/build/voice_to_text_node/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/voice_to_text_node build --build-base /home/jake/ros2_ws/build/voice_to_text_node/build install --record /home/jake/ros2_ws/build/voice_to_text_node/install.log --single-version-externally-managed install_data
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
running egg_info
|
||||||
|
creating ../../build/voice_to_text_node/voice_to_text_node.egg-info
|
||||||
|
writing ../../build/voice_to_text_node/voice_to_text_node.egg-info/PKG-INFO
|
||||||
|
writing dependency_links to ../../build/voice_to_text_node/voice_to_text_node.egg-info/dependency_links.txt
|
||||||
|
writing entry points to ../../build/voice_to_text_node/voice_to_text_node.egg-info/entry_points.txt
|
||||||
|
writing requirements to ../../build/voice_to_text_node/voice_to_text_node.egg-info/requires.txt
|
||||||
|
writing top-level names to ../../build/voice_to_text_node/voice_to_text_node.egg-info/top_level.txt
|
||||||
|
writing manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
reading manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
writing manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
running build
|
||||||
|
running build_py
|
||||||
|
creating /home/jake/ros2_ws/build/voice_to_text_node/build
|
||||||
|
creating /home/jake/ros2_ws/build/voice_to_text_node/build/lib
|
||||||
|
creating /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
copying ./voice_to_text_node/__init__.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
copying ./voice_to_text_node/voice_to_text_node.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
copying ./voice_to_text_node/threaded_node.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
running install
|
||||||
|
running install_lib
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/__init__.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/voice_to_text_node.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/threaded_node.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/__init__.py to __init__.cpython-312.pyc
|
||||||
|
byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/voice_to_text_node.py to voice_to_text_node.cpython-312.pyc
|
||||||
|
byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/threaded_node.py to threaded_node.cpython-312.pyc
|
||||||
|
running install_data
|
||||||
|
copying package.xml -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index/packages
|
||||||
|
copying resource/voice_to_text_node -> /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index/packages
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/README -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/HCLr.fst -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/disambig_tid.int -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/Gr.fst -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/phones
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/phones/word_boundary.int -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/phones
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/conf/model.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/conf/mfcc.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/am
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/am/final.mdl -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/am
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/final.ie -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/final.dubm -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/online_cmvn.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/final.mat -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/splice.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/global_cmvn.stats -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
running install_egg_info
|
||||||
|
Copying ../../build/voice_to_text_node/voice_to_text_node.egg-info to /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info
|
||||||
|
running install_scripts
|
||||||
|
Installing voice_to_text_node script to /home/jake/ros2_ws/install/voice_to_text_node/bin
|
||||||
|
writing list of installed files to '/home/jake/ros2_ws/build/voice_to_text_node/install.log'
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
running egg_info
|
||||||
|
creating ../../build/voice_to_text_node/voice_to_text_node.egg-info
|
||||||
|
writing ../../build/voice_to_text_node/voice_to_text_node.egg-info/PKG-INFO
|
||||||
|
writing dependency_links to ../../build/voice_to_text_node/voice_to_text_node.egg-info/dependency_links.txt
|
||||||
|
writing entry points to ../../build/voice_to_text_node/voice_to_text_node.egg-info/entry_points.txt
|
||||||
|
writing requirements to ../../build/voice_to_text_node/voice_to_text_node.egg-info/requires.txt
|
||||||
|
writing top-level names to ../../build/voice_to_text_node/voice_to_text_node.egg-info/top_level.txt
|
||||||
|
writing manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
reading manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
writing manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
running build
|
||||||
|
running build_py
|
||||||
|
creating /home/jake/ros2_ws/build/voice_to_text_node/build
|
||||||
|
creating /home/jake/ros2_ws/build/voice_to_text_node/build/lib
|
||||||
|
creating /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
copying ./voice_to_text_node/__init__.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
copying ./voice_to_text_node/voice_to_text_node.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
copying ./voice_to_text_node/threaded_node.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
running install
|
||||||
|
running install_lib
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/__init__.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/voice_to_text_node.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/threaded_node.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/__init__.py to __init__.cpython-312.pyc
|
||||||
|
byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/voice_to_text_node.py to voice_to_text_node.cpython-312.pyc
|
||||||
|
byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/threaded_node.py to threaded_node.cpython-312.pyc
|
||||||
|
running install_data
|
||||||
|
copying package.xml -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index/packages
|
||||||
|
copying resource/voice_to_text_node -> /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index/packages
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/README -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/HCLr.fst -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/disambig_tid.int -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/Gr.fst -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/phones
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/graph/phones/word_boundary.int -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/phones
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/conf/model.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/conf/mfcc.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/am
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/am/final.mdl -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/am
|
||||||
|
creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/final.ie -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/final.dubm -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/online_cmvn.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/final.mat -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/splice.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
copying resource/model/vosk-model-small-en-us-0.15/ivector/global_cmvn.stats -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
running install_egg_info
|
||||||
|
Copying ../../build/voice_to_text_node/voice_to_text_node.egg-info to /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info
|
||||||
|
running install_scripts
|
||||||
|
Installing voice_to_text_node script to /home/jake/ros2_ws/install/voice_to_text_node/bin
|
||||||
|
writing list of installed files to '/home/jake/ros2_ws/build/voice_to_text_node/install.log'
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
[0.940s] Invoking command in '/home/jake/ros2_ws/src/voice_to_text_node': PYTHONPATH=/home/jake/ros2_ws/build/voice_to_text_node/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/voice_to_text_node build --build-base /home/jake/ros2_ws/build/voice_to_text_node/build install --record /home/jake/ros2_ws/build/voice_to_text_node/install.log --single-version-externally-managed install_data
|
||||||
|
[1.182s] running egg_info
|
||||||
|
[1.182s] creating ../../build/voice_to_text_node/voice_to_text_node.egg-info
|
||||||
|
[1.203s] writing ../../build/voice_to_text_node/voice_to_text_node.egg-info/PKG-INFO
|
||||||
|
[1.203s] writing dependency_links to ../../build/voice_to_text_node/voice_to_text_node.egg-info/dependency_links.txt
|
||||||
|
[1.203s] writing entry points to ../../build/voice_to_text_node/voice_to_text_node.egg-info/entry_points.txt
|
||||||
|
[1.204s] writing requirements to ../../build/voice_to_text_node/voice_to_text_node.egg-info/requires.txt
|
||||||
|
[1.204s] writing top-level names to ../../build/voice_to_text_node/voice_to_text_node.egg-info/top_level.txt
|
||||||
|
[1.204s] writing manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
[1.245s] reading manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
[1.246s] writing manifest file '../../build/voice_to_text_node/voice_to_text_node.egg-info/SOURCES.txt'
|
||||||
|
[1.250s] running build
|
||||||
|
[1.250s] running build_py
|
||||||
|
[1.250s] creating /home/jake/ros2_ws/build/voice_to_text_node/build
|
||||||
|
[1.251s] creating /home/jake/ros2_ws/build/voice_to_text_node/build/lib
|
||||||
|
[1.251s] creating /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
[1.252s] copying ./voice_to_text_node/__init__.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
[1.252s] copying ./voice_to_text_node/voice_to_text_node.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
[1.253s] copying ./voice_to_text_node/threaded_node.py -> /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node
|
||||||
|
[1.253s] running install
|
||||||
|
[1.260s] running install_lib
|
||||||
|
[1.281s] creating /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
[1.281s] copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/__init__.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
[1.282s] copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/voice_to_text_node.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
[1.282s] copying /home/jake/ros2_ws/build/voice_to_text_node/build/lib/voice_to_text_node/threaded_node.py -> /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node
|
||||||
|
[1.282s] byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/__init__.py to __init__.cpython-312.pyc
|
||||||
|
[1.283s] byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/voice_to_text_node.py to voice_to_text_node.cpython-312.pyc
|
||||||
|
[1.284s] byte-compiling /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node/threaded_node.py to threaded_node.cpython-312.pyc
|
||||||
|
[1.286s] running install_data
|
||||||
|
[1.287s] copying package.xml -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node
|
||||||
|
[1.287s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index
|
||||||
|
[1.288s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index
|
||||||
|
[1.289s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index/packages
|
||||||
|
[1.289s] copying resource/voice_to_text_node -> /home/jake/ros2_ws/install/voice_to_text_node/share/ament_index/resource_index/packages
|
||||||
|
[1.290s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource
|
||||||
|
[1.290s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model
|
||||||
|
[1.291s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15
|
||||||
|
[1.291s] copying resource/model/vosk-model-small-en-us-0.15/README -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15
|
||||||
|
[1.292s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
[1.293s] copying resource/model/vosk-model-small-en-us-0.15/graph/HCLr.fst -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
[1.365s] copying resource/model/vosk-model-small-en-us-0.15/graph/disambig_tid.int -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
[1.366s] copying resource/model/vosk-model-small-en-us-0.15/graph/Gr.fst -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph
|
||||||
|
[1.452s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/phones
|
||||||
|
[1.453s] copying resource/model/vosk-model-small-en-us-0.15/graph/phones/word_boundary.int -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/graph/phones
|
||||||
|
[1.454s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
[1.454s] copying resource/model/vosk-model-small-en-us-0.15/conf/model.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
[1.455s] copying resource/model/vosk-model-small-en-us-0.15/conf/mfcc.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/conf
|
||||||
|
[1.455s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/am
|
||||||
|
[1.456s] copying resource/model/vosk-model-small-en-us-0.15/am/final.mdl -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/am
|
||||||
|
[1.511s] creating /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
[1.512s] copying resource/model/vosk-model-small-en-us-0.15/ivector/final.ie -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
[1.542s] copying resource/model/vosk-model-small-en-us-0.15/ivector/final.dubm -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
[1.543s] copying resource/model/vosk-model-small-en-us-0.15/ivector/online_cmvn.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
[1.544s] copying resource/model/vosk-model-small-en-us-0.15/ivector/final.mat -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
[1.545s] copying resource/model/vosk-model-small-en-us-0.15/ivector/splice.conf -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
[1.545s] copying resource/model/vosk-model-small-en-us-0.15/ivector/global_cmvn.stats -> /home/jake/ros2_ws/install/voice_to_text_node/share/voice_to_text_node/resource/model/vosk-model-small-en-us-0.15/ivector
|
||||||
|
[1.545s] running install_egg_info
|
||||||
|
[1.567s] Copying ../../build/voice_to_text_node/voice_to_text_node.egg-info to /home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages/voice_to_text_node-0.1.0-py3.12.egg-info
|
||||||
|
[1.569s] running install_scripts
|
||||||
|
[1.704s] Installing voice_to_text_node script to /home/jake/ros2_ws/install/voice_to_text_node/bin
|
||||||
|
[1.705s] writing list of installed files to '/home/jake/ros2_ws/build/voice_to_text_node/install.log'
|
||||||
|
[1.736s] Invoked command in '/home/jake/ros2_ws/src/voice_to_text_node' returned '0': PYTHONPATH=/home/jake/ros2_ws/build/voice_to_text_node/prefix_override:/usr/lib/python3/dist-packages/colcon_core/task/python/colcon_distutils_commands:/home/jake/ros2_ws/install/voice_to_text_node/lib/python3.12/site-packages:${PYTHONPATH} /usr/bin/python3 -W ignore:setup.py install is deprecated -W ignore:easy_install command is deprecated setup.py egg_info --egg-base ../../build/voice_to_text_node build --build-base /home/jake/ros2_ws/build/voice_to_text_node/build install --record /home/jake/ros2_ws/build/voice_to_text_node/install.log --single-version-externally-managed install_data
|
||||||
|
|
@ -1 +1 @@
|
||||||
build_2025-11-09_19-38-47
|
build_2025-11-09_22-11-31
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
colcon
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
import rclpy
|
||||||
|
from rclpy.node import Node
|
||||||
|
from std_msgs.msg import String
|
||||||
|
|
||||||
|
class CamPublisher(Node):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__('cam_publisher')
|
||||||
|
self.publisher_ = self.create_publisher(String, 'cam_topic', 10)
|
||||||
|
self.timer = self.create_timer(1.0, self.publish_message)
|
||||||
|
|
||||||
|
def publish_message(self):
|
||||||
|
msg = String()
|
||||||
|
msg.data = 'Cam from ROS 2!'
|
||||||
|
self.publisher_.publish(msg)
|
||||||
|
self.get_logger().info(f'Published: {msg.data}')
|
||||||
|
|
||||||
|
def main():
|
||||||
|
rclpy.init()
|
||||||
|
node = CamPublisher()
|
||||||
|
rclpy.spin(node)
|
||||||
|
node.destroy_node()
|
||||||
|
rclpy.shutdown()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
Metadata-Version: 2.1
|
||||||
|
Name: cam-test
|
||||||
|
Version: 0.1.0
|
||||||
|
Summary: Minimal Cam Test publisher
|
||||||
|
Maintainer: jake
|
||||||
|
Maintainer-email: jake@example.com
|
||||||
|
License: MIT
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package.xml
|
||||||
|
setup.py
|
||||||
|
build/cam_test/cam_test.egg-info/PKG-INFO
|
||||||
|
build/cam_test/cam_test.egg-info/SOURCES.txt
|
||||||
|
build/cam_test/cam_test.egg-info/dependency_links.txt
|
||||||
|
build/cam_test/cam_test.egg-info/entry_points.txt
|
||||||
|
build/cam_test/cam_test.egg-info/requires.txt
|
||||||
|
build/cam_test/cam_test.egg-info/top_level.txt
|
||||||
|
build/cam_test/cam_test.egg-info/zip-safe
|
||||||
|
cam_test/__init__.py
|
||||||
|
cam_test/cam_test.py
|
||||||
|
resource/cam_test
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
[console_scripts]
|
||||||
|
cam_test = cam_test.cam_test:main
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
setuptools
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
cam_test
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
0
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
# generated from colcon_core/shell/template/command_prefix.sh.em
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
AMENT_PREFIX_PATH=/home/jake/ros2_ws/install/hello_pub:/opt/ros/kilted
|
||||||
|
CMAKE_PREFIX_PATH=/opt/ros/kilted/opt/gz_math_vendor:/opt/ros/kilted/opt/gz_utils_vendor:/opt/ros/kilted/opt/gz_cmake_vendor
|
||||||
|
COLCON=1
|
||||||
|
COLCON_PREFIX_PATH=/home/jake/ros2_ws/install
|
||||||
|
COLORTERM=truecolor
|
||||||
|
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus
|
||||||
|
DISPLAY=10.255.255.254:0
|
||||||
|
GIT_ASKPASS=/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/extensions/git/dist/askpass.sh
|
||||||
|
HOME=/home/jake
|
||||||
|
HOSTTYPE=x86_64
|
||||||
|
LANG=C.UTF-8
|
||||||
|
LD_LIBRARY_PATH=/opt/ros/kilted/opt/zenoh_cpp_vendor/lib:/opt/ros/kilted/opt/gz_math_vendor/lib:/opt/ros/kilted/opt/gz_utils_vendor/lib:/opt/ros/kilted/opt/rviz_ogre_vendor/lib:/opt/ros/kilted/lib/x86_64-linux-gnu:/opt/ros/kilted/opt/gz_cmake_vendor/lib:/opt/ros/kilted/lib
|
||||||
|
LESSCLOSE=/usr/bin/lesspipe %s %s
|
||||||
|
LESSOPEN=| /usr/bin/lesspipe %s
|
||||||
|
LOGNAME=jake
|
||||||
|
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
|
||||||
|
NAME=DESKTOP-UFLG41E
|
||||||
|
OLDPWD=/home/jake/ros2_ws/src
|
||||||
|
PATH=/home/jake/ros2_ws/install/hello_pub/bin:/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/bin/remote-cli:/opt/ros/kilted/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/Users/jake/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/jake/AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin:/home/jake/.vscode-server/data/User/globalStorage/github.copilot-chat/debugCommand
|
||||||
|
PULSE_SERVER=unix:/mnt/wslg/PulseServer
|
||||||
|
PWD=/home/jake/ros2_ws/src/cam_test/build/cam_test
|
||||||
|
PYTHONPATH=/home/jake/ros2_ws/install/hello_pub/lib/python3.12/site-packages:/opt/ros/kilted/lib/python3.12/site-packages
|
||||||
|
ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET
|
||||||
|
ROS_DISTRO=kilted
|
||||||
|
ROS_PYTHON_VERSION=3
|
||||||
|
ROS_VERSION=2
|
||||||
|
SHELL=/bin/bash
|
||||||
|
SHLVL=1
|
||||||
|
TERM=xterm-256color
|
||||||
|
TERM_PROGRAM=vscode
|
||||||
|
TERM_PROGRAM_VERSION=1.105.1
|
||||||
|
USER=jake
|
||||||
|
VSCODE_GIT_ASKPASS_EXTRA_ARGS=
|
||||||
|
VSCODE_GIT_ASKPASS_MAIN=/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/extensions/git/dist/askpass-main.js
|
||||||
|
VSCODE_GIT_ASKPASS_NODE=/home/jake/.vscode-server/bin/7d842fb85a0275a4a8e4d7e040d2625abbf7f084/node
|
||||||
|
VSCODE_GIT_IPC_HANDLE=/run/user/1001/vscode-git-1d6e8e65c1.sock
|
||||||
|
VSCODE_IPC_HOOK_CLI=/run/user/1001/vscode-ipc-bc7e8c25-b626-4f8f-989e-c38b7c8e334a.sock
|
||||||
|
VSCODE_PYTHON_AUTOACTIVATE_GUARD=1
|
||||||
|
WAYLAND_DISPLAY=wayland-0
|
||||||
|
WSL2_GUI_APPS_ENABLED=1
|
||||||
|
WSLENV=VSCODE_WSL_EXT_LOCATION/up
|
||||||
|
WSL_DISTRO_NAME=Ubuntu-24.04
|
||||||
|
WSL_INTEROP=/run/WSL/468_interop
|
||||||
|
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
|
||||||
|
XDG_RUNTIME_DIR=/run/user/1001/
|
||||||
|
_=/usr/bin/colcon
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test/cam_test.py
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test/__init__.py
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test/__pycache__/cam_test.cpython-312.pyc
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test/__pycache__/__init__.cpython-312.pyc
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/share/cam_test/package.xml
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/share/ament_index/resource_index/packages/cam_test
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test-0.1.0-py3.12.egg-info/entry_points.txt
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test-0.1.0-py3.12.egg-info/SOURCES.txt
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test-0.1.0-py3.12.egg-info/zip-safe
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test-0.1.0-py3.12.egg-info/top_level.txt
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test-0.1.0-py3.12.egg-info/dependency_links.txt
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test-0.1.0-py3.12.egg-info/requires.txt
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/lib/python3.12/site-packages/cam_test-0.1.0-py3.12.egg-info/PKG-INFO
|
||||||
|
/home/jake/ros2_ws/src/cam_test/install/cam_test/bin/cam_test
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,4 @@
|
||||||
|
import sys
|
||||||
|
if sys.prefix == '/usr':
|
||||||
|
sys.real_prefix = sys.prefix
|
||||||
|
sys.prefix = sys.exec_prefix = '/home/jake/ros2_ws/src/cam_test/install/cam_test'
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue