Jetson TX2 + Realsense D435 + Pepper robot + Gmapping doesn`t output maps [closed]
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
Frames:
Frame: base_link published by unknown_publisher Average Delay: 2.96959 Max Delay: 3 ...
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.
I appreciate it. Thank you
closed this issue with the wrong reason. Would be happy if anyone able to reopen would do so and correct this mistake :)