Added assert on PointCloud2 format (#560). rtabmap.launch: added gdb option for convenience.

This commit is contained in:
matlabbe
2021-03-27 21:51:06 -04:00
parent e7dd6cacbf
commit b9c7efdc8a
6 changed files with 14 additions and 5 deletions
@@ -2,8 +2,8 @@
<robot xmlns:xacro="http://ros.org/wiki/xacro"> <robot xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find velodyne_description)/urdf/VLP-16.urdf.xacro"/> <xacro:include filename="$(find velodyne_description)/urdf/VLP-16.urdf.xacro"/>
<VLP-16 parent="base_laser_mount" name="velodyne" topic="velodyne_points" gpu="true"> <xacro:VLP-16 parent="base_laser_mount" name="velodyne" topic="velodyne_points" gpu="true" organize_cloud="true">
<origin xyz="0.025 0 0.175" rpy="0 0 0" /> <origin xyz="0.025 0 0.175" rpy="0 0 0" />
</VLP-16> </xacro:VLP-16>
</robot> </robot>
+4 -2
View File
@@ -1,4 +1,4 @@
<!-- -->
<launch> <launch>
<!-- Convenience launch file to launch odometry, rtabmap and rtabmapviz nodes at once --> <!-- Convenience launch file to launch odometry, rtabmap and rtabmapviz nodes at once -->
@@ -46,7 +46,9 @@
<arg name="wait_for_transform" default="0.2"/> <arg name="wait_for_transform" default="0.2"/>
<arg name="args" default=""/> <!-- delete_db_on_start, udebug --> <arg name="args" default=""/> <!-- delete_db_on_start, udebug -->
<arg name="rtabmap_args" default="$(arg args)"/> <!-- deprecated, use "args" argument --> <arg name="rtabmap_args" default="$(arg args)"/> <!-- deprecated, use "args" argument -->
<arg name="launch_prefix" default=""/> <!-- for debugging purpose, it fills launch-prefix tag of the nodes --> <arg name="gdb" default="false"/> <!-- Launch nodes in gdb for debugging (apt install xterm gdb) -->
<arg if="$(arg gdb)" name="launch_prefix" default="xterm -e gdb -q -ex run --args"/>
<arg unless="$(arg gdb)" name="launch_prefix" default=""/>
<arg name="output" default="screen"/> <!-- Control node output (screen or log) --> <arg name="output" default="screen"/> <!-- Control node output (screen or log) -->
<arg name="publish_tf_map" default="true"/> <arg name="publish_tf_map" default="true"/>
+2
View File
@@ -2149,6 +2149,8 @@ bool convertScan3dMsg(
int maxPoints, int maxPoints,
float maxRange) float maxRange)
{ {
UASSERT(scan3dMsg.data.size() == scan3dMsg.row_step*scan3dMsg.height);
bool hasNormals = false; bool hasNormals = false;
bool hasColors = false; bool hasColors = false;
bool hasIntensity = false; bool hasIntensity = false;
+2 -1
View File
@@ -507,7 +507,8 @@ void OdometryROS::processData(SensorData & data, const std_msgs::Header & header
{ {
if(previousStamp_>0.0 && previousStamp_ >= header.stamp.toSec()) if(previousStamp_>0.0 && previousStamp_ >= header.stamp.toSec())
{ {
NODELET_WARN("Odometry: Detected not valid consecutive stamps (previous=%fs new=%fs). New stamp should be always greater than previous stamp. This new data is ignored. This message will appear only once.", NODELET_WARN("Odometry: Detected not valid consecutive stamps (previous=%fs new=%fs). "
"New stamp should be always greater than previous stamp. This new data is ignored.",
previousStamp_, header.stamp.toSec()); previousStamp_, header.stamp.toSec());
return; return;
} }
+2
View File
@@ -449,6 +449,8 @@ private:
void callbackCloud(const sensor_msgs::PointCloud2ConstPtr& pointCloudMsg) void callbackCloud(const sensor_msgs::PointCloud2ConstPtr& pointCloudMsg)
{ {
UASSERT(pointCloudMsg->data.size() == pointCloudMsg->row_step*pointCloudMsg->height);
if(scanReceived_) if(scanReceived_)
{ {
ROS_ERROR("%s is already receiving scans on \"%s\", but also " ROS_ERROR("%s is already receiving scans on \"%s\", but also "
+2
View File
@@ -343,6 +343,8 @@ private:
} }
else if(cloudMsg.get() != 0) else if(cloudMsg.get() != 0)
{ {
UASSERT(cloudMsg->data.size() == cloudMsg->row_step*cloudMsg->height);
bool containNormals = false; bool containNormals = false;
if(scanVoxelSize_ == 0.0f) if(scanVoxelSize_ == 0.0f)
{ {