主要内容

连接NSH终端进行调试

介绍如何使用NSH终端调试Pixhawk Series控制器。

部署使用UAV Toolbox Support Package for PX4®autopilot创建的模万博1manbetx型后,可以使用NSH终端调试Pixhawk Series控制器。

NSH通过MAVLink访问。因此,请确保已通过USB方式启用MAVLink(详细操作请参见PX4 Over USB启用MAVLink

注意:如果启用MAVLink over USB (/dev/ttyACM0),则不能使用External模式over USB。您可以选择任何其他串口(例如/dev/ttyS6)以External模式运行Simulink模型。万博1manbetx然而,在这种情况下,您可能需要额外的串行到USB转换器。

从MATLAB访问NSH

UAV Toolbox 万博1manbetxSupport Package for PX4 autopilot提供了一个预先定义的类名为HelperPX4帮助您访问NSH并执行某些操作。

在主机上找到PX4 Autopilot当前连接的串口,并创建一个HelperPX4反对访问NSH。例如:

shellObj = HelperPX4(“COM9”);

此处以COM9值为例。修改为实际的主机串口。

HelperPX4类提供发送NSH命令和获取响应的不同方法。

系统方法帮助您向NSH发送命令并获得shell响应。查看下面可用NSH命令的列表系统方法,使用帮助命令:

[shellResp, status] = shellObj.system('帮助')

status值为1表示执行成功。

如果侦听器命令中列出,可以在系统方法来监听任何uORB主题。例如:

[shellResp, status] = shellObj。系统('listener vehicle_status')

getFile方法帮助您获取故障日志或安装在PX4 Autopilot目标上的SD卡中的任何其他文件,而无需从目标中移除SD卡。执行此操作(对于故障日志):

1.使用系统方法查看SD卡上的故障日志列表:

shellObj。系统('ls /fs/microsd')

2.观察日志列表,并决定要将哪个日志文件复制到主机上。获取文件到主机计算机使用getFile方法。例如:

shellObj.getFile (' / fs / microsd / fault_2019_10_24_10_49_04.log ');

提示:你可以使用getFile方法编辑已复制到SD卡上的启动脚本rc.txt(关于rc.txt的详细信息,请参见从SD卡上启动PX4系统.在这种情况下,您还可以使用putFile方法将修改后的启动脚本复制回SD卡。

完成所有更改后,可以删除HelperPX4创建的对象:

删除(shellObj);

使用QGroundControl (QGC)访问NSH

若使用QGroundControl (QGC)访问NSH,请参阅这个链接