sábado, 14 de marzo de 2009

CONFIGURANDO SIMULADOR DE MANEJO




















Este es un blog para aquellas personas que me han preguntado como configurar el simulador de vuelo de Google Earth para usarlo como simulador de manejo.

Advertencia: Al configurar el simulador para usarlo de esta forma, quedara inactivo el Avion F16, para volver a recuperar la configuracion original se deberá reinstalar Google Earth.

PASO 1

Tres Archivos de configuracion de Google Earth deberan ser modificados, los archivos se modifican manualmente, esto cambiara todos los parametros de aerodinamica, velocidad, elevación, etc del F 16 y se comportara como un vehiculo terrestre:

C:\Archivos de programa\Google\Google Earth\res\flightsim\aircraft\f16

Al abrir borraremos todo el contenido, y lo reemplazamos por el que abajo se indica en letras rojas:



%
% F-16.
%

model_name = 'F-16 Fighting Falcon'

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Minimum eyepoint distance to objects.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
d_E_min = 4

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Approach speed, power and flap setting.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
V_approach = 130
D_F_approach = .4
D_P_approach = .1

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Cruise speed, power and flap setting.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
V_cruise = 330
D_F_cruise = 0
D_P_cruise = .4

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Constants for terrain elevation filters.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
spring_e_T = 80
damper_e_T = 1.5

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Spring/damper constants for camera rotation.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Critical damping: spring = damper^2/4.
spring_vertical = 80
damper_vertical = 15
spring_horizontal = 80
damper_horizontal = 15

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Collision vertices.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
p_v = [
% Main gear.
[ -9.27 -1.18 .05 ]
[ -9.27 1.18 .05 ]
% Nose gear.
[ -5.26 0 .05 ]
% Top of vertical stabilizer.
[ -14.88 0 -5.19 ]
% A point on the belly for gear-up landings.
[ -8.4 0 -1.3 ]
% Nose
[ 0 0 -1.6 ]
% Main wingtips.
[ -10.91 -5.04 -1.75 ]
[ -10.91 5.04 -1.75 ]
% Elevator wingtips.
[ -14.19 -2.82 -1.53 ]
[ -14.19 2.82 -1.53 ]
]

% Main and nose gear (first 3 vertices) go away when gear is up.
first_fixed = 3

% Spring/damper format:
% [ C_0 C_s C_d f F_max ]
spring_damper = [
[ 5000 1000e3 200e3 .05 1600e3 ]
[ 5000 1000e3 200e3 .05 1600e3 ]
[ 3000 1000e3 200e3 .05 1600e3 ]
]

% Contact patch format:
% [ C_r_0 C_r C_b C_y K_s K_d C_max_x C_max_y b dalpha_dDR ]
contact_patch = [
[ 81 .003 64e3 6e4 180e3 100e3 .8 .5 1.4 0 ]
[ 81 .003 64e3 6e4 180e3 100e3 .8 .5 1.4 0 ]
[ 81 .003 64e3 6e4 180e3 100e3 .8 .1 1.4 .3 ]
]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Power plant.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Jet engine: power lever controls thrust.
P_max = 140e7
F_max = 18000
P_ratio_reverse = .2
P_ratio_alpha = 1.2
p_T_v = [ [ -18.5 0 -1.95 ] ]
d_T_v = [ [ 1 0 0 ] ]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Eye point.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
p_E_v = [ -4.66 0 -3.71 ]

% Reference values.

b = 9.2
c_bar = 3.45

% collision model values, leave at 1 for now.
d_ref = 1
v_ref = 1
F_ref = 1

% Mass/cm/inertia.

m = 12000

J = [
[ 12800 0 1330 ]
[ 0 57600 0 ]
[ 1330 0 85500 ]
]

% CM @ 0.35 c_bar

p_CM_v = [ -8.4 0 -1.83 ]
p_AC_v = [ -8.4 0 -1.83 ]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Aerodynamics
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Forces.
alpha_z_0_deg = -.3
dalpha_z_deg_dDF = -6
C_D_0 = 0.0188809
dC_D_dDG = .02
dC_D_dDF = .03
dC_L_dalpha_deg = .06
dC_L_dS = -1.2
C_L_max_0 = 1.1
dC_L_max_dDF = .2
d2C_D_dC_L2 = 0.264818
d2C_D_dC_Y2 = .8
dC_Y_dDR = 0
dC_Y_dbeta_deg = .008
dC_Y_dp_hat = 0
dC_Y_dr_hat = 0

% Moments.
% Pitch.
C_m_0 = 0
dC_m_dDE = .2
dC_m_dDE_T = .06
dC_m_dDF = 0
dC_m_dDG = 0
dC_m_dS = -.15
dC_m_dq_hat = -18
dC_m_dalpha_deg = -.008
d2C_m_dbeta2 = 0
% Roll.
dC_l_dDA = -.12
dC_l_dDR = -.25
dC_l_dbeta_deg = 0
dC_l_dp_hat_0 = -.15
dC_l_dr_hat_0 = 0
ddC_l_dp_hat_0_dS = 2
ddC_l_dr_hat_0_dS = 1
dC_l_dp_hat_max = .01
% Yaw.
dC_n_dDA = -.71
dC_n_dDR = .73
dC_n_dbeta_deg = 0.25
dC_n_dp_hat = 0
dC_n_dr_hat = -3



% Quadratic axis damping terms.
d2C_m_dq_hat2 = 5
d2C_l_dp_hat2 = 5
d2C_n_dr_hat2 = 1


Haremos lo mismo con los siguientes dos archivos:

C:\Archivos de programa\Google\Google Earth\res\flightsim\hud\generic

% Generic Head Up Display Config
AirSpeedX = -0.7
AirSpeedFactor = 1.94384 % 1/kt
AirSpeedY0 = 0.1
AirSpeedY1 = 0.6
AirSpeedRange = 40
AirSpeedDV = 5
AirSpeedSmallInLarge = 2
AirSpeedLargeX0 = -0.05
AirSpeedLargeX1 = 0
AirSpeedSmallX0 = -0.03
AirSpeedSmallX1 = 0
AirSpeedValueX = -0.06
AirSpeedValueTextFlags = [left middle]
AirSpeedPointerX = 0.005
AirSpeedPointerAngle = 3.14159265
AirSpeedPointerLength = 0.03

AltitudeX = 10.7
AltitudeFactor = 13.28084 % 1/ft
AltitudeY0 = 10.1
AltitudeY1 = 10.6
AltitudeRange = 3
AltitudeDV = 2
AltitudeSmallInLarge = 5
AltitudeLargeX0 = 0
AltitudeLargeX1 = 0.0005
AltitudeSmallX0 = 0
AltitudeSmallX1 = 0.0003
AltitudeValueX = 0.00006
AltitudeValueTextFlags = [right middle]
AltitudePointerX = -0.000005
AltitudePointerAngle = 0
AltitudePointerLength = 0.00003

VerticalSpeedFactor = 1.85 % min/ft
VerticalSpeedRound = 1.0
VerticalSpeedX = 10.7
VerticalSpeedY = 10.65
VerticalSpeedTextParams = [center middle]

VelocityMark =
[
.00 .00 -.03 .00
.00 .00 .03 .00
.00 .00 .00 .015
]
VelocityMinSpeed = 1

CompassSmallInLarge = 2
CompassLargeInHuge = 3
CompassTextParams = [center bottom]
CompassSmallY0 = 0.007
CompassSmallY1 = 0.006
CompassLargeY0 = 0.007
CompassLargeY1 = 0.006
CompassHugeY0 = 0.007
CompassHugeY1 = 0.006
CompassTextY = 0.006
CompassRange = 10
CompassX0 = -1.3
CompassX1 = 1.3

RollScaleHalfAngle = 160
RollScaleR = 0.004
RollScaleCenterX = 2.5
RollScaleCenterY = 2.5
RollScaleLarge = [0.3 0.6]
RollScaleSmall = [0.1 0.2 0.4]
RollScaleLargeR0 = 0
RollScaleLargeR1 = 0.005
RollScaleSmallR0 = 0
RollScaleSmallR1 = 0.0025
RollScaleTextR = 0.007
RollScaleTextParams = [center middle]
RollScaleSegments = 0.0
RollScalePointerR = 0.002
RollScalePointerL = 0.003

SkidIndicatorMark =
[
-.2 .05 .2 .05
.2 .05 .2 -.05
.2 -.05 -.2 -.05
-.2 -.05 -.2 .05
]
SkidIndicatorY = 1.332
SkidIndicatorX0 = -1.1
SkidIndicatorX1 = 1.1
SkidIndicatorMin = -3.5
SkidIndicatorMax = 3.5

PlaneMark =
[
.00 .00 .04 -.02
.00 .00 -.04 -.02
.00 .01 .04 -.02
.00 .01 -.04 -.02
]

PitchLadderDV = 9
PitchLadderSmallInLarge = 1
PitchLadderSmallMark =
[
0.001 0.0 -0.001 0.0
]
PitchLadderLargeMark =
[
0.001 0.0 -0.001 0.0
]
PitchLadderY0 = -0.001
PitchLadderY1 = 0.001
PitchLadderXOffset = 0.001
PitchLadderLetterOffset = 2.0

HUDColor = 65280
StallColor = 255
StallX = 0.7
StallY = 0.0
StallText = STALL
StallMinSpeed = 6
StallTextParams = [center bottom]
GearX = -0.9
GearY = -0.1
GearText = GEAR
GearTextParams = [center bottom]
FlapsX = -0.7
FlapsY = -0.1
FlapsText = FLAPS
FlapsTextParams = [center bottom]

HUDLineWidth = 1
HUDLineSmooth = true

ThrottleIndicatorX = -0.95
ThrottleIndicatorY0 = -0.6
ThrottleIndicatorY1 = -0.4
ThrottleIndicatorWidth = 0.02

ElevatorIndicatorX = -1.65
ElevatorIndicatorY0 = -1.6
ElevatorIndicatorY1 = -1.4
ElevatorIndicatorWidth = 1.02

AileronIndicatorY = -1.45
AileronIndicatorX0 = -1.9
AileronIndicatorX1 = -1.7
AileronIndicatorWidth = 1.02

RudderIndicatorY = -1.55
RudderIndicatorX0 = -1.9
RudderIndicatorX1 = -1.7
RudderIndicatorWidth = 1.02



C:\Archivos de programa\Google\Google Earth\res\flightsim\keyboard\generic

%
% Keyboard controls for typical PC keyboard with numeric keypad. Controls
% for a single-engine aircraft with two main wheel brakes DB_0 (left) and DB_1
% (right). Attention: Key names are uppercase only!
%
% Key names are as defined in Qt, but without the Key_ prefix. See
% http://doc.trolltech.com/3.3/qt.html#Key-enum
%
% Keys can be defined with modifiers: Shift, Control, Alt, Meta.
%
% Variable names are:
% DF, DG: Flaps, gear (0 = retracted, 1 = extended)
% DA, DE, DR: Aileron, elevator, rudder (-1..1).
% DE_T: Elevator trim (-1..1).
% DP_i: i-th power lever (counting from 0; (0..1)).
% DB_i: i-th wheel brake (counting from 0 (left brake); (0..1))
%
% Manipulators are:
% set(var, value): Set var to value.
% add(var, delta [, min, max]): Add delta to var, keep it between min
% and max if given.
% toggle(var): Set var to 0 if it's 1 or to 1 otherwise.
% toggle(var, min, max, step) Change var between min and max adding step.
%

%
% This keymapping works well on standard US keyboards with NumLock switched off
% and on reduced keyboards without the numeric keypad by providing some
% alternate mappings. Also works with most European type keyboards, as the
% only punctuation characters used are the period and comma (for brakes).
%
% The key_press list defines actions to be executed on key presses with
% an optional modifier key. For set() statements with nonzero value, the
% corresponding variable is set to zero when the key is released.
%

key_press = [
% Numeric keypad without NumLock.
Prior set(dDP_0, +0.8)
Next set(dDP_0, -0.8)
'9' set(dDP_0, +0.8)
'3' set(dDP_0, -0.8)
Right set(dDA, -0.8)
Left set(dDA, +0.8)
'6' set(dDA, -0.8)
'4' set(dDA, +0.8)
Up set(dDE, -0.8)
Down set(dDE, +0.8)
'8' set(dDE, -0.8)
'2' set(dDE, +0.8)
Insert set(dDR, -0.8)
'0' set(dDR, -0.8)
Enter set(dDR, +0.8)
Shift Left set(dDR, -0.8)
Shift Right set(dDR, +0.8)
Home set(dDE_T, -0.8)
End set(dDE_T, +0.8)
Shift Up set(dDE_T, -0.8)
Shift Down set(dDE_T, +0.8)

% 'Clear' is the 5 in the center of the keypad.
Clear set(DA, 0)
Clear set(DR, 0)
Clear set(dDA, 0)
Clear set(dDR, 0)
'5' set(DA, 0)
'5' set(DR, 0)
'5' set(dDA, 0)
'5' set(dDR, 0)


% Keys on the normal keyboard.
BracketLeft add(DF, -.2, 0, 1)
BracketRight add(DF, .2, 0, 1)
Shift F add(DF, -8, 0, 8)
F add(DF, 8, 0, 8)
Comma set(DB_0, 1)
Period set(DB_1, 1)
Q toggle(DG)
C set(DA, 0)
C set(DR, 0)

% Freeze/Pause
Space toggle(TotalFreeze)
H toggle(HUDEnabled)
H toggle(ControlsIndicationEnabled)
% Fast movement
% 10 degrees
Ctrl Up add(VAngle, +0.174533)
Ctrl Down add(VAngle, -0.174533)
% 45 degrees
Ctrl Left add(HAngle, -0.785398)
Ctrl Right add(HAngle, +0.785398)
% Slow movement
Alt Up set(dVAngle, +0.1)
Alt Down set(dVAngle, -0.1)
Alt Left set(dHAngle, -0.1)
Alt Right set(dHAngle, +0.1)
V set(HAngle, 0)
V set(VAngle, 0)
V set(dHAngle, 0)
V set(dVAngle, 0)
]


Listo, ahora nuestro F16 funcionará como todo un autobus o tractocamion, pero para aumentar el realismo, utilizaremos una superposicion de imagen que simule una cabina, para ello sigamos el paso 2

PASO 2

Descargaremos el siguiente programa:

http://freegeographytools.com/upfiles/ScreenOverlayMaker.zip

Descargaremos alguna de las siguientes imagenes, para la cabina a elegir:

IRIZAR PB












AUTOBUS SCANIA












VOLVO TRUCK












KENWORTH T 2000












Ejecutamos el programa Screen Overlay Maker:


1.-SELECT OVERLAY GRAPHIC FILE: Seleccionamos el archivo .png de la cabina que hayamos descargado.

2.-PRESET POSITION: Center

3.-SAVE AS: Seleccionamos un nombre para el archivo kml el cual abriremos desde Google Earth















PASO 3

Abriremos google earth, e iremos a la posicion desde la cual queremos iniciar.

Antes de iniciar el vuelo, abriremos el archivo kml de nuestra cabina: Archivo/Abrir/cabina.kml

El archivo se guardara en Lugares Temporales, para evitar abrir el archivo cada que iniciemos google earth lo arrastraremos a Mis Lugares

Se debe iniciar el simulador seleccionando Herramientas/Entrar al simulador de vuelo o Ctrl+Alt+A y seleccionamos F 16 y Vista Actual, iniciemos solo cuando ya tenemos nuestra posicion a una altura cercana al suelo, de lo contrario empezariamos el viaje en el aire con una configuracion terrestre, lo cual nos estrellaría casi de inmediato.

Al iniciar el Simulador, seleccionamos Ver/Barra Lateral, ya que las imagenes de las cabinas estan configuradas para trabajar con la barra lateral, esto nos beneficia al tener una imagen menos distorcionada de los caminos y por supuesto una velocidad mayor de descarga de imagenes.

















Ahora si, dispongamonos a iniciar nuestro recorrido.

CONTROLES DE OPERACION

Repag Acelerar
Avpag Desacelerar y Reversa
0 (cero teclado numerico) Vuelta a la izquierda
Intro (teclado numerico) Vuelta a la derecha
5 (teclado numerico) Centrar direccion
,(coma) Freno rueda izquierda
.(punto) Freno rueda derecha
,.(coma y punto) Frenar ambas ruedas
F Freno de motor
Shift + F Quitar freno de motor
4(teclado numerico) Vuelta a izquierda ligera (solo para altas velocidades)
5(teclado numerico) Vuelta a la derecha ligera (solo para altas velocidades)
Barra espaciadora Pausa


RECOMENDACIONES

Algunos lugares de EUA por ejemplo tienen muy definido el relieve del terreno, por lo que se dificulta la navegacion pues el terreno esta muy accidentado, para ello, dependiendo de la region que escojamos para viajar, en el menu Herramientas/Opciones/Vista 3D/Exagerar Elevacion y ahi escogemos de 0.3 a 0.5, por ejemplo en una zona montañosa es mas facil navegar en 0.3 para que sea mas realista el paisaje y no tan inclinado el camino.











Podemos seleccionar entre otras cosas viajar de dia o de noche con el menu Ver/Atmosfera, o bien en la Capa Tiempo seleccionamos Nubes y veremos en el horizonte la nubosidad en tiempo real.
























Al iniciar el simulador, con Alt+Flecha abajo, inclinamos la vista a nuestro gusto para que la imagen de la cabina no nos impida ver parte del camino.













Es posible voltearse al tomar una curva a una velocidad inadecuada, esto lo hace mas realista, en caso de que te suceda, te saldra un mensaje "Tu avion se ha estrellado" debes salir del simulador de vuelo pues si seleccionas Reanudar vuelo iniciaras desde el aire.

Con "H" borramos el HUD el cual esta configurado para solo mostrarnos la Velocidad, la escala de aceleracion, así como la posición central.

La velocidad esta indicada en Millas Nauticas, para conocer la velocidad en Km/h multiplicamos las millas nauticas por 1.85, por ejemplo 54 millas equivalen a 100 km/h, la velocidad maxima es de 130 km/h pero esta varía dependiendo de la altitud, pues a nivel del mar se puede alcanzar un poco mas de velocidad.