PX4 如何切换到offboard 模式

最近研究px4的offboard模式,如何切换到offboard模式一筹莫展,便跟踪源代码至commander module。一、 handle_command函数  从dronekit发送设定offboard模式的mavlink信息至飞控,相关命令经mavlink模块解析得到关于vehicle_command的主题。由handle_command函数中
摘要由CSDN通过智能技术生成

最近研究px4的offboard模式,如何切换到offboard模式一筹莫展,便跟踪源代码至commander module。

一、 handle_command函数

  从dronekit发送设定offboard模式的mavlink信息至飞控,相关命令经mavlink模块解析得到关于vehicle_command的主题。

def PX4setMode(mavMode): vehicle._master.mav.command_long_send(vehicle._master.target_system, vehicle._master.target_component, mavutil.mavlink.MAV_CMD_DO_SET_MODE, 0, 1, mavMode, 0, 0, 0, 0, 0)


由handle_command函数中

                                } else if (custom_main_mode == PX4_CUSTOM_MAIN_MODE_OFFBOARD) {
/* OFFBOARD */
main_ret = main_state_transition(status_local, commander_state_s::MAIN_STATE_OFFBOARD, main_state_prev, &status_flags, &internal_state);
}

相关信息要跟踪至main_state_transition。

二、main_state_transition

   main_state_transition(struct vehicle_status_s *status, main_state_t new_main_state, uint8_t &main_state_prev,
     status_flags_s *status_flags, struct commander_state_s *internal_state)
{
transition_result_t ret = TRANSITION_DENIED;


/* transition may be denied even if the same state is requested because conditions may have changed */
switch (new_main_state) {

case commander_state_s::MAIN_STATE_OFFBOARD:


/* need offboard signal */
if (!status_flags->offboard_control_signal_lost) {
ret = TRANSITION_CHANGED;
}


break;


     if (ret &

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于QGroundControl(QGC)软件的使用,可以通过遥控器进行仿真操作。下面是一些使用遥控器进行QGC仿真的步骤: 1. 首先,确保你已经安装并正确配置了QGroundControl软件。你可以从官方网站(https://qgroundcontrol.com/)下载最新版本的软件,并按照说明进行安装和设置。 2. 确保你的遥控器已经连接到计算机,并且被正确识别。你可以在计算机的设备管理器中查看遥控器是否被正确识别。 3. 打开QGroundControl软件,并通过菜单栏中的“设置(Settings)”选项进入“遥控器(Joystick)”设置页面。 4. 在“遥控器(Joystick)”设置页面中,你可以选择遥控器的类型和连接方式。选择适用于你的遥控器类型,并确保选择了正确的连接方式(例如,通过USB连接或无线连接)。 5. 在设置页面中,你可以进行校准和测试遥控器。按照软件提供的指示进行校准和测试,确保遥控器可以正确地与QGroundControl软件进行通信。 6. 一旦遥控器被成功连接和校准,你可以在QGroundControl软件中使用遥控器来模拟飞行器的操作。根据你的需求,你可以进行飞行器的控制、导航和其他操作。 请注意,具体的操作步骤可能会因为遥控器的型号和QGroundControl软件的版本而有所差异。在使用遥控器进行仿真之前,建议你参考QGroundControl软件的官方文档或者用户手册,以获取更详细的指导和说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值