52

阿木币

0

精华

216 小时

在线时间

应届白菜

Rank: 1

发表于 2020-3-26 16:04:30 12729 浏览 4 回复

[飞控嵌入式] 自定义模块的仿真

1阿木币
嗨各位,我自己在px4內写了一个外部模块,想在jmavsim中验证代码是否正确,不过我遇到一些问题想请教大家,先放上改动过的内容


cmakelist.png

首先在外部模块下添加CMakeList文件
sitl.png
在posix_sitl_default下添加编译脚本
ekf2.png
由终端机消息得知启动脚本位置


iris.png
在iris下添加启动脚本

command.png
不过在jmavsim的command中代码好像没被启动
目前用qt编译完代码了,想请问如何让jmavsim仿真添加代码的内容,我的代码是在offboard模式下执行的,心跳包的发射有添加,也有添加vehicle_command命令在代码中,不过我在qgc中切换offboard模式似乎没啥反应,想请教问题出在那?
firmware 1.8.2
px4 2.4.8
ubuntu 16.04










最佳答案

查看完整内容

Gazebo倒是用的比较多,QGC里面也可以看到对应的模型,有的时候QGC里面没有相关仿真模型,一些参数也会缺失。QGC里面有可能参数显示不全,QGC没有识别这个无人机的机型。

扫一扫浏览分享
回复

使用道具 举报

139

阿木币

0

精华

287 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2020-3-26 16:04:31
s090351118 发表于 2020-3-26 16:48
有了最后一张图片的"a"就是编队线程,不过posix-configs/SITL/init/ekf2资料夹下哪个才是jmavsim的启动脚本 ...

Gazebo倒是用的比较多,QGC里面也可以看到对应的模型,有的时候QGC里面没有相关仿真模型,一些参数也会缺失。QGC里面有可能参数显示不全,QGC没有识别这个无人机的机型。
我不为己,谁人为我,但我只为己,那我又是谁?
回复

使用道具 举报

2

阿木币

0

精华

41 小时

在线时间

老司机

Rank: 2

论坛元老

发表于 2020-3-26 16:26:37
你可以在终端下手动启动一下看看,有可能是你代码一启动就执行完毕了。
回复

使用道具 举报

3

阿木币

0

精华

183 小时

在线时间

技术大V

Rank: 4

发表于 2020-3-26 16:32:19
终端下help一下,看看都启动了哪些进程。
回复

使用道具 举报

52

阿木币

0

精华

216 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2020-3-26 16:48:41
本帖最后由 s090351118 于 2020-3-26 20:38 编辑

有了最后一张图片的"a"就是编队线程,不过posix-configs/SITL/init/ekf2资料夹下哪个才是jmavsim的启动脚本?我不确定是不是iris
2020-03-26 16-54-45 的螢幕擷圖.png
在执行的时候会显示error,这个问题是否跟守护进程有關?我cmakelist下的 stack_main為2000
我代码下的守护进程:
daemon_task = px4_task_spawn_cmd("a",
                                         SCHED_DEFAULT,
                                         SCHED_PRIORITY_MAX - 5,
                                         1000,
                                         main_control,
                                        &argv[2]);


回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表