ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Jetson TX2 + Realsense D435 + Pepper robot + Gmapping doesn`t output maps [closed]

asked 2020-06-18 10:21:16 -0500

fajomied gravatar image

updated 2020-06-18 10:44:02 -0500

gvdhoorn gravatar image

Hello everybody,

this is my first post on here, I’m hoping to provide you with all the necessary information and in an appropriate way in order to be able to help me fix this problem. Let’s get into it:

Background + Setup overview

I am currently working on a project to use Pepper as guide in a laboratory. One of the crucial steps on the way to do so is of course to provide a map of the environment and Pepper should be able to create this map by himself making it necessary to implement a SLAM algorithm, which in return requires reliable depth information. As Peppers internal actuators (among them his depthcamera) are rather poor, I attached a Jetson-TX2 as a backpack to Pepper. Pepper and the Jetson are connected by an ethernet cable. The Jetson in return is connected to an Intel RealSense D435. The D435 is mounted slightly above the front sonar sensor on Peppers base (see picture below, orange dot). ROS Kinetic is installed on Pepper itself, as well as on the Jetson TX2. In a first step Gmapping should be used for mapping, which relies on the topics /odom /tf and /scan.

Setup in more detail

  • Pepper: runs the naoqi_driver which provides among others the topics /naoqi_driver/odom and /tf
  • Jetson-TX2: Is setup with Jetpack 3, Ubuntu 16.04 and the “realsense2_camera” ROS-package. The file “rs_camera.launch” which is provided by the package is used to bring up the node and topics. The launch file has been expanded to start depthimage_to_laserscan and publish the laserscan messages to /scan. The frame-id of messages on this topic is “camera_depth_frame”. Displaying the laserscan in Rviz works fine.
  • D435: see above
  • Gmapping: Is launched by a launch file similar to “slam_gmapping_pr2.launch” which comes with the gmapping package. It has been expanded by a a static_transform_publisher that transforms from “camera_depth_frame” to “base_link”. Simulation time is used.

My approach

I’m teleoperating Pepper with the “nao_teleop” package and a Joystick so far and record bagfiles on the Jetson containing the topics /tf, /odom (naoqi_driver/odom) and /scan. With this bagfile I then “feed” Gmapping. I`m playing the bagfile with the –clock option

My Problem

Gmapping doesn`t create maps. I get the following warning in the console window by Gmapping:

[ WARN] [1592433575.781736790, 1592411810.023165270]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.

Putting rqt_console_logger to DEBUG shows the following information:

[DEBUG] [1592439491.058992879, 1592411800.174821243]: MessageFilter [target=odom ]: Removed oldest message because buffer is full, count now 5 (frame_id=camera_depth_frame, stamp=1592411799.957774)

using rqt_tf_tree shows me a connected tf-tree. According to tf_monitor the transformation from camera_depth_frame over base_link to the odom frame takes place and outputs the following:

RESULTS: for camera_depth_frame to odom
Chain is: camera_depth_frame -> base_link -> odom
Net delay     avg = 2.9849: max = 3.04095


Frame: base_link published by unknown_publisher Average Delay: 2.96959 Max Delay: 3 ...
edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by fajomied
close date 2020-06-23 17:08:26.848155



AskBot does not support markdown, so three backticks don't format code-blocks. I've fixed your formatting, but keep it in mind for your next question.

gvdhoorn gravatar image gvdhoorn  ( 2020-06-18 10:44:33 -0500 )edit

I appreciate it. Thank you

fajomied gravatar image fajomied  ( 2020-06-18 13:14:47 -0500 )edit

closed this issue with the wrong reason. Would be happy if anyone able to reopen would do so and correct this mistake :)

fajomied gravatar image fajomied  ( 2020-06-23 05:32:55 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2020-06-22 18:07:11 -0500

fajomied gravatar image

updated 2020-06-22 18:08:55 -0500

I solved my Problem by editing the source code of "slam_gmapping.cpp" in the packages src-folder. Here i changed the last arguments passed to the objects "scan_filter_sub_" (type Subscriber) and "scan_filter_" (type MessageFilter) from "5" to "100" and then recompiled. Probably an even smaller number would do it. Gmapping from there on was able to process the scans and transforms and build a map

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2020-06-18 10:15:17 -0500

Seen: 550 times

Last updated: Jun 22 '20