private FramePose2d getCurrentMidFeetPose2d(HumanoidReferenceFrames referenceFrames) { robotDataReceiver.updateRobotModel(); referenceFrames.updateFrames(); ReferenceFrame midFeetFrame = referenceFrames.getMidFeetZUpFrame(); FramePose midFeetPose = new FramePose(); midFeetPose.setToZero(midFeetFrame); midFeetPose.changeFrame(ReferenceFrame.getWorldFrame()); FramePose2d ret = new FramePose2d(); ret.setPoseIncludingFrame( midFeetPose.getReferenceFrame(), midFeetPose.getX(), midFeetPose.getY(), midFeetPose.getYaw()); return ret; }
public RosConnectedZeroPoseRobotConfigurationDataProducer( URI rosMasterURI, PacketCommunicator objectCommunicator, final DRCRobotModel robotModel) { this.robotModel = robotModel; this.packetCommunicator = objectCommunicator; fullRobotModel = robotModel.createFullRobotModel(); referenceFrames = new HumanoidReferenceFrames(fullRobotModel); pelvisFrame = referenceFrames.getPelvisFrame(); headFrame = referenceFrames.getNeckFrame(NeckJointName.PROXIMAL_NECK_PITCH); forceSensorDefinitions = fullRobotModel.getForceSensorDefinitions(); updateRobotLocationBasedOnMultisensePose(new RigidBodyTransform()); if (rosMasterURI != null) { NodeConfiguration nodeConfiguration = RosTools.createNodeConfiguration(rosMasterURI); NodeMainExecutor nodeMainExecutor = DefaultNodeMainExecutor.newDefault(); nodeMainExecutor.execute(this, nodeConfiguration); } }