DP implementation + delay
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
|
import time
|
||||||
from app.entities.agent_data import AgentData
|
from app.entities.agent_data import AgentData
|
||||||
from app.entities.processed_agent_data import ProcessedAgentData
|
from app.entities.processed_agent_data import ProcessedAgentData
|
||||||
|
|
||||||
|
_last_processed_times = {}
|
||||||
|
|
||||||
def process_agent_data(
|
def process_agent_data(
|
||||||
agent_data: AgentData,
|
agent_data: AgentData,
|
||||||
@@ -12,8 +14,22 @@ def process_agent_data(
|
|||||||
Returns:
|
Returns:
|
||||||
processed_data_batch (ProcessedAgentData): Processed data containing the classified state of the road surface and agent data.
|
processed_data_batch (ProcessedAgentData): Processed data containing the classified state of the road surface and agent data.
|
||||||
"""
|
"""
|
||||||
# Implement it
|
user_id = agent_data.user_id
|
||||||
|
|
||||||
|
curr_time = time.time()
|
||||||
|
last_processed_time = _last_processed_times.get(user_id, 0)
|
||||||
|
if curr_time - last_processed_time < 1.0:
|
||||||
|
return None
|
||||||
|
_last_processed_times[user_id] = curr_time
|
||||||
|
|
||||||
|
road_state = "normal"
|
||||||
|
|
||||||
|
if agent_data.accelerometer.z < -1.0:
|
||||||
|
road_state = "pothole"
|
||||||
|
elif agent_data.accelerometer.z > 1.0:
|
||||||
|
road_state = "bump"
|
||||||
|
|
||||||
return ProcessedAgentData(
|
return ProcessedAgentData(
|
||||||
road_state="normal",
|
road_state=road_state,
|
||||||
agent_data=agent_data
|
agent_data=agent_data
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user