Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
T
torcs_dl
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
autonomousdriving
torcs_dl
Commits
7b75a741
Commit
7b75a741
authored
Jul 25, 2018
by
Svetlana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Corrected SteeringRecord model and updated DriverController
parent
474a5f6c
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
25 additions
and
31 deletions
+25
-31
TorcsEMAMGenerator/src/main/models/dp/Mastercomponent.emadl
TorcsEMAMGenerator/src/main/models/dp/Mastercomponent.emadl
+3
-4
TorcsEMAMGenerator/src/main/models/dp/subcomponents/Commands.struct
...enerator/src/main/models/dp/subcomponents/Commands.struct
+0
-7
TorcsEMAMGenerator/src/main/models/dp/subcomponents/Drivercontroller.emadl
...r/src/main/models/dp/subcomponents/Drivercontroller.emadl
+19
-17
TorcsEMAMGenerator/src/main/models/dp/subcomponents/SteeringBuffer.emadl
...tor/src/main/models/dp/subcomponents/SteeringBuffer.emadl
+3
-3
No files found.
TorcsEMAMGenerator/src/main/models/dp/Mastercomponent.emadl
View file @
7b75a741
...
@@ -11,7 +11,7 @@ component Mastercomponent {
...
@@ -11,7 +11,7 @@ component Mastercomponent {
instance
Drivercontroller
driverController
;
instance
Drivercontroller
driverController
;
instance
Unnormalizer
unnorm
;
instance
Unnormalizer
unnorm
;
//
instance
KFMastercomponent
kfm
;
//
instance
KFMastercomponent
kfm
;
instance
AngleBuffer
angle
Buffer
;
instance
SteeringBuffer
steering
Buffer
;
connect
imageIn
->
dpnet
.
data
;
connect
imageIn
->
dpnet
.
data
;
connect
dpnet
.
predictions
->
unnorm
.
normalizedPredictions
;
connect
dpnet
.
predictions
->
unnorm
.
normalizedPredictions
;
...
@@ -19,10 +19,9 @@ component Mastercomponent {
...
@@ -19,10 +19,9 @@ component Mastercomponent {
//
connect
un
.
affordance
->
kfm
.
predictions
;
//
connect
un
.
affordance
->
kfm
.
predictions
;
//
connect
kfm
.
predictionsSmoothed
->
driverController
.
affordanceIn
;
//
connect
kfm
.
predictionsSmoothed
->
driverController
.
affordanceIn
;
connect
unnorm
.
affordance
->
angleBuffer
.
inputAffordance
;
connect
unnorm
.
affordance
->
driverController
.
affordanceIn
;
connect
unnorm
.
affordance
->
driverController
.
affordanceIn
;
connect
angleBuffer
.
outputBuffer
->
driverController
.
anglesIn
;
connect
steeringBuffer
.
outputBuffer
->
driverController
.
steeringRecordIn
;
connect
speedIn
->
driverController
.
speedIn
;
connect
speedIn
->
driverController
.
speedIn
;
connect
driverController
.
commandsOut
->
commandsOut
;
connect
driverController
.
commandsOut
->
commandsOut
;
connect
driverController
.
steerCmd
->
steeringBuffer
.
inSteerCmd
;
}
}
\ No newline at end of file
TorcsEMAMGenerator/src/main/models/dp/subcomponents/Commands.struct
deleted
100644 → 0
View file @
474a5f6c
package
dp
.
subcomponents
;
struct
Commands
{
Q
(
0
:
1
)
acceleration
;
Q
(
0
:
1
)
brake
;
Q
(-
1
:
1
)
steering
;
}
TorcsEMAMGenerator/src/main/models/dp/subcomponents/Drivercontroller.emadl
View file @
7b75a741
...
@@ -2,21 +2,26 @@ package dp.subcomponents;
...
@@ -2,21 +2,26 @@ package dp.subcomponents;
component
Drivercontroller
{
component
Drivercontroller
{
ports
ports
in
Q
^{
5
}
angles
In
,
in
Q
^{
5
}
steeringRecord
In
,
in
Affordance
affordanceIn
,
in
Affordance
affordanceIn
,
in
Q
(
0
m
/
s
:
0.1
m
/
s
:
100
m
/
s
)
speedIn
,
in
Q
(
0
m
/
s
:
0.1
m
/
s
:
100
m
/
s
)
speedIn
,
out
Q
(-
1
:
1
)^{
3
}
commandsOut
;
out
Q
(-
1
:
1
)^{
3
}
commandsOut
,
//
[
accelCmd
,
steerCmd
,
brakeCmd
]
out
Q
steerCmd
;
implementation
Math
{
implementation
Math
{
Q
roadWidth
=
8
;
Q
roadWidth
=
8
;
Q
centerLine
;
//
Acceleration
Q
coeSteer
=
1.0
;
Q
slowDown
=
100
;
Q
preML
;
Q
preMR
;
Q
desiredSpeed
;
Q
slowDown
=
100
;
//
Acceleration
if
(
affordanceIn
.
distMM
<
15
)
if
(
affordanceIn
.
distMM
<
15
)
Q
vMax
=
20
;
Q
vMax
=
20
;
Q
vC
=
2.772
;
Q
vC
=
2.772
;
Q
vD
=
-
0.693
;
Q
vD
=
-
0.693
;
//
optimal
velocity
car
-
following
model
slowDown
=
vMax
*
(
1
-
exp
(-(
vC
/
vMax
)
*
affordanceIn
.
distMM
-
vD
));
slowDown
=
vMax
*
(
1
-
exp
(-(
vC
/
vMax
)
*
affordanceIn
.
distMM
-
vD
));
if
(
slowDown
<
0
)
if
(
slowDown
<
0
)
...
@@ -24,10 +29,6 @@ component Drivercontroller {
...
@@ -24,10 +29,6 @@ component Drivercontroller {
end
end
end
end
Q
centerLine
;
Q
coeSteer
;
Q
preML
;
Q
preMR
;
if
(-
affordanceIn
.
toMarkingML
+
affordanceIn
.
toMarkingMR
<
5.5
)
if
(-
affordanceIn
.
toMarkingML
+
affordanceIn
.
toMarkingMR
<
5.5
)
coeSteer
=
1.5
;
coeSteer
=
1.5
;
centerLine
=
(
affordanceIn
.
toMarkingML
+
affordanceIn
.
toMarkingMR
)
/
2
;
centerLine
=
(
affordanceIn
.
toMarkingML
+
affordanceIn
.
toMarkingMR
)
/
2
;
...
@@ -47,16 +48,17 @@ component Drivercontroller {
...
@@ -47,16 +48,17 @@ component Drivercontroller {
Q
steerCmd
=
0
;
Q
steerCmd
=
0
;
//
steering
control
,
"shared->steerCmd"
[-
1
,
1
]
is
the
value
sent
back
to
TORCS
//
steering
control
,
"shared->steerCmd"
[-
1
,
1
]
is
the
value
sent
back
to
TORCS
steerCmd
=
(
affordanceIn
.
angle
-
centerLine
/
roadWidth
)
/
0.541052
/
coeSteer
;
steerCmd
=
(
affordanceIn
.
angle
-
centerLine
/
roadWidth
)
/
0.541052
/
coeSteer
;
if
(
coeSteer
>
1
&&
steerCmd
>
0.1
)
//
reshape
the
steering
control
curve
if
(
coeSteer
>
1
&&
steerCmd
>
0.1
)
//
reshape
the
steering
control
curve
steerCmd
=
steerCmd
*
(
2.5
*
steerCmd
+
0.75
);
steerCmd
=
steerCmd
*
(
2.5
*
steerCmd
+
0.75
);
end
end
commandsOut
(
2
)
=
steerCmd
;
commandsOut
(
2
)
=
steerCmd
;
Q
desiredSpeed
=
20
;
desiredSpeed
=
20
;
//
if
(
affordanceIn
.
fast
!= 1)
if
(
affordanceIn
.
fast
!= 1)
//
desiredSpeed
=
20
-
abs
(
anglesIn
(
0
)
+
anglesIn
(
1
)
+
anglesIn
(
2
)
+
anglesIn
(
3
)
+
angles
In
(
4
))
*
4.5
;
desiredSpeed
=
20
-
abs
(
steeringRecordIn
(
0
)
+
steeringRecordIn
(
1
)
+
steeringRecordIn
(
2
)
+
steeringRecordIn
(
3
)
+
steeringRecord
In
(
4
))
*
4.5
;
//
end
end
if
(
desiredSpeed
<
10
)
if
(
desiredSpeed
<
10
)
desiredSpeed
=
10
;
desiredSpeed
=
10
;
...
@@ -75,15 +77,15 @@ component Drivercontroller {
...
@@ -75,15 +77,15 @@ component Drivercontroller {
end
end
commandsOut
(
1
)
=
accelCmd
;
commandsOut
(
1
)
=
accelCmd
;
commandsOut
(
3
)
=
0
;
commandsOut
(
3
)
=
0
;
//
brakeCmd
else
else
Q
brakeCmd
=
0.1
*
(
speedIn
-
desiredSpeed
);
Q
brakeCmd
=
0.1
*
(
speedIn
-
desiredSpeed
);
if
(
brakeCmd
>
1
)
if
(
brakeCmd
>
1
)
commandsOut
(
3
)
=
1
;
brakeCmd
=
1
;
end
end
commandsOut
(
3
)
=
brakeCmd
;
commandsOut
(
3
)
=
brakeCmd
;
commandsOut
(
1
)
=
0
;
commandsOut
(
1
)
=
0
;
//
accelCmd
end
end
}
}
}
}
\ No newline at end of file
TorcsEMAMGenerator/src/main/models/dp/subcomponents/
Angle
Buffer.emadl
→
TorcsEMAMGenerator/src/main/models/dp/subcomponents/
Steering
Buffer.emadl
View file @
7b75a741
package
dp
.
subcomponents
;
package
dp
.
subcomponents
;
component
Angle
Buffer
{
component
Steering
Buffer
{
ports
in
Affordance
inputAffordance
,
ports
in
Q
inSteerCmd
,
out
Q
^{
5
}
outputBuffer
;
out
Q
^{
5
}
outputBuffer
;
implementation
Math
{
implementation
Math
{
...
@@ -11,7 +11,7 @@ component AngleBuffer {
...
@@ -11,7 +11,7 @@ component AngleBuffer {
buffer
(
4
)
=
buffer
(
3
);
buffer
(
4
)
=
buffer
(
3
);
buffer
(
3
)
=
buffer
(
2
);
buffer
(
3
)
=
buffer
(
2
);
buffer
(
2
)
=
buffer
(
1
);
buffer
(
2
)
=
buffer
(
1
);
buffer
(
1
)
=
in
putAffordance
.
angle
;
buffer
(
1
)
=
in
SteerCmd
;
outputBuffer
(
1
)
=
buffer
(
1
);
outputBuffer
(
1
)
=
buffer
(
1
);
outputBuffer
(
2
)
=
buffer
(
2
);
outputBuffer
(
2
)
=
buffer
(
2
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment