Skip to content

Commit db9eb35

Browse files
committed
Added DEFAULT_IMAGE_QUEUE_CAPACITY
1 parent 2372ea0 commit db9eb35

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

ihmc-high-level-behaviors/src/main/java/us/ihmc/perception/StandAloneRealsenseProcess.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import us.ihmc.ros2.ROS2Node;
1414
import us.ihmc.perception.heightMap.HeightMapData;
1515
import us.ihmc.perception.heightMap.HeightMapParameters;
16+
import us.ihmc.sensors.ImageSensor;
1617
import us.ihmc.sensors.realsense.RealSenseConfiguration;
1718
import us.ihmc.sensors.realsense.RealSenseImageSensor;
1819

@@ -85,12 +86,12 @@ public StandAloneRealsenseProcess(ROS2Node ros2Node,
8586
d455PublishThread.addTopic(PerceptionAPI.D455_DEPTH_IMAGE, RealSenseImageSensor.DEPTH_IMAGE_KEY);
8687
loopOnDemand(d455PublishThread, realsensePublishDemandNode);
8788

88-
BlockingQueue<RawImage> rawImageCollection = new LinkedBlockingQueue<>(10);
89-
d455Sensor.registerImageCollector(rawImageCollection, RealSenseImageSensor.DEPTH_IMAGE_KEY);
89+
BlockingQueue<RawImage> rawImageQueue = new LinkedBlockingQueue<>(ImageSensor.DEFAULT_IMAGE_QUEUE_CAPACITY);
90+
d455Sensor.registerImageQueue(rawImageQueue, RealSenseImageSensor.DEPTH_IMAGE_KEY);
9091
rapidHeightMapThread = new RapidHeightMapThread(ros2Helper.getROS2Node(),
9192
syncedRobot,
9293
robotCollisionModel,
93-
rawImageCollection,
94+
rawImageQueue,
9495
controllerFootstepQueueMonitor,
9596
heightMapParameters,
9697
depthImageFilteringParameters);

ihmc-perception/src/main/java/us/ihmc/sensors/ImageSensor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
public abstract class ImageSensor implements AutoCloseable
1616
{
17+
public static final int DEFAULT_IMAGE_QUEUE_CAPACITY = 8;
1718
private static final double SECONDS_BETWEEN_RETRIES = 1.0; // Wait 1 second between retries for starting sensors
1819

1920
private final String sensorName;
@@ -108,17 +109,18 @@ public ReferenceFrame getSensorFrame()
108109
* Register an image queue for images of a particular key.
109110
* <p>
110111
* Every image grabbed by the sensor will be added to the passed in queue.
111-
* The code accessing the collection must call {@link RawImage#release()} on each image,
112+
* The code taking from the queue must call {@link RawImage#release()} on each image,
112113
* once it's done using the image.
113114
* <p>
114115
* If the queue becomes full (i.e. when {@code BlockingQueue#remainingCapacity() == 0})
115116
* the oldest image will be removed so the new image can be added.
116117
* Ensure a reasonable queue capacity is set to prevent memory leaks.
118+
* {@link #DEFAULT_IMAGE_QUEUE_CAPACITY} can be used as a good default value.
117119
*
118120
* @param imageQueue Blocking queue into which the images will be added.
119121
* @param imageKey The key for images to be collected.
120122
*/
121-
public void registerImageCollector(BlockingQueue<RawImage> imageQueue, int imageKey)
123+
public void registerImageQueue(BlockingQueue<RawImage> imageQueue, int imageKey)
122124
{
123125
if (imageQueues.containsKey(imageKey))
124126
imageQueues.get(imageKey).add(imageQueue);

0 commit comments

Comments
 (0)