12
返回列表

139

阿木币

0

精华

287 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2019-6-25 08:48:21
CC90 发表于 2019-6-25 00:34
您的意思是说dreamfly说的这种方式是apm的。而我如果是PX4固件,就必须修改pixhawk固件是么?请问应该如 ...

我来给你想办法 估计要写代码 实际测试 到时候@我

扫一扫浏览分享
我不为己,谁人为我,但我只为己,那我又是谁?
回复

使用道具 举报

dreamfly 该用户已被删除
发表于 2019-6-25 11:08:51
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0

阿木币

0

精华

5 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2019-6-25 13:15:55
本帖最后由 CC90 于 2019-6-25 13:21 编辑
amov_msq 发表于 2019-6-25 08:48
我来给你想办法 估计要写代码 实际测试 到时候@我

@amov_msq 您好。我的问题在附件中进行了详细描述。我怕图片显示不了,就提交了附件。

Amov_msq你好,由于附图太多,我将问题全部写在文档中,之后如果这个问题能够全部解决,我想把这次的项目经验写到论坛中。

最近,我正在写一个地面站,其中设计了一个控制按钮,是想让pixhawk飞控能够输出PWM波,PWM的值是1000-2000,从而控制我的舵机进行运动。我选用的pixhawk固件版本是v2,硬件是pixhawk2.4.8

我通过在mavlink官网上寻找找到了#183号指令MAV_CMD_DO_SET_SERVO
file:///C:\Users\shy\AppData\Local\Temp\ksohtml24480\wps1.jpg
图1

并且很神奇的在QGC中也找到了相关指令,也就是说这条指令可以写成mission,添加到航点中了。
file:///C:\Users\shy\AppData\Local\Temp\ksohtml24480\wps2.jpg
图2

所以说,我就开始写代码。根据官网描述#183命令有两个参数,一个是param1channal,第二个是param2PWM值。问题就主要出在这里,首先,我设置了param1 = 6param2 = 1234。我写的代码如下:
file:///C:\Users\shy\AppData\Local\Temp\ksohtml24480\wps3.jpg
图3

发送出去之后,飞控收到了消息,并进行了应答,系统的CMD_ACK消息会返回3,也就是MAV_CMD_ACK_ERR_ACCESS_DENIED也就是"系统拒绝接受来自此源/通信伙伴的此命令"的意思。至此我就不太能够解决了。我想过可能是飞控中的参数设置原因,也许哪个参数enabled使能后,就可以实现飞控的成功应答,但是找不到相应的参数。

第二次补充编辑:和Dreamfly说的一样,我将这条命令写成mission_item中去,就可以刷写到mission航点中,但是我拿出去测试的时候,发现这个servo口和pwm值始终测试不出来舵机的反应,请问#183号命令的servo参数和飞控的main output、aux output的对应关系是什么呢?



以上就是代码和问题描述。感谢阿木社区。

CC90
2019.6.25



回复

使用道具 举报

0

阿木币

0

精华

5 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2019-6-25 13:22:58
dreamfly 发表于 2019-6-25 11:08
PX4也有,但貌似只包含在mission中才解析,就是只在航线任务中起作用,直接发不解析,你可能需要自己写 ...

我确实使用mission_item可以把set_servo这个命令刷写到无人机中,但是我拿出去测试的时候,发现这个servo口和pwm值始终测试不出来舵机的反应,请问#183号命令的servo参数和飞控的main output、aux output的对应关系是什么呢?
回复

使用道具 举报

0

阿木币

0

精华

5 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2019-6-27 09:39:18
CC90 发表于 2019-6-25 13:15
@amov_msq 您好。我的问题在附件中进行了详细描述。我怕图片显示不了,就提交了附件。

Amov_msq你好,由 ...

@amov_msq
回复

使用道具 举报

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

本版积分规则

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