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 ...@@ -4,6 +4,7 @@ import pandas as pd
from typing import Callable, List, Tuple from typing import Callable, List, Tuple
from threading import Semaphore from threading import Semaphore
from datetime import datetime from datetime import datetime
import numpy as np
from .handler import KUKA_Handler from .handler import KUKA_Handler
from .trace import KUKA_Trace from .trace import KUKA_Trace
...@@ -352,6 +353,11 @@ class KUKA_DataReader: ...@@ -352,6 +353,11 @@ class KUKA_DataReader:
data_trace['Load'] = [load] * dataset_length 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) return (pd.DataFrame(data_trace), dataset_length)
def acquire ( def acquire (
...@@ -419,7 +425,7 @@ class KUKA_DataReader: ...@@ -419,7 +425,7 @@ class KUKA_DataReader:
# KUKA Trace # KUKA Trace
if self.tracing: if self.tracing:
# self.trace.Trace_Stop() # self.trace.Trace_Stop()
# sleep(5) sleep(1)
data_trace, _ = self.get_trace_data(speed, load, trace_sampling, temp_dir) data_trace, _ = self.get_trace_data(speed, load, trace_sampling, temp_dir)
# Indicating the end of this run # Indicating the end of this run
...@@ -468,7 +474,7 @@ class KUKA_DataReader: ...@@ -468,7 +474,7 @@ class KUKA_DataReader:
# KUKA Trace # KUKA Trace
if self.tracing: if self.tracing:
self.trace.Trace_Stop() self.trace.Trace_Stop()
sleep(0.1) sleep(1)
data_trace, size = self.get_trace_data(start, load, trace_sampling, temp_dir, trace_offset) data_trace, size = self.get_trace_data(start, load, trace_sampling, temp_dir, trace_offset)
# Updating the offset # Updating the offset
...@@ -486,6 +492,10 @@ class KUKA_DataReader: ...@@ -486,6 +492,10 @@ class KUKA_DataReader:
start += step start += step
# Merging the results for each speed into one monolithic DataFrame for each method # 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: ...@@ -138,6 +138,8 @@ class KUKA_Trace:
self.rob_instance.KUKA_WriteVar('$TRACE.MODE', '#T_STOP') self.rob_instance.KUKA_WriteVar('$TRACE.MODE', '#T_STOP')
if self.rob_instance.KUKA_ReadVar('$TRACE.STATE') in [b'#T_END', b'#T_WRITING']: if self.rob_instance.KUKA_ReadVar('$TRACE.STATE') in [b'#T_END', b'#T_WRITING']:
print('Trace stopped') print('Trace stopped')
else:
print("Failed to stop the trace")
def Trace_State(self): def Trace_State(self):
""" """
...@@ -172,7 +174,6 @@ class KUKA_Trace: ...@@ -172,7 +174,6 @@ class KUKA_Trace:
return result return result
def translate (self, value: str) -> str: def translate (self, value: str) -> str:
if value in self.translations: if value in self.translations:
...@@ -204,7 +205,6 @@ class KUKA_Trace: ...@@ -204,7 +205,6 @@ class KUKA_Trace:
shutil.copyfile(src, dest) shutil.copyfile(src, dest)
src.unlink() src.unlink()
def find_pairs (self, name: str): def find_pairs (self, name: str):
extensions = ['.dat', '.r64', ".trc"] extensions = ['.dat', '.r64', ".trc"]
...@@ -344,17 +344,15 @@ class KUKA_Trace: ...@@ -344,17 +344,15 @@ class KUKA_Trace:
data.append((dat, r64)) data.append((dat, r64))
min_sampling = data[0][0].sampling min_sampling = data[0][0].sampling
max_sampling = data[0][0].sampling
min_length = data[0][0].length
for d in data: for d in data:
min_sampling = min(d[0].sampling, min_sampling) 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) min_length = 12e9
length = min_length * ratio 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() 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