Rocketpy: не может получить доступ к Flight.x, Flight.y, Flight.z ЗначенияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Rocketpy: не может получить доступ к Flight.x, Flight.y, Flight.z Значения

Сообщение Anonymous »

Ошибка, которую я испытываю, заключается в том, что я пытаюсь получить доступ к значениям Flight.x, Flight.y и Flight.z. Я проверил документацию, а Flight.x и Flight.z по -разному индексируются для Flight.y. Я хочу иметь возможность индексировать координаты x, y и z в определенный момент времени (17,1 секунды). Это связано с тем, что затем начнется второй этап. Сообщение: < /p>

Код: Выделить всё

KeyError: 'x'
ValueError: array must not contain infs or NaNs
< /code>
Я попытался написать сценарий, чтобы повернуть инф и NAN в ноль, но, кажется, это формат декоратора, к которому я не привык.
Вот код, который я пытался запустить , который работает до отображения (type (flight_stage1.y)) < /code>:
(вам нужно использовать файл кривой тяги в вашем каталоге!) < /p>
import math
import datetime

Env1 = Environment(latitude=67.89325597913002, longitude=21.065756056273834, elevation=300)
tomorrow = datetime.date.today() + datetime.timedelta(days=1)
Env1.set_date((tomorrow.year, tomorrow.month, tomorrow.day, 12))
Env1.set_atmospheric_model(type="Ensemble", file="GEFS")

Motor1 = SolidMotor(
thrust_source=r"...Python Modelling\Thrust curves\Motor.eng",
dry_mass=260, # kg (gross mass - propellant mass)
dry_inertia=(261.89, 261.89, 10.98),
nozzle_radius=0.23957143, # radius of the nozzle outlet in meteres
grain_number=1,
grain_density=1750,
grain_outer_radius=0.2795,
grain_initial_inner_radius=0.07985714,
grain_initial_height=2.6072,
grain_separation=0,
grains_center_of_mass_position= 1.445,
center_of_dry_mass_position=0,
nozzle_position=3.44,
burn_time=13.1,
throat_radius=0.07985714,
coordinate_system_orientation="combustion_chamber_to_nozzle",
)

# Rocket

rocket_stage1 = Rocket(
radius=0.483,
mass=555.736,
inertia=(2688.81, 2688.81, 36.97),
power_off_drag=r"...\Python Modelling\Drag curves\Motor1PowerOffDragCurve.eng",
power_on_drag=r"...\Python Modelling\Drag curves\Motor1PowerOnDragCurve.eng",
center_of_mass_without_motor=3.88, # m
coordinate_system_orientation="nose_to_tail",
)

rocket_stage1.add_motor(Motor1, position=4.893)

nose_cone = rocket_stage1.add_nose(length=2.49, kind="ogive", position=0)

fin_set_1 = rocket_stage1.add_trapezoidal_fins(
n=4,
root_chord=0.865,
tip_chord=0.302,
span=0.352,
position=3.985,
sweep_length = 0.707
)

# Defining triggers for parachutes
def drogueTrigger(p, y, x, z, already_triggered=False):
if already_triggered:
return False
if y < 0:
return True
return False
#return True if y < 0 else False  # Less than zero, so rocket is coming back down from apogee

def mainTrigger(p, y, x, z, already_triggered=False): # Extra arguments are given because trigger is passing a lot through
if already_triggered:
return False
if y < 0 and y < 1000:
return True
return False
#print(type(y))
#print(y)
#return True if y < 0 and y < 1000 else False # Parachute within 1km from ground

Main = rocket_stage1.add_parachute('Main',
cd_s=10.0,
trigger=mainTrigger,
sampling_rate=105,
lag=1.5,
noise=(0, 8.3, 0.5))

Drogue = rocket_stage1.add_parachute('Drogue',
cd_s=1.0,
trigger=drogueTrigger,
sampling_rate=105,
lag=1.5,
noise=(0, 8.3, 0.5))

# Parameters for first stage rocket flight
Flight_stage1 = Flight(rocket=rocket_stage1, environment=Env1, inclination=85, heading=0 ,verbose=True, rail_length=10)

ignition_delay = 4
tsecond_stage = RedKite.burn_duration + ignition_delay

display(type(Flight_stage1.y))
< /code>
Я ожидаю, что тип Flight_stage1.y будет указан. Я хочу иметь возможность позвонить в Flight.y (tsecond_stage) 
Например, чтобы увидеть, каково значение y в то время t = tsecond_stage .
i Чувствует, что это должно быть простым исправлением! Любая поддержка по этому поводу, которую я могу получить, будет очень оценена.

Подробнее здесь: https://stackoverflow.com/questions/794 ... t-z-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»