class AutoPilot

网站作者1年前KRPC1872

AutoPilot 类用于控制飞行器的自动驾驶系统。以下是 AutoPilot 类的主要属性和方法:

属性

  • sas:布尔值,控制 SAS(Stability Assist System)的开关状态。

  • sas_modeSASMode,设置 SAS 模式。

  • target_pitch:浮点值,目标俯仰角度。

  • target_heading:浮点值,目标航向角度。

  • target_roll:浮点值,目标滚转角度。

  • engaged:布尔值,自动驾驶是否处于启用状态。

  • error:浮点值,自动驾驶器的当前误差。

  • time_to_go:浮点值,自动驾驶器完成机动所需的时间。

方法

  • engage():启用自动驾驶系统。

  • disengage():禁用自动驾驶系统。

  • hold():保持当前姿态。

  • set_pid_parameters(proportional, integral, derivative):设置自动驾驶 PID 控制器的参数。

    • proportional:浮点值,比例参数。

    • integral:浮点值,积分参数。

    • derivative:浮点值,微分参数。

import krpc

# 连接到kRPC服务器
conn = krpc.connect(name='AutoPilot Example')
space_center = conn.space_center

# 获取当前活跃飞行器
vessel = space_center.active_vessel

# 获取自动驾驶对象
autopilot = vessel.auto_pilot

# 设置目标姿态
autopilot.target_pitch = 90
autopilot.target_heading = 90
autopilot.target_roll = 0

# 启用自动驾驶
autopilot.engage()

# 设置 SAS 模式为顺行方向
autopilot.sas = True
autopilot.sas_mode = space_center.SASMode.prograde

# 设置 PID 参数
autopilot.set_pid_parameters(1.0, 0.1, 0.1)

# 打印当前误差和时间到达
print(f"Error: {autopilot.error}")
print(f"Time to go: {autopilot.time_to_go}")

# 禁用自动驾驶
autopilot.disengage()


相关文章

Flight.dynamic_pressure

在kRPC中,Flight 类的 dynamic_pressure 属性用于获取飞行器当前所承受的动态压力。动态压力是飞行器在飞行过程中由于空气动力作用产生的压力。这个属性返回一个浮点数,表示飞行器当...

CelestialBody.rotational_speed

在kRPC中,CelestialBody 类的 rotational_speed 属性用于获取天体表面赤道上的旋转速度。这个属性返回一个浮点数,表示天体赤道上旋转的线速度,以米每秒(m/s)为单位。功...

Flight.angle_of_attack

在kRPC中,Flight 类的 angle_of_attack 属性用于获取飞行器的迎角(Angle of Attack, AOA)。迎角是飞行器的机翼相对于迎面气流的角度,是飞行性能分析中的一个重...

Flight.drag

在kRPC中,Flight 类的 drag 属性用于获取飞行器当前所承受的阻力。阻力是空气动力学力的一部分,作用于飞行器,通常用来抵抗飞行器的前进。这个属性返回一个三元素的元组,表示飞行器在指定参考系...

Orbit.time_of_closest_approach(target)

在kRPC中,Orbit 类的 time_of_closest_approach 方法用于计算当前轨道和目标轨道之间的最近接触时间。这个方法返回一个浮点数,表示两个轨道之间最近接触的通用时间(UT,U...

Orbit.argument_of_periapsis

在kRPC中,Orbit 类的 argument_of_periapsis 属性用于获取飞行器轨道的近地点幅角。近地点幅角是从升交点到近地点的角度,沿着轨道平面测量。这个属性返回一个浮点数,表示轨道的...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。