发表于 2019-7-20 14:10:27
44741 浏览 10 回复
[控制算法]
关于修改px4姿态控制器的问题
1 阿木币
自己设计的姿态控制器想在pixhawk上做测试,但是由于环境以及运算能力的问题,自己的姿态控制器只能在计算机上跑;
因此想通过串口通信将pix的imu数据传到电脑,再将生成的姿态指令由计算机传输到pix上;
现在遇到的问题是,我将px4原来的串级pid姿控用上述方式搬到计算机上,结果是发散的。
我测试的串口通信频率在250hz左右,想问一下:
1、是不是因为串口通信延时导致姿控器吃不住;
2、有没有其他的比较好的方法来进行测试。
最佳答案
查看完整内容
哦哦哦 那你试试mavros吧 也许可以。。。我当时没花太多时间去调 随便飞了一下 炸了就没往下调bug了
就用actuator那个话题和mavlink消息
扫一扫浏览分享
发表于 2019-7-20 14:10:28
哦哦哦 那你试试mavros吧 也许可以。。。我当时没花太多时间去调 随便飞了一下 炸了就没往下调bug了
就用actuator那个话题和mavlink消息
// 【发布】底层控制量(Mx My Mz 及 F) [0][1][2][3]分别对应 roll pitch yaw控制量 及 油门推力 注意 这里是NED系的!!
// 本话题要发送至飞控(通过Mavros功能包 /plugins/actuator_control.cpp发送), 对应Mavlink消息为SET_ACTUATOR_CONTROL_TARGET, 对应的飞控中的uORB消息为actuator_controls.msg
actuator_setpoint_pub = command_nh.advertise<mavros_msgs::ActuatorControl>("/mavros/actuator_control", 10); 复制代码
发表于 2019-7-21 00:05:27
我也试过 发散了。应该是通信的问题。
但我认识的另一个人说他做到了,并且还用的是无线的方式通讯,我很费解。
发表于 2019-7-22 10:21:02
如果这里的串口通讯是有线链接,那么就只能通过模型更新姿态,毕竟不能连着通讯线飞,而且都有模型了也就没必要用pix了。所以这里应该是用无线连接 直接飞飞机 验证控制。那主要就是通讯的延时 和软件的延时了,比如matlab的时间跟实际运行的时间是不一样的 。 From 阿木社区种子用户注册体验群 by zing. 供参考。
楼主|
发表于 2019-7-22 12:33:18
多谢多谢。请问还有其他的什么方法吗?我又试了一下把控制器放进板子里,然后把堆栈调大后编译没问题,但是运行时貌似内存溢出了,蓝灯一直常量着,也连不上地面站。
楼主|
发表于 2019-7-22 12:33:35
发表于 2019-7-22 23:47:48
你就是想修改姿态控制器吗?直接PX4里面改啊 我就是这么做的
楼主|
发表于 2019-7-23 10:52:10
对的,但是我是训练了个神经网络,想用它做姿态控制,pixhawk跑不动神经网络...
楼主|
发表于 2019-7-23 14:17:35
发表于 2019-9-23 22:33:37
那个,请问make px4fmu-v5_default的时候,会不会把更改的姿态控制器给覆盖掉啊。。毕竟要执行git clone