Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

仿真问题 #26

Open
ZhongFuJing opened this issue Dec 27, 2024 · 32 comments
Open

仿真问题 #26

ZhongFuJing opened this issue Dec 27, 2024 · 32 comments

Comments

@ZhongFuJing
Copy link

ZhongFuJing commented Dec 27, 2024

在输入代码:source devel/setup.bash && roslaunch hierarchical_coverage_planner mbs.launch后
出现以下的问题:
image
该如何解决呢?

@Chen-Albert-FENG
Copy link
Member

您好,您能否尝试更换设备试试是否仍会报错,因为在本地测试没有发现类似的问题。
类似这个issue:#13

@ZhongFuJing
Copy link
Author

ZhongFuJing commented Dec 30, 2024

您好,您能否尝试更换设备试试是否仍会报错,因为在本地测试没有发现类似的问题。 类似这个issue:#13

请问,您是在ubuntu20.04版本测试的吗。我用的是18.04版本,其中对应的boost默认版本是1.65,我下载了1.71.0。并且存在多个版本。
image
虽然之前的报错和eigen相关,但是否与boost版本有关呢。

@Chen-Albert-FENG
Copy link
Member

后续的更新都只在20.04上测试了 如果可以您能否用20.04进行测试呢? 我感觉boost和eigen应该是无关的

@ZhongFuJing
Copy link
Author

后续的更新都只在20.04上测试了 如果可以您能否用20.04进行测试呢? 我感觉boost和eigen应该是无关的

使用20.04也出现同样的问题。
image

@Chen-Albert-FENG
Copy link
Member

您好 我刚刚换了一台设备(20.04)进行了测试 目前的代码是正常的 我从终端信息看出是在初始化阶段可能和eigen有关 想问一下确认eigen只装了一个版本的吗?因为之前我没有遇到类似的问题 所以很难定位出您的问题在哪里
img_v3_02i5_7582b1a9-dd48-43a5-a1ca-eac05feef57g
img_v3_02i5_9eceb9f9-fa1a-4e17-a257-12d2dc54880g
i45dtgMevz

@ZhongFuJing
Copy link
Author

ZhongFuJing commented Jan 2, 2025

您好 我刚刚换了一台设备(20.04)进行了测试 目前的代码是正常的 我从终端信息看出是在初始化阶段可能和eigen有关 想问一下确认eigen只装了一个版本的吗?因为之前我没有遇到类似的问题 所以很难定位出您的问题在哪里 img_v3_02i5_7582b1a9-dd48-43a5-a1ca-eac05feef57g img_v3_02i5_9eceb9f9-fa1a-4e17-a257-12d2dc54880g i45dtgMevz

是的。当我使用20.04的时候eigen只装了一个版本。因为我将默认的eigen版本删除了,安装了3.4.1版本。
在编译工作空间时,我使用了以下代码:
catkin config -DCMAKE_BUILD_TYPE=Release
catkin_make --cmake-args -Wno-dev
cd src/hierarchical_coverage_planner/solution/LKH
make

刚才我直接安装eigen3.4.0版本的eigen(3.4.1并未删除,可能被覆盖了),然后将FC-Planner删除 重新下载FC-Planner使用上述代码编译,
此时运行source devel/setup.bash && roslaunch hierarchical_coverage_planner mbs.launch时,eigen版本已经变换为3.4.0,但是还是出现同样的问题:
image

使用18.04的时候也是用的上述代码编译工作空间。
在catkin_make --cmake-args -Wno-dev代码编译之后,出现一个小冲突,不知道有没有关系:
4129f3f45ea6a70d4b1eb12a1bc2c320

@Chen-Albert-FENG
Copy link
Member

具体是什么冲突呢?

@ZhongFuJing
Copy link
Author

具体是什么冲突呢?

上述回答中第二张图画横线的位置处 说可能出现冲突,我不太了解,所以问问您。

@Chen-Albert-FENG
Copy link
Member

您注意看您编译那个终端输出的note里面提示c++17对percep utils这个类的构造函数有align问题 我建议您用c++14编译 因为之前都是基于c++14进行的编译后进行的测试

@ZhongFuJing
Copy link
Author

您注意看您编译那个终端输出的note里面提示c++17对percep utils这个类的构造函数有align问题 我建议您用c++14编译 因为之前都是基于c++14进行的编译后进行的测试

用您的代码编译的环境是这样:
4500831b2add9dd096a36feeed3f6145
b3c0fb2029d9102fa968fb6be1c6a666
23be5d98910f1e837fe91bf77bc3b1d3
f4316ba9d2f26ee5e68d3bf3940e5288

然后我讲将plan_env和viewpoint_manager中的CMakeLists.txt文件进行了以下修改:
image
image

继续运行代码,结果出现了另外的问题:
10b8841157a80b75103607f092b4ff91
6cbbe68098d68138e016bce408424c3d
在hierarchical_coverage_planner中的CMakeLists.txt文件写的就是用c++14编译,我也尝试过修改为c++17,但是会报错。
image
也尝试了 使用catkin_make --cmake - args - Wno - dev - DCMAKE_CXX_STANDARD = 14 去编译工作空间,也是不行的。 请问怎么办呢?

@Chen-Albert-FENG
Copy link
Member

您好 首先肯定是要在C++14下 您最好不要修改编译环境 其次我刚刚更新了每个pkg的cmakelist用C++14编译 您可以再测试下还会不会出现之前的编译过程中报C++17 note的问题以及运行初始化的问题

@Chen-Albert-FENG
Copy link
Member

@ZhongFuJing 您那边还有问题出现吗?

@ZhongFuJing
Copy link
Author

@ZhongFuJing 您那边还有问题出现吗?

还是一样的问题,plan_env已经没有C++17 note的问题。其他的viewpoint_manager和hierarchical_coverage_planner 这两个包 还是会出现同样的C++17 note问题。
a636b154-5914-4b63-bb8f-9ecb26c2ad79
f0429c89-7b6d-44d6-94dc-3881fff9a118
58b1020c-0917-41c4-b34d-706be2be2cf3
初始化还是同样的问题:
4d8e74e1-8a17-4c0f-b982-4c1bb95a14a5

@Chen-Albert-FENG
Copy link
Member

您能查一下您那边为什么会提示C++17嘛 因为cmakelist里明确写了强行用C++14编译

@ZhongFuJing
Copy link
Author

您能查一下您那边为什么会提示C++17嘛 因为cmakelist里明确写了强行用C++14编译

是的。之前我也这样操作过,但还是会报错。

@Chen-Albert-FENG
Copy link
Member

Chen-Albert-FENG commented Jan 5, 2025

@ZhongFuJing 那您尝试在每个cmakelist中都添加一句add_compile_options(-faligned-new)试试?然后删掉build devel或者catkin clean一下重新从头编译
像这样

set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS "-std=c++14")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_compile_options(-faligned-new)

@ZhongFuJing
Copy link
Author

@ZhongFuJing 那您尝试在每个cmakelist中都添加一句add_compile_options(-faligned-new)试试?然后删掉build devel或者catkin clean一下重新从头编译 像这样

set(CMAKE_BUILD_TYPE "Release") set(CMAKE_CXX_FLAGS "-std=c++14") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall") set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_compile_options(-faligned-new)

是的,这样编译工作空间,没有出现c++17 note问题。 因为只在plan_env和viewpoint_manager和hierarchical_coverage_planner。您在plan_env中的cmakelists里增加了
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_compile_options(-faligned-new)

我以为其他两个包也加了。没有注意到这一点。现在其他两个包都添加的这样的编译规则。
但是初始化问题还是存在:
image

@Chen-Albert-FENG
Copy link
Member

您更换20.04试一下?您现在的ros melodic应该还是18.04 但我觉得很奇怪的是我不太清楚您的系统管理具体是什么样的 因为确实我测试的主机和边缘计算设备都没出现过您的问题 这样控制变量法的话有可能是您的系统内部软件或库的问题

@ZhongFuJing
Copy link
Author

这是更换20.04的结果:
93f18669-db08-4f20-8168-9bb9a870d4c9

@Chen-Albert-FENG
Copy link
Member

@ZhongFuJing 那您尝试在每个cmakelist中都添加一句add_compile_options(-faligned-new)试试?然后删掉build devel或者catkin clean一下重新从头编译 像这样
set(CMAKE_BUILD_TYPE "Release") set(CMAKE_CXX_FLAGS "-std=c++14") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall") set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_compile_options(-faligned-new)

是的,这样编译工作空间,没有出现c++17 note问题。 因为只在plan_env和viewpoint_manager和hierarchical_coverage_planner。您在plan_env中的cmakelists里增加了 set(CMAKE_CXX_STANDARD_REQUIRED ON) add_compile_options(-faligned-new)

我以为其他两个包也加了。没有注意到这一点。现在其他两个包都添加的这样的编译规则。 但是初始化问题还是存在: image

回到18.04 要不您试一下用ubuntu 18.04默认的gcc版本编译?gcc 7.4.0

@ZhongFuJing
Copy link
Author

@ZhongFuJing 那您尝试在每个cmakelist中都添加一句add_compile_options(-faligned-new)试试?然后删掉build devel或者catkin clean一下重新从头编译 像这样
set(CMAKE_BUILD_TYPE "Release") set(CMAKE_CXX_FLAGS "-std=c++14") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall") set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_compile_options(-faligned-new)

是的,这样编译工作空间,没有出现c++17 note问题。 因为只在plan_env和viewpoint_manager和hierarchical_coverage_planner。您在plan_env中的cmakelists里增加了 set(CMAKE_CXX_STANDARD_REQUIRED ON) add_compile_options(-faligned-new)
我以为其他两个包也加了。没有注意到这一点。现在其他两个包都添加的这样的编译规则。 但是初始化问题还是存在: image

回到18.04 要不您试一下用ubuntu 18.04默认的gcc版本编译?gcc 7.4.0

我的默认版本是7.5.0.
情况如下:
image

@Chen-Albert-FENG
Copy link
Member

img_v3_02i8_dd705487-308f-429f-8524-4328ba6daadg

@ZhongFuJing
Copy link
Author

今天使用20.04进行试验,出现了新的问题。
image
界面就是这样没有继续往下运行。

@Chen-Albert-FENG
Copy link
Member

img_v3_02ic_86830db7-d22e-4aff-b6fb-5e7d24058bag
您有尝试这一步吗?

@ZhongFuJing
Copy link
Author

点击2D Nav Goal和2D Pose Estimate这两个按钮之后rviz中并未出现画面,并且出现之前一样的错误:
4df64854758128e7a60b70577abfe11
4d8b7f980c3d3b7259e43816f3c273d
63916fb3f61aa7235765f34bc51c571
386c41a65160f22189b1230a5d70495

@ZhongFuJing
Copy link
Author

请问 当运行source devel/setup.bash && roslaunch hierarchical_coverage_planner rviz.launch代码之后。rviz中是否应该有模型画面,我觉得问题可能出在这。我的rviz中没有模型。

@ZhongFuJing
Copy link
Author

ZhongFuJing commented Jan 10, 2025

https://github.com/HKUST-Aerial-Robotics/FC-Planner/blob/master/FC-Planner/src/hierarchical_coverage_planner/src/hcopp.cpp#L115 改成false试一下

修改了hcopp.cpp中的115行为false 并且 重新使用catkin_make --cmake-args -Wno-dev编译工作空间。
rviz中还是没有模型出现,运行如下:
image

@Chen-Albert-FENG
Copy link
Member

https://github.com/HKUST-Aerial-Robotics/FC-Planner/blob/master/FC-Planner/src/hierarchical_coverage_planner/src/hcopp.cpp#L115 改成false试一下

修改了hcopp.cpp中的115行为false 并且 重新使用catkin_make --cmake-args -Wno-dev编译工作空间。

rviz中还是没有模型出现,运行如下:

image

请仔细阅读readme 按trigger顺序操作

@ZhongFuJing
Copy link
Author

https://github.com/HKUST-Aerial-Robotics/FC-Planner/blob/master/FC-Planner/src/hierarchical_coverage_planner/src/hcopp.cpp#L115 改成false试一下

修改了hcopp.cpp中的115行为false 并且 重新使用catkin_make --cmake-args -Wno-dev编译工作空间。
rviz中还是没有模型出现,运行如下:
image

请仔细阅读readme 按trigger顺序操作

是的,我按照相应的操作先点击2D Nav Goal,此时并未出现模型,然后点击2D Pose Estimate,直到它出现报错的时候,模型才显示出来。与之前相同的报错,让我难以理解哪个部分出现了问题:
image

@Chen-Albert-FENG
Copy link
Member

你看一下应该是问题出现在可视化的函数里 你进到stack trace提示的对应的函数里看看 是哪部分信息没有给到吗?

@ZhongFuJing
Copy link
Author

ZhongFuJing commented Jan 10, 2025

你看一下应该是问题出现在可视化的函数里 你进到stack trace提示的对应的函数里看看 是哪部分信息没有给到吗?
我使用gdb调试,出现以下问题:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants