关于无人船动力分配的问题

QUT_HXY 2024-01-14 21:07:40

要做无人船的轨迹跟踪任务,使用PX4做控制。从rover_pos_control的代码往前查,发现最后调用了这段动力分配的代码

void ControlAllocationPseudoInverse::allocate()
{
	//Compute new gains if needed
	updatePseudoInverse();

	_prev_actuator_sp = _actuator_sp;
	// Allocate
	_actuator_sp = _actuator_trim + _mix * (_control_sp - _control_trim);


}

 按照无人船的动力分配公式(f1,f2是对应电机推力,T是偏航力矩,f是油门,B是两个电机的距离):

 在sitl仿真时,发现_mix中数据如下:

给我的感觉 _mix中存在默认的参数,负责做动力分配,但是我没找到这个默认参数在哪,我以为是在地面站中进行设置,不知道对不对,在PX4源码中怎么做无人船的动力分配呢。还有就是在1.14.0往后好像下述文件夹mixer就没了,这部分该怎么处理?

 

 

 

...全文
625 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
DA_SHEN_06 2024-01-29
  • 打赏
  • 举报
回复

你好,我最近也在用px4做无人船,目前px4貌似只支持桨舵和差速类型的船。如果加上艏侧推或者其他类型的推进方式不知道怎么修改,控制分配部分的代码是不是要重写。

超维空间科技 2024-01-15
  • 打赏
  • 举报
回复

无人船的控制分配是固定的,就是不用的船型根据机型就已经在固件里写死了,不像无人机是可以通过CA参数动态调整的

QUT_HXY 2024-01-15
  • 举报
回复
@超维空间科技 我要想改,就要新加一个机型文件吗
超维空间科技 2024-01-15
  • 举报
回复
@QUT_HXY 这个要改CA部分,我近期会出个教程
QUT_HXY 2024-01-15
  • 举报
回复
@超维空间科技 好滴,感谢
内容概要:本文深入研究了基于共识的捆绑算法(CBBA)在多智能体系统中的多任务分配问题,聚焦于远程太空船交会与维修的相对接近操作(RPO)规划任务。通过Matlab代码实现,系统地展示了CBBA算法如何在分布式、去中心化的多智能体架构中实现高效的任务分配共识,有效解决任务冲突与资源竞争问题。研究详细建模并仿真验证了算法的通信机制、任务打包策略以及共识迭代过程,结合航天工程实际应用场景,体现了CBBA在复杂空间任务中的高鲁棒性与可扩展性。; 适合人群:具备控制理论、多智能体系统、航天器轨道动力学或分布式优化背景的研究生、科研人员,以及从事空间在轨服务、无人机集群、无人船协同等分布式决策系统开发的工程师。; 使用场景及目标:①深入理解并实现多智能体协同任务分配的核心算法CBBA;②应用于航天器编队飞行、卫星集群维护、无人机/无人船协同作业等需要自主分布式决策的实际场景;③为复杂空间任务如RPO、空间碎片清除、在轨加注等提供可靠的算法支持与仿真验证平台; 阅读建议:建议读者结合提供的Matlab代码进行仿真实验,细致分析CBBA的消息传递流程与收敛特性,并尝试将其拓展至动态任务插入、通信延迟或带宽受限等更贴近实际的复杂环境,以深化对分布式协同机制的理解与应用能力。

9,137

社区成员

发帖
与我相关
我的任务
社区描述
超维空间科技交流学习社区
无人机开源 技术论坛(原bbs) 江苏省·南京市
社区管理员
  • 超维空间科技
  • 超维空间—南京分维
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

每天晚上9点前的提问当天解答,9点后的提问第二天解答

提问前请先搜索以前的贴子,以免重复提问

试试用AI创作助手写篇文章吧