Ubuntu20.04 FUEL与MARSIM实验复现与协同过程记录

在这里插入图片描述

Ubuntu20.04 FUEL与MARSIM实验复现与协同过程记录

FUEL环境以及MARSIM运行

sudo apt-get install libarmadillo-dev ros-melodic-nlopt

catkin_make 报错一大片:

在这里插入图片描述

疑似PCL版本问题

在这里插入图片描述

解决

再次报错

在这里插入图片描述

sudo apt install libdw-dev

在这里插入图片描述

sudo apt-get install libglfw3-dev libglew-dev

在这里插入图片描述

开始报错点

能够看出来,都是因为OpenMP的default(none)报错

https://github.com/open-mpi/ompi/issues/3150

eigen错误直接添加目录即可。

https://blog.csdn.net/holly_Z_P_F/article/details/121238604

删除掉是不是很暴力

https://www.cnblogs.com/tao-gak567/p/18075816

尝试一下改为default(shared)或者删除,按说效果是一样的

在这里插入图片描述

在这里插入图片描述

还是不管用,修改路径后会报路径错误,说明并不是路径问题。除此之外还有too many的错误

在这里插入图片描述

set3D点是没问题的

在这里插入图片描述

打开GPU的参数

在这里插入图片描述

在这里插入图片描述

确实没有opengl_render_node

查看CMakelists,确实有生成语句

在这里插入图片描述

在这里插入图片描述

也确实生成了。

在这里插入图片描述

找到了

在这里插入图片描述

在这里插入图片描述

明明是有的

注释掉pcl,pcl仍然在,这里确实有些离谱注释掉仍然可以找到pcl_render的节点,不合逻辑

破案了,通过roscd roscd local_sensing_node/发现是~/ROS_WS/FUEL/src/FUEL/uav_simulator/local_sensing

在这里插入图片描述

source M仍然是FUEL的路径

在这里插入图片描述

source M之后FUEL一块出现,这不应该

解决方案一:功能包路径每次在bashrc中替换(麻烦)

解决方案二:每次unset环境变量,重新source M

为了避免路径混乱,查看了源码,两者的local_sensor并不相同,所以直接将M中的功能包重新命名,解决

3D point nav正常

在这里插入图片描述

在这里插入图片描述

2. FUEL运行

  source devel/setup.bash && roslaunch exploration_manager exploration.launch

出现问题

在这里插入图片描述

查看rviz的话题

仅打开第一个launch的时候,可以看到world是有的

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这两个都没有什么问题

运行第二个launch,可以看到飞机起飞,然后world坐标系丢失

在这里插入图片描述

在这里插入图片描述

robot报错

For frame [/world]: Frame [/world] does not exist

trajectory和froniter报错如下:

Points should not be empty for specified marker type.

Points should not be empty for specified marker type.

使用2D point nav 工具会报错

在这里插入图片描述

所以本质并不是world坐标系的问题。

感觉问题出在了机器人的mesh上了,与world无法转换,导致了轨迹和边界点错误

修改源码,将/world改为world,robot报错消失,无人机模型出现

在这里插入图片描述

3. FUEL探索

目前报错是边界点和执行轨迹

frontier一直有数据接收,只是数组为空,所以,这个报错应该是暂时定为未运行,轨迹同理

wait for trigger

在这里插入图片描述

根据源码状态有这些"INIT", “WAIT_TRIGGER”, “PLAN_TRAJ”, “PUB_TRAJ”, “EXEC_TRAJ”, “FINISH”

程序一直WAIT_TRIGGER

/waypoint_generator/waypoints 这个话题触发trigger

在这里插入图片描述

关键在于这个话题

在这里插入图片描述

接收goal

2D point nav 设置就是为了给这个话题发数据,发了之后,程序崩掉

在这里插入图片描述

在这里插入图片描述

这是最后的输出

能够验证,waypoints也生成成功了,但是没有处理好,所以崩掉了。因为能产生这个说明waygenerator没问题。

在这里插入图片描述

在这里插入图片描述

事实证明,触发已经触发了,边界点回调也回调了
在这里插入图片描述

问题出现的位置是312行

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

定位到了,报错的一行是169行

在这里插入图片描述

通过注释验证,是B样条代价函数的问题

在这里插入图片描述

在这里插入图片描述

手动编译安装nplot,CMakeList找不到

在这里插入图片描述

安装提示是

在这里插入图片描述

修改CMakelist指向后成功跑起来

在这里插入图片描述

跑一段距离仍然会崩

在这里插入图片描述

检查过了,边界点数据正常

在这里插入图片描述

在这里插入图片描述

报错是段错误,那么是运行时的,可能是索引超界.

根据上面的信息,一旦调用这个Kino就会报错

在这里插入图片描述

问题出现在了search的api上

在这里插入图片描述

在这里插入图片描述

主要报错原因:

Eigen::internal::throw_std_bad_alloc()

terminate called after throwing an instance of 'std::bad_alloc'

这个报错主要是因为矩阵运算超限

暴力一点,修改为定值

解决,但没有完全解决,先留着这个问题。

在这里插入图片描述

在这里插入图片描述

4. 保存地图

保存地图

在这里插入图片描述

权限问题,直接修改为有读写权限的目录,解决

在这里插入图片描述

5. FUEL与MARSIM联合仿真

指标不治本

在这里插入图片描述

这是M的setup python文件

在这里插入图片描述

这是FUEL的setup python文件

在这里插入图片描述

看来与么melodic不太相同,这个路径是累加的,当我把自己本地的路径管理器屏蔽掉,然后catkin_make,发现(FUEL)

在这里插入图片描述

说明这个catkin_make是生成路径时看当时的环境变量复制取值的.

联合成功

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moresweet猫甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值