Hi Alex,
Nodes' positions are determined by the input odometry. The default behavior is to add a node each second (Rtabmap/DetectionRate=1). To add nodes based on space instead of time, you could try setting Rtabmap/DetectionRate=0 and use RGBD/LinearUpdate and RGBD/AngularUpdate. For example, to add nodes only each 1 meter independently of the rotation:
<node pkg="rtabmap_ros" type="rtabmap" name="rtabmap">
<param name="Rtabmap/DetectionRate" value="0"/>
<param name="RGBD/LinearUpdate" value="1"/>
<param name="RGBD/AngularUpdate" value="0"/>
...
</node>
Unless you have a 360 FOV sensor, you may want to use a non-zero RGBD/AngularUpdate to add a new node when the robot is turning.
cheers,
Mathieu