MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Связь механики и параметров телеметрии

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Связь механики и параметров телеметрии

Сообщение yarockiisergei » 04 янв 2015, 11:46

Добрый день, ребят подскажите где почитать или давайте по рассуждаем привязку параметров игры и железо( движки стойки поворот платформы)
yarockiisergei
Зашел на огонёк
 
Сообщения: 5
Зарегистрирован: 21 дек 2014, 20:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Re: Связь механики и параметров телеметрии

Сообщение yarockiisergei » 04 янв 2015, 12:36

На примере игры dirt.
Ale привел структуру udp пакета:

Для начала типы данных и их размер в байтах:
- byte - 1
- word - 2
- unsigned - 4
- integer - 4
- float - 4

Структура пакета OutSim взята мной от сюда
http://brunsware.de/insim/structOutSimPack.html
Оси координат расположены следующим образом:
Ось X - поперек машины - горизонтальная
Ось Y - вдоль машины - горизонтальная
Ось Z - вертикальная ось

OutSim

Далее привожу смещение в буфере пакета и данные, находящиеся в этом месте
0х0000 - unsigned Time - время в милисекундах
0x0004 - float AngVelX - угловая скороть по оси X
0x0008 - float AngVelY - угловая скороть по оси Y
0x000C - float AngVelZ - угловая скороть по оси Z
0x0010 - float Heading - угол поворота вокруг оси Z в радианах против часовой стрелки
0x0014 - float Pitch - угол поворота вокруг оси X в радианах против часовой стрелки
0x0018 - float Roll - угол поворота вокруг оси Y в радианах против часовой стрелки
0x001C -float AccelX - ускорение вдоль оси X (поперечное)
0x0020 - float AccelY - ускорение вдоль оси Y (продольное)
0x0024 - float AccelZ - ускорение вдоль оси Z (вертикальное)
0x0028 - float VelX - скорость вдоль оси X (в метрах в секунду)
0x002С - float VelY - скорость вдоль оси Y (в метрах в секунду)
0x0030 - float VelZ - скорость вдоль оси Z (в метрах в секунду)
0x0034 - unsigned PosX - координата X (при делении на 65536 получим метры)
0x0038 - unsigned PosY - координата Y (при делении на 65536 получим метры)
0x003С - unsigned PosZ - координата Z (при делении на 65536 получим метры)
0x0040 - integer ID - идентификатор пакета (опционально)

Структура данных, передаваемых Dirt в режиме extradata=1 взята мной отсюда:
http://lfsforum.net/showthread.php?t=73997

Dirt2 extradata=1

0x0000 - float time elapsed in seconds (since sending these packets started, not the race!)
0x0004 - float laptime in seconds
0x0008 - float position on track in metres from the start/finish line
0x000C - float race progress, this - laps = lap progress
0x0010 - float world-Y position in metres
0x0014 - float world-Z position in metres
0x0018 - float world-X position in metres
0x001C - float actual velocity in m/s
0x0020 - float world-Y velocity in m/s
0x0024 - float world-Z velocity in m/s
0x0028 - float world-X velocity in m/s

0x002C - float ?
0x0030 - float ? roll *
0x0034 - float ?

0x0038 - float ?
0x003C - float ? pitch *
0x0040 - float ?

0x0044 - float ? suspension travel front left?? *
0x0048 - float ? suspension travel front right?? *
0x004C - float ? suspension travel rear left?? *
0x0050 - float ? suspension travel rear right?? *

0x0054 - float ?
0x0058 - float ?
0x005C - float ?
0x0060 - float ?

0x0064 - float velocity rear left wheel in m/s
0x0068 - float velocity rear right wheel in m/s
0x006C - float velocity front left wheel in m/s
0x0070 - float velocity front right wheel in m/s
0x0074 - float throttle 0 to 1
0x0078 - float steering in quarter turns (90°), -1.0 = 90° to the left, 1.0 = 90° to the right
0x007C - float brakes 0 to 1
0x0080 - float clutch
0x0084 - float gear 0 Neutral, 9 Reverse, forwards speeds counting from 1
0x0088 - float lateral acceleration in g
0x008C - float longitudinal acceleration in g
0x0090 - float lap counting from 0 (first lap = 0)
0x0094 - float RPM

Пакет я тоже расправил все действительно так.
Подскажите если моя платформа симулятор может вращаться на 180 градусов к какому параметру ее привязать?
yarockiisergei
Зашел на огонёк
 
Сообщения: 5
Зарегистрирован: 21 дек 2014, 20:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Re: Связь механики и параметров телеметрии

Сообщение Ale » 04 янв 2015, 12:54

yarockiisergei писал(а):Подскажите если моя платформа симулятор может вращаться на 180 градусов к какому параметру ее привязать?

Ну естественно к углу поворота относительно вертикальной оси.
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь


Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 16

x

#{title}

#{text}