Git Product home page Git Product logo

cartographer_ros'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_ros's People

Contributors

alireza-hosseini avatar bochen87 avatar clalancette avatar damienrg avatar damonkohler avatar fprott avatar gaschler avatar imstevenpmwork avatar jihoonl avatar mgladkova avatar michaelgrupp avatar mikaelarguedas avatar mohamedsayed18 avatar ojura avatar pifon2a avatar rohbotics avatar schwoere avatar sebastianklose avatar sirver avatar skohlbr avatar sloretz avatar spielawa avatar stribor14 avatar tfoote avatar thiagodefreitas avatar wohe avatar wolfv avatar yutakaoka avatar zhenzhenxiang 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  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_ros's Issues

How to convert pbstream to a ros map?

In ROS1,we could save ros map through

rosrun cartographer_ros cartographer_pbstream_to_ros_map -pbstream_filename=xxx.pbstream  -map_filestem=xxx

I did not find cartographer_pbstream_to_ros_map here

How to save ros map in ROS2?

Thanks in advance

tracked_pose (geometry_msgs/PoseStamped) gives wrong values compared to trajectory_query (cartographer_ros_msgs/TrajectoryQuery)

Hi, I'm reading tracked_pose topic (publish_tracked_pose is set to true) and gets very unstable and completely wrong values however when i use a service trajectory_query to read the pose values, these values are quite stable and correct and also i see the trajectory in rviz to be correctly mapped from trajectory_node_list. Could you anyone help why the tracked_pose topic is giving wrong values? Is there something i could be doing wrong?
Thanks

Launch files for ros2

Have the launch files for ros2 not yet been updated? The launch files in cartographer_ros/launch are for ros1. How can I launch for ros2?

Memory access violation crash

System Info

Operating System:
Windows 10

ROS Version:
Humble Hawksbill

cartographer commit hash:
2ce33a65bd4e41e3bf5af92c9275354ce7921c70

cartographer_ros commit hash:
098e6bf

Issue

cartographer_node crashes while attempting to publish the submap list. Following the error, it appears to originate at line 229 of map_builder_bridge.cpp when the map_builder_->pose_graph()->GetAllSubmapPoses() object goes out of scope and is deleted. The node runs fine until LiDAR data is received and the submap list is no longer empty.

Console output:

[ERROR] [cartographer_node.EXE-2]: process has died [pid 39184, exit code 3221226356, cmd 'D:\ros2_humble\dev\cartographer_ros\install\lib\cartographer_ros\cartographer_node.EXE -configuration_directory D:\ros2_humble\dev\cartographer_ros\install\share\cartographer_ros/configuration_files -configuration_basename backpack_2d.lua --ros-args --params-file C:\Users\ISAACP~1.ADM\AppData\Local\Temp\launch_params_aqfmr0g4 -r echoes:=horizontal_laser_2d'].

The crash first happened in a release build using a custom lua configuration, however I am able to reproduce on builds with debug symbols included using a ros2-converted bag of the museum data and the demo_backpack_2d.launch.py launch file.

Full crash dump with debug symbols is too large to attach but I have it available.

occupancy_grid_node can't subscribe large topic in real time

I use ros2-dashing and cartographer_ros-dashing to test google's demo_backpack_2d.launch. At the beginning, the map can update Immediately. After a while, the submap is large, the map can not update Immediately, the Occupancy grid Node still publish "/map" topic. But the /map topic's time stamp never changes. It means the subscriber don't work.
Screenshot from 2019-09-23 16-45-31

I notice that when Occupancy grid Node use 100% CPU, this phenomenon will happen
Screenshot from 2019-09-23 16-42-45

In ROS1, don't have this problem.

I test this in my computer, which has i7-6820HQ CPU. My launch file, configuration file and CMakeLists file is in
https://github.com/ccy89/cartographer_ros.git

cartographer_node does not publish Poses

The cartographer_node only publishes the location of the robot relative to the map as a Transform, and does not publish the robot position as geometry_msgs.msg.PoseWithCovariance. It would be nice to have it as a pose for purposes of navigation and/or sensor fusion.

Update for Eloquent

This repo currently doesn't build with the latest ROS2 master / Eloquent branches. Can someone update?

About grpc on cartographer_ros

System Info


Operating System:
Ubuntu 22.04

ROS Version:
Dashing ROS2

Issue


Can we use cartographer_grpc_node and cartographer_grpc_offline_node on cartographer_ros?

Here are some to-do projects below. So I wonder whether we can deploy two above nodes or not.

Thank you.

image

map brokes when quick move/rotate the lidar. transformation or tuning problem?

Hi, first of all thank you for sharing this project.
I am new in ROS2 and sorry for my mistakes, this is my first issue. My version is Foxy.
I am trying to do 3D slam

I followed this guide to install cartographer_ros in ROS2: https://guni91.wordpress.com/2020/12/05/cartographer-ros2-installation/
so these should be my versions: cartographer_ros branch dashing and cartographer branch foxy
I am working with an Ouster Lidar OS0-128

i can't run cartographer_rosbag_validate because it is only for ros1.(is it correct?)

my urdf file: https://github.com/wilselby/diy_driverless_car_ROS/blob/master/rover_2dnav/cartographer_ros/urdf/os1_sensor.urdf

this is my launch file: https://github.com/cate1717/cartographer_ros/blob/main/cartographer.launch.py where i add some lines to load the urdf file.

BUT in the rqt_graph, the transformations aren't send to the cartographer node
image

this is my backpack_3d.lua: https://github.com/cate1717/cartographer_ros/blob/main/backpack_3d.lua

with this dataset: https://drive.google.com/drive/folders/1ZqiZDbiObESI5qC7hx3p4mEWRAAnZsK7?usp=sharing if I move the laser slow i obtain this result:
image

the problem is that when i move/rotate faster or with not slow changes of directions, the map will be built in a wrong way (it rotate,overlapped,) for examples like this:
image

i ve already read the documentation, algorithm and tuning methodology.(also tried tuning first 2d slam)
so is this a problem with the urdf file and trasformation, or it is a problem about parameters tuning? in this case, anyone has some suggestion?
thank you in advance

How to tell the cartographer_occupancy_grid_node to chart for only one trajectory?

The story begins that one day I attempt to control the charting procedure of the Cartographer. I would like to control when to begin the mapping work and when to stop. For example, the robot draws a good map for my first floor. Now, it is going to the second floor from the elevator. I would like to tell the robot to stop the mapping work. After it goes out from the elevator, I would like to command it to begin a new map and chart again.

I have posted an issue on there. I also asked my question there.

I have tried the service cartographer_ros_msgs/FinishTrajectory. The cartographer seems to stop the charting work. That is nice! Then, I call the service cartographer_ros_msgs/StartTrajectory. It starts to build the map again. But, the cartographer_ros_msgs/SubmapList, in which the cartographer_node publishes the poses for cartographer_occupancy_grid_node to chart, contains all the trajectories. The consequence is the map belongs to different trajectories mixed.

The manual says I may use the '--help' command to see more available options, but how to use it in ROS2?

Is there some other method that I can tell the node to clean the old map and publish a new one? Maybe reboot the two nodes of the cartographer?

Does it feel odd if the SLAM program reboots again and again?

Proper QoS profiles for sensor messages

The current cartographer_ros node.cc uses rmw_qos_profile_default as QoS profile for all sensor messages. It might be more appropriate to use rmw_qos_profile_sensor_data profile.
@Karsten1987

subscribers_[trajectory_id].push_back(
{SubscribeWithHandler<sensor_msgs::msg::Imu>(&Cartographer::HandleImuMessage,
trajectory_id, topic,
node_handle_, this, rmw_qos_profile_default),
topic});
}
if (options.use_odometry) {
std::string topic = topics.odometry_topic;
subscribers_[trajectory_id].push_back(
{SubscribeWithHandler<nav_msgs::msg::Odometry>(&Cartographer::HandleOdometryMessage,
trajectory_id, topic,
node_handle_, this, rmw_qos_profile_default),
topic});
}
if (options.use_nav_sat) {
std::string topic = topics.nav_sat_fix_topic;
subscribers_[trajectory_id].push_back(
{SubscribeWithHandler<sensor_msgs::msg::NavSatFix>(&Cartographer::HandleNavSatFixMessage,
trajectory_id, topic,
node_handle_, this, rmw_qos_profile_default),
topic});
}
if (options.use_landmarks) {
std::string topic = topics.landmark_topic;
subscribers_[trajectory_id].push_back(
{SubscribeWithHandler<cartographer_ros_msgs::msg::LandmarkList>(&Cartographer::HandleLandmarkMessage,
trajectory_id, topic,
node_handle_, this, rmw_qos_profile_default),
topic});

Occupancy grid node is missing

I have developed cartographer example with TB3. But the master branch did not include the occupancy_grid_node. How can I get a /map topic to use this?

Figure out why some parts of the occupancy grid end up very far away

When testing out cartographer_ros with ROS2 on the Turtlebot2, it seems like some of the visualized walls are very far away from the real walls. Most of the walls are correct, there are just a few scans here and there that seem to be way out of whack. This may be contributing to the poor mapping performance of the current ROS2 demo. Note that this may be a problem here, or in depthimage_to_laserscan, or even in the astra camera node.

map->odom tf is unstable when using both scans and pointcloud as input

Hi. I am struggling with the transform from map-> odom, which are computed by cartographer.
I am using 2 lidar scans and 1 3D camera.

The tests I have performed are with the robot standing still in the map (no moving).
When using only 2 lidar scans (num_laser_scans = 2, num_point_clouds = 0), the map->odom transform is stable, with just some very small noise which not affects the map.
The transform do look like this:

At time 1324.100000000
- Translation: [1.944, 0.436, -0.311]
- Rotation: in Quaternion [0.000, 0.001, 0.003, 1.0]

When using only the pointcloud as input ( num_point_clouds = 1, num_laser_scans = 0), the transform does still look good and stable, and pretty much similar to the previous one.

At time 1324.100000000
- Translation: [1.965, 0.480, -0.311]
- Rotation: in Quaternion [0.000, 0.001, 0.003, 1.0]

But when I try to combine the lidars and the camera (num_point_clouds = 1, num_laser_scans = 2), the transform is jumping around, and the orientation is drifting, making the map look bad (looks like two maps on top of each other, with a rotation between).

Two following transforms look like this:

At time 1306.50000000
- Translation: [2.062, 0.039, -0.336]
- Rotation: in Quaternion [-0.017, 0.003, -0.125, 0.992]
At time 1306.160000000
- Translation: [2.016, 0.630, -0.312]
- Rotation: in Quaternion [-0.000, 0.001, 0.006, 1.000]

Which ofcourse make the map rotate based. Especially the y-coordinates are changing much, and also the z in the quaternions.

Can someone please help me figure out why this is happening?
Thankyou!!

Here is the rest of my lua file:

options  = {
  map_builder = MAP_BUILDER,
  trajectory_builder = TRAJECTORY_BUILDER,
  map_frame = "map",
  tracking_frame = "base_footprint",
  published_frame = "odom",
  odom_frame = "odom",
  provide_odom_frame = false,
  publish_frame_projected_to_2d = true,
  use_odometry = true,
  use_nav_sat = false,
  use_landmarks = false,
  num_laser_scans = 2,
  num_multi_echo_laser_scans = 0,
  num_subdivisions_per_laser_scan = 1,
  num_point_clouds = 1,
  lookup_transform_timeout_sec = 0.2,
  submap_publish_period_sec = 0.3,
  pose_publish_period_sec = 5e-3,
  trajectory_publish_period_sec = 30e-3,
  rangefinder_sampling_ratio = 1.,
  odometry_sampling_ratio = 1.,
  fixed_frame_pose_sampling_ratio = 1.,
  imu_sampling_ratio = 1.,
  landmarks_sampling_ratio = 1.,
}

MAP_BUILDER.use_trajectory_builder_2d = true

TRAJECTORY_BUILDER_2D.min_range = 0.1
TRAJECTORY_BUILDER_2D.max_range = 25
TRAJECTORY_BUILDER_2D.missing_data_ray_length = 25.
TRAJECTORY_BUILDER_2D.use_imu_data = false
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true 
TRAJECTORY_BUILDER_2D.motion_filter.max_angle_radians = math.rad(0.1)

POSE_GRAPH.constraint_builder.min_score = 0.65
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.7

return options

Fix the time rounding bug in tf_bridge.cc

There is currently a bug and a workaround in tf_bridge.cc having to do with time conversions. The bug is that if we try to request a TF transform at the time that the data comes in (as specified in the message header), TF always complains that it would have to extrapolate into the future to do that. The current workaround is to just request the latest data, but this isn't always correct. The problem seems to have to do with rounding of the times in cartographer_ros vs. the times stored in tf2. @dhood 's recent work to store the time as an integer instead of a double may help here; we should see if using an integer inside of cartographer_ros improves things.

Check failed: lua_istable(L, -1) Topmost item on Lua stack is not a table!

I am constantly receiving the following error:

Check failed: lua_istable(L, -1) Topmost item on Lua stack is not a table!

Complete error log:

[INFO] [cartographer_node-2]: process started with pid [397]
[INFO] [occupancy_grid_node-3]: process started with pid [399]
[cartographer_node-2] [INFO] [1620718207.251355230] [cartographer_ros]: I0511 07:30:07.000000   397 configuration_file_resolver.cc:41] Found '/ros2_ws/install/gps_nav/share/gps_nav/params/cartographer_mapping.lua' for 'cartographer_mapping.lua'.
[cartographer_node-2] F0511 07:30:07.252526   397 lua_parameter_dictionary.cc:116] Check failed: lua_istable(L, -1) Topmost item on Lua stack is not a table!
[cartographer_node-2] [FATAL] [1620718207.253007848] [cartographer_ros]: F0511 07:30:07.000000   397 lua_parameter_dictionary.cc:116] Check failed: lua_istable(L, -1) Topmost item on Lua stack is not a table!
[cartographer_node-2] *** Check failure stack trace: ***
[occupancy_grid_node-3] [WARN] [1620718208.258555604] [occ_grid_node]: submap_slices and last_frame_id is empty
[cartographer_node-2]     @     0x7f525ec541c3  google::LogMessage::Fail()
[cartographer_node-2]     @     0x7f525ec5925b  google::LogMessage::SendToLog()
[cartographer_node-2]     @     0x7f525ec53ebf  google::LogMessage::Flush()
[cartographer_node-2]     @     0x7f525ec546ef  google::LogMessageFatal::~LogMessageFatal()
[cartographer_node-2]     @     0x56424dcc7632  (unknown)
[cartographer_node-2]     @     0x56424dcc90db  (unknown)
[cartographer_node-2]     @     0x56424dcc92c1  (unknown)
[cartographer_node-2]     @     0x56424dcad2cd  (unknown)
[cartographer_node-2]     @     0x56424dc261c4  (unknown)
[cartographer_node-2]     @     0x7f525e1b40b3  __libc_start_main
[cartographer_node-2]     @     0x56424dc28a2e  (unknown)
[ERROR] [cartographer_node-2]: process has died [pid 397, exit code -6, cmd '/opt/ros/foxy/lib/cartographer_ros/cartographer_node -configuration_directory /ros2_ws/install/gps_nav/share/gps_nav/params -configuration_basename cartographer_mapping.lua --ros-args -r scan:=/lidar/scan -r odom:=odometry/local -r imu:=/imu/imu_raw'].
[occupancy_grid_node-3] [WARN] [1620718209.258470851] [occ_grid_node]: submap_slices and last_frame_id is empty

Here is my Lua file

include "map_builder.lua"
include "trajectory_builder.lua"

options = {
  map_builder = MAP_BUILDER,
  trajectory_builder = TRAJECTORY_BUILDER,
  map_frame = "map",
  tracking_frame = "base_link",
  published_frame = "odom",
  odom_frame = "odom",
  provide_odom_frame = false,
  publish_frame_projected_to_2d = true,
  use_odometry = true,
  use_nav_sat = false,
  use_landmarks = false,
  num_laser_scans = 1,
  num_multi_echo_laser_scans = 0,
  num_subdivisions_per_laser_scan = 1,
  num_point_clouds = 0,
  lookup_transform_timeout_sec = 0.2,
  submap_publish_period_sec = 0.3,
  pose_publish_period_sec = 5e-3,
  trajectory_publish_period_sec = 30e-3,
  rangefinder_sampling_ratio = 1.,
  odometry_sampling_ratio = 1.,
  fixed_frame_pose_sampling_ratio = 1.,
  imu_sampling_ratio = 1.,
  landmarks_sampling_ratio = 1.,
}

MAP_BUILDER.use_trajectory_builder_2d = true

TRAJECTORY_BUILDER_2D.min_range = 1
TRAJECTORY_BUILDER_2D.max_range = 3.5
TRAJECTORY_BUILDER_2D.missing_data_ray_length = 3.
TRAJECTORY_BUILDER_2D.use_imu_data = false
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = false 
TRAJECTORY_BUILDER_2D.motion_filter.max_angle_radians = math.rad(0.1)

POSE_GRAPH.constraint_builder.min_score = 0.65
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.7

return options

This same .lua file works in the RobotIgnite ROS2 Navigation course upon changing the frames. I feel it's a dependency in my system that's out of date but I am not sure what.

I have installed this repository through the binaries: ros-foxy-cartographer-ros

Are there cartographer_rviz and cartographer_occupancy_grid_node here?

I have cloned the cartographer and cartographer_ros in src file folder
But I can not find the cartographer_rviz when i colcon build the packages
and it can not find the cartographer_occupancy_grid_node in cartographer_ros

Are there cartographer_rviz and cartographer_occupancy_grid_node here?

Maintenance and documentation: contribution

As I described before in this Discourse post, the original Cartographer library does not seem maintained and documented well. Could I ask the maintainers of this package: do you know if it is possible to connect with the original maintainers of the Cartographer project to suggest a contribution and help?

[build] `rmw/init.h` not found

Steps

  1. build ros2/cartographer on /home/user/cartographer
  2. source cartographer/install/setup.bash
  3. generate extra deps for cartographer_ros:
mkdir cartographer_ros && cd cartographer_ros
ROS_PACKAGE_PATH=/opt/ros:/home/user/cartographer rosinstall_generator cartographer_ros --rosdistro foxy --deps --exclude RPP | vcs import src
  1. colcon build --symlink-install

On Archlinux with GCC 10.2 I got the following error:

In file included from /opt/ros/rcl/include/rcl/guard_condition.h:24,
                 from /opt/ros/rclcpp/include/rclcpp/executor.hpp:29,
                 from /opt/ros/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/rclcpp/include/rclcpp/executors.hpp:21,
                 from /opt/ros/rclcpp/include/rclcpp/rclcpp.hpp:146,
                 from /home/u/cartographer_ros2/src/cartographer_ros/cartographer_ros/cartographer_ros/ros_log_sink.cc:25:
/opt/ros/rcl/include/rcl/context.h:23:10: fatal error: rmw/init.h: No such file or directory
   23 | #include "rmw/init.h"
      |          ^~~~~~~~~~~~

rmw is part of my ROS base:

$ find /opt/ros -iwholename '*rmw/init.h'
/opt/ros/rmw/include/rmw/init.h

Workaround (src/cartographer_ros/cartographer_ros/CMakeLists.txt):

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -48,6 +48,7 @@ find_package(tf2_eigen REQUIRED)
 find_package(tf2_msgs REQUIRED)
 # find_package(urdf REQUIRED)
 find_package(visualization_msgs REQUIRED)
+find_package(rmw REQUIRED)
 
 include(FindPkgConfig)
 
@@ -79,6 +80,7 @@ include_directories(
   ${tf2_ros_INCLUDE_DIRS}
   ${tf2_eigen_INCLUDE_DIRS}
   ${visualization_msgs_INCLUDE_DIRS}
+  ${rmw_INCLUDE_DIRS}
 )

I was not sure if this is related to my build process or environment. I can happily create a pull request if needed.

submap_slices and last_frame_id is empty

I set up turtlebot3 with ROS2 dashing. After I start gazebo (with use_sim_time True), I start cartographer with:
ros2 launch turtlebot3_cartographer cartographer.launch.py use_sim_time:=True

Rviz2 tells me that there is no map frame and I get a lot of the following warnings from the occupancy_grid_node:
[occupancy_grid_node-2] [WARN] [occupancy_grid_node]: submap_slices and last_frame_id is empty

Issue with generating the PCD file using the assets writer

I am generating a 3D pointcloud map using the assets writer and the backpack 3D lua file. When I use this code for a smaller map, it works fine but when my bag is longer than 30 minutes, the PCD map is only generated for a part of the run and skips the latter part of the run. Are there any configuration changes that could help in solving this?

Cartographer won't launch demo bags

ubuntu 20.04 focal, ros2 foxy, cloned cartographer from the ros2 branch, cloned cartographer_ros from the ros2 branch as well, added: install(DIRECTORY launch DESTINATION share/${PROJECT_NAME} ) to cartographers_ros cmake file The issue i am having is when i run the command: ros2 launch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag so i can test cartographer on a demo bag i get this error:

[INFO] [launch]: Default logging verbosity is set to INFO Task exception was never retrieved future: <Task finished name='Task-2' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:274> exception=InvalidLaunchFileError('')> Traceback (most recent call last): File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 276, in _process_one_event await self.__process_event(next_event) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 296, in __process_event visit_all_entities_and_collect_futures(entity, self.__context)) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures sub_entities = entity.visit(context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/action.py", line 108, in visit return self.execute(context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/include_launch_description.py", line 125, in execute launch_description = self.__launch_description_source.get_launch_description(context) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_description_source.py", line 84, in get_launch_description self._get_launch_description(self.__expanded_location) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_description_source.py", line 53, in _get_launch_description return get_launch_description_from_any_launch_file(location) File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_description_sources/any_launch_file_utilities.py", line 56, in get_launch_description_from_any_launch_file raise InvalidLaunchFileError(extension, likely_errors=exceptions) launch.invalid_launch_file_error.InvalidLaunchFileError: The launch file may have a syntax error, or its format is unknown

i properly source the ROS environment and ran the command "source install/setup.bash" after building it using colcon build

i ran it on this bag:
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

The github link to the packages is:
https://github.com/girvenavery2022/cartographer_help

im not too sure where to go from here on fixing this

Will this package be released binary?

I found that cartographer package could be installed via apt command.
But this package couldn't be.

Do you have a plan to released this to binary?

fromROSMsg() compile error

I am using Ubuntu 16.04 ros2 distro-bouncy compiled from source. While using colcon build for cartographer_ros I get the error
cartographer_ros/cartographer_ros/cartographer_ros/msg_conversion.cc: In function ‘cartographer::sensor::PointCloudWithIntensities cartographer_ros::ToPointCloudWithIntensities(const PointCloud2&)’:
cartographer_ros/cartographer_ros/cartographer_ros/msg_conversion.cc:178:45: error: no matching function for call to ‘fromROSMsg(const PointCloud2&, pcl::PointCloudpcl::PointXYZI&)’
pcl::fromROSMsg(message, pcl_point_cloud);
^
In file included from
cartographer_ros/cartographer_ros/./cartographer_ros/msg_conversion.h:27:0,
from
cartographer_ros/cartographer_ros/cartographer_ros/msg_conversion.cc:17:
/usr/include/pcl_conversions/pcl_conversions.h:547:8: note: candidate: template void pcl::fromROSMsg(const PointCloud2&, pcl::PointCloud&)
void fromROSMsg(const sensor_msgs::PointCloud2 &cloud, pcl::PointCloud &pcl_cloud)
^
/usr/include/pcl_conversions/pcl_conversions.h:547:8: note: template argument deduction/substitution failed:
cartographer_ros/cartographer_ros/cartographer_ros/msg_conversion.cc:178:45: note: cannot convert ‘message’ (type ‘const PointCloud2 {aka const sensor_msgs::msg::PointCloud2_<std::allocator >}’) to type ‘const PointCloud2& {aka const sensor_msgs::PointCloud2_<std::allocator >&}’
pcl::fromROSMsg(message, pcl_point_cloud);

The error is reproducible in ros2 and bouncy branch

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.