Example .dcd File
The following shows the architecture of a .dcd file and all the options you can set for a .dcd file. It contains options, logic, and general rules that you must follow when creating a .dcd file.
[MDI_HEADER]
FILE_NAME = filename.dcd
FILE_TYPE = 'dcd'
FILE_VERSION = 1.0 FILE_FORMAT = 'ASCII'
(COMMENTS)
{comment_string}
'Any comment'
[UNITS]
LENGTH = 'meter' || 'millimeter' || 'centimeter' || 'kilometer' || etc.
FORCE = 'newton' || 'kilogram_force' || etc. ANGLE = 'deg' MASS = 'kg'
TIME = 'sec'
[CLOSED_LOOP]
comment = string
steering_control = 'none' || 'curvature' || 'path' || 'lat_acc' speed_control = 'none' || 'lon_vel' || 'lon_acc' || 'lat_acc' || 'path'
ordinal = 'distance' || 'time'
lon_vel_max = float
lon_vel_min = float
lon_acc_max = float
lon_acc_min = float
lat_acc_max = float
lat_acc_min = float
(DATA)
$ steering, speed
$ 1 Case{none, none} -- null case, no data required!!
$ 2 Case{none, lon_vel}
$ 3 Case{none, lon_acc}
$ 4 Case{none, lat_acc} -- NOT VALID
$ 5 Case{none, path} -- NOT VALID
{ ( distance || time ) && ( lon_vel || lon_acc ) }
$ 6 Case{curvature, none} -- Must have distance with curvature
{ distance && curvature }
$ 7 Case{curvature, lon_vel}
$ 8 Case{curvature, lon_acc}
$ 9 Case{curvature, lat_acc}
$10 Case{curvature, path} -- NOT VALID
{ ( distance || time ) && curvature && ( lon_vel || lon_acc
|| lat_acc ) }
$11 Case{path, none}
$12 Case{path, lon_vel}
$13 Case{path, lon_acc}
$14 Case{path, lat_acc}
{ x && y && ( lon_vel || lon_acc || lat_acc ) }
$15 Case{path, path}
{ x && y && time }
$16 Case{lat_acc, none} -- NOT VALID
$17 Case{lat_acc, lon_vel}
$18 Case{lat_acc, lon_acc}
$19 Case{lat_acc, lat_acc} -- NOT VALID
$20 Case{lat_acc, path} -- NOT VALID
{ ( distance || time ) && lat_acc && ( lon_vel || lat_acc ) }
[OPEN_LOOP]
ordinal = 'time' || 'distance'
{distance || time steering throttle brake gear clutch}*
0.0 0.0 0.0 0.0 2 0.0
0.1 0.0 0.0 0.0 2 0.0
*You can select distance or time and any combination of steering, throttle, brake, gear, and clutch
.Example corresponding to $ 2 Case{none,lon_vel}:
.....
[CLOSED_LOOP]
STEERING_CONTROL = 'NONE'
SPEED_CONTROL = 'LON_VEL'
ORDINAL = 'TIME'
(DATA)
{ TIME, LON_VEL }
0.0 27.777
0.1 27.777
0.2 27.776
0.3 27.775
0.4 27.774
0.5 27.773
.....
Example corresponding to $ 7 Case{curvature,lon_vel}:
.....
[CLOSED_LOOP]
STEERING_CONTROL = 'CURVATURE'
SPEED_CONTROL = 'LON_VEL'
ORDINAL = 'DISTANCE'
(DATA)
{ DISTANCE, CURVATURE, LON_VEL }
0.0 0.000 27.777
1.0 0.002 27.777
2.0 0.004 27.777
3.0 0.006 27.776
4.0 0.008 27.775
5.0 0.010 27.774
6.0 0.010 27.773
7.0 0.010 27.774
8.0 0.010 27.774
9.0 0.010 27.774
10.0 0.010 27.774
11.0 0.010 27.774
12.0 0.010 27.774
13.0 0.010 27.774
.....