Skip to content

Commit e47bf8e

Browse files
committed
Get mustard relative behavior going.
1 parent 4840c7b commit e47bf8e

File tree

5 files changed

+31
-15
lines changed

5 files changed

+31
-15
lines changed

ihmc-high-level-behaviors/src/main/java/us/ihmc/behaviors/behaviorTree/BehaviorTreeExecutor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ public BehaviorTreeExecutor(ROS2SyncedRobotModel syncedRobot,
4646

4747
public void update()
4848
{
49+
scene.update();
50+
4951
if (rootNode != null)
5052
{
5153
rootNode.clock();

ihmc-high-level-behaviors/src/main/java/us/ihmc/behaviors/behaviorTree/scene/BehaviorTreeSceneExecutor.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import us.ihmc.perception.detections.foundationPose.IsaacROSFoundationPoseCommunicatorMap;
77
import us.ihmc.perception.detections.yolo.YOLOv8DetectionExecutor;
88

9-
import java.util.ArrayList;
109
import java.util.List;
1110
import java.util.function.LongSupplier;
1211

@@ -15,7 +14,7 @@ public class BehaviorTreeSceneExecutor extends BehaviorTreeSceneState
1514
private final YOLOv8DetectionExecutor yolo;
1615
private final IsaacROSFoundationPoseCommunicatorMap foundationPose;
1716

18-
private final List<BehaviorTreeSceneObjectExecutor> trackers = new ArrayList<>();
17+
private final List<BehaviorTreeSceneObjectExecutor> objects;
1918

2019
public BehaviorTreeSceneExecutor(CRDTInfo crdtInfo,
2120
LongSupplier idSupplier,
@@ -28,17 +27,22 @@ public BehaviorTreeSceneExecutor(CRDTInfo crdtInfo,
2827
this.yolo = yolo;
2928
this.foundationPose = foundationPose;
3029

31-
30+
objects = (List) super.objects;
3231

3332
}
3433

3534
public void update()
3635
{
37-
for (String availableModelName : yolo.getAvailableModelNames())
36+
for (BehaviorTreeSceneObjectExecutor object : objects)
3837
{
39-
38+
object.update();
4039
}
4140

41+
// for (String availableModelName : yolo.getAvailableModelNames())
42+
// {
43+
//
44+
// }
45+
4246
// yolo.enableModel("door");
4347

4448
// yolo.

ihmc-high-level-behaviors/src/main/java/us/ihmc/behaviors/behaviorTree/scene/BehaviorTreeSceneObjectExecutor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public BehaviorTreeSceneObjectExecutor(long id, CRDTInfo crdtInfo, String type)
1818

1919
public void update()
2020
{
21-
21+
persistentDetection = null;
2222
}
2323

2424
public void destroy()

ihmc-high-level-behaviors/src/main/java/us/ihmc/behaviors/behaviorTree/scene/BehaviorTreeSceneObjectState.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public BehaviorTreeSceneObjectState(long id, CRDTInfo crdtInfo, String type)
3131

3232
public String getName()
3333
{
34-
return "";
34+
return type;
3535
}
3636

3737
public void clearOffset()
@@ -64,6 +64,7 @@ public void fromMessage(BehaviorTreeSceneObjectStateMessage message)
6464
LogTools.error("Types should match! {} != {}", id, message.getId());
6565

6666
transform.fromMessage(message.getTransformToWorld());
67+
referenceFrame.update();
6768
}
6869

6970
public void destroy()

ihmc-high-level-behaviors/src/main/java/us/ihmc/behaviors/behaviorTree/scene/BehaviorTreeSceneState.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,24 +59,28 @@ private void addAll(Collection<ReferenceFrame> referenceFrames)
5959

6060
public boolean containsFrame(String referenceFrameName)
6161
{
62-
for (ReferenceFrame frame : robotFrames)
63-
{
64-
if (referenceFrameName.equals(frame.getName()))
65-
return true;
66-
}
62+
boolean contains = robotFrameMap.containsKey(referenceFrameName);
63+
64+
if (!contains)
65+
for (BehaviorTreeSceneObjectState object : objects)
66+
if (referenceFrameName.startsWith(object.getName())) // TODO Affordance frame
67+
return true;
6768

68-
return false;
69+
return contains;
6970
}
7071

7172
@Nullable
7273
public ReferenceFrame findFrameByName(String referenceFrameName)
7374
{
7475
// Check map first, then dynamic collections
7576
ReferenceFrame referenceFrame = robotFrameMap.get(referenceFrameName);
76-
boolean frameFound = referenceFrame != null;
7777

78+
if (referenceFrame == null)
79+
for (BehaviorTreeSceneObjectState object : objects)
80+
if (referenceFrameName.startsWith(object.getName())) // TODO Affordance frame
81+
return object.getReferenceFrame();
7882

79-
return frameFound ? referenceFrame : null;
83+
return referenceFrame;
8084
}
8185

8286
public void getAllFrameNames(Consumer<String> frameNameConsumer)
@@ -85,6 +89,11 @@ public void getAllFrameNames(Consumer<String> frameNameConsumer)
8589
{
8690
frameNameConsumer.accept(frame.getName());
8791
}
92+
93+
for (BehaviorTreeSceneObjectState object : objects)
94+
{
95+
frameNameConsumer.accept(object.getName());
96+
}
8897
}
8998

9099
public void toMessage(BehaviorTreeSceneStateMessage message)

0 commit comments

Comments
 (0)