Git Product home page Git Product logo

ros2 / cartographer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cartographer-project/cartographer

68.0 68.0 29.0 5.82 MB

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.

License: Apache License 2.0

CMake 1.59% C++ 95.65% C 0.03% Lua 0.57% Shell 0.63% Python 0.39% Starlark 0.99% XSLT 0.09% Batchfile 0.04%

cartographer's Introduction

About

The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source. Full project details on ROS.org

Getting Started

Looking to get started with ROS? Our installation guide is here. Once you've installed ROS start by learning some basic concepts and take a look at our beginner tutorials.

Join the ROS Community

Community Resources

Developer Resources

Project Resources

ROS is made possible through the generous support of open source contributors and the non-profit Open Source Robotics Foundation (OSRF). Tax deductible donations to the OSRF can be made here.

cartographer's People

Contributors

at-wat avatar brandon-northcutt avatar catskul avatar clalancette avatar codearno avatar damienrg avatar damonkohler avatar danielsievers avatar drigz avatar facontidavide avatar gaschler avatar jihoonl avatar jkammerl avatar jspricke avatar klwkbin avatar macmason avatar mbokeloh avatar michaelgrupp avatar mofef avatar ojura avatar pifon2a avatar schwoere avatar sebastianklose avatar sirver avatar sotnik-github avatar spielawa avatar stevewolter avatar wjwwood avatar wohe avatar zjwoody avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cartographer's Issues

Cartographer does not compile against ROS2

I have been attempting to compile Cartographer against ROS 2: Dashing on Arch Linux, but receive the below error messages. I understand that ROS 2 is not officially supported (shown by the reliance on rviz rather than rviz2 etc., but also in the install instructions), however I have not been able to find any reasoning online about this lack of support or progress towards support in the future. My confusion was further confounded by the presence of cartographer in the ros2 Github repository. Please may I ask if there is a way of using Cartographer with ROS 2? Is it only possible through use of the ROS 1 bridge? And if so, how can I contribute to documenting this usage?

[catkin_ws]$ rosdep install --from-paths src --ignore-src --rosdistro=dashing -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
cartographer_ros_msgs: Cannot locate rosdep definition for [message_runtime]
cartographer: No definition of [lua5.2-dev] for OS [arch]
ceres-solver: No definition of [libgoogle-glog-dev] for OS [arch]
cartographer_rviz: Cannot locate rosdep definition for [rviz]
cartographer_ros: Cannot locate rosdep definition for [rosunit]

(message_runtime, rviz, rosunit are all ROS1 packages, which is why the install fails.)

cartographer won't build using colcon build - proto3 can't be parsed on Ubuntu 16.04

I'm trying to build cartographer on Ubuntu 16.04 this using colcon and it's failing with this error:

turtlebot@turtlebot:~/cartographer_ws$ colcon build --symlink-install
Starting >>> cartographer
Starting >>> cartographer_ros_msgs
Starting >>> pcl_conversions
Finished <<< pcl_conversions [0.88s]                                
--- stderr: cartographer                                            
cartographer/mapping_3d/scan_matching/proto/ceres_scan_matcher_options.proto:15:10: Unrecognized syntax identifier "proto3".  This parser only recognizes "proto2".
make[2]: *** [cartographer/mapping_3d/scan_matching/proto/ceres_scan_matcher_options.pb.cc] Error 1
make[2]: *** Waiting for unfinished jobs....
cartographer/ground_truth/proto/relations.proto:15:10: Unrecognized syntax identifier "proto3".  This parser only recognizes "proto2".
make[2]: *** [cartographer/ground_truth/proto/relations.pb.cc] Error 1
make[1]: *** [CMakeFiles/cartographer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
---
Failed   <<< cartographer	[ Exited with code 2 ]
Aborted  <<< cartographer_ros_msgs
                                
Summary: 1 package finished [1.64s]
  1 package failed: cartographer
  1 package aborted: cartographer_ros_msgs
  1 package had stderr output: cartographer
  1 package not processed
turtlebot@turtlebot:~/cartographer_ws$ 

I'll try to work around it by building a new version of protobuf from source, but I wanted to file an issue as I don't know if this package is being supported on Ubuntu 16.04 or not and would like to know. If it is, what is the recommended solution for building it?

ros launch

I used the launcher's launch file on ros2 foxy, but prompted the following error
1651736137(1)

1651736085(1)

Build Failed: Cartographer on branch ros2 ros-foxy with colcon

I was trying to get cartographer for ros2 on my system, but the build fails to give some errors, also I do not know about them much so here is my error log

--- stderr: cartographer                                         
/usr/bin/ld: CMakeFiles//usrcartographer.mapping.pose_graph_test.dir//bincartographer//ldmapping:/ pose_graph_test.cc.oCMakeFiles:/ cartographer.sensor.internal.voxel_filter_test.dirundefined/ cartographerreference/ sensorto/ internalsymbol/ voxel_filter_test.cc.o':_ZN7testing4TestC2Ev 'undefined
 /referenceusr /tobin /symbolld :' _ZN7testing4TestC2Ev/'home
//shivamusr//common_pkgsbin//googletest_2ld/:lib //libgtest.sohome:/ shivamerror/ common_pkgsadding/ googletest_2symbols/:lib /DSOlibgtest.so :missing  errorfrom  addingcommand  symbolsline:
 DSO missing from command line
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/build.make:97: cartographer.sensor.internal.voxel_filter_test] Error 1
make[1]: *** [CMakeFiles/Makefile2:303: CMakeFiles/cartographer.sensor.internal.voxel_filter_test.dir/all] Error 2
make[2]: *** [CMakeFiles/cartographer.mapping.pose_graph_test.dir/build.make:97: cartographer.mapping.pose_graph_test] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:331: CMakeFiles/cartographer.mapping.pose_graph_test.dir/all] Error 2
/usr/bin/ld: CMakeFiles/cartographer.transform.transform_test.dir/cartographer/transform/transform_test.cc.o: undefined reference to symbol '_ZN7testing8internal24FormatMatcherDescriptionEbPKcRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EE'
/usr/bin/ld: /home/shivam/common_pkgs/googletest_2/lib/libgmock.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/cartographer.transform.transform_test.dir/build.make:97: cartographer.transform.transform_test] Error 1
make[1]: *** [CMakeFiles/Makefile2:247: CMakeFiles/cartographer.transform.transform_test.dir/all] Error 2
/usr/bin/ld: CMakeFiles/cartographer.mapping.3d.range_data_inserter_3d_test.dir/cartographer/mapping/3d/range_data_inserter_3d_test.cc.o: undefined reference to symbol '_ZN7testing4TestC2Ev'
/usr/bin/ld: /home/shivam/common_pkgs/googletest_2/lib/libgtest.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/cartographer.mapping.3d.range_data_inserter_3d_test.dir/build.make:97: cartographer.mapping.3d.range_data_inserter_3d_test] Error 1
make[1]: *** [CMakeFiles/Makefile2:359: CMakeFiles/cartographer.mapping.3d.range_data_inserter_3d_test.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
---
Failed   <<< cartographer	[ Exited with code 2 ]

The build was succeeding for tag 2.1.0 but that is not compatible with cartographer_ros

ros version:-

foxy

install type:-

source

OS:-

Ubuntu 20.04

build with the command:-

colcon build --symlink-install --packages-up-to cartographer

arm64 Foxy build failing

This package has been bloomed into Foxy, but the arm64 build is failing

Latest build as of this reporting: http://build.ros2.org/view/Fbin_ubv8_uFv8/job/Fbin_ubv8_uFv8__cartographer__ubuntu_focal_arm64__binary/13/

It appears to fail because libceres-dev is not present on Focal on arm64. I've reported the issue with it

Opening the report to track that information.

Undefined behavior in grid2D --> cartographer crashes frequently

Seeing a regular crash in cartographer (every 30-60 seconds) when compiling with an alternate compiler (e.g. LLVM), this makes it very difficult to actually map a room.

The crash occurs in Submap2D::Finish(), which calls grid_ComputeCroppedGrid() which calls common::make_unique, as part of this call, one of the standard libs is doing a release and delete of a derived class

It appears to be a case of UB as described in https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP52-CPP.+Do+not+delete+a+polymorphic+object+without+a+virtual+destructor

I confirmed the crash no longer occurs when fixing the UB by adding a default virtual destructor to Grid2D()

Requested submap X from trajectory Y but it does not exist

Hello!

I'm having problem when trying to run cartographer to do mapping. The TF tree is already correct (i suppose, because it shows exactly like the robot manual), but I can't seem to see the map on RVIZ, and got the below error.

Requested submap 6 from trajectory 0 but it does not exist: maybe it has been trimmed. [ERROR] [1597908538.919817917, 1597869816.582156400]: E0820 19:28:58.000000 6169 map_builder_bridge.cc:175] Requested submap 6 from trajectory 0 but it does not exist: maybe it has been trimmed.

Do you have any idea about what this error means?

Thank you for your help!

No ros2 package installed found after cartograher installation from source

Hi, i've installed this cartographer package from source but then i can't find it in the list of packages neither run the node.

Here there are the steps for reproducibility:
cd my_ws/src
git clone --branch foxy https://github.com/ros2/cartographer
cd ..
source /opt/ros/foxy/setup.bash
source install/setup.bash
colcon build

Obviously after that i've sourced again
source install/setup.bash

node arguments not set

Hello,

I try to start cartographer in a launch.py file. I set the parameters for configuration_dir and -basename, but on startup cartographer gives me an error that the arguments are missing, what am I doing wrong?

[cartographer_node-1] F0725 18:46:28.791841 2041 node_main.cc:91] Check failed: !FLAGS_configuration_directory.empty() -configuration_directory is missing. [cartographer_node-1] *** Check failure stack trace: *** [cartographer_node-1] @ 0x7f3252a3f1c3 google::LogMessage::Fail() [cartographer_node-1] @ 0x7f3252a4425b google::LogMessage::SendToLog() [cartographer_node-1] @ 0x7f3252a3eebf google::LogMessage::Flush() [cartographer_node-1] @ 0x7f3252a3f6ef google::LogMessageFatal::~LogMessageFatal() [cartographer_node-1] @ 0x557414ec78ff (unknown) [cartographer_node-1] @ 0x7f3251f9b083 __libc_start_main [cartographer_node-1] @ 0x557414ec9aae (unknown) [ERROR] [cartographer_node-1]: process has died [pid 2041, exit code -6, cmd '/opt/ros/foxy/lib/cartographer_ros/cartographer_node --ros-args -r __node:=cartographer --params-file /tmp/launch_params_1359tugn'].

`
from launch_ros.actions import Node

def generate_launch_description():
return LaunchDescription([
Node(
package='cartographer_ros',
executable='cartographer_node',
name='cartographer',
parameters=[{
"configuration_directory": '/home/steve/carto_mapper',
"configuration_basename": 'x4.lua',
}]
),
Node(
package='cartographer_ros',
executable='occupancy_grid_node',
name='grid',
parameters=[{
"resolution": 0.05,
"publish_period_sec": 1.0,
}]
),
])`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.