ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
google激光雷达slam算法Cartographer的安装及bag包demo测试
-
大佬,我编译通过了
但是不管是运行第七步还是从网上抄的launch文件和lua脚本,都报错
提示
[cartographer_node-1] process has died [pid 16193, exit code -6, cmd /home/sz/google_ws/devel/lib/cartographer_ros/cartographer_node -configuration_directory /home/sz/google_ws/src/cartographer_ros/cartographer_ros/configuration_files -configuration_basename rplidar.lua scan:=scan __name:=cartographer_node __log:=/home/sz/.ros/log/c8f855ba-aab6-11e9-97f1-00e25c683b11/cartographer_node-1.log].
log file: /home/sz/.ros/log/c8f855ba-aab6-11e9-97f1-00e25c683b11/cartographer_node-1*.log
是不是我cartographer_ros编译的信息里有个变量没有编译成功。但是编译是完成了,是不是那个变量出了问题。 -
@名流丶乐乐 [cartographer_offline_node-4] process has died [pid 14131, exit code -6, cmd /home/ros/guge/devel/lib/cartographer_ros/cartographer_offline_node -configuration_directory /home/ros/guge/src/cartographer_ros/cartographer_ros/configuration_files -configuration_basenames backpack_2d.lua -urdf_filenames /home/ros/guge/src/cartographer_ros/cartographer_ros/urdf/backpack_2d.urdf -bag_filenames /home/ros/Desktop/cartographer_paper_deutsches_museum.bag echoes:=horizontal_laser_2d __name:=cartographer_offline_node __log:=/home/ros/.ros/log/13d46552-abf1-11e9-8aa7-c4d987c6450d/cartographer_offline_node-4.log].
log file: /home/ros/.ros/log/13d46552-abf1-11e9-8aa7-c4d987c6450d/cartographer_offline_node-4*.log
这是运行2ddome演示的错误 -
@名流丶乐乐 贴完整错误内容,软件源要和教程一样用的是蓝鲸github仓库的
-
@xia软件源该用那个,我没找到。应该怎么怎么弄
-
@名流丶乐乐 https://github.com/BlueWhaleRobot/cartographer.git
https://github.com/BlueWhaleRobot/cartographer_ros.git -
你好,我在安装cartographer_ros,使用catkin_make的时候报错
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_workspace.cmake:95 (message):
This workspace contains non-catkin packages in it, and catkin cannot build
a non-homogeneous workspace without isolation. Try the
‘catkin_make_isolated’ command instead.
Call Stack (most recent call first):
CMakeLists.txt:67 (catkin_workspace)
然后使用catkin_make_isolated编译之后,使用roslaunch cartographer_ros demo_xiaoqiang_3d.launch会显示
RLException: [demo_xiaoqiang_3d.launch] is neither a launch file in package [cartographer_ros] nor is [cartographer_ros] a launch file name
The traceback for the exception was written to the log file
不知道该如何解决,希望大佬能给予解答 -
@Griffin-MX 错误提示工作空间存在非catkin 包文件夹,找到这个包,然后删除。cartographer和cartographer_ros都需要安装蓝鲸github版本
-
请问有人使用过cartographer_rosbag_validate这个工具吗?cartographer的环境我是按照这篇文章配的。按理说,应该source 自己的工作空间就可以使用这个工具才,但是,我执行“cartographer_rosbag_validate -bag_filename /home/cubot/ROS/catkin_ws_cartographer/bag/b3-2016-04-05-14-14-00.bag”这个命令的时候报错:“cartographer_rosbag_validate: command not found”。有大佬可以帮忙看一下吗?
-
@zhouyi 用rosrun方式启动
rosrun cartographer_ros cartographer_rosbag_validate -bag_filename /home/cubot/ROS/catkin_ws_cartographer/bag/b3-2016-04-05-14-14-00.bag
-
@xiaoqiang 谢谢您啦
-
@xiaoqiang 在 google激光雷达slam算法Cartographer的安装及bag包demo测试 中说:
4.安装cartographer
这一步的编译总是报虚拟内存不够的错,已经开到20G了,现在编译卡死中。
有没有别的方法能绕过去?如果完全按照官方的方式安装cartographer 能兼容小强的demo 吗?
谢谢。 -
@山中客 虚拟内存指的是RAM运存,你的20g是硬盘容量,两者不是一个东西。 编译时,在指令后面加 -j 1 参数减小运存的消耗量
-
@frank 确实是并行的job 过多导致编译时内存占用过大。
如果make -j不指定参数,默认是不限制job数,即能并行多少就并行多少。
-j [jobs], --jobs[=jobs]
Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simultaneously. -
大佬求助,我在执行完第八步以后,出现了如下报错,但是目录下却生成了pgm和yaml文件,不知道有没有问题?
================================================================================REQUIRED process [cartographer_assets_writer-1] has died!
process has finished cleanly
log file: /home/starskabi/.ros/log/4d9f46d4-bf3d-11ea-8f3f-d8cb8a5b2081/cartographer_assets_writer-1*.log
Initiating shutdown! -
编译cartographer的时候报这个
MakeFiles/cartographer_compute_relations_metrics.dir/cartographer/ground_truth/compute_relations_metrics_main.cc.o:在函数‘cartographer::ground_truth::(anonymous namespace)::Run(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool, bool)’中:
compute_relations_metrics_main.cc:(.text+0xb76):对‘google::protobuf::Message::ParseFromIstream(std::istream*)’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::Relation::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const’中:
relations.pb.cc:(.text+0xd2):对‘google::protobuf::internal::proto3_preserve_unknown’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::GroundTruth::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const’中:
relations.pb.cc:(.text+0x14b):对‘google::protobuf::internal::proto3_preserve_unknown’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘protobuf_cartographer_2fground_5ftruth_2fproto_2frelations_2eproto::AddDescriptorsImpl()’中:
relations.pb.cc:(.text+0x1e9):对‘google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void ()(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&))’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘protobuf_cartographer_2fground_5ftruth_2fproto_2frelations_2eproto::protobuf_AssignDescriptors()’中:
relations.pb.cc:(.text+0x47f):对‘google::protobuf::internal::AssignDescriptors(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, google::protobuf::internal::MigrationSchema const, google::protobuf::Message const* const*, unsigned int const*, google::protobuf::Metadata*, google::protobuf::EnumDescriptor const**, google::protobuf::ServiceDescriptor const**)’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::Relation::InternalSerializeWithCachedSizesToArray(bool, unsigned char*) const’中:
relations.pb.cc:(.text+0x19a9):对‘google::protobuf::internal::proto3_preserve_unknown’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::GroundTruth::InternalSerializeWithCachedSizesToArray(bool, unsigned char*) const’中:
relations.pb.cc:(.text+0x1a42):对‘google::protobuf::internal::proto3_preserve_unknown’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::Relation::ByteSizeLong() const’中:
relations.pb.cc:(.text+0x1b23):对‘google::protobuf::internal::proto3_preserve_unknown_’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::GroundTruth::ByteSizeLong() const’中:
relations.pb.cc:(.text+0x1bd3):对‘google::protobuf::internal::proto3_preserve_unknown_’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::Relation::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const’中:
relations.pb.cc:(.text+0xe9):对‘google::protobuf::internal::WireFormat::SerializeUnknownFields(google::protobuf::UnknownFieldSet const&, google::protobuf::io::CodedOutputStream*)’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::GroundTruth::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const’中:
relations.pb.cc:(.text+0x166):对‘google::protobuf::internal::WireFormat::SerializeUnknownFields(google::protobuf::UnknownFieldSet const&, google::protobuf::io::CodedOutputStream*)’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘protobuf_cartographer_2fground_5ftruth_2fproto_2frelations_2eproto::protobuf_RegisterTypes(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’中:
relations.pb.cc:(.text+0x2ba):对‘google::protobuf::internal::RegisterAllTypes(google::protobuf::Metadata const*, int)’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::Relation::InternalSerializeWithCachedSizesToArray(bool, unsigned char*) const’中:
relations.pb.cc:(.text+0x19bb):对‘google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*)’未定义的引用
libcartographer.a(relations.pb.cc.o):在函数‘cartographer::ground_truth::proto::GroundTruth::InternalSerializeWithCachedSizesToArray(bool, unsigned char*) const’中:
relations.pb.cc:(.text+0x1a5d):对‘google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*)’未定义的引用 -
@kc 依赖的prtobuf 3.0 没有安装好
-
@星之卡比 我也遇到了相同的问题:
I0817 18:24:19.258977 30025 assets_writer.cc:254] Processed 93.2024 of 360.611 bag time seconds... I0817 18:24:29.984477 30025 assets_writer.cc:254] Processed 124.264 of 360.611 bag time seconds... I0817 18:24:41.377332 30025 assets_writer.cc:254] Processed 155.434 of 360.611 bag time seconds... I0817 18:25:01.028228 30025 assets_writer.cc:254] Processed 186.442 of 360.611 bag time seconds... I0817 18:25:19.001085 30025 assets_writer.cc:254] Processed 217.277 of 360.611 bag time seconds... I0817 18:25:32.988505 30025 assets_writer.cc:254] Processed 248.321 of 360.611 bag time seconds... I0817 18:25:41.931903 30025 assets_writer.cc:254] Processed 279.383 of 360.611 bag time seconds... I0817 18:25:52.892603 30025 assets_writer.cc:254] Processed 310.487 of 360.611 bag time seconds... I0817 18:26:06.210233 30025 assets_writer.cc:254] Processed 341.633 of 360.611 bag time seconds... ================================================================================REQUIRED process [cartographer_assets_writer-2] has died! process has finished cleanly log file: /home/ds16v2/.ros/log/33c91c28-ff45-11eb-aff9-a0c589ac1e85/cartographer_assets_writer-2*.log Initiating shutdown! ================================================================================ [cartographer_assets_writer-2] killing on exit [rosout-1] killing on exit [master] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done
希望有大佬能够指导一下。
-
@jacob-lee 这个不是问题,是正常结束输出。
-
roslaunch cartographer_ros cartographer_ros/launch/offline_backpack_2d.launch bag_filenames:=${HOME}/catkin_ws/src/cartographer_paper_deutsches_museum.bag
RLException: [cartographer_ros/launch/offline_backpack_2d.launch] is neither a launch file in package [cartographer_ros] nor is [cartographer_ros] a launch file name
The traceback for the exception was written to the log file
这是什么问题啊 -
@蓝胖子 没找到对应的launch文件,检查ros包launch文件夹内是否有这些launch文件,同时检查是否source了ros工作空间