Skip to content
Snippets Groups Projects
Commit fe04a3e1 authored by VulcanixFR's avatar VulcanixFR
Browse files

Working 4ms Trace

parent 6f80cfb3
No related merge requests found
......@@ -4,6 +4,7 @@ import pandas as pd
from typing import Callable, List, Tuple
from threading import Semaphore
from datetime import datetime
import numpy as np
from .handler import KUKA_Handler
from .trace import KUKA_Trace
......@@ -352,6 +353,11 @@ class KUKA_DataReader:
data_trace['Load'] = [load] * dataset_length
sampling = sampling / 1000
print(sampling, sampling_offset * sampling)
# data_trace["Sample_time"] += (sampling_offset * sampling)
return (pd.DataFrame(data_trace), dataset_length)
def acquire (
......@@ -419,7 +425,7 @@ class KUKA_DataReader:
# KUKA Trace
if self.tracing:
# self.trace.Trace_Stop()
# sleep(5)
sleep(1)
data_trace, _ = self.get_trace_data(speed, load, trace_sampling, temp_dir)
# Indicating the end of this run
......@@ -468,7 +474,7 @@ class KUKA_DataReader:
# KUKA Trace
if self.tracing:
self.trace.Trace_Stop()
sleep(0.1)
sleep(1)
data_trace, size = self.get_trace_data(start, load, trace_sampling, temp_dir, trace_offset)
# Updating the offset
......@@ -486,6 +492,10 @@ class KUKA_DataReader:
start += step
# Merging the results for each speed into one monolithic DataFrame for each method
return pd.concat(dataframes), pd.concat(trace_dataframes)
sys_data = pd.concat(dataframes)
trace_data = pd.concat(trace_dataframes)
trace_data["Sample_time"] = np.arange(len(trace_data["Sample_time"])) * (trace_sampling / 1000)
return sys_data, trace_data
## --------------------------------- ##
......@@ -138,6 +138,8 @@ class KUKA_Trace:
self.rob_instance.KUKA_WriteVar('$TRACE.MODE', '#T_STOP')
if self.rob_instance.KUKA_ReadVar('$TRACE.STATE') in [b'#T_END', b'#T_WRITING']:
print('Trace stopped')
else:
print("Failed to stop the trace")
def Trace_State(self):
"""
......@@ -172,7 +174,6 @@ class KUKA_Trace:
return result
def translate (self, value: str) -> str:
if value in self.translations:
......@@ -204,7 +205,6 @@ class KUKA_Trace:
shutil.copyfile(src, dest)
src.unlink()
def find_pairs (self, name: str):
extensions = ['.dat', '.r64', ".trc"]
......@@ -344,17 +344,15 @@ class KUKA_Trace:
data.append((dat, r64))
min_sampling = data[0][0].sampling
max_sampling = data[0][0].sampling
min_length = data[0][0].length
for d in data:
min_sampling = min(d[0].sampling, min_sampling)
max_sampling = max(d[0].sampling, max_sampling)
min_length = min(d[0].length, min_length)
ratio = int(max_sampling // min_sampling)
length = min_length * ratio
min_length = 12e9
for d in data:
ratio = int(d[0].sampling // min_sampling)
min_length = min(d[0].length * ratio, min_length)
print(length, ratio, min_sampling, max_sampling, min_length)
length = min_length
dataframe = pd.DataFrame()
......
from kuka import KUKA_Trace, KUKA_Handler
h = KUKA_Handler("192.168.1.153", 7000)
trace = KUKA_Trace(h)
trace.name = "2024-05-27_16-06-53[70]_R2"
pairs = trace.find_pairs(trace.name)
dats = []
for pair in pairs:
dat_path = trace.temp_folder.joinpath(trace.name).joinpath(pair[0])
dat = trace.read_dat(dat_path)
dats.append(dat)
min_sampling = 1
for dat in dats:
min_sampling = min(min_sampling, dat.sampling)
min_len = 1e9
for dat in dats:
ratio = int(dat.sampling // min_sampling)
min_len = min(min_len, dat.length * ratio)
print(min_len)
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment