|
发表于 2020-3-26 16:04:30
12729 浏览 4 回复
[飞控嵌入式]
自定义模块的仿真
1阿木币
嗨各位,我自己在px4內写了一个外部模块,想在jmavsim中验证代码是否正确,不过我遇到一些问题想请教大家,先放上改动过的内容
首先在外部模块下添加CMakeList文件
在posix_sitl_default下添加编译脚本
由终端机消息得知启动脚本位置
在iris下添加启动脚本
不过在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没有识别这个无人机的机型。
扫一扫浏览分享
|
|
|
|
|
|
|
Gazebo倒是用的比较多,QGC里面也可以看到对应的模型,有的时候QGC里面没有相关仿真模型,一些参数也会缺失。QGC里面有可能参数显示不全,QGC没有识别这个无人机的机型。 |
|
我不为己,谁人为我,但我只为己,那我又是谁?
|
|
|
|
|
|
发表于 2020-3-26 16:26:37
你可以在终端下手动启动一下看看,有可能是你代码一启动就执行完毕了。 |
|
|
|
|
|
|
|
发表于 2020-3-26 16:32:19
|
|
|
|
|
|
|
楼主|
发表于 2020-3-26 16:48:41
本帖最后由 s090351118 于 2020-3-26 20:38 编辑
有了最后一张图片的"a"就是编队线程,不过posix-configs/SITL/init/ekf2资料夹下哪个才是jmavsim的启动脚本?我不确定是不是iris
在执行的时候会显示error,这个问题是否跟守护进程有關?我cmakelist下的 stack_main為2000
我代码下的守护进程:
daemon_task = px4_task_spawn_cmd("a",
SCHED_DEFAULT,
SCHED_PRIORITY_MAX - 5,
1000,
main_control,
&argv[2]);
|
|
|
|
|
|
|
|