Closed ljslam213 closed 1 year ago
我遇到过类似的问题,应该是软约束的通病。可以简单算一算:
当你速度限制1.5m/s时,实际速度1.65m/s,那么penalty大概是:1.65^2 - 1.5^2 = 0.4725;
当你速度限制0.15m/s时,实际速度0.30m/s,(和上面的例子一样都是相差0.15m/s),那么penalty大概是 0.3^2 - 0.15^2 = 0.0225,这个penalty很小很小了,几乎可以忽略。
所以一个可行的办法也许是,改变 Swarm-Formation/src/planner/plan_manage/config/normal_hexagon.yaml
里的权重参数:
weight_swarm : 50000.0
weight_feasibility : 10000.0 ---> 一个更大的数
weight_sqrvariance : 10000.0
这样啊,我这两天也在提高这个权重,现在把weight_feasibility <-- 700000
,把速度降低到0.19左右,基本满足要求。感谢!
作者你好,我最近在Turtlebot3burger上调试你的代码,但最大速度只有0.22。所以对你的代码修改,但输出的速度基本上都超过0.3左右。
我做的修改文件
run_in_sim.launch
72-75代码,修改如下:然后,我在
traj_server.cpp
中输出所有的速度值。下面是一次到达目标点期间,所有运行的速度值,由于结果比较多,这里给出链接。文件名第一个数字表示不同的无人机。
如果有其他可以减低输出的速度的方法,麻烦告诉我。