public void set(ContactSensorHolder otherContactSensorHolder) { for(int i = 0; i < contactSensorDefinitions.size(); i++) { final ContactSensorDefinition contactSensorDefinition = contactSensorDefinitions.get(i); ContactSensor otherContactSensor = otherContactSensorHolder.getByDefinition(contactSensorDefinition); contactSensors.get(contactSensorDefinition).setIsInContact(otherContactSensor.isInContact()); } } }
public ContactSensorType getType(ContactSensorDefinition definition) { return contactSensors.get(definition).getType(); }
@Override public boolean hasFootHitGround() { inContact.set(wrenchBasedFootSwitch.hasFootHitGround() && contactSensor.isInContact()); return inContact.getBooleanValue(); }
public void setIsInContact(ContactSensorDefinition definition, boolean isInContact) { contactSensors.get(definition).setIsInContact(isInContact); }
@Override public void reset() { wrenchBasedFootSwitch.reset(); contactSensor.reset(); }
public WrenchAndContactSensorFusedFootSwitch(String namePrefix, ForceSensorDataReadOnly forceSensorData, ContactSensor contactSensor, double footSwitchCoPThresholdFraction, double robotTotalWeight, ContactablePlaneBody contactablePlaneBody, YoGraphicsListRegistry yoGraphicsListRegistry, double contactThresholdForce, YoVariableRegistry parentRegistry) { this.registry = new YoVariableRegistry(namePrefix + getClass().getSimpleName()); if (!forceSensorData.getMeasurementLink().equals(contactSensor.getRigidBody())) { throw new RuntimeException("The force sensor and the contact sensor are not on the same link."); } this.wrenchBasedFootSwitch = new WrenchBasedFootSwitch(namePrefix + "WrenchBasedFootSwitch", forceSensorData, footSwitchCoPThresholdFraction, robotTotalWeight, contactablePlaneBody, yoGraphicsListRegistry, contactThresholdForce, registry); this.contactSensor = contactSensor; this.inContact = new BooleanYoVariable(namePrefix + "InContact", registry); parentRegistry.addChild(registry); }
public void setIsInContact(ContactSensorDefinition definition, boolean isInContact) { contactSensors.get(definition).setIsInContact(isInContact); }
public void set(ContactSensorHolder otherContactSensorHolder) { for(int i = 0; i < contactSensorDefinitions.size(); i++) { final ContactSensorDefinition contactSensorDefinition = contactSensorDefinitions.get(i); ContactSensor otherContactSensor = otherContactSensorHolder.getByDefinition(contactSensorDefinition); contactSensors.get(contactSensorDefinition).setIsInContact(otherContactSensor.isInContact()); } } }
public ContactSensorType getType(ContactSensorDefinition definition) { return contactSensors.get(definition).getType(); }