Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
86aae74
- separate depth was always performed even if not needed
dnsmernst Nov 28, 2019
d790ab9
- evaluate remote_ai command line switch for non scenario mode
dnsmernst Dec 1, 2019
3533dc7
- immediate manual mode added
dnsmernst Dec 14, 2019
b8290d0
- removed obsolete file
dnsmernst Dec 15, 2019
f5532b8
- removal of city ai pt. 1
dnsmernst Dec 15, 2019
cf96c5e
- added DestinationReached maneuver at end of route
dnsmernst Dec 18, 2019
31502dc
- simplification of agent controllers
dnsmernst Jan 19, 2020
ebf6246
- use PyArray_SimpleNew instead of PyArray_FromDims which was returni…
dnsmernst Jan 30, 2020
80dd486
- added turn signal handling
dnsmernst Feb 10, 2020
a987135
- corrected direction value for right turns
dnsmernst Feb 12, 2020
fde909a
- tutorial maps added
dnsmernst Feb 16, 2020
29a8661
- removed superfluous turn ban
dnsmernst Mar 11, 2020
d3d4ff1
- extended to support more than one material
dnsmernst Mar 12, 2020
f94521d
- unregister camera on clean up
dnsmernst Mar 12, 2020
30e2431
- corrected search for ai controller after controller simplification
dnsmernst Mar 13, 2020
63e1cab
- continued working on tutorial map
dnsmernst Mar 13, 2020
0e6f97c
Link to main docs
crizCraig Nov 13, 2019
6a56e49
Update LICENSE.md
crizCraig Nov 14, 2019
d441022
Fix install bindings filename in docs
crizCraig Jan 30, 2020
4b2321f
Update README.md
olivercameron Feb 1, 2020
cf399f8
Re-add geojson tools
crizCraig Feb 10, 2020
0efe69d
Only promote binaries when on master branch
crizCraig Feb 29, 2020
f0e5b7a
- enable manual driving on traffic ai controller when no road network…
dnsmernst Mar 15, 2020
bfa66e1
- tutorials improved
dnsmernst Mar 26, 2020
6f46000
- multi-agent API pt. I
dnsmernst Apr 7, 2020
f75b1ce
- added simple multi agent test map
dnsmernst Apr 7, 2020
e5aefc6
- tests added
dnsmernst Apr 7, 2020
b5ff5da
- added missing file from previous commit
dnsmernst Apr 8, 2020
10d5c79
- road links added
dnsmernst Apr 8, 2020
089b77d
- more road setup in Kevindale
dnsmernst Apr 9, 2020
b3c1dc5
- debug output improved
dnsmernst Apr 14, 2020
fe2923a
- actor event logging and replay introduced
dnsmernst Apr 21, 2020
ada1d58
- replay rate added
dnsmernst Apr 22, 2020
04b2d1e
- place player pawn behind actor on focus
dnsmernst Apr 22, 2020
a4a1db9
- decreased ToLength for cross road extraction
dnsmernst Apr 23, 2020
63db2ac
- more actor event logging
dnsmernst Apr 24, 2020
cb488d2
- filtering of events added
dnsmernst May 13, 2020
b84384c
- map update
dnsmernst Jun 4, 2020
a9ab31f
- removed actor event logging implementation from DeepDrive plugin
dnsmernst Jun 5, 2020
1f82e6c
- switching to AEL plugin
dnsmernst Jun 7, 2020
1dcf880
- switching to AEL plugin cont.
dnsmernst Jun 8, 2020
81570a7
- switching to AEL plugin cont.
dnsmernst Jun 8, 2020
5d9ad3f
- actor event logging stub added
dnsmernst Aug 3, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/cloud_ci.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def set_version(problem_def, version):
sim_url=build_results.gcs_url,
supported_problems=problem_constants.constants.SUPPORTED_PROBLEMS)

if passed_ci:
if passed_ci and branch in ['master']: # TODO: Use botleague helpers release branches
# Copy sim/release_candidates/ to sim/
copy_release_candidate_to_release()
promote_python_bindings(sim_version, commit, job)
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ Plugins/*/Binaries/*
# Plugin builds
#Plugins/DeepDriveCityPlugin/*
Plugins/DeepDriveKevindalePlugin/*
Plugins/ActorEventLogging/*

# Configuration files generated by the Editor
Saved/*
Expand Down
35 changes: 15 additions & 20 deletions Config/DefaultEngine.ini
Original file line number Diff line number Diff line change
Expand Up @@ -66,24 +66,6 @@ UIScaleRule=ShortestSide
CustomScalingRuleClass=None
UIScaleCurve=(EditorCurveData=(PreInfinityExtrap=RCCE_Constant,PostInfinityExtrap=RCCE_Constant,Keys=((Time=480.000000,Value=0.444000),(Time=720.000000,Value=0.666000),(Time=1080.000000,Value=1.000000),(Time=8640.000000,Value=8.000000)),DefaultValue=340282346638528859811704183484516925440.000000),ExternalCurve=None)

[/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/DeepDrive/Maps/DeepDriveSim_Demo.DeepDriveSim_Demo
LocalMapOptions=
TransitionMap=/Game/DeepDrive/Maps/ServerTransition.ServerTransition
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
bOffsetPlayerGamepadIds=False
GameInstanceClass=/Game/DeepDrive/Blueprints/DeepDriveSimGameInstance.DeepDriveSimGameInstance_C
GameDefaultMap=/Game/DeepDrive/Maps/DeepDriveSim_Demo.DeepDriveSim_Demo
ServerDefaultMap=/Game/DeepDrive/Maps/DeepDriveSim_Demo.DeepDriveSim_Demo
GlobalDefaultGameMode=/Game/DeepDrive/Blueprints/DeepDriveSimGameMode.DeepDriveSimGameMode_C
GlobalDefaultServerGameMode=None

;[Python]
;RelativeHome = python_libs
;RelativeZipPath = deepdrive-site-packages.zip

[/Script/IOSRuntimeSettings.IOSRuntimeSettings]
bSupportsPortraitOrientation=False
bSupportsUpsideDownOrientation=False
Expand All @@ -98,6 +80,21 @@ OcclusionPlugin=
-TargetedRHIs=GLSL_430
+TargetedRHIs=GLSL_430

[/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/DeepDrive/Maps/DeepDriveSim_Demo.DeepDriveSim_Demo
LocalMapOptions=
TransitionMap=/Game/DeepDrive/Maps/ServerTransition.ServerTransition
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
FourPlayerSplitscreenLayout=Grid
bOffsetPlayerGamepadIds=False
GameInstanceClass=/Game/DeepDrive/Blueprints/DeepDriveSimGameInstance.DeepDriveSimGameInstance_C
GameDefaultMap=/Game/DeepDrive/Maps/DeepDriveSim_Demo.DeepDriveSim_Demo
ServerDefaultMap=/Game/DeepDrive/Maps/DeepDriveSim_Demo.DeepDriveSim_Demo
GlobalDefaultGameMode=/Game/DeepDrive/Blueprints/DeepDriveSimGameMode.DeepDriveSimGameMode_C
GlobalDefaultServerGameMode=None

[/Script/Engine.PhysicsSettings]
DefaultGravityZ=-980.000000
DefaultTerminalVelocity=4000.000000
Expand Down Expand Up @@ -142,5 +139,3 @@ AsyncSceneSmoothingFactor=0.990000
InitialAverageFrameRate=0.016667
PhysXTreeRebuildRate=10
DefaultBroadphaseSettings=(bUseMBPOnClient=False,bUseMBPOnServer=False,MBPBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPNumSubdivs=2)


3 changes: 0 additions & 3 deletions Config/DefaultInput.ini
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,6 @@ DoubleClickTime=0.200000
+ActionMappings=(ActionName="Flip",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_DPad_Up)
+ActionMappings=(ActionName="PauseMenu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Gamepad_Special_Right)
+ActionMappings=(ActionName="FreeCamera",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Four)
+ActionMappings=(ActionName="ManualMode",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=M)
+ActionMappings=(ActionName="SplineMode",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=T)
+ActionMappings=(ActionName="RemoteAI",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=X)
+ActionMappings=(ActionName="DayTime",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=One)
+ActionMappings=(ActionName="DayTime",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Two)
+ActionMappings=(ActionName="DayTime",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Three)
Expand Down
2 changes: 1 addition & 1 deletion Content/Data/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.1.20191111204348
3.1.20200326084259
Binary file modified Content/DeepDrive/Blueprints/DeepDriveInputController.uasset
Binary file not shown.
Binary file modified Content/DeepDrive/Maps/DeepDriveSimCity_Demo.umap
Binary file not shown.
Binary file modified Content/DeepDrive/Maps/DeepDriveSim_Demo.umap
Binary file not shown.
Binary file modified Content/DeepDrive/Maps/DeepDriveSim_RoadOnly_Demo.umap
Binary file not shown.
Binary file modified Content/DeepDrive/Maps/Mesa.umap
Binary file not shown.
Binary file modified Content/DeepDrive/Maps/Mesa_Maik.umap
Binary file not shown.
Binary file modified Content/DeepDrive/Maps/OvertakingTestMap.umap
Binary file not shown.
Binary file modified Content/DeepDrive/Maps/SplineTestMap.umap
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added Content/DeepDrive/Materials/MI_TurnLight.uasset
Binary file not shown.
Binary file modified Content/DeepDrive/Materials/M_TrafficLight.uasset
Binary file not shown.
Binary file added Content/DeepDrive/Materials/M_TurnLight.uasset
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified Content/DeepDrive/Simulation/DeepDriveSim.uasset
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion Content/Scripts/dummy_py_actor.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ def valid_world(world):

def valid_ai_controller_name(actor):
full_name = actor.get_full_name().lower()
substrings = ['.LocalAIControllerCreator_'.lower()]
substrings = ['.TrafficAIControllerCreator_'.lower()]
for s in substrings:
if s in full_name:
return True
Expand Down
50 changes: 50 additions & 0 deletions Content/Scripts/show_map_annotations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import json
try:
import unreal_engine as ue
from unreal_engine.classes import Blueprint
from unreal_engine import FVector, FRotator
DRY_RUN = False
WORLD = ue.get_editor_world()
except ImportError:
DRY_RUN = True


with open(r'C:\Users\a\src\deepdrive-sim\Tools\deepdrive-canyons-map.json') as f:
geojson = json.load(f)

def spawn_point_marker(point, map_point_class):
if not DRY_RUN:
actor = WORLD.actor_spawn(map_point_class,
FVector(*point), FRotator(0, 0, 0))

def to_unreal(point, lift_cm):
return point[0] * 100, point[1] * 100, point[2] * 100 + lift_cm


def main():
"""
Output https://youtu.be/kqfTDl2p9ts
"""
if DRY_RUN:
right_orb = None
left_orb = None
center_orb = None
else:
right_orb = ue.load_object(Blueprint, '/Game/DeepDrive/Blueprints/MapPointRight').GeneratedClass
left_orb = ue.load_object(Blueprint, '/Game/DeepDrive/Blueprints/MapPointLeft').GeneratedClass
center_orb = ue.load_object(Blueprint, '/Game/DeepDrive/Blueprints/MapPoint').GeneratedClass
for i, lane_seg in enumerate(geojson['lanes']['features']):
center = lane_seg['geometry']['coordinates']
left = lane_seg['properties']['left_line']['geometry']['coordinates']
right = lane_seg['properties']['right_line']['geometry']['coordinates']

spawn_point_marker(to_unreal(left[0], 0), left_orb)
spawn_point_marker(to_unreal(left[1], 0), left_orb)
spawn_point_marker(to_unreal(right[0], 60), right_orb)
spawn_point_marker(to_unreal(right[1], 60), right_orb)
spawn_point_marker(to_unreal(center[0], 30), center_orb)
spawn_point_marker(to_unreal(center[1], 30), center_orb)


if __name__ == '__main__':
main()
4 changes: 4 additions & 0 deletions DeepDrive.uproject
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@
"Name": "DeepDrivePlugin",
"Enabled": true
},
{
"Name": "ActorEventLogging",
"Enabled": true
},
{
"Name": "Substance",
"Enabled": true,
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The MIT License

Copyright (c) 2016 Deepdrive (https://deepdrive.io)
Copyright (c) 2019 Voyage (https://deepdrive.voyage.auto)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 3 additions & 0 deletions Plugins/ActorEventLoggingStub/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

Binaries/*
Intermediate/*
23 changes: 23 additions & 0 deletions Plugins/ActorEventLoggingStub/ActorEventLogging.uplugin
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"FileVersion": 3,
"Version": 1,
"VersionName": "1.0",
"FriendlyName": "ActorEventLogging",
"Description": "",
"Category": "Other",
"CreatedBy": "Maik Ernst",
"CreatedByURL": "",
"DocsURL": "",
"MarketplaceURL": "",
"SupportURL": "",
"CanContainContent": true,
"IsBetaVersion": false,
"Installed": false,
"Modules": [
{
"Name": "ActorEventLogging",
"Type": "Runtime",
"LoadingPhase": "Default"
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class ActorEventLogging : ModuleRules
{
public ActorEventLogging(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

PublicIncludePaths.AddRange(
new string[] {
// ... add public include paths required here ...
}
);


PrivateIncludePaths.AddRange(
new string[] {
// ... add other private include paths required here ...
}
);


PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
// ... add other public dependencies that you statically link with here ...
}
);


PrivateDependencyModuleNames.AddRange(
new string[]
{
"CoreUObject",
"Engine",
"Slate",
"SlateCore",
"Json"
}
);


DynamicallyLoadedModuleNames.AddRange(
new string[]
{
// ... add any modules that your module loads dynamically here ...
}
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.

#include "ActorEventLogging.h"

#define LOCTEXT_NAMESPACE "FActorEventLoggingModule"

void FActorEventLoggingModule::StartupModule()
{
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
}

void FActorEventLoggingModule::ShutdownModule()
{
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading,
// we call this function before unloading the module.
}

#undef LOCTEXT_NAMESPACE

IMPLEMENT_MODULE(FActorEventLoggingModule, ActorEventLogging)
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "Modules/ModuleManager.h"

class FActorEventLoggingModule : public IModuleInterface
{
public:

/** IModuleInterface implementation */
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

#pragma once

/*
*
* Empty actor event looging macros to compile against
*
*/

#define AEL_LOG_TRANSFORM(ActorRef, Transform)

#define AEL_MESSAGE(ActorRef, Format, ...)

#define AEL_ENSURE_TICK_ORDER(ActorRef)

Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@


#pragma once

#include "CoreMinimal.h"
#include "Components/ActorComponent.h"

#include <fstream>

#include "ActorEventLoggingComponent.generated.h"


DECLARE_LOG_CATEGORY_EXTERN(LogActorEventLogger, Log, All);

struct ActorEvent;
class AActorEventLoggingManager;

UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
class ACTOREVENTLOGGING_API UActorEventLoggingComponent : public UActorComponent
{
GENERATED_BODY()

public:
// Sets default values for this component's properties
UActorEventLoggingComponent()
{ }

protected:

public:

void StartLogging(const FString &BasePath)
{ }

void StopLogging()
{ }

void BeginFrame(uint32 FrameCounter, double Timestamp)
{ }

void EndFrame(double Timestamp)
{ }

UFUNCTION(BlueprintCallable, Category = "Event Logging")
void LogMessage(const FString &Message)
{ }

UFUNCTION(BlueprintCallable, Category = "Event Logging")
void LogActorTransform(const FTransform &Transform)
{ }

void LogEvent(const ActorEvent &Event)
{ }

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Configuration)
FString ActorName = "";

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Configuration)
FString ActorDescription = "";

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Configuration)
FString ActorClassName = "";

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Configuration)
FString LogFileName = "";

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Configuration)
bool KeepTransformFixed = false;


private:
};

Loading