Skip to content

Commit 9debadf

Browse files
committed
Merge branch 'develop' into feature/impedance-control
2 parents af80baa + ec4d8c3 commit 9debadf

File tree

302 files changed

+3219
-13417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

302 files changed

+3219
-13417
lines changed

atlas/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ mainDependencies {
1818
api("us.ihmc:robotiq-hand-drivers:source")
1919
api("us.ihmc:ihmc-model-file-loader:source")
2020
api("us.ihmc:ihmc-manipulation-planning:source")
21-
api("us.ihmc:ihmc-parameter-tuner:0.14.1")
21+
api("us.ihmc:ihmc-parameter-tuner:0.15.1")
2222
api("us.ihmc:ihmc-footstep-planning-visualizers:source")
2323
api("us.ihmc:ihmc-high-level-behaviors:source")
2424
}

atlas/src/main/resources/us/ihmc/atlas/parameters/AtlasFootstepPlannerParameters.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"title" : "Atlas footstep planner parameters",
3+
"Use GPU" : true,
34
"AStar heuristics weight" : 1.5,
45
"Max branch factor" : 175,
56
"Enable expansion mask" : true,

atlas/src/main/resources/us/ihmc/atlas/parameters/AtlasFootstepPlannerParametersForLookAndStep.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"title" : "AtlasFootstepPlannerParameters",
3+
"Use GPU" : true,
34
"AStar heuristics weight" : 1.5,
45
"Max branch factor" : 55,
56
"Enable expansion mask" : true,

atlas/src/main/resources/us/ihmc/humanoidBehaviors/behaviors/complexBehaviors/DoorBehaviorFootstepPlannerParameters.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"title" : "Door behavior footstep planner parameters",
3+
"Use GPU" : true,
34
"AStar heuristics weight" : 1.5,
45
"Max branch factor" : -1,
56
"Enable expansion mask" : true,

example-simulations/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ mainDependencies {
1414
api("us.ihmc:ihmc-robot-data-logger:0.30.2")
1515
api("us.ihmc:ihmc-common-walking-control-modules:source")
1616
api("us.ihmc:ihmc-whole-body-controller:source")
17+
api("us.ihmc:ihmc-math-linear-dynamic-systems:0.15.0")
1718

1819
api("us.ihmc:ihmc-simulation-toolkit:source")
1920
}

example-simulations/src/main/java/us/ihmc/exampleSimulations/simpleArm/SimpleArmEstimator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.ejml.dense.row.factory.LinearSolverFactory_DDRM;
88
import org.ejml.interfaces.linsol.LinearSolverDense;
99

10-
import us.ihmc.robotics.linearDynamicSystems.SplitUpMatrixExponentialStateSpaceSystemDiscretizer;
10+
import us.ihmc.math.linearDynamicSystems.SplitUpMatrixExponentialStateSpaceSystemDiscretizer;
1111
import us.ihmc.simulationConstructionSetTools.robotController.SimpleRobotController;
1212
import us.ihmc.yoVariables.variable.YoDouble;
1313

example-simulations/src/main/java/us/ihmc/exampleSimulations/sphereICPControl/controllers/SphereControlToolbox.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import us.ihmc.commonWalkingControlModules.desiredFootStep.footstepGenerator.FootstepTestHelper;
1313
import us.ihmc.euclid.geometry.interfaces.Vertex2DSupplier;
1414
import us.ihmc.euclid.referenceFrame.*;
15+
import us.ihmc.euclid.referenceFrame.interfaces.FramePoint2DReadOnly;
1516
import us.ihmc.euclid.tuple2D.Point2D;
1617
import us.ihmc.graphicsDescription.Graphics3DObject;
1718
import us.ihmc.graphicsDescription.appearance.AppearanceDefinition;
@@ -163,7 +164,7 @@ public SphereControlToolbox(FullRobotModel sphereRobotModel, double controlDT, d
163164

164165
Graphics3DObject footstepGraphics = new Graphics3DObject();
165166
List<Point2D> contactPoints = new ArrayList<>();
166-
for (FramePoint2D point : contactableFeet.get(RobotSide.LEFT).getContactPoints2d())
167+
for (FramePoint2D point : contactableFeet.get(RobotSide.LEFT).getContactPoints2D())
167168
contactPoints.add(new Point2D(point));
168169
footstepGraphics.addExtrudedPolygon(contactPoints, 0.02, YoAppearance.Color(Color.blue));
169170

@@ -230,8 +231,8 @@ private void setupFeetFrames(double gravityZ, YoGraphicsListRegistry yoGraphicsL
230231
String sidePrefix = robotSide.getCamelCaseNameForStartOfExpression();
231232
FootSpoof contactableFoot = contactableFeet.get(robotSide);
232233
RigidBodyBasics foot = contactableFoot.getRigidBody();
233-
ReferenceFrame soleFrame = contactableFoot.getSoleFrame();
234-
List<FramePoint2D> contactFramePoints = contactableFoot.getContactPoints2d();
234+
ReferenceFrame soleFrame = contactableFoot.getContactFrame();
235+
List<? extends FramePoint2DReadOnly> contactFramePoints = contactableFoot.getContactPoints2D();
235236
double coefficientOfFriction = contactableFoot.getCoefficientOfFriction();
236237
YoPlaneContactState yoPlaneContactState = new YoPlaneContactState(sidePrefix + "Foot", foot, soleFrame, contactFramePoints, coefficientOfFriction, registry);
237238
yoPlaneContactState.setFullyConstrained();
@@ -241,8 +242,8 @@ private void setupFeetFrames(double gravityZ, YoGraphicsListRegistry yoGraphicsL
241242
for (RobotSide robotSide : RobotSide.values)
242243
{
243244
FootSpoof contactableFoot = contactableFeet.get(robotSide);
244-
soleZUpFrames.put(robotSide, new ZUpFrame(contactableFoot.getSoleFrame(), robotSide.getCamelCaseNameForStartOfExpression() + "ZUp"));
245-
soleFrames.put(robotSide, contactableFoot.getSoleFrame());
245+
soleZUpFrames.put(robotSide, new ZUpFrame(contactableFoot.getContactFrame(), robotSide.getCamelCaseNameForStartOfExpression() + "ZUp"));
246+
soleFrames.put(robotSide, contactableFoot.getContactFrame());
246247
}
247248

248249
midFeetZUpFrame = new MidFrameZUpFrame("midFeetZupFrame", worldFrame, soleZUpFrames.get(RobotSide.LEFT), soleZUpFrames.get(RobotSide.RIGHT));
@@ -425,7 +426,7 @@ private void updateFootViz()
425426
{
426427
if (contactStates.get(robotSide).inContact())
427428
{
428-
FramePose3D footPose = new FramePose3D(contactableFeet.get(robotSide).getSoleFrame());
429+
FramePose3D footPose = new FramePose3D(contactableFeet.get(robotSide).getContactFrame());
429430
footPose.changeFrame(worldFrame);
430431
currentFootPoses.get(robotSide).set(footPose);
431432
}
@@ -477,7 +478,7 @@ public void updateUpcomingFootstepsViz(Footstep nextFootstep, Footstep nextNextF
477478
}
478479

479480
if (nextFootstep.getPredictedContactPoints() == null)
480-
nextFootstep.setPredictedContactPoints(contactableFeet.get(nextFootstep.getRobotSide()).getContactPoints2d());
481+
nextFootstep.setPredictedContactPoints(contactableFeet.get(nextFootstep.getRobotSide()).getContactPoints2D());
481482

482483
double polygonShrinkAmount = 0.005;
483484

@@ -500,7 +501,7 @@ public void updateUpcomingFootstepsViz(Footstep nextFootstep, Footstep nextNextF
500501
}
501502

502503
if (nextNextFootstep.getPredictedContactPoints() == null)
503-
nextNextFootstep.setPredictedContactPoints(contactableFeet.get(nextNextFootstep.getRobotSide()).getContactPoints2d());
504+
nextNextFootstep.setPredictedContactPoints(contactableFeet.get(nextNextFootstep.getRobotSide()).getContactPoints2D());
504505

505506
tempFootstepPolygonForShrinking.setIncludingFrame(nextNextFootstep.getSoleReferenceFrame(), Vertex2DSupplier.asVertex2DSupplier(nextNextFootstep.getPredictedContactPoints()));
506507
convexPolygonShrinker.scaleConvexPolygon(tempFootstepPolygonForShrinking, polygonShrinkAmount, footstepPolygon);
@@ -519,7 +520,7 @@ public void updateUpcomingFootstepsViz(Footstep nextFootstep, Footstep nextNextF
519520
}
520521

521522
if (nextNextNextFootstep.getPredictedContactPoints() == null)
522-
nextNextNextFootstep.setPredictedContactPoints(contactableFeet.get(nextNextNextFootstep.getRobotSide()).getContactPoints2d());
523+
nextNextNextFootstep.setPredictedContactPoints(contactableFeet.get(nextNextNextFootstep.getRobotSide()).getContactPoints2D());
523524

524525
tempFootstepPolygonForShrinking.setIncludingFrame(nextNextNextFootstep.getSoleReferenceFrame(), Vertex2DSupplier.asVertex2DSupplier(nextNextNextFootstep.getPredictedContactPoints()));
525526
convexPolygonShrinker.scaleConvexPolygon(tempFootstepPolygonForShrinking, polygonShrinkAmount, footstepPolygon);

ihmc-avatar-interfaces/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ mainDependencies {
1616
api("com.hierynomus:sshj:0.32.0")
1717

1818
api("us.ihmc:mecano-graphviz:17-0.18.1")
19-
api("us.ihmc:scs2-bullet-simulation:17-0.27.3")
19+
api("us.ihmc:scs2-bullet-simulation:17-0.28.3")
2020

2121
api("us.ihmc:ihmc-humanoid-behaviors:source")
2222
api("us.ihmc:ihmc-graphics-jmonkeyengine:source")

ihmc-avatar-interfaces/src/main/java/us/ihmc/avatar/drcRobot/ROS2SyncedRobotModel.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public ROS2SyncedRobotModel(DRCRobotModel robotModel, ROS2Node ros2Node)
2626
{
2727
this(robotModel, ros2Node, robotModel.createFullRobotModel());
2828
}
29+
30+
public ROS2SyncedRobotModel(DRCRobotModel robotModel, ROS2Node ros2Node, boolean enforceUniqueReferenceFrames)
31+
{
32+
this(robotModel, ros2Node, robotModel.createFullRobotModel(enforceUniqueReferenceFrames));
33+
}
2934

3035
public ROS2SyncedRobotModel(DRCRobotModel robotModel, ROS2Node ros2Node, FullHumanoidRobotModel fullRobotModel)
3136
{

ihmc-avatar-interfaces/src/main/java/us/ihmc/avatar/drcRobot/RobotVersion.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
public interface RobotVersion
66
{
7+
default boolean hasHead()
8+
{
9+
return true;
10+
}
11+
712
default boolean hasArm(RobotSide robotSide)
813
{
914
return false;
@@ -14,11 +19,6 @@ default boolean hasBothArms()
1419
return hasArm(RobotSide.LEFT) && hasArm(RobotSide.RIGHT);
1520
}
1621

17-
default boolean hasHead()
18-
{
19-
return true;
20-
}
21-
2222
default boolean hasSakeGripperJoints(RobotSide side)
2323
{
2424
return false;

0 commit comments

Comments
 (0)