diff --git a/components/arm/arm.go b/components/arm/arm.go index 3db8de8f348..d3c5e106dd2 100644 --- a/components/arm/arm.go +++ b/components/arm/arm.go @@ -187,17 +187,17 @@ func CheckDesiredJointPositions(ctx context.Context, a Arm, desiredInputs []refe min := limits[i].Min currPosition := currentJointPos[i] // to make sure that val is a valid input it must either bring the joint closer inbounds or keep the joint inbounds. - if currPosition.Value > limits[i].Max { - max = currPosition.Value - } else if currPosition.Value < limits[i].Min { - min = currPosition.Value + if currPosition > limits[i].Max { + max = currPosition + } else if currPosition < limits[i].Min { + min = currPosition } - if val.Value > max || val.Value < min { + if val > max || val < min { return fmt.Errorf("joint %v needs to be within range [%v, %v] and cannot be moved to %v", i, utils.RadToDeg(min), utils.RadToDeg(max), - utils.RadToDeg(val.Value), + utils.RadToDeg(val), ) } } diff --git a/components/arm/client_test.go b/components/arm/client_test.go index f633a267506..dbd3b324645 100644 --- a/components/arm/client_test.go +++ b/components/arm/client_test.go @@ -44,7 +44,7 @@ func TestClient(t *testing.T) { ) pos1 := spatialmath.NewPoseFromPoint(r3.Vector{X: 1, Y: 2, Z: 3}) - jointPos1 := []referenceframe.Input{{1.}, {2.}, {3.}} + jointPos1 := []referenceframe.Input{1., 2., 3.} expectedGeometries := []spatialmath.Geometry{spatialmath.NewPoint(r3.Vector{1, 2, 3}, "")} expectedMoveOptions := arm.MoveOptions{MaxVelRads: 1, MaxAccRads: 2} injectArm := &inject.Arm{} @@ -89,7 +89,7 @@ func TestClient(t *testing.T) { } pos2 := spatialmath.NewPoseFromPoint(r3.Vector{X: 4, Y: 5, Z: 6}) - jointPos2 := []referenceframe.Input{{4.}, {5.}, {6.}} + jointPos2 := []referenceframe.Input{4., 5., 6.} injectArm2 := &inject.Arm{} injectArm2.EndPositionFunc = func(ctx context.Context, extra map[string]interface{}) (spatialmath.Pose, error) { return pos2, nil diff --git a/components/arm/collectors_test.go b/components/arm/collectors_test.go index 8671f9cac6b..03ae8f2a5a2 100644 --- a/components/arm/collectors_test.go +++ b/components/arm/collectors_test.go @@ -117,7 +117,7 @@ func newArm() arm.Arm { return spatialmath.NewPoseFromPoint(r3.Vector{X: 1, Y: 2, Z: 3}), nil } a.JointPositionsFunc = func(ctx context.Context, extra map[string]interface{}) ([]referenceframe.Input, error) { - return referenceframe.FloatsToInputs(referenceframe.JointPositionsToRadians(floatList)), nil + return referenceframe.JointPositionsToRadians(floatList), nil } a.KinematicsFunc = func(ctx context.Context) (referenceframe.Model, error) { return nil, nil diff --git a/components/arm/fake/fake.go b/components/arm/fake/fake.go index 1c421762475..fd031397051 100644 --- a/components/arm/fake/fake.go +++ b/components/arm/fake/fake.go @@ -137,7 +137,7 @@ func (a *Arm) Reconfigure(ctx context.Context, deps resource.Dependencies, conf a.mu.Lock() defer a.mu.Unlock() - a.joints = referenceframe.FloatsToInputs(make([]float64, dof)) + a.joints = make([]referenceframe.Input, dof) a.model = model return nil diff --git a/components/arm/fake/fake_test.go b/components/arm/fake/fake_test.go index b8c733fd64c..26c0de0df92 100644 --- a/components/arm/fake/fake_test.go +++ b/components/arm/fake/fake_test.go @@ -94,7 +94,7 @@ func TestJointPositions(t *testing.T) { // Round trip test for MoveToJointPositions -> JointPositions arm, err := NewArm(ctx, nil, cfg, logger) test.That(t, err, test.ShouldBeNil) - samplePositions := []referenceframe.Input{{0}, {math.Pi}, {-math.Pi}, {0}, {math.Pi}, {-math.Pi}} + samplePositions := []referenceframe.Input{0, math.Pi, -math.Pi, 0, math.Pi, -math.Pi} test.That(t, arm.MoveToJointPositions(ctx, samplePositions, nil), test.ShouldBeNil) positions, err := arm.JointPositions(ctx, nil) test.That(t, err, test.ShouldBeNil) diff --git a/components/arm/server.go b/components/arm/server.go index fbe1f925edf..ca807c5b449 100644 --- a/components/arm/server.go +++ b/components/arm/server.go @@ -180,7 +180,7 @@ func (s *serviceServer) GetGeometries(ctx context.Context, req *commonpb.GetGeom } jointPositionsPb := jointPbResp.GetPositions() - gifs, err := model.Geometries(model.InputFromProtobuf(jointPositionsPb)) + gifs, err := model.Geometries(jointPositionsPb.Values) if err != nil { return nil, err } diff --git a/components/arm/server_test.go b/components/arm/server_test.go index 7e9f256d840..c79d0db4c48 100644 --- a/components/arm/server_test.go +++ b/components/arm/server_test.go @@ -70,7 +70,7 @@ func TestServer(t *testing.T) { } injectArm.JointPositionsFunc = func(ctx context.Context, extra map[string]interface{}) ([]referenceframe.Input, error) { extraOptions = extra - return referenceframe.FloatsToInputs(positions), nil + return positions, nil } injectArm.MoveToPositionFunc = func(ctx context.Context, ap spatialmath.Pose, extra map[string]interface{}) error { capArmPos = ap diff --git a/components/base/kinematicbase/differentialDrive.go b/components/base/kinematicbase/differentialDrive.go index 5a5cd9d12e2..c5e80b9044c 100644 --- a/components/base/kinematicbase/differentialDrive.go +++ b/components/base/kinematicbase/differentialDrive.go @@ -33,7 +33,7 @@ var ( // errMovementTimeout is used for when a movement call times out after no movement for some time. errMovementTimeout = errors.New("movement has timed out") // Input representation of origin. - originInputs = []referenceframe.Input{{Value: 0}, {Value: 0}, {Value: 0}} + originInputs = []referenceframe.Input{0, 0, 0} ) // wrapWithDifferentialDriveKinematics takes a wheeledBase component and adds a localizer to it @@ -141,7 +141,7 @@ func (ddk *differentialDriveKinematics) CurrentInputs(ctx context.Context) ([]re // We should not have a problem with Gimbal lock by looking at yaw in the domain that most bases will be moving. // This could potentially be made more robust in the future, though. theta := math.Mod(pif.Pose().Orientation().EulerAngles().Yaw, 2*math.Pi) - return []referenceframe.Input{{Value: pt.X}, {Value: pt.Y}, {Value: theta}}, nil + return []referenceframe.Input{pt.X, pt.Y, theta}, nil } func (ddk *differentialDriveKinematics) GoToInputs(ctx context.Context, desiredSteps ...[]referenceframe.Input) error { @@ -191,7 +191,7 @@ func (ddk *differentialDriveKinematics) goToInputs(ctx context.Context, desired // when the base is within the positional threshold of the goal, exit the loop for err := cancelContext.Err(); err == nil; err = cancelContext.Err() { utils.SelectContextOrWait(ctx, 10*time.Millisecond) - point := spatialmath.NewPoint(r3.Vector{X: current[0].Value, Y: current[1].Value}, "") + point := spatialmath.NewPoint(r3.Vector{X: current[0], Y: current[1]}, "") col, err := validRegion.CollidesWith(point, defaultCollisionBufferMM) if err != nil { movementErr <- err @@ -203,8 +203,8 @@ func (ddk *differentialDriveKinematics) goToInputs(ctx context.Context, desired } // get to the x, y location first - note that from the base's perspective +y is forward - desiredHeading := math.Atan2(desired[1].Value-current[1].Value, desired[0].Value-current[0].Value) - commanded, err := ddk.issueCommand(cancelContext, current, []referenceframe.Input{desired[0], desired[1], {Value: desiredHeading}}) + desiredHeading := math.Atan2(desired[1]-current[1], desired[0]-current[0]) + commanded, err := ddk.issueCommand(cancelContext, current, []referenceframe.Input{desired[0], desired[1], desiredHeading}) if err != nil { movementErr <- err return @@ -290,7 +290,7 @@ func (ddk *differentialDriveKinematics) issueCommand(ctx context.Context, curren if ddk.Localizer == nil { ddk.mutex.Lock() defer ddk.mutex.Unlock() - ddk.noLocalizerCacheInputs = []referenceframe.Input{{Value: 0}, {Value: 0}, desired[2]} + ddk.noLocalizerCacheInputs = []referenceframe.Input{0, 0, desired[2]} time.Sleep(defaultNoLocalizerDelay) } return true, err @@ -314,8 +314,8 @@ func (ddk *differentialDriveKinematics) issueCommand(ctx context.Context, curren func (ddk *differentialDriveKinematics) inputDiff(current, desired []referenceframe.Input) (float64, float64, error) { // create a goal pose in the world frame goal := spatialmath.NewPose( - r3.Vector{X: desired[0].Value, Y: desired[1].Value}, - &spatialmath.OrientationVector{OZ: 1, Theta: desired[2].Value}, + r3.Vector{X: desired[0], Y: desired[1]}, + &spatialmath.OrientationVector{OZ: 1, Theta: desired[2]}, ) // transform the goal pose such that it is in the base frame @@ -336,13 +336,13 @@ func (ddk *differentialDriveKinematics) inputDiff(current, desired []referencefr // starting and ending waypoints. This capsule is used to detect whether a base leaves this region and has thus deviated // too far from its path. func (ddk *differentialDriveKinematics) newValidRegionCapsule(starting, desired []referenceframe.Input) (spatialmath.Geometry, error) { - pt := r3.Vector{X: (desired[0].Value + starting[0].Value) / 2, Y: (desired[1].Value + starting[1].Value) / 2} - positionErr, _, err := ddk.inputDiff(starting, []referenceframe.Input{desired[0], desired[1], {Value: 0}}) + pt := r3.Vector{X: (desired[0] + starting[0]) / 2, Y: (desired[1] + starting[1]) / 2} + positionErr, _, err := ddk.inputDiff(starting, []referenceframe.Input{desired[0], desired[1], 0}) if err != nil { return nil, err } - desiredHeading := math.Atan2(starting[0].Value-desired[0].Value, starting[1].Value-desired[1].Value) + desiredHeading := math.Atan2(starting[0]-desired[0], starting[1]-desired[1]) // rotate such that y is forward direction to match the frame for movement of a base // rotate around the z-axis such that the capsule points in the direction of the end waypoint diff --git a/components/base/kinematicbase/differentialDrive_test.go b/components/base/kinematicbase/differentialDrive_test.go index 0bd5c7e235c..621479ceb19 100644 --- a/components/base/kinematicbase/differentialDrive_test.go +++ b/components/base/kinematicbase/differentialDrive_test.go @@ -124,7 +124,7 @@ func TestCurrentInputs(t *testing.T) { for i := 0; i < 10; i++ { input, err := ddk.CurrentInputs(ctx) test.That(t, err, test.ShouldBeNil) - test.That(t, input, test.ShouldResemble, []referenceframe.Input{{Value: 0}, {Value: 0}, {Value: 0}}) + test.That(t, input, test.ShouldResemble, []referenceframe.Input{0, 0, 0}) } }) } @@ -145,10 +145,10 @@ func TestInputDiff(t *testing.T) { test.That(t, err, test.ShouldBeNil) ddk.Localizer = motion.NewSLAMLocalizer(slam) - desiredInput := []referenceframe.Input{{Value: 3}, {Value: 4}, {Value: utils.DegToRad(30)}} + desiredInput := []referenceframe.Input{3, 4, utils.DegToRad(30)} distErr, headingErr, err := ddk.inputDiff(make([]referenceframe.Input, 3), desiredInput) test.That(t, err, test.ShouldBeNil) - test.That(t, distErr, test.ShouldAlmostEqual, r3.Vector{X: desiredInput[0].Value, Y: desiredInput[1].Value, Z: 0}.Norm()) + test.That(t, distErr, test.ShouldAlmostEqual, r3.Vector{X: desiredInput[0], Y: desiredInput[1], Z: 0}.Norm()) test.That(t, headingErr, test.ShouldAlmostEqual, 30) } @@ -204,8 +204,8 @@ func TestNewValidRegionCapsule(t *testing.T) { ddk, err := buildTestDDK(ctx, testConfig(), true, defaultLinearVelocityMMPerSec, defaultAngularVelocityDegsPerSec, logger) test.That(t, err, test.ShouldBeNil) - starting := referenceframe.FloatsToInputs([]float64{400, 0, 0}) - desired := referenceframe.FloatsToInputs([]float64{0, 400, 0}) + starting := []referenceframe.Input{400, 0, 0} + desired := []referenceframe.Input{0, 400, 0} c, err := ddk.newValidRegionCapsule(starting, desired) test.That(t, err, test.ShouldBeNil) diff --git a/components/base/kinematicbase/execution.go b/components/base/kinematicbase/execution.go index e282c360dd3..c865af0311e 100644 --- a/components/base/kinematicbase/execution.go +++ b/components/base/kinematicbase/execution.go @@ -164,14 +164,14 @@ func (ptgk *ptgBaseKinematics) GoToInputs(ctx context.Context, inputSteps ...[]r return tryStop(ctx.Err()) } } - inputValDiff := step.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex].Value - - step.arcSegment.EndConfiguration[startDistanceAlongTrajectoryIndex].Value + inputValDiff := step.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex] - + step.arcSegment.EndConfiguration[startDistanceAlongTrajectoryIndex] elapsedPct := math.Min(1.0, timeElapsedSeconds/step.durationSeconds) currentInputs := []referenceframe.Input{ step.arcSegment.StartConfiguration[ptgIndex], step.arcSegment.StartConfiguration[trajectoryAlphaWithinPTG], step.arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex], - {step.arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex].Value + inputValDiff*elapsedPct}, + step.arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex] + inputValDiff*elapsedPct, } ptgk.inputLock.Lock() ptgk.currentState.currentInputs = currentInputs @@ -231,12 +231,12 @@ func (ptgk *ptgBaseKinematics) trajectoryArcSteps( startPose spatialmath.Pose, inputs []referenceframe.Input, ) ([]arcStep, error) { - selectedPTG := int(math.Round(inputs[ptgIndex].Value)) + selectedPTG := int(math.Round(inputs[ptgIndex])) traj, err := ptgk.ptgs[selectedPTG].Trajectory( - inputs[trajectoryAlphaWithinPTG].Value, - inputs[startDistanceAlongTrajectoryIndex].Value, - inputs[endDistanceAlongTrajectoryIndex].Value, + inputs[trajectoryAlphaWithinPTG], + inputs[startDistanceAlongTrajectoryIndex], + inputs[endDistanceAlongTrajectoryIndex], stepDistResolution, ) if err != nil { @@ -245,7 +245,7 @@ func (ptgk *ptgBaseKinematics) trajectoryArcSteps( finalSteps := []arcStep{} timeStep := 0. - curDist := inputs[startDistanceAlongTrajectoryIndex].Value + curDist := inputs[startDistanceAlongTrajectoryIndex] startInputs := []referenceframe.Input{ inputs[ptgIndex], inputs[trajectoryAlphaWithinPTG], @@ -289,7 +289,7 @@ func (ptgk *ptgBaseKinematics) trajectoryArcSteps( inputs[ptgIndex], inputs[trajectoryAlphaWithinPTG], nextStep.arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex], - {curDist}, + curDist, } nextStep.arcSegment.EndConfiguration = stepEndInputs @@ -304,8 +304,8 @@ func (ptgk *ptgBaseKinematics) trajectoryArcSteps( stepStartInputs := []referenceframe.Input{ inputs[ptgIndex], inputs[trajectoryAlphaWithinPTG], - {curDist}, - {curDist}, + curDist, + curDist, } segment = motionplan.Segment{ StartConfiguration: stepStartInputs, @@ -328,7 +328,7 @@ func (ptgk *ptgBaseKinematics) trajectoryArcSteps( inputs[ptgIndex], inputs[trajectoryAlphaWithinPTG], nextStep.arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex], - {curDist}, + curDist, } nextStep.arcSegment.EndConfiguration = finalInputs arcPose, err := ptgk.planningModel.Transform(finalInputs) @@ -399,7 +399,7 @@ func (ptgk *ptgBaseKinematics) courseCorrect( // We've got a course correction solution. Swap out the relevant arcsteps. newArcSteps, err := ptgk.trajectoryArcSteps( actualPoseTracked, - []referenceframe.Input{{float64(ptgk.courseCorrectionIdx)}, solution.Solution[i], {0}, solution.Solution[i+1]}, + []referenceframe.Input{float64(ptgk.courseCorrectionIdx), solution.Solution[i], 0, solution.Solution[i+1]}, ) if err != nil { return nil, err @@ -422,8 +422,8 @@ func (ptgk *ptgBaseKinematics) courseCorrect( connectionPointDeepCopy := copyArcStep(connectionPoint) arcOriginalLength := math.Abs( - connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex].Value - - connectionPointDeepCopy.arcSegment.EndConfiguration[startDistanceAlongTrajectoryIndex].Value, + connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex] - + connectionPointDeepCopy.arcSegment.EndConfiguration[startDistanceAlongTrajectoryIndex], ) // Use distances to calculate the % completion of the arc, used to update the time remaining. @@ -444,24 +444,24 @@ func (ptgk *ptgBaseKinematics) courseCorrect( connectionPointDeepCopy.arcSegment.EndConfiguration[ptgIndex], connectionPointDeepCopy.arcSegment.EndConfiguration[trajectoryAlphaWithinPTG], connectionPointDeepCopy.arcSegment.EndConfiguration[startDistanceAlongTrajectoryIndex], - {startVal}, + startVal, } skippedPose, err := ptgk.planningModel.Transform(skippedSegment) if err != nil { return nil, err } - isReverse := connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex].Value < 0 + isReverse := connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex] < 0 if isReverse { - startVal += connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex].Value + startVal += connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex] } - connectionPointDeepCopy.arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex].Value = startVal - connectionPointDeepCopy.arcSegment.StartConfiguration[endDistanceAlongTrajectoryIndex].Value = startVal + connectionPointDeepCopy.arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex] = startVal + connectionPointDeepCopy.arcSegment.StartConfiguration[endDistanceAlongTrajectoryIndex] = startVal if isReverse { - connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex].Value = startVal + connectionPointDeepCopy.arcSegment.EndConfiguration[endDistanceAlongTrajectoryIndex] = startVal } else { - connectionPointDeepCopy.arcSegment.EndConfiguration[startDistanceAlongTrajectoryIndex].Value = startVal + connectionPointDeepCopy.arcSegment.EndConfiguration[startDistanceAlongTrajectoryIndex] = startVal } // The start position should be where the connection tried to get to. // This needs to be the Goal, as that is the point along the original path, not the solved point, which is just somewhere near @@ -497,11 +497,11 @@ func (ptgk *ptgBaseKinematics) getCorrectionSolution(ctx context.Context, goals for _, goal := range goals { solveMetric := motionplan.NewScaledSquaredNormMetric(goal.Goal, 50) ptgk.logger.Debug("attempting goal", goal.Goal) - seed := []referenceframe.Input{{math.Pi / 2}, {ptgk.linVelocityMMPerSecond / 2}, {math.Pi / 2}, {ptgk.linVelocityMMPerSecond / 2}} + seed := []referenceframe.Input{math.Pi / 2, ptgk.linVelocityMMPerSecond / 2, math.Pi / 2, ptgk.linVelocityMMPerSecond / 2} if goal.Goal.Point().X > 0 { - seed[0].Value *= -1 + seed[0] *= -1 } else { - seed[2].Value *= -1 + seed[2] *= -1 } // Attempt to use our course correction solver to solve for a new set of trajectories which will get us from our current position // to our goal point along our original trajectory. @@ -515,7 +515,7 @@ func (ptgk *ptgBaseKinematics) getCorrectionSolution(ctx context.Context, goals } ptgk.logger.Debug("solution", solution) if solution.Score < courseCorrectionMaxScore { - goal.Solution = referenceframe.FloatsToInputs(solution.Configuration) + goal.Solution = solution.Configuration return goal, nil } } @@ -531,7 +531,7 @@ func (ptgk *ptgBaseKinematics) makeCourseCorrectionGoals( currentInputs []referenceframe.Input, ) []courseCorrectionGoal { goals := []courseCorrectionGoal{} - currDist := currentInputs[endDistanceAlongTrajectoryIndex].Value + currDist := currentInputs[endDistanceAlongTrajectoryIndex] stepsPerGoal := int((ptgk.nonzeroBaseTurningRadiusMeters*lookaheadDistMult*1000)/stepDistResolution) / nGoals if stepsPerGoal < 1 { @@ -568,7 +568,7 @@ func (ptgk *ptgBaseKinematics) makeCourseCorrectionGoals( steps[i].arcSegment.StartConfiguration[ptgIndex], steps[i].arcSegment.StartConfiguration[trajectoryAlphaWithinPTG], steps[i].arcSegment.StartConfiguration[startDistanceAlongTrajectoryIndex], - {steps[i].subTraj[goalTrajPtIdx].Dist}, + steps[i].subTraj[goalTrajPtIdx].Dist, } arcPose, err := ptgk.planningModel.Transform(arcTrajInputs) diff --git a/components/base/kinematicbase/ptgKinematics_test.go b/components/base/kinematicbase/ptgKinematics_test.go index fad9b5482b3..766e870ff60 100644 --- a/components/base/kinematicbase/ptgKinematics_test.go +++ b/components/base/kinematicbase/ptgKinematics_test.go @@ -62,7 +62,7 @@ func TestPTGKinematicsNoGeom(t *testing.T) { test.That(t, f.Name(), test.ShouldEqual, b.Name().ShortName()) test.That(t, f.DoF(), test.ShouldResemble, frame.DoF()) - gifs, err := f.Geometries(referenceframe.FloatsToInputs([]float64{0, 0, 0, 0})) + gifs, err := f.Geometries([]referenceframe.Input{0, 0, 0, 0}) test.That(t, err, test.ShouldBeNil) test.That(t, gifs.Geometries(), test.ShouldResemble, []spatialmath.Geometry{defaultBaseGeom}) @@ -215,8 +215,8 @@ func TestPTGKinematicsWithGeom(t *testing.T) { currInputs := []referenceframe.Input{ arcSteps[arcIdx].arcSegment.StartConfiguration[0], arcSteps[arcIdx].arcSegment.StartConfiguration[1], - {0}, - {1}, + 0, + 1, } ptgBase.inputLock.Lock() ptgBase.currentState.currentIdx = arcIdx @@ -280,8 +280,8 @@ func TestPTGKinematicsWithGeom(t *testing.T) { newInputs := []referenceframe.Input{ arcSteps[arcIdx].arcSegment.StartConfiguration[0], arcSteps[arcIdx].arcSegment.StartConfiguration[1], - {0}, - {0}, + 0, + 0, } ptgBase.inputLock.Lock() ptgBase.currentState.currentIdx = arcIdx @@ -316,7 +316,7 @@ func TestPTGKinematicsWithGeom(t *testing.T) { test.That(t, k.Name(), test.ShouldEqual, b.Name().ShortName()) test.That(t, k.DoF(), test.ShouldResemble, f.DoF()) - gifs, err := k.Geometries(referenceframe.FloatsToInputs([]float64{0, 0, 0, 0})) + gifs, err := k.Geometries([]referenceframe.Input{0, 0, 0, 0}) test.That(t, err, test.ShouldBeNil) test.That(t, gifs.Geometries(), test.ShouldResemble, []spatialmath.Geometry{baseGeom}) }) @@ -330,7 +330,7 @@ func TestPTGKinematicsWithGeom(t *testing.T) { ptgBase.inputLock.RLock() currInputs := ptgBase.currentState.currentInputs ptgBase.inputLock.RUnlock() - currInputs[2].Value = 0 + currInputs[2] = 0 newPose, err := k.Transform(currInputs) test.That(t, err, test.ShouldBeNil) @@ -341,7 +341,7 @@ func TestPTGKinematicsWithGeom(t *testing.T) { ptgBase.inputLock.RLock() currInputs := ptgBase.currentState.currentInputs ptgBase.inputLock.RUnlock() - currInputs[2].Value = 0 + currInputs[2] = 0 newPose, err := k.Transform(currInputs) test.That(t, err, test.ShouldBeNil) headingRightHanded := newPose.Orientation().OrientationVectorDegrees().Theta @@ -354,10 +354,10 @@ func TestPTGKinematicsWithGeom(t *testing.T) { err = kb.GoToInputs(ctx, waypoints[0]) test.That(t, err, test.ShouldBeNil) newInputs := []referenceframe.Input{ - {float64(ptgBase.courseCorrectionIdx)}, - {math.Pi / 2.}, - {0}, - {1100}, + float64(ptgBase.courseCorrectionIdx), + math.Pi / 2., + 0, + 1100, } err = kb.GoToInputs(ctx, newInputs) test.That(t, err, test.ShouldBeNil) @@ -367,7 +367,7 @@ func TestPTGKinematicsWithGeom(t *testing.T) { currentInputs, err := kb.CurrentInputs(ctx) test.That(t, err, test.ShouldBeNil) test.That(t, len(currentInputs), test.ShouldEqual, 4) - expectedInputs := referenceframe.FloatsToInputs([]float64{0, 0, 0, 0}) + expectedInputs := []referenceframe.Input{0, 0, 0, 0} test.That(t, currentInputs, test.ShouldResemble, expectedInputs) }) @@ -411,11 +411,11 @@ func TestPTGKinematicsSimpleInputs(t *testing.T) { test.That(t, ok, test.ShouldBeTrue) test.That(t, ptgBase, test.ShouldNotBeNil) - inputs := []referenceframe.Input{{0}, {1.9}, {1300}, {200}} + inputs := []referenceframe.Input{0, 1.9, 1300, 200} err = ptgBase.GoToInputs(ctx, inputs) test.That(t, err, test.ShouldBeNil) - inputs = []referenceframe.Input{{0}, {1.9}, {1300}, {0}} + inputs = []referenceframe.Input{0, 1.9, 1300, 0} err = ptgBase.GoToInputs(ctx, inputs) test.That(t, err, test.ShouldBeNil) } @@ -428,8 +428,8 @@ func TestCopyArcStep(t *testing.T) { arcSegment: motionplan.Segment{ StartPosition: spatialmath.NewPoseFromPoint(r3.Vector{1, 2, 3}), EndPosition: spatialmath.NewPoseFromPoint(r3.Vector{4, 5, 6}), - StartConfiguration: []referenceframe.Input{{1}, {2}, {3}}, - EndConfiguration: []referenceframe.Input{{4}, {5}, {6}}, + StartConfiguration: []referenceframe.Input{1, 2, 3}, + EndConfiguration: []referenceframe.Input{4, 5, 6}, Frame: referenceframe.NewZeroStaticFrame("test"), }, subTraj: []*tpspace.TrajNode{ diff --git a/components/gantry/client.go b/components/gantry/client.go index b14e973b9eb..8cf2e4934ea 100644 --- a/components/gantry/client.go +++ b/components/gantry/client.go @@ -127,13 +127,13 @@ func (c *client) CurrentInputs(ctx context.Context) ([]referenceframe.Input, err if err != nil { return nil, err } - return referenceframe.FloatsToInputs(res), nil + return res, nil } func (c *client) GoToInputs(ctx context.Context, inputSteps ...[]referenceframe.Input) error { for _, goal := range inputSteps { speeds := []float64{} - err := c.MoveToPosition(ctx, referenceframe.InputsToFloats(goal), speeds, nil) + err := c.MoveToPosition(ctx, goal, speeds, nil) if err != nil { return err } diff --git a/components/gantry/fake/gantry.go b/components/gantry/fake/gantry.go index c37a74bca56..e7a7a8d194c 100644 --- a/components/gantry/fake/gantry.go +++ b/components/gantry/fake/gantry.go @@ -107,13 +107,13 @@ func (g *Gantry) CurrentInputs(ctx context.Context) ([]referenceframe.Input, err if err != nil { return nil, err } - return referenceframe.FloatsToInputs(res), nil + return res, nil } // GoToInputs moves using the Gantry frames.. func (g *Gantry) GoToInputs(ctx context.Context, inputSteps ...[]referenceframe.Input) error { for _, goal := range inputSteps { - err := g.MoveToPosition(ctx, referenceframe.InputsToFloats(goal), g.speedsMmPerSec, nil) + err := g.MoveToPosition(ctx, goal, g.speedsMmPerSec, nil) if err != nil { return err } diff --git a/components/gantry/multiaxis/multiaxis.go b/components/gantry/multiaxis/multiaxis.go index 1acc2ee547e..9670c74ff54 100644 --- a/components/gantry/multiaxis/multiaxis.go +++ b/components/gantry/multiaxis/multiaxis.go @@ -169,7 +169,7 @@ func (g *multiAxis) GoToInputs(ctx context.Context, inputSteps ...[]referencefra // MoveToPosition will use the default gantry speed when an empty float is passed in speeds := []float64{} - err := g.MoveToPosition(ctx, referenceframe.InputsToFloats(goal), speeds, nil) + err := g.MoveToPosition(ctx, goal, speeds, nil) if err != nil { return err } @@ -254,5 +254,5 @@ func (g *multiAxis) CurrentInputs(ctx context.Context) ([]referenceframe.Input, return nil, err } - return referenceframe.FloatsToInputs(positions), nil + return positions, nil } diff --git a/components/gantry/multiaxis/multiaxis_test.go b/components/gantry/multiaxis/multiaxis_test.go index d4a5073d544..2e0a2f41546 100644 --- a/components/gantry/multiaxis/multiaxis_test.go +++ b/components/gantry/multiaxis/multiaxis_test.go @@ -166,7 +166,7 @@ func TestGoToInputs(t *testing.T) { lengthsMm: []float64{1, 2, 3}, opMgr: operation.NewSingleOperationManager(), } - inputs = []referenceframe.Input{{Value: 1}, {Value: 2}, {Value: 3}} + inputs = []referenceframe.Input{1, 2, 3} err = fakemultiaxis.GoToInputs(ctx, inputs) test.That(t, err, test.ShouldBeNil) @@ -175,7 +175,7 @@ func TestGoToInputs(t *testing.T) { lengthsMm: []float64{1, 2}, opMgr: operation.NewSingleOperationManager(), } - inputs = []referenceframe.Input{{Value: 1}, {Value: 2}} + inputs = []referenceframe.Input{1, 2} err = fakemultiaxis.GoToInputs(ctx, inputs) test.That(t, err, test.ShouldBeNil) } @@ -289,7 +289,7 @@ func TestCurrentInputs(t *testing.T) { } inputs, err = fakemultiaxis.CurrentInputs(ctx) test.That(t, err, test.ShouldBeNil) - test.That(t, inputs, test.ShouldResemble, []referenceframe.Input{{Value: 1}, {Value: 5}, {Value: 9}}) + test.That(t, inputs, test.ShouldResemble, []referenceframe.Input{1, 5, 9}) fakemultiaxis = &multiAxis{ subAxes: twoAxes, @@ -297,7 +297,7 @@ func TestCurrentInputs(t *testing.T) { } inputs, err = fakemultiaxis.CurrentInputs(ctx) test.That(t, err, test.ShouldBeNil) - test.That(t, inputs, test.ShouldResemble, []referenceframe.Input{{Value: 1}, {Value: 5}}) + test.That(t, inputs, test.ShouldResemble, []referenceframe.Input{1, 5}) } func TestKinematics(t *testing.T) { diff --git a/components/gantry/singleaxis/singleaxis.go b/components/gantry/singleaxis/singleaxis.go index 5a40a0f9473..bf2547a68e1 100644 --- a/components/gantry/singleaxis/singleaxis.go +++ b/components/gantry/singleaxis/singleaxis.go @@ -629,7 +629,7 @@ func (g *singleAxis) CurrentInputs(ctx context.Context) ([]referenceframe.Input, if err != nil { return nil, err } - return referenceframe.FloatsToInputs(res), nil + return res, nil } // GoToInputs moves the gantry to a goal position in the Gantry frame. @@ -638,7 +638,7 @@ func (g *singleAxis) GoToInputs(ctx context.Context, inputSteps ...[]referencefr defer g.mu.Unlock() for _, goal := range inputSteps { speed := []float64{} - err := g.MoveToPosition(ctx, referenceframe.InputsToFloats(goal), speed, nil) + err := g.MoveToPosition(ctx, goal, speed, nil) if err != nil { return err } diff --git a/components/gantry/singleaxis/singleaxis_test.go b/components/gantry/singleaxis/singleaxis_test.go index 9eb738545c0..f7a02787d1b 100644 --- a/components/gantry/singleaxis/singleaxis_test.go +++ b/components/gantry/singleaxis/singleaxis_test.go @@ -776,7 +776,7 @@ func TestCurrentInputs(t *testing.T) { input, err := fakegantry.CurrentInputs(ctx) test.That(t, err, test.ShouldBeNil) - test.That(t, input[0].Value, test.ShouldEqual, 100) + test.That(t, input[0], test.ShouldEqual, 100) fakegantry = &singleAxis{ motor: createFakeMotor(), @@ -793,7 +793,7 @@ func TestCurrentInputs(t *testing.T) { input, err = fakegantry.CurrentInputs(ctx) test.That(t, err, test.ShouldBeNil) - test.That(t, input[0].Value, test.ShouldEqual, 100) + test.That(t, input[0], test.ShouldEqual, 100) // out of bounds position fakegantry = &singleAxis{ @@ -855,19 +855,19 @@ func TestGoToInputs(t *testing.T) { err = fakegantry.GoToInputs(ctx, inputs) test.That(t, err.Error(), test.ShouldContainSubstring, "needs 1 position to move") - inputs = []referenceframe.Input{{Value: 1.0}, {Value: 2.0}} + inputs = []referenceframe.Input{1.0, 2.0} err = fakegantry.GoToInputs(ctx, inputs) test.That(t, err.Error(), test.ShouldContainSubstring, "needs 1 position to move") - inputs = []referenceframe.Input{{Value: -1.0}} + inputs = []referenceframe.Input{-1.0} err = fakegantry.GoToInputs(ctx, inputs) test.That(t, err.Error(), test.ShouldContainSubstring, "out of range") - inputs = []referenceframe.Input{{Value: 4.0}} + inputs = []referenceframe.Input{4.0} err = fakegantry.GoToInputs(ctx, inputs) test.That(t, err.Error(), test.ShouldContainSubstring, "out of range") - inputs = []referenceframe.Input{{Value: 1.0}} + inputs = []referenceframe.Input{1.0} err = fakegantry.GoToInputs(ctx, inputs) test.That(t, err.Error(), test.ShouldContainSubstring, "cannot move past limit switch") diff --git a/module/module_test.go b/module/module_test.go index 437aae1588c..955e674c4df 100644 --- a/module/module_test.go +++ b/module/module_test.go @@ -923,7 +923,7 @@ func TestNewFrameSystemClient(t *testing.T) { testName := resource.NewName(testAPI, "arm1") expectedInputs := referenceframe.FrameSystemInputs{ - testName.ShortName(): []referenceframe.Input{{0}, {math.Pi}, {-math.Pi}, {0}, {math.Pi}, {-math.Pi}}, + testName.ShortName(): []referenceframe.Input{0, math.Pi, -math.Pi, 0, math.Pi, -math.Pi}, } injectArm := &inject.Arm{ JointPositionsFunc: func(ctx context.Context, extra map[string]any) ([]referenceframe.Input, error) { diff --git a/motionplan/armplanning/arm_test.go b/motionplan/armplanning/arm_test.go index b9657637dfe..05ae7101430 100644 --- a/motionplan/armplanning/arm_test.go +++ b/motionplan/armplanning/arm_test.go @@ -31,14 +31,14 @@ func TestOOBArmMotion(t *testing.T) { // instantiate out of bounds arm notReal, err := fake.NewArm(context.Background(), nil, cfg, logger) test.That(t, err, test.ShouldBeNil) - OOBFloats := []float64{0, 0, 0, 0, 0, 720} + OOBFloats := []referenceframe.Input{0, 0, 0, 0, 0, 720} injectedArm := &inject.Arm{ Arm: notReal, JointPositionsFunc: func(ctx context.Context, extra map[string]interface{}) ([]referenceframe.Input, error) { - return referenceframe.FloatsToInputs(OOBFloats), nil + return OOBFloats, nil }, CurrentInputsFunc: func(ctx context.Context) ([]referenceframe.Input, error) { - return referenceframe.FloatsToInputs(OOBFloats), nil + return OOBFloats, nil }, } @@ -56,12 +56,12 @@ func TestOOBArmMotion(t *testing.T) { }) t.Run("MoveToJointPositions fails OOB and moving further OOB", func(t *testing.T) { - err := injectedArm.MoveToJointPositions(context.Background(), referenceframe.FloatsToInputs([]float64{0, 0, 0, 0, 0, 900}), nil) + err := injectedArm.MoveToJointPositions(context.Background(), []referenceframe.Input{0, 0, 0, 0, 0, 900}, nil) test.That(t, err, test.ShouldNotBeNil) }) t.Run("MoveToJointPositions succeeds when OOB and moving further in-bounds", func(t *testing.T) { - err := injectedArm.MoveToJointPositions(context.Background(), referenceframe.FloatsToInputs([]float64{0, 0, 0, 0, 0, 0}), nil) + err := injectedArm.MoveToJointPositions(context.Background(), []referenceframe.Input{0, 0, 0, 0, 0, 0}, nil) test.That(t, err, test.ShouldBeNil) }) } diff --git a/motionplan/armplanning/cBiRRT_test.go b/motionplan/armplanning/cBiRRT_test.go index f731d7c1d6c..91b3bf5c296 100644 --- a/motionplan/armplanning/cBiRRT_test.go +++ b/motionplan/armplanning/cBiRRT_test.go @@ -54,7 +54,7 @@ func TestSimpleLinearMotion(t *testing.T) { near1 := &node{inputs: referenceframe.FrameSystemInputs{m.Name(): home7}} seedMap := rrtMap{} seedMap[near1] = nil - target := referenceframe.FrameSystemInputs{m.Name(): referenceframe.FloatsToInputs([]float64{ + target := referenceframe.FrameSystemInputs{m.Name(): []referenceframe.Input{ 0.22034293025523666, 0.023301860367034785, 0.0035938741832804775, @@ -62,7 +62,7 @@ func TestSimpleLinearMotion(t *testing.T) { -0.006010542176591475, 0.013764993693680328, 0.22994099248696265, - })} + }} goalMap := rrtMap{} diff --git a/motionplan/armplanning/constraint_test.go b/motionplan/armplanning/constraint_test.go index 1d449a3f3b5..2bdca710037 100644 --- a/motionplan/armplanning/constraint_test.go +++ b/motionplan/armplanning/constraint_test.go @@ -9,7 +9,7 @@ import ( "go.viam.com/rdk/logging" "go.viam.com/rdk/motionplan" - frame "go.viam.com/rdk/referenceframe" + "go.viam.com/rdk/referenceframe" spatial "go.viam.com/rdk/spatialmath" "go.viam.com/rdk/utils" ) @@ -18,17 +18,17 @@ func TestIKTolerances(t *testing.T) { ctx := context.Background() logger := logging.NewTestLogger(t) - m, err := frame.ParseModelJSONFile(utils.ResolveFile("referenceframe/testfiles/ur5eDH.json"), "") + m, err := referenceframe.ParseModelJSONFile(utils.ResolveFile("referenceframe/testfiles/ur5eDH.json"), "") test.That(t, err, test.ShouldBeNil) - fs := frame.NewEmptyFrameSystem("") + fs := referenceframe.NewEmptyFrameSystem("") fs.AddFrame(m, fs.World()) - goal := frame.FrameSystemPoses{m.Name(): frame.NewPoseInFrame( - frame.World, + goal := referenceframe.FrameSystemPoses{m.Name(): referenceframe.NewPoseInFrame( + referenceframe.World, spatial.NewPoseFromProtobuf(&commonpb.Pose{X: -46, Y: 0, Z: 372, OX: -1.78, OY: -3.3, OZ: -1.11}), )} - seed := frame.FrameSystemInputs{m.Name(): frame.FloatsToInputs(make([]float64, 6))} + seed := referenceframe.FrameSystemInputs{m.Name(): make([]referenceframe.Input, 6)} // Create PlanRequest to use the new API request := &PlanRequest{ diff --git a/motionplan/armplanning/data/orb-plan1.json b/motionplan/armplanning/data/orb-plan1.json index cf9e6a92bc4..2f054aa3854 100644 --- a/motionplan/armplanning/data/orb-plan1.json +++ b/motionplan/armplanning/data/orb-plan1.json @@ -583,24 +583,12 @@ "sander-edge": [], "sander-edge_origin": [], "sanding-ur5": [ - { - "Value": 0.3298600614070892 - }, - { - "Value": -1.768963476220602 - }, - { - "Value": -1.5768837928771973 - }, - { - "Value": -1.3665407609990616 - }, - { - "Value": 1.570793628692627 - }, - { - "Value": 1.900467872619629 - } + 0.3298600614070892, + -1.768963476220602, + -1.5768837928771973, + -1.3665407609990616, + 1.570793628692627, + 1.900467872619629 ], "sanding-ur5_origin": [] } diff --git a/motionplan/armplanning/data/orb-plan2.json b/motionplan/armplanning/data/orb-plan2.json index c509968c192..b9179d3c921 100644 --- a/motionplan/armplanning/data/orb-plan2.json +++ b/motionplan/armplanning/data/orb-plan2.json @@ -583,24 +583,12 @@ "sander-edge": [], "sander-edge_origin": [], "sanding-ur5": [ - { - "Value": 3.060148000717163 - }, - { - "Value": -1.364274115567543 - }, - { - "Value": 1.5666945616351529 - }, - { - "Value": -1.7732321224608363 - }, - { - "Value": -1.5707414785968228 - }, - { - "Value": 1.4894148111343384 - } + 3.060148000717163, + -1.364274115567543, + 1.5666945616351529, + -1.7732321224608363, + -1.5707414785968228, + 1.4894148111343384 ], "sanding-ur5_origin": [] } diff --git a/motionplan/armplanning/data/plan_request_sample.json b/motionplan/armplanning/data/plan_request_sample.json index 2b79f581734..77a5e184105 100644 --- a/motionplan/armplanning/data/plan_request_sample.json +++ b/motionplan/armplanning/data/plan_request_sample.json @@ -356,24 +356,12 @@ "poses": null, "configuration": { "xArm6": [ - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - } + 0, + 0, + 0, + 0, + 0, + 0 ], "xArmVgripper": [] } diff --git a/motionplan/armplanning/data/pour-plan-bad.json b/motionplan/armplanning/data/pour-plan-bad.json index 97b60016596..71b46632453 100644 --- a/motionplan/armplanning/data/pour-plan-bad.json +++ b/motionplan/armplanning/data/pour-plan-bad.json @@ -540,24 +540,12 @@ "poses": null, "configuration": { "arm-right": [ - { - "Value": -1.6240087333831559 - }, - { - "Value": -0.8528109341576869 - }, - { - "Value": -0.25519111593624666 - }, - { - "Value": 4.6751795965057035 - }, - { - "Value": 1.0307898450283413 - }, - { - "Value": -2.4957003183714814 - } + -1.6240087333831559, + -0.8528109341576869, + -0.25519111593624666, + 4.6751795965057035, + 1.0307898450283413, + -2.4957003183714814 ] } }, diff --git a/motionplan/armplanning/data/sanding-large-move1.json b/motionplan/armplanning/data/sanding-large-move1.json index 3609b5264f2..3b926699401 100644 --- a/motionplan/armplanning/data/sanding-large-move1.json +++ b/motionplan/armplanning/data/sanding-large-move1.json @@ -1234,24 +1234,12 @@ "sensing-camera": [], "sensing-camera_origin": [], "ur20-modular": [ - { - "Value": 1.551521554122367 - }, - { - "Value": -2.8703546154447896 - }, - { - "Value": -1.717774741139877 - }, - { - "Value": -3.2852258773610514 - }, - { - "Value": -1.5715073465283798 - }, - { - "Value": -0.01548185998658987 - } + 1.551521554122367, + -2.8703546154447896, + -1.717774741139877, + -3.2852258773610514, + -1.5715073465283798, + -0.01548185998658987 ], "ur20-modular_origin": [], "wall": [], diff --git a/motionplan/armplanning/data/wine-adjust.json b/motionplan/armplanning/data/wine-adjust.json index 129d1c05d70..e1829361703 100644 --- a/motionplan/armplanning/data/wine-adjust.json +++ b/motionplan/armplanning/data/wine-adjust.json @@ -1608,45 +1608,21 @@ "poses": null, "configuration": { "arm-left": [ - { - "Value": -4.204005241394043 - }, - { - "Value": 0.5516000390052795 - }, - { - "Value": -0.802040159702301 - }, - { - "Value": 4.697446823120117 - }, - { - "Value": 1.5669305324554443 - }, - { - "Value": -0.2502570152282715 - } + -4.204005241394043, + 0.5516000390052795, + -0.802040159702301, + 4.697446823120117, + 1.5669305324554443, + -0.2502570152282715 ], "arm-left_origin": [], "arm-right": [ - { - "Value": -1.13128936290741 - }, - { - "Value": -1.8993252515792847 - }, - { - "Value": -0.5696046948432922 - }, - { - "Value": 6.087096691131592 - }, - { - "Value": 1.9338231086730957 - }, - { - "Value": -3.2210705280303955 - } + -1.13128936290741, + -1.8993252515792847, + -0.5696046948432922, + 6.087096691131592, + 1.9338231086730957, + -3.2210705280303955 ], "arm-right_origin": [], "cam-left": [], diff --git a/motionplan/armplanning/data/wine-crazy-touch.json b/motionplan/armplanning/data/wine-crazy-touch.json index 64e6d5b41c2..410a87c7d20 100644 --- a/motionplan/armplanning/data/wine-crazy-touch.json +++ b/motionplan/armplanning/data/wine-crazy-touch.json @@ -1608,45 +1608,21 @@ "poses": null, "configuration": { "arm-left": [ - { - "Value": -5.448896408081055 - }, - { - "Value": -1.18217408657074 - }, - { - "Value": -0.52701336145401 - }, - { - "Value": 3.471836566925049 - }, - { - "Value": -1.0830711126327515 - }, - { - "Value": -0.8000170588493347 - } + -5.448896408081055, + -1.18217408657074, + -0.52701336145401, + 3.471836566925049, + -1.0830711126327515, + -0.8000170588493347 ], "arm-left_origin": [], "arm-right": [ - { - "Value": -1.1314610242843628 - }, - { - "Value": -1.8993258476257324 - }, - { - "Value": -0.5695485472679138 - }, - { - "Value": 6.087271213531494 - }, - { - "Value": 1.9338887929916382 - }, - { - "Value": -3.221126079559326 - } + -1.1314610242843628, + -1.8993258476257324, + -0.5695485472679138, + 6.087271213531494, + 1.9338887929916382, + -3.221126079559326 ], "arm-right_origin": [], "cam-left": [], diff --git a/motionplan/armplanning/data/wine-crazy-touch2.json b/motionplan/armplanning/data/wine-crazy-touch2.json index 7d1429ab448..b34150eac04 100644 --- a/motionplan/armplanning/data/wine-crazy-touch2.json +++ b/motionplan/armplanning/data/wine-crazy-touch2.json @@ -1608,45 +1608,21 @@ "poses": null, "configuration": { "arm-left": [ - { - "Value": -5.449004650115966 - }, - { - "Value": -1.182271599769592 - }, - { - "Value": -0.5269607305526733 - }, - { - "Value": 3.471745491027832 - }, - { - "Value": -1.0830767154693604 - }, - { - "Value": -0.7999728918075562 - } + -5.449004650115966, + -1.182271599769592, + -0.5269607305526733, + 3.471745491027832, + -1.0830767154693604, + -0.7999728918075562 ], "arm-left_origin": [], "arm-right": [ - { - "Value": -1.131489157676697 - }, - { - "Value": -1.8993481397628784 - }, - { - "Value": -0.5695191025733947 - }, - { - "Value": 6.087257385253906 - }, - { - "Value": 1.9338818788528442 - }, - { - "Value": -3.2211315631866455 - } + -1.131489157676697, + -1.8993481397628784, + -0.5695191025733947, + 6.087257385253906, + 1.9338818788528442, + -3.2211315631866455 ], "arm-right_origin": [], "cam-left": [], diff --git a/motionplan/armplanning/functional_test.go b/motionplan/armplanning/functional_test.go index 98a7ce46b8b..fedf9511444 100644 --- a/motionplan/armplanning/functional_test.go +++ b/motionplan/armplanning/functional_test.go @@ -21,8 +21,8 @@ import ( ) var ( - home7 = frame.FloatsToInputs([]float64{0, 0, 0, 0, 0, 0, 0}) - home6 = frame.FloatsToInputs([]float64{0, 0, 0, 0, 0, 0}) + home7 = []frame.Input{0, 0, 0, 0, 0, 0, 0} + home6 = []frame.Input{0, 0, 0, 0, 0, 0} ) type planConfig struct { @@ -224,7 +224,7 @@ func simple2DMap(logger logging.Logger) (*planConfig, error) { opt := NewBasicPlannerOptions() constraintHandler := motionplan.NewEmptyConstraintChecker() startInput := frame.NewZeroInputs(fs) - startInput[modelName] = frame.FloatsToInputs([]float64{-90., 90., 0}) + startInput[modelName] = []frame.Input{-90., 90., 0} goalPose := spatialmath.NewPoseFromPoint(r3.Vector{X: 90, Y: 90, Z: 0}) goal := &PlanState{poses: frame.FrameSystemPoses{modelName: frame.NewPoseInFrame(frame.World, goalPose)}} @@ -963,7 +963,7 @@ func TestValidatePlanRequest(t *testing.T) { request: &PlanRequest{ FrameSystem: fs, StartState: &PlanState{configuration: map[string][]frame.Input{ - "frame1": {}, "frame2": {{0}}, + "frame1": {}, "frame2": {0}, }}, }, expectedErr: errors.New("PlanRequest must have at least one goal"), @@ -974,7 +974,7 @@ func TestValidatePlanRequest(t *testing.T) { FrameSystem: fs, Goals: badGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ - "frame1": {}, "frame2": {{0}}, + "frame1": {}, "frame2": {0}, }}, PlannerOptions: NewBasicPlannerOptions(), }, @@ -995,7 +995,7 @@ func TestValidatePlanRequest(t *testing.T) { FrameSystem: fs, Goals: validGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ - "frame1": {}, "frame2": frame.FloatsToInputs([]float64{0, 0, 0, 0, 0}), + "frame1": {}, "frame2": {0, 0, 0, 0, 0}, }}, PlannerOptions: NewBasicPlannerOptions(), }, @@ -1008,7 +1008,7 @@ func TestValidatePlanRequest(t *testing.T) { Goals: validGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ "frame1": {}, - "frame2": {{0}}, + "frame2": {0}, }}, PlannerOptions: NewBasicPlannerOptions(), }, @@ -1031,7 +1031,7 @@ func TestValidatePlanRequest(t *testing.T) { Goals: validGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ "frame1": {}, - "frame2": {{0}}, + "frame2": {0}, }}, PlannerOptions: nil, }, diff --git a/motionplan/armplanning/kinematic_test.go b/motionplan/armplanning/kinematic_test.go index 4f030a760f7..c9b82c3ed22 100644 --- a/motionplan/armplanning/kinematic_test.go +++ b/motionplan/armplanning/kinematic_test.go @@ -18,7 +18,7 @@ func BenchmarkFK(b *testing.B) { m, err := frame.ParseModelJSONFile(utils.ResolveFile("components/arm/fake/kinematics/xarm7.json"), "") test.That(b, err, test.ShouldBeNil) for n := 0; n < b.N; n++ { - _, err := m.Transform(frame.FloatsToInputs(make([]float64, 7))) + _, err := m.Transform([]frame.Input{7}) test.That(b, err, test.ShouldBeNil) } } @@ -34,7 +34,7 @@ func TestForwardKinematics(t *testing.T) { r3.Vector{X: 248.55, Y: 0, Z: 115}, &spatial.OrientationVectorDegrees{Theta: 0, OX: 0, OY: 0, OZ: 1}, ) - pos, err := m.Transform(frame.FloatsToInputs(make([]float64, 5))) + pos, err := m.Transform(make([]frame.Input, 5)) test.That(t, err, test.ShouldBeNil) test.That(t, spatial.PoseAlmostEqual(expect, pos), test.ShouldBeTrue) @@ -47,14 +47,14 @@ func TestForwardKinematics(t *testing.T) { r3.Vector{X: 207, Y: 0, Z: 112}, &spatial.OrientationVectorDegrees{Theta: 0, OX: 0, OY: 0, OZ: -1}, ) - pos, err = m.Transform(frame.FloatsToInputs(make([]float64, 6))) + pos, err = m.Transform(make([]frame.Input, 6)) test.That(t, err, test.ShouldBeNil) test.That(t, spatial.PoseAlmostEqual(expect, pos), test.ShouldBeTrue) // Test incorrect joints - _, err = m.Transform(frame.FloatsToInputs(make([]float64, 0))) + _, err = m.Transform(make([]frame.Input, 0)) test.That(t, err, test.ShouldNotBeNil) - _, err = m.Transform(frame.FloatsToInputs(make([]float64, 7))) + _, err = m.Transform(make([]frame.Input, 7)) test.That(t, err, test.ShouldNotBeNil) newPos := &pb.JointPositions{Values: []float64{45, -45, 0, 0, 0, 0}} @@ -172,7 +172,7 @@ func TestComplicatedDynamicFrameSystem(t *testing.T) { test.That(t, spatial.PoseAlmostCoincident(transformPoint4.(*frame.PoseInFrame).Pose(), poseXarmFromCam), test.ShouldBeTrue) // Move the UR5e so its local Z axis is pointing approximately towards the xArm (at positive X) - positions["UR5e"] = frame.FloatsToInputs([]float64{0, 0, 0, 0, -math.Pi / 2, -math.Pi / 2}) + positions["UR5e"] = []frame.Input{0, 0, 0, 0, -math.Pi / 2, -math.Pi / 2} // A point that is 813.6, -50, 200 from the camera // This puts the point in the Z plane of the xArm6 @@ -183,8 +183,8 @@ func TestComplicatedDynamicFrameSystem(t *testing.T) { worldPointLoc := spatial.NewPoseFromPoint(tf.(*frame.PoseInFrame).Pose().Point()) // Move the XY gantry such that the xArm6 is now at the point specified - positions["gantryX"] = frame.FloatsToInputs([]float64{worldPointLoc.Point().X - poseXarm.Point().X}) - positions["gantryY"] = frame.FloatsToInputs([]float64{worldPointLoc.Point().Y - poseXarm.Point().Y}) + positions["gantryX"] = []frame.Input{worldPointLoc.Point().X - poseXarm.Point().X} + positions["gantryY"] = []frame.Input{worldPointLoc.Point().Y - poseXarm.Point().Y} // Confirm the xArm6 is now at the same location as the point newPointXarm, err := fs.Transform(positions, frame.NewPoseInFrame("xArm6", spatial.NewZeroPose()), frame.World) @@ -227,7 +227,7 @@ func TestKinematicsJSONvsURDF(t *testing.T) { seed := rand.New(rand.NewSource(50)) for i := 0; i < numTests; i++ { - joints := frame.FloatsToInputs(frame.GenerateRandomConfiguration(mURDF, seed)) + joints := frame.GenerateRandomConfiguration(mURDF, seed) posJSON, err := mJSON.Transform(joints) test.That(t, err, test.ShouldBeNil) posURDF, err := mURDF.Transform(joints) @@ -241,7 +241,7 @@ func TestComputeOOBPosition(t *testing.T) { test.That(t, err, test.ShouldBeNil) test.That(t, model.Name(), test.ShouldEqual, "foo") - jointPositions := frame.FloatsToInputs([]float64{1.1, 2.2, 3.3, 1.1, 2.2, 3.3}) + jointPositions := []frame.Input{1.1, 2.2, 3.3, 1.1, 2.2, 3.3} t.Run("succeed", func(t *testing.T) { pose, err := frame.ComputeOOBPosition(model, jointPositions) diff --git a/motionplan/armplanning/linearized_frame_system.go b/motionplan/armplanning/linearized_frame_system.go index 201a6642179..ac9b5e60c40 100644 --- a/motionplan/armplanning/linearized_frame_system.go +++ b/motionplan/armplanning/linearized_frame_system.go @@ -52,9 +52,8 @@ func (lfs *linearizedFrameSystem) mapToSlice(inputs referenceframe.FrameSystemIn if !ok { return nil, fmt.Errorf("frame %s missing from input map", frame.Name()) } - for _, i := range input { - floatSlice = append(floatSlice, i.Value) - } + + floatSlice = append(floatSlice, input...) } return floatSlice, nil } @@ -71,7 +70,7 @@ func (lfs *linearizedFrameSystem) sliceToMap(floatSlice []float64) (referencefra if i >= len(floatSlice) { return nil, fmt.Errorf("not enough values in float slice for frame %s", frame.Name()) } - frameInputs[j] = referenceframe.Input{Value: floatSlice[i]} + frameInputs[j] = floatSlice[i] i++ } inputs[frame.Name()] = frameInputs @@ -124,10 +123,10 @@ func (lfs *linearizedFrameSystem) inputChangeRatio( // Compute the new input for a specific joint that's one "jog" away. E.g: ~5 degrees for // a rotational joint. - y := lfs.jog(len(ratios), orig.Value, percentJog) + y := lfs.jog(len(ratios), orig, percentJog) // Update the copied joint set in place. This is undone at the end of the loop. - start[frame.Name()][idx] = referenceframe.Input{y} + start[frame.Name()][idx] = y myDistance := distanceFunc(&motionplan.StateFS{Configuration: start, FS: mc.fs}) // Compute how much effect the small change made. The bigger the difference, the smaller diff --git a/motionplan/armplanning/nearest_neighbor_test.go b/motionplan/armplanning/nearest_neighbor_test.go index 654a2682aaa..c149e13b2c5 100644 --- a/motionplan/armplanning/nearest_neighbor_test.go +++ b/motionplan/armplanning/nearest_neighbor_test.go @@ -11,46 +11,46 @@ import ( func TestNearestNeighbor(t *testing.T) { rrtMap := rrtMap{} - j := &node{inputs: referenceframe.FrameSystemInputs{"": {{0.0}}}} + j := &node{inputs: referenceframe.FrameSystemInputs{"": {0.0}}} // We add ~110 nodes to the set of candidates. This is smaller than the configured // `parallelNeighbors` or 1000 meaning the `nearestNeighbor` call will be evaluated in series. for i := 1.0; i < 110.0; i++ { - iSol := &node{inputs: referenceframe.FrameSystemInputs{"": {{i}}}} + iSol := &node{inputs: referenceframe.FrameSystemInputs{"": {i}}} rrtMap[iSol] = j j = iSol } - seed := referenceframe.FrameSystemInputs{"": {{23.1}}} + seed := referenceframe.FrameSystemInputs{"": {23.1}} nn := nearestNeighbor(&node{inputs: seed}, rrtMap, nodeConfigurationDistanceFunc) - test.That(t, nn.inputs[""][0].Value, test.ShouldAlmostEqual, 23.0) + test.That(t, nn.inputs[""][0], test.ShouldAlmostEqual, 23.0) // We add more nodes to trip the 1000 threshold. The `nearestNeighbor` call will use `nCPU` (2) // goroutines for evaluation. for i := 120.0; i < 1100.0; i++ { - iSol := &node{inputs: referenceframe.FrameSystemInputs{"": {{i}}}} + iSol := &node{inputs: referenceframe.FrameSystemInputs{"": {i}}} rrtMap[iSol] = j j = iSol } - seed = referenceframe.FrameSystemInputs{"": {{723.6}}} + seed = referenceframe.FrameSystemInputs{"": {723.6}} nn = nearestNeighbor(&node{inputs: seed}, rrtMap, nodeConfigurationDistanceFunc) - test.That(t, nn.inputs[""][0].Value, test.ShouldAlmostEqual, 724.0) + test.That(t, nn.inputs[""][0], test.ShouldAlmostEqual, 724.0) } func BenchmarkNearestNeighbor(t *testing.B) { rrtMap := rrtMap{} - j := &node{inputs: referenceframe.FrameSystemInputs{"": {{0.0}}}} + j := &node{inputs: referenceframe.FrameSystemInputs{"": {0.0}}} for i := 120.0; i < 11000.0; i++ { - iSol := &node{inputs: referenceframe.FrameSystemInputs{"": {{i}}}} + iSol := &node{inputs: referenceframe.FrameSystemInputs{"": {i}}} rrtMap[iSol] = j j = iSol } - seed := referenceframe.FrameSystemInputs{"": {{723.6}}} + seed := referenceframe.FrameSystemInputs{"": {723.6}} t.ResetTimer() for i := 0; i < t.N; i++ { nn := nearestNeighbor(&node{inputs: seed}, rrtMap, nodeConfigurationDistanceFunc) - test.That(t, nn.inputs[""][0].Value, test.ShouldAlmostEqual, 724.0) + test.That(t, nn.inputs[""][0], test.ShouldAlmostEqual, 724.0) } } diff --git a/motionplan/armplanning/node.go b/motionplan/armplanning/node.go index a8306da5b2c..e7b0b83a58f 100644 --- a/motionplan/armplanning/node.go +++ b/motionplan/armplanning/node.go @@ -27,18 +27,18 @@ func fixedStepInterpolation(start, target *node, qstep map[string][]float64) ref qframe, ok := qstep[frameName] for j, nearInput := range startInputs { - v1, v2 := nearInput.Value, targetInputs[j].Value + v1, v2 := nearInput, targetInputs[j] step := 0.0 if ok { step = qframe[j] } if step > math.Abs(v2-v1) { - frameSteps[j] = referenceframe.Input{Value: v2} + frameSteps[j] = v2 } else if v1 < v2 { - frameSteps[j] = referenceframe.Input{Value: nearInput.Value + step} + frameSteps[j] = nearInput + step } else { - frameSteps[j] = referenceframe.Input{Value: nearInput.Value - step} + frameSteps[j] = nearInput - step } } newNear[frameName] = frameSteps diff --git a/motionplan/armplanning/node_test.go b/motionplan/armplanning/node_test.go index aa95cc31aff..5d9e9d64a98 100644 --- a/motionplan/armplanning/node_test.go +++ b/motionplan/armplanning/node_test.go @@ -20,16 +20,16 @@ func TestFixedStepInterpolation(t *testing.T) { res := fixedStepInterpolation( &node{ inputs: referenceframe.FrameSystemInputs{ - "a": {{x[0]}}, + "a": {x[0]}, }, }, &node{ inputs: referenceframe.FrameSystemInputs{ - "a": {{x[1]}}, + "a": {x[1]}, }, }, map[string][]float64{"a": {x[2]}}, ) - test.That(t, res["a"][0].Value, test.ShouldEqual, x[3]) + test.That(t, res["a"][0], test.ShouldEqual, x[3]) } } diff --git a/motionplan/armplanning/plan.go b/motionplan/armplanning/plan.go index 0ae9fa00b64..3d6a2634b86 100644 --- a/motionplan/armplanning/plan.go +++ b/motionplan/armplanning/plan.go @@ -85,7 +85,7 @@ func (p PlanState) Serialize() map[string]interface{} { poseMap[fName] = pifProto } for fName, conf := range p.configuration { - confMap[fName] = referenceframe.InputsToFloats(conf) + confMap[fName] = conf } if p.poses != nil { m["poses"] = poseMap @@ -135,7 +135,7 @@ func DeserializePlanState(iface map[string]interface{}) (*PlanState, error) { return nil, errors.New("configuration input array did not contain floats") } } - ps.configuration[fName] = referenceframe.FloatsToInputs(floats) + ps.configuration[fName] = floats } else { return nil, errors.New("configuration did not contain array of inputs") } diff --git a/motionplan/armplanning/plan_test.go b/motionplan/armplanning/plan_test.go index b71c81d025f..29ea35373e1 100644 --- a/motionplan/armplanning/plan_test.go +++ b/motionplan/armplanning/plan_test.go @@ -17,25 +17,25 @@ import ( func TestEvaluateTrajectory(t *testing.T) { plan := motionplan.Trajectory{ - referenceframe.FrameSystemInputs{"": {{1.}, {2.}, {3.}}}, - referenceframe.FrameSystemInputs{"": {{1.}, {2.}, {3.}}}, + referenceframe.FrameSystemInputs{"": {1., 2., 3.}}, + referenceframe.FrameSystemInputs{"": {1., 2., 3.}}, } // Test no change score := plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, 0) // Test L2 for "", and nothing for plan with only one entry - plan = append(plan, referenceframe.FrameSystemInputs{"": {{4.}, {5.}, {6.}}, "test": {{2.}, {3.}, {4.}}}) + plan = append(plan, referenceframe.FrameSystemInputs{"": {4., 5., 6.}, "test": {2., 3., 4.}}) score = plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, math.Sqrt(27)) // Test cumulative L2 after returning to original inputs - plan = append(plan, referenceframe.FrameSystemInputs{"": {{1.}, {2.}, {3.}}}) + plan = append(plan, referenceframe.FrameSystemInputs{"": {1., 2., 3.}}) score = plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, math.Sqrt(27)*2) // Test that the "test" inputs are properly evaluated after skipping a step - plan = append(plan, referenceframe.FrameSystemInputs{"test": {{3.}, {5.}, {6.}}}) + plan = append(plan, referenceframe.FrameSystemInputs{"test": {3., 5., 6.}}) score = plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, math.Sqrt(27)*2+3) diff --git a/motionplan/armplanning/real_test.go b/motionplan/armplanning/real_test.go index 0c37ddabbbb..bf08aa5d748 100644 --- a/motionplan/armplanning/real_test.go +++ b/motionplan/armplanning/real_test.go @@ -154,20 +154,20 @@ func TestPirouette(t *testing.T) { test.That(t, err, test.ShouldBeNil) idealJointValues := [][]referenceframe.Input{ - {{0 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{30 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{60 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{90 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{120 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{150 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{180 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{180 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{150 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{120 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{90 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{60 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{30 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, - {{0 * 3.1415 / 180.0}, {0}, {-90 * 3.1415 / 180.0}, {0}, {0}, {0}}, + {0 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {30 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {60 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {90 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {120 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {150 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {180 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {180 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {150 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {120 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {90 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {60 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {30 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, + {0 * 3.1415 / 180.0, 0, -90 * 3.1415 / 180.0, 0, 0, 0}, } // the only change here is in joint 0 in increments of 30, while all the other joints are kept at a constant value // below is change in joint 0 in degrees: @@ -216,13 +216,13 @@ func TestPirouette(t *testing.T) { // determine how much joint 0 has changed in degrees from this trajectory allArmInputs, err := traj.GetFrameInputs(armName) test.That(t, err, test.ShouldBeNil) - j0TrajStart := allArmInputs[0][0].Value - j0TrajEnd := allArmInputs[len(allArmInputs)-1][0].Value + j0TrajStart := allArmInputs[0][0] + j0TrajEnd := allArmInputs[len(allArmInputs)-1][0] j0Change := math.Abs(j0TrajEnd - j0TrajStart) // figure out expected change given what the ideal change in joint 0 would be - idealJ0Value := idealJointValues[i][0].Value - idealPreviousJ0Value := idealJointValues[prevIndex][0].Value + idealJ0Value := idealJointValues[i][0] + idealPreviousJ0Value := idealJointValues[prevIndex][0] expectedJ0Change := math.Abs(idealJ0Value-idealPreviousJ0Value) + 2e-2 // add buffer of 1.15 degrees logger.Infof("motionplan's trajectory: %v", traj) diff --git a/motionplan/armplanning/smooth_test.go b/motionplan/armplanning/smooth_test.go index 4ebeb10c462..21ed8567cea 100644 --- a/motionplan/armplanning/smooth_test.go +++ b/motionplan/armplanning/smooth_test.go @@ -12,68 +12,68 @@ import ( //nolint var testSmoothNodes = []*node{ - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -5.448896408081055}, {Value: -1.18217408657074}, {Value: -0.52701336145401}, {Value: 3.471836566925049}, {Value: -1.0830711126327515}, {Value: -0.8000170588493347}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -5.323581767787862}, {Value: -1.1406352503732748}, {Value: -0.5680285988758768}, {Value: 3.597151207218242}, {Value: -1.0349000252777079}, {Value: -0.6747024185561419}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -5.198267127494669}, {Value: -1.0990964141758097}, {Value: -0.6090438362977435}, {Value: 3.722465847511435}, {Value: -0.9867289379226644}, {Value: -0.549387778262949}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -5.0729524872014755}, {Value: -1.0575575779783446}, {Value: -0.6500590737196102}, {Value: 3.847780487804628}, {Value: -0.9385578505676209}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.9476378469082825}, {Value: -1.0160187417808795}, {Value: -0.6645193011779216}, {Value: 3.973095128097821}, {Value: -0.8903867632125774}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.9744799055834145}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.8422156758575339}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.9329410693859495}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.7940445885024904}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.8914022331884844}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.7458735011474469}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.8498633969910194}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.6977024137924034}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.8083245607935544}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.6495313264373599}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.7667857245960894}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.6013602390823164}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.7252468883986244}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.5531891517272729}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.6837080522011594}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.5050180643722294}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.6421692160036944}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.4568469770171859}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.6006303798062294}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.4086758896621424}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.5590915436087643}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.3605048023070989}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.5175527074112993}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.3123337149520554}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.4760138712138343}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.2641626275970119}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.4344750350163693}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.21599154024196843}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.3929361988189043}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.16782045288692493}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.3513973626214393}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.11964936553188144}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.07147827817683794}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: -0.023307190821794437}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: 0.024863896533249066}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: 0.07303498388829258}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: 0.12120607124333607}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: 0.16937715859837957}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: 0.21754824595342306}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.826458840501749}, {Value: -0.31525241237862933}, {Value: -0.6645193011779216}, {Value: 4.08472789270431}, {Value: 0.2419704428519922}, {Value: -0.5251720434411875}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.701144200208556}, {Value: -0.2737135761811643}, {Value: -0.7055345385997883}, {Value: 4.210042532997503}, {Value: 0.2901415302070357}, {Value: -0.4019898357704313}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.575829559915363}, {Value: -0.23217473998369928}, {Value: -0.7286114486055744}, {Value: 4.335357173290696}, {Value: 0.3383126175620792}, {Value: -0.4019898357704313}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.529480356745413}, {Value: -0.19063590378623424}, {Value: -0.7286114486055744}, {Value: 4.376933255560623}, {Value: 0.3864837049171227}, {Value: -0.4019898357704313}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.529480356745413}, {Value: -0.1490970675887692}, {Value: -0.7286114486055744}, {Value: 4.376933255560623}, {Value: 0.4346547922721662}, {Value: -0.4019898357704313}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.529480356745413}, {Value: -0.10755823139130416}, {Value: -0.7286114486055744}, {Value: 4.376933255560623}, {Value: 0.4828258796272097}, {Value: -0.4019898357704313}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.529480356745413}, {Value: -0.06601939519383912}, {Value: -0.7286114486055744}, {Value: 4.376933255560623}, {Value: 0.5309969669822532}, {Value: -0.4019898357704313}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.529480356745413}, {Value: -0.02909598524053687}, {Value: -0.7286114486055744}, {Value: 4.376933255560623}, {Value: 0.5738157112978474}, {Value: -0.4019898357704313}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.533396439254576}, {Value: -0.02891137550388493}, {Value: -0.7298931747750077}, {Value: 4.380849338069785}, {Value: 0.5753210577776925}, {Value: -0.40590591827959355}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.4080817989613825}, {Value: 0.012627460693580103}, {Value: -0.7612983854041173}, {Value: 4.506163978362978}, {Value: 0.623492145132736}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.382949156121827}, {Value: 0.054166296891045136}, {Value: -0.7612983854041173}, {Value: 4.52499397824336}, {Value: 0.6716632324877795}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.382949156121827}, {Value: 0.09570513308851017}, {Value: -0.7612983854041173}, {Value: 4.52499397824336}, {Value: 0.719834319842823}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.382949156121827}, {Value: 0.1372439692859752}, {Value: -0.7612983854041173}, {Value: 4.52499397824336}, {Value: 0.7680054071978665}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.382949156121827}, {Value: 0.17878280548344025}, {Value: -0.7612983854041173}, {Value: 4.52499397824336}, {Value: 0.81617649455291}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.382949156121827}, {Value: 0.2203216416809053}, {Value: -0.7612983854041173}, {Value: 4.52499397824336}, {Value: 0.8643475819079535}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.382949156121827}, {Value: 0.2566586208596317}, {Value: -0.7612983854041173}, {Value: 4.52499397824336}, {Value: 0.912518669262997}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.382949156121827}, {Value: 0.2566586208596317}, {Value: -0.7612983854041173}, {Value: 4.52499397824336}, {Value: 0.9446327274996926}, {Value: -0.3423567731896343}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.2576345158286335}, {Value: 0.2981974570570967}, {Value: -0.8023136228259841}, {Value: 4.399679337950167}, {Value: 0.9928038148547361}, {Value: -0.21704213289644148}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.205780181914209}, {Value: 0.31538594100087536}, {Value: -0.8192854452074462}, {Value: 4.347825004035743}, {Value: 1.0127366785878575}, {Value: -0.16518779898201685}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.35692477719834037}, {Value: -0.8161493549820247}, {Value: 4.473139644328936}, {Value: 1.0609077659429011}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.3984636133958054}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.1090788532979448}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4185228085669831}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.1572499406529884}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4185228085669831}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.205421028008032}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4185228085669831}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.2535921153630756}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4185228085669831}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.2957460575707107}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4185228085669831}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.337899999778346}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4185228085669831}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.3860710871333897}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4185228085669831}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.4342421744884333}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4385820037381608}, {Value: -0.8161493549820247}, {Value: 4.477455551346798}, {Value: 1.4824132618434769}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.18930153484683}, {Value: 0.4801208399356258}, {Value: -0.8161493549820247}, {Value: 4.481771458364661}, {Value: 1.5305843491985205}, {Value: -0.19159138603940207}}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.172822887779451}, {Value: 0.5216596761330908}, {Value: -0.8130132647566032}, {Value: 4.607086098657854}, {Value: 1.578755436553564}, {Value: -0.21799497309678725}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.174924876097609}, {Value: 0.523143205997286}, {Value: -0.8115484348486793}, {Value: 4.6115616215254684}, {Value: 1.578196685695585}, {Value: -0.2212306312082081}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: false, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.232501872989077}, {Value: 0.5422286172231483}, {Value: -0.792703596033227}, {Value: 4.669138618416936}, {Value: 1.5560640239378623}, {Value: -0.2788076280996751}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, - {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{{Value: -4.204021272922442}, {Value: 0.5516692618134813}, {Value: -0.8020252409018331}, {Value: 4.69761921848357}, {Value: 1.5670119983367359}, {Value: -0.25032702803304036}}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{{Value: -1.1314610242843628}, {Value: -1.8993258476257324}, {Value: -0.5695485472679138}, {Value: 6.087271213531494}, {Value: 1.9338887929916382}, {Value: -3.221126079559326}}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input(nil), "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-5.448896408081055, -1.18217408657074, -0.52701336145401, 3.471836566925049, -1.0830711126327515, -0.8000170588493347}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-5.323581767787862, -1.1406352503732748, -0.5680285988758768, 3.597151207218242, -1.0349000252777079, -0.6747024185561419}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-5.198267127494669, -1.0990964141758097, -0.6090438362977435, 3.722465847511435, -0.9867289379226644, -0.549387778262949}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-5.0729524872014755, -1.0575575779783446, -0.6500590737196102, 3.847780487804628, -0.9385578505676209, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.9476378469082825, -1.0160187417808795, -0.6645193011779216, 3.973095128097821, -0.8903867632125774, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.9744799055834145, -0.6645193011779216, 4.08472789270431, -0.8422156758575339, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.9329410693859495, -0.6645193011779216, 4.08472789270431, -0.7940445885024904, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.8914022331884844, -0.6645193011779216, 4.08472789270431, -0.7458735011474469, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.8498633969910194, -0.6645193011779216, 4.08472789270431, -0.6977024137924034, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.8083245607935544, -0.6645193011779216, 4.08472789270431, -0.6495313264373599, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.7667857245960894, -0.6645193011779216, 4.08472789270431, -0.6013602390823164, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.7252468883986244, -0.6645193011779216, 4.08472789270431, -0.5531891517272729, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.6837080522011594, -0.6645193011779216, 4.08472789270431, -0.5050180643722294, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.6421692160036944, -0.6645193011779216, 4.08472789270431, -0.4568469770171859, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.6006303798062294, -0.6645193011779216, 4.08472789270431, -0.4086758896621424, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.5590915436087643, -0.6645193011779216, 4.08472789270431, -0.3605048023070989, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.5175527074112993, -0.6645193011779216, 4.08472789270431, -0.3123337149520554, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.4760138712138343, -0.6645193011779216, 4.08472789270431, -0.2641626275970119, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.4344750350163693, -0.6645193011779216, 4.08472789270431, -0.21599154024196843, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.3929361988189043, -0.6645193011779216, 4.08472789270431, -0.16782045288692493, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.3513973626214393, -0.6645193011779216, 4.08472789270431, -0.11964936553188144, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, -0.07147827817683794, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, -0.023307190821794437, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, 0.024863896533249066, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, 0.07303498388829258, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, 0.12120607124333607, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, 0.16937715859837957, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, 0.21754824595342306, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.826458840501749, -0.31525241237862933, -0.6645193011779216, 4.08472789270431, 0.2419704428519922, -0.5251720434411875}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.701144200208556, -0.2737135761811643, -0.7055345385997883, 4.210042532997503, 0.2901415302070357, -0.4019898357704313}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.575829559915363, -0.23217473998369928, -0.7286114486055744, 4.335357173290696, 0.3383126175620792, -0.4019898357704313}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.529480356745413, -0.19063590378623424, -0.7286114486055744, 4.376933255560623, 0.3864837049171227, -0.4019898357704313}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.529480356745413, -0.1490970675887692, -0.7286114486055744, 4.376933255560623, 0.4346547922721662, -0.4019898357704313}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.529480356745413, -0.10755823139130416, -0.7286114486055744, 4.376933255560623, 0.4828258796272097, -0.4019898357704313}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.529480356745413, -0.06601939519383912, -0.7286114486055744, 4.376933255560623, 0.5309969669822532, -0.4019898357704313}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.529480356745413, -0.02909598524053687, -0.7286114486055744, 4.376933255560623, 0.5738157112978474, -0.4019898357704313}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.533396439254576, -0.02891137550388493, -0.7298931747750077, 4.380849338069785, 0.5753210577776925, -0.40590591827959355}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.4080817989613825, 0.012627460693580103, -0.7612983854041173, 4.506163978362978, 0.623492145132736, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.382949156121827, 0.054166296891045136, -0.7612983854041173, 4.52499397824336, 0.6716632324877795, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.382949156121827, 0.09570513308851017, -0.7612983854041173, 4.52499397824336, 0.719834319842823, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.382949156121827, 0.1372439692859752, -0.7612983854041173, 4.52499397824336, 0.7680054071978665, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.382949156121827, 0.17878280548344025, -0.7612983854041173, 4.52499397824336, 0.81617649455291, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.382949156121827, 0.2203216416809053, -0.7612983854041173, 4.52499397824336, 0.8643475819079535, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.382949156121827, 0.2566586208596317, -0.7612983854041173, 4.52499397824336, 0.912518669262997, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.382949156121827, 0.2566586208596317, -0.7612983854041173, 4.52499397824336, 0.9446327274996926, -0.3423567731896343}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.2576345158286335, 0.2981974570570967, -0.8023136228259841, 4.399679337950167, 0.9928038148547361, -0.21704213289644148}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.205780181914209, 0.31538594100087536, -0.8192854452074462, 4.347825004035743, 1.0127366785878575, -0.16518779898201685}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.35692477719834037, -0.8161493549820247, 4.473139644328936, 1.0609077659429011, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.3984636133958054, -0.8161493549820247, 4.477455551346798, 1.1090788532979448, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4185228085669831, -0.8161493549820247, 4.477455551346798, 1.1572499406529884, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4185228085669831, -0.8161493549820247, 4.477455551346798, 1.205421028008032, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4185228085669831, -0.8161493549820247, 4.477455551346798, 1.2535921153630756, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4185228085669831, -0.8161493549820247, 4.477455551346798, 1.2957460575707107, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4185228085669831, -0.8161493549820247, 4.477455551346798, 1.337899999778346, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4185228085669831, -0.8161493549820247, 4.477455551346798, 1.3860710871333897, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4185228085669831, -0.8161493549820247, 4.477455551346798, 1.4342421744884333, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4385820037381608, -0.8161493549820247, 4.477455551346798, 1.4824132618434769, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.18930153484683, 0.4801208399356258, -0.8161493549820247, 4.481771458364661, 1.5305843491985205, -0.19159138603940207}, "arm-left_origin": []referenceframe.Input{}, "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input{}, "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.172822887779451, 0.5216596761330908, -0.8130132647566032, 4.607086098657854, 1.578755436553564, -0.21799497309678725}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.174924876097609, 0.523143205997286, -0.8115484348486793, 4.6115616215254684, 1.578196685695585, -0.2212306312082081}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: false, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.232501872989077, 0.5422286172231483, -0.792703596033227, 4.669138618416936, 1.5560640239378623, -0.2788076280996751}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input(nil), "cam-left": []referenceframe.Input(nil), "cam-left_origin": []referenceframe.Input(nil), "cam-right": []referenceframe.Input(nil), "cam-right_origin": []referenceframe.Input(nil), "gripper-left": []referenceframe.Input{}, "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input(nil), "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input(nil), "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input(nil), "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input(nil), "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input(nil), "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input(nil), "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input(nil), "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input(nil), "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input(nil)}, corner: true, cost: 0, checkPath: false}, + {inputs: referenceframe.FrameSystemInputs{"arm-left": []referenceframe.Input{-4.204021272922442, 0.5516692618134813, -0.8020252409018331, 4.69761921848357, 1.5670119983367359, -0.25032702803304036}, "arm-left_origin": []referenceframe.Input(nil), "arm-right": []referenceframe.Input{-1.1314610242843628, -1.8993258476257324, -0.5695485472679138, 6.087271213531494, 1.9338887929916382, -3.221126079559326}, "arm-right_origin": []referenceframe.Input{}, "cam-left": []referenceframe.Input{}, "cam-left_origin": []referenceframe.Input{}, "cam-right": []referenceframe.Input{}, "cam-right_origin": []referenceframe.Input{}, "gripper-left": []referenceframe.Input(nil), "gripper-left_origin": []referenceframe.Input(nil), "gripper-right": []referenceframe.Input{}, "gripper-right_origin": []referenceframe.Input{}, "obstacle-arm-left-cord": []referenceframe.Input{}, "obstacle-arm-left-cord_origin": []referenceframe.Input{}, "obstacle-back-wall": []referenceframe.Input{}, "obstacle-back-wall_origin": []referenceframe.Input{}, "obstacle-ceiling": []referenceframe.Input{}, "obstacle-ceiling_origin": []referenceframe.Input{}, "obstacle-front-wall": []referenceframe.Input{}, "obstacle-front-wall_origin": []referenceframe.Input{}, "obstacle-left-wall": []referenceframe.Input{}, "obstacle-left-wall_origin": []referenceframe.Input{}, "obstacle-right-bottle": []referenceframe.Input{}, "obstacle-right-bottle_origin": []referenceframe.Input{}, "obstacle-right-wall": []referenceframe.Input{}, "obstacle-right-wall_origin": []referenceframe.Input{}, "obstacle-table": []referenceframe.Input{}, "obstacle-table_origin": []referenceframe.Input{}}, corner: false, cost: 0, checkPath: false}, } func TestSmoothPlans1(t *testing.T) { diff --git a/motionplan/baseplanning/cBiRRT_test.go b/motionplan/baseplanning/cBiRRT_test.go index 412bd7ccb4f..83e3a15fda4 100644 --- a/motionplan/baseplanning/cBiRRT_test.go +++ b/motionplan/baseplanning/cBiRRT_test.go @@ -16,7 +16,7 @@ import ( rutils "go.viam.com/rdk/utils" ) -var interp = referenceframe.FloatsToInputs([]float64{ +var interp = []referenceframe.Input{ 0.22034293025523666, 0.023301860367034785, 0.0035938741832804775, @@ -24,7 +24,7 @@ var interp = referenceframe.FloatsToInputs([]float64{ -0.006010542176591475, 0.013764993693680328, 0.22994099248696265, -}) +} // This should test a simple linear motion. // This test will step through the different stages of cbirrt and test each one in turn. diff --git a/motionplan/baseplanning/constraint_test.go b/motionplan/baseplanning/constraint_test.go index 85ecacc6aef..43f83735c3a 100644 --- a/motionplan/baseplanning/constraint_test.go +++ b/motionplan/baseplanning/constraint_test.go @@ -31,7 +31,7 @@ func TestIKTolerances(t *testing.T) { frame.World, spatial.NewPoseFromProtobuf(&commonpb.Pose{X: -46, Y: 0, Z: 372, OX: -1.78, OY: -3.3, OZ: -1.11}), )}} - seed := &PlanState{configuration: map[string][]frame.Input{m.Name(): frame.FloatsToInputs(make([]float64, 6))}} + seed := &PlanState{configuration: map[string][]frame.Input{m.Name(): make([]frame.Input, 6)}} _, err = mp.plan(context.Background(), seed, goal) test.That(t, err, test.ShouldNotBeNil) diff --git a/motionplan/baseplanning/data/orb-plan1.json b/motionplan/baseplanning/data/orb-plan1.json index cf9e6a92bc4..2f054aa3854 100644 --- a/motionplan/baseplanning/data/orb-plan1.json +++ b/motionplan/baseplanning/data/orb-plan1.json @@ -583,24 +583,12 @@ "sander-edge": [], "sander-edge_origin": [], "sanding-ur5": [ - { - "Value": 0.3298600614070892 - }, - { - "Value": -1.768963476220602 - }, - { - "Value": -1.5768837928771973 - }, - { - "Value": -1.3665407609990616 - }, - { - "Value": 1.570793628692627 - }, - { - "Value": 1.900467872619629 - } + 0.3298600614070892, + -1.768963476220602, + -1.5768837928771973, + -1.3665407609990616, + 1.570793628692627, + 1.900467872619629 ], "sanding-ur5_origin": [] } diff --git a/motionplan/baseplanning/data/orb-plan2.json b/motionplan/baseplanning/data/orb-plan2.json index c509968c192..b9179d3c921 100644 --- a/motionplan/baseplanning/data/orb-plan2.json +++ b/motionplan/baseplanning/data/orb-plan2.json @@ -583,24 +583,12 @@ "sander-edge": [], "sander-edge_origin": [], "sanding-ur5": [ - { - "Value": 3.060148000717163 - }, - { - "Value": -1.364274115567543 - }, - { - "Value": 1.5666945616351529 - }, - { - "Value": -1.7732321224608363 - }, - { - "Value": -1.5707414785968228 - }, - { - "Value": 1.4894148111343384 - } + 3.060148000717163, + -1.364274115567543, + 1.5666945616351529, + -1.7732321224608363, + -1.5707414785968228, + 1.4894148111343384 ], "sanding-ur5_origin": [] } diff --git a/motionplan/baseplanning/data/plan_request_sample.json b/motionplan/baseplanning/data/plan_request_sample.json index 2b79f581734..77a5e184105 100644 --- a/motionplan/baseplanning/data/plan_request_sample.json +++ b/motionplan/baseplanning/data/plan_request_sample.json @@ -356,24 +356,12 @@ "poses": null, "configuration": { "xArm6": [ - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - }, - { - "Value": 0 - } + 0, + 0, + 0, + 0, + 0, + 0 ], "xArmVgripper": [] } diff --git a/motionplan/baseplanning/data/wine-adjust.json b/motionplan/baseplanning/data/wine-adjust.json index 129d1c05d70..e1829361703 100644 --- a/motionplan/baseplanning/data/wine-adjust.json +++ b/motionplan/baseplanning/data/wine-adjust.json @@ -1608,45 +1608,21 @@ "poses": null, "configuration": { "arm-left": [ - { - "Value": -4.204005241394043 - }, - { - "Value": 0.5516000390052795 - }, - { - "Value": -0.802040159702301 - }, - { - "Value": 4.697446823120117 - }, - { - "Value": 1.5669305324554443 - }, - { - "Value": -0.2502570152282715 - } + -4.204005241394043, + 0.5516000390052795, + -0.802040159702301, + 4.697446823120117, + 1.5669305324554443, + -0.2502570152282715 ], "arm-left_origin": [], "arm-right": [ - { - "Value": -1.13128936290741 - }, - { - "Value": -1.8993252515792847 - }, - { - "Value": -0.5696046948432922 - }, - { - "Value": 6.087096691131592 - }, - { - "Value": 1.9338231086730957 - }, - { - "Value": -3.2210705280303955 - } + -1.13128936290741, + -1.8993252515792847, + -0.5696046948432922, + 6.087096691131592, + 1.9338231086730957, + -3.2210705280303955 ], "arm-right_origin": [], "cam-left": [], diff --git a/motionplan/baseplanning/data/wine-crazy-touch.json b/motionplan/baseplanning/data/wine-crazy-touch.json index 64e6d5b41c2..410a87c7d20 100644 --- a/motionplan/baseplanning/data/wine-crazy-touch.json +++ b/motionplan/baseplanning/data/wine-crazy-touch.json @@ -1608,45 +1608,21 @@ "poses": null, "configuration": { "arm-left": [ - { - "Value": -5.448896408081055 - }, - { - "Value": -1.18217408657074 - }, - { - "Value": -0.52701336145401 - }, - { - "Value": 3.471836566925049 - }, - { - "Value": -1.0830711126327515 - }, - { - "Value": -0.8000170588493347 - } + -5.448896408081055, + -1.18217408657074, + -0.52701336145401, + 3.471836566925049, + -1.0830711126327515, + -0.8000170588493347 ], "arm-left_origin": [], "arm-right": [ - { - "Value": -1.1314610242843628 - }, - { - "Value": -1.8993258476257324 - }, - { - "Value": -0.5695485472679138 - }, - { - "Value": 6.087271213531494 - }, - { - "Value": 1.9338887929916382 - }, - { - "Value": -3.221126079559326 - } + -1.1314610242843628, + -1.8993258476257324, + -0.5695485472679138, + 6.087271213531494, + 1.9338887929916382, + -3.221126079559326 ], "arm-right_origin": [], "cam-left": [], diff --git a/motionplan/baseplanning/kinematic_test.go b/motionplan/baseplanning/kinematic_test.go index 2ac31621c82..2237126a1b1 100644 --- a/motionplan/baseplanning/kinematic_test.go +++ b/motionplan/baseplanning/kinematic_test.go @@ -18,7 +18,7 @@ func BenchmarkFK(b *testing.B) { m, err := frame.ParseModelJSONFile(utils.ResolveFile("components/arm/fake/kinematics/xarm7.json"), "") test.That(b, err, test.ShouldBeNil) for n := 0; n < b.N; n++ { - _, err := m.Transform(frame.FloatsToInputs(make([]float64, 7))) + _, err := m.Transform([]frame.Input{7}) test.That(b, err, test.ShouldBeNil) } } @@ -34,7 +34,7 @@ func TestForwardKinematics(t *testing.T) { r3.Vector{X: 248.55, Y: 0, Z: 115}, &spatial.OrientationVectorDegrees{Theta: 0, OX: 0, OY: 0, OZ: 1}, ) - pos, err := m.Transform(frame.FloatsToInputs(make([]float64, 5))) + pos, err := m.Transform(make([]frame.Input, 5)) test.That(t, err, test.ShouldBeNil) test.That(t, spatial.PoseAlmostEqual(expect, pos), test.ShouldBeTrue) @@ -47,14 +47,14 @@ func TestForwardKinematics(t *testing.T) { r3.Vector{X: 207, Y: 0, Z: 112}, &spatial.OrientationVectorDegrees{Theta: 0, OX: 0, OY: 0, OZ: -1}, ) - pos, err = m.Transform(frame.FloatsToInputs(make([]float64, 6))) + pos, err = m.Transform(make([]frame.Input, 6)) test.That(t, err, test.ShouldBeNil) test.That(t, spatial.PoseAlmostEqual(expect, pos), test.ShouldBeTrue) // Test incorrect joints - _, err = m.Transform(frame.FloatsToInputs(make([]float64, 0))) + _, err = m.Transform(make([]frame.Input, 0)) test.That(t, err, test.ShouldNotBeNil) - _, err = m.Transform(frame.FloatsToInputs(make([]float64, 7))) + _, err = m.Transform(make([]frame.Input, 7)) test.That(t, err, test.ShouldNotBeNil) newPos := &pb.JointPositions{Values: []float64{45, -45, 0, 0, 0, 0}} @@ -172,7 +172,7 @@ func TestComplicatedDynamicFrameSystem(t *testing.T) { test.That(t, spatial.PoseAlmostCoincident(transformPoint4.(*frame.PoseInFrame).Pose(), poseXarmFromCam), test.ShouldBeTrue) // Move the UR5e so its local Z axis is pointing approximately towards the xArm (at positive X) - positions["UR5e"] = frame.FloatsToInputs([]float64{0, 0, 0, 0, -math.Pi / 2, -math.Pi / 2}) + positions["UR5e"] = []frame.Input{0, 0, 0, 0, -math.Pi / 2, -math.Pi / 2} // A point that is 813.6, -50, 200 from the camera // This puts the point in the Z plane of the xArm6 @@ -183,8 +183,8 @@ func TestComplicatedDynamicFrameSystem(t *testing.T) { worldPointLoc := spatial.NewPoseFromPoint(tf.(*frame.PoseInFrame).Pose().Point()) // Move the XY gantry such that the xArm6 is now at the point specified - positions["gantryX"] = frame.FloatsToInputs([]float64{worldPointLoc.Point().X - poseXarm.Point().X}) - positions["gantryY"] = frame.FloatsToInputs([]float64{worldPointLoc.Point().Y - poseXarm.Point().Y}) + positions["gantryX"] = []frame.Input{worldPointLoc.Point().X - poseXarm.Point().X} + positions["gantryY"] = []frame.Input{worldPointLoc.Point().Y - poseXarm.Point().Y} // Confirm the xArm6 is now at the same location as the point newPointXarm, err := fs.Transform(positions, frame.NewPoseInFrame("xArm6", spatial.NewZeroPose()), frame.World) @@ -227,7 +227,7 @@ func TestKinematicsJSONvsURDF(t *testing.T) { seed := rand.New(rand.NewSource(50)) for i := 0; i < numTests; i++ { - joints := frame.FloatsToInputs(frame.GenerateRandomConfiguration(mURDF, seed)) + joints := frame.GenerateRandomConfiguration(mURDF, seed) posJSON, err := mJSON.Transform(joints) test.That(t, err, test.ShouldBeNil) posURDF, err := mURDF.Transform(joints) @@ -241,7 +241,7 @@ func TestComputeOOBPosition(t *testing.T) { test.That(t, err, test.ShouldBeNil) test.That(t, model.Name(), test.ShouldEqual, "foo") - jointPositions := frame.FloatsToInputs([]float64{1.1, 2.2, 3.3, 1.1, 2.2, 3.3}) + jointPositions := []frame.Input{1.1, 2.2, 3.3, 1.1, 2.2, 3.3} t.Run("succeed", func(t *testing.T) { pose, err := frame.ComputeOOBPosition(model, jointPositions) diff --git a/motionplan/baseplanning/motion_planner_test.go b/motionplan/baseplanning/motion_planner_test.go index 7e225e92de5..268c3d358df 100644 --- a/motionplan/baseplanning/motion_planner_test.go +++ b/motionplan/baseplanning/motion_planner_test.go @@ -24,8 +24,8 @@ import ( ) var ( - home7 = frame.FloatsToInputs([]float64{0, 0, 0, 0, 0, 0, 0}) - home6 = frame.FloatsToInputs([]float64{0, 0, 0, 0, 0, 0}) + home7 = []frame.Input{0, 0, 0, 0, 0, 0, 0} + home6 = []frame.Input{0, 0, 0, 0, 0, 0} ) var logger = logging.FromZapCompatible(zap.Must(zap.Config{ @@ -239,7 +239,7 @@ func simple2DMap(logger logging.Logger) (*planConfig, error) { opt := NewBasicPlannerOptions() constraintHandler := motionplan.NewEmptyConstraintChecker() startInput := frame.NewZeroInputs(fs) - startInput[modelName] = frame.FloatsToInputs([]float64{-90., 90., 0}) + startInput[modelName] = []frame.Input{-90., 90., 0} goalPose := spatialmath.NewPoseFromPoint(r3.Vector{X: 90, Y: 90, Z: 0}) goal := &PlanState{poses: frame.FrameSystemPoses{modelName: frame.NewPoseInFrame(frame.World, goalPose)}} @@ -1212,7 +1212,7 @@ func TestValidatePlanRequest(t *testing.T) { request: &PlanRequest{ FrameSystem: fs, StartState: &PlanState{configuration: map[string][]frame.Input{ - "frame1": {}, "frame2": {{0}}, + "frame1": {}, "frame2": {0}, }}, }, expectedErr: errors.New("PlanRequest must have at least one goal"), @@ -1223,7 +1223,7 @@ func TestValidatePlanRequest(t *testing.T) { FrameSystem: fs, Goals: badGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ - "frame1": {}, "frame2": {{0}}, + "frame1": {}, "frame2": {0}, }}, PlannerOptions: NewBasicPlannerOptions(), }, @@ -1244,7 +1244,7 @@ func TestValidatePlanRequest(t *testing.T) { FrameSystem: fs, Goals: validGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ - "frame1": {}, "frame2": frame.FloatsToInputs([]float64{0, 0, 0, 0, 0}), + "frame1": {}, "frame2": {0, 0, 0, 0, 0}, }}, PlannerOptions: NewBasicPlannerOptions(), }, @@ -1257,7 +1257,7 @@ func TestValidatePlanRequest(t *testing.T) { Goals: validGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ "frame1": {}, - "frame2": {{0}}, + "frame2": {0}, }}, PlannerOptions: NewBasicPlannerOptions(), }, @@ -1280,7 +1280,7 @@ func TestValidatePlanRequest(t *testing.T) { Goals: validGoal, StartState: &PlanState{configuration: map[string][]frame.Input{ "frame1": {}, - "frame2": {{0}}, + "frame2": {0}, }}, PlannerOptions: nil, }, diff --git a/motionplan/baseplanning/nearest_neighbor_test.go b/motionplan/baseplanning/nearest_neighbor_test.go index 5cf61e0765c..c5800af9039 100644 --- a/motionplan/baseplanning/nearest_neighbor_test.go +++ b/motionplan/baseplanning/nearest_neighbor_test.go @@ -11,27 +11,27 @@ import ( func TestNearestNeighbor(t *testing.T) { rrtMap := map[node]node{} - j := &basicNode{q: referenceframe.FrameSystemInputs{"": {{0.0}}}} + j := &basicNode{q: referenceframe.FrameSystemInputs{"": {0.0}}} // We add ~110 nodes to the set of candidates. This is smaller than the configured // `parallelNeighbors` or 1000 meaning the `nearestNeighbor` call will be evaluated in series. for i := 1.0; i < 110.0; i++ { - iSol := &basicNode{q: referenceframe.FrameSystemInputs{"": {{i}}}} + iSol := &basicNode{q: referenceframe.FrameSystemInputs{"": {i}}} rrtMap[iSol] = j j = iSol } - seed := referenceframe.FrameSystemInputs{"": {{23.1}}} + seed := referenceframe.FrameSystemInputs{"": {23.1}} nn := nearestNeighbor(&basicNode{q: seed}, rrtMap, nodeConfigurationDistanceFunc) - test.That(t, nn.Q()[""][0].Value, test.ShouldAlmostEqual, 23.0) + test.That(t, nn.Q()[""][0], test.ShouldAlmostEqual, 23.0) // We add more nodes to trip the 1000 threshold. The `nearestNeighbor` call will use `nCPU` (2) // goroutines for evaluation. for i := 120.0; i < 1100.0; i++ { - iSol := &basicNode{q: referenceframe.FrameSystemInputs{"": {{i}}}} + iSol := &basicNode{q: referenceframe.FrameSystemInputs{"": {i}}} rrtMap[iSol] = j j = iSol } - seed = referenceframe.FrameSystemInputs{"": {{723.6}}} + seed = referenceframe.FrameSystemInputs{"": {723.6}} nn = nearestNeighbor(&basicNode{q: seed}, rrtMap, nodeConfigurationDistanceFunc) - test.That(t, nn.Q()[""][0].Value, test.ShouldAlmostEqual, 724.0) + test.That(t, nn.Q()[""][0], test.ShouldAlmostEqual, 724.0) } diff --git a/motionplan/baseplanning/node.go b/motionplan/baseplanning/node.go index bd0008ddcb5..8d0a34bdd76 100644 --- a/motionplan/baseplanning/node.go +++ b/motionplan/baseplanning/node.go @@ -20,14 +20,14 @@ func fixedStepInterpolation(start, target node, qstep map[string][]float64) refe frameSteps := make([]referenceframe.Input, len(startInputs)) for j, nearInput := range startInputs { - if nearInput.Value == targetInputs[j].Value { + if nearInput == targetInputs[j] { frameSteps[j] = nearInput } else { - v1, v2 := nearInput.Value, targetInputs[j].Value + v1, v2 := nearInput, targetInputs[j] newVal := math.Min(qstep[frameName][j], math.Abs(v2-v1)) // get correct sign newVal *= (v2 - v1) / math.Abs(v2-v1) - frameSteps[j] = referenceframe.Input{Value: nearInput.Value + newVal} + frameSteps[j] = nearInput + newVal } } newNear[frameName] = frameSteps diff --git a/motionplan/baseplanning/plan.go b/motionplan/baseplanning/plan.go index 81d08f0a6e0..af18f56e39d 100644 --- a/motionplan/baseplanning/plan.go +++ b/motionplan/baseplanning/plan.go @@ -239,7 +239,7 @@ func (p PlanState) Serialize() map[string]interface{} { poseMap[fName] = pifProto } for fName, conf := range p.configuration { - confMap[fName] = referenceframe.InputsToFloats(conf) + confMap[fName] = conf } if p.poses != nil { m["poses"] = poseMap @@ -289,7 +289,7 @@ func DeserializePlanState(iface map[string]interface{}) (*PlanState, error) { return nil, errors.New("configuration input array did not contain floats") } } - ps.configuration[fName] = referenceframe.FloatsToInputs(floats) + ps.configuration[fName] = floats } else { return nil, errors.New("configuration did not contain array of inputs") } diff --git a/motionplan/baseplanning/plan_test.go b/motionplan/baseplanning/plan_test.go index e71beb8f677..f18819c5686 100644 --- a/motionplan/baseplanning/plan_test.go +++ b/motionplan/baseplanning/plan_test.go @@ -21,25 +21,25 @@ import ( func TestEvaluateTrajectory(t *testing.T) { plan := motionplan.Trajectory{ - referenceframe.FrameSystemInputs{"": {{1.}, {2.}, {3.}}}, - referenceframe.FrameSystemInputs{"": {{1.}, {2.}, {3.}}}, + referenceframe.FrameSystemInputs{"": {1., 2., 3.}}, + referenceframe.FrameSystemInputs{"": {1., 2., 3.}}, } // Test no change score := plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, 0) // Test L2 for "", and nothing for plan with only one entry - plan = append(plan, referenceframe.FrameSystemInputs{"": {{4.}, {5.}, {6.}}, "test": {{2.}, {3.}, {4.}}}) + plan = append(plan, referenceframe.FrameSystemInputs{"": {4., 5., 6.}, "test": {2., 3., 4.}}) score = plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, math.Sqrt(27)) // Test cumulative L2 after returning to original inputs - plan = append(plan, referenceframe.FrameSystemInputs{"": {{1.}, {2.}, {3.}}}) + plan = append(plan, referenceframe.FrameSystemInputs{"": {1., 2., 3.}}) score = plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, math.Sqrt(27)*2) // Test that the "test" inputs are properly evaluated after skipping a step - plan = append(plan, referenceframe.FrameSystemInputs{"test": {{3.}, {5.}, {6.}}}) + plan = append(plan, referenceframe.FrameSystemInputs{"test": {3., 5., 6.}}) score = plan.EvaluateCost(motionplan.FSConfigurationL2Distance) test.That(t, score, test.ShouldAlmostEqual, math.Sqrt(27)*2+3) diff --git a/motionplan/baseplanning/tpSpaceRRT.go b/motionplan/baseplanning/tpSpaceRRT.go index a654ccdc752..1788070cfb2 100644 --- a/motionplan/baseplanning/tpSpaceRRT.go +++ b/motionplan/baseplanning/tpSpaceRRT.go @@ -301,10 +301,10 @@ func (mp *tpSpaceRRTMotionPlanner) rrtBackgroundRunner( allPtgs := mp.solvers lastPose := startPose for _, mynode := range correctedPath { - trajPts, err := allPtgs[int(mynode.Q()[mp.tpFrame.Name()][0].Value)].Trajectory( - mynode.Q()[mp.tpFrame.Name()][1].Value, - mynode.Q()[mp.tpFrame.Name()][2].Value, - mynode.Q()[mp.tpFrame.Name()][3].Value, + trajPts, err := allPtgs[int(mynode.Q()[mp.tpFrame.Name()][0])].Trajectory( + mynode.Q()[mp.tpFrame.Name()][1], + mynode.Q()[mp.tpFrame.Name()][2], + mynode.Q()[mp.tpFrame.Name()][3], mp.planOpts.Resolution, ) if err != nil { @@ -541,15 +541,15 @@ func (mp *tpSpaceRRTMotionPlanner) getExtensionCandidate( // We may produce more than one consecutive arc. Reduce the one configuration to several 2dof arcs for i := 0; i < len(solution.Configuration); i += 2 { subConfig := referenceframe.FrameSystemInputs{ - mp.tpFrame.Name(): referenceframe.FloatsToInputs(solution.Configuration[i : i+2]), + mp.tpFrame.Name(): solution.Configuration[i : i+2], } subNode := newConfigurationNode(subConfig) // Check collisions along this traj and get the longest distance viable trajK, err := curPtg.Trajectory( - subNode.Q()[mp.tpFrame.Name()][0].Value, + subNode.Q()[mp.tpFrame.Name()][0], 0, - subNode.Q()[mp.tpFrame.Name()][1].Value, + subNode.Q()[mp.tpFrame.Name()][1], mp.planOpts.Resolution, ) if err != nil { @@ -575,7 +575,7 @@ func (mp *tpSpaceRRTMotionPlanner) getExtensionCandidate( successNode = &basicNode{ q: referenceframe.FrameSystemInputs{ - mp.tpFrame.Name(): {{float64(ptgNum)}, goodNode.Q()[mp.tpFrame.Name()][0], {0}, goodNode.Q()[mp.tpFrame.Name()][1]}, + mp.tpFrame.Name(): {float64(ptgNum), goodNode.Q()[mp.tpFrame.Name()][0], 0, goodNode.Q()[mp.tpFrame.Name()][1]}, }, cost: goodNode.Cost(), poses: mp.tpFramePoseToFrameSystemPoses(arcStartPose), @@ -642,7 +642,7 @@ func (mp *tpSpaceRRTMotionPlanner) checkTraj(trajK []*tpspace.TrajNode, arcStart okNode := &basicNode{ q: referenceframe.FrameSystemInputs{ - mp.tpFrame.Name(): {{trajPt.Alpha}, {trajPt.Dist}}, + mp.tpFrame.Name(): {trajPt.Alpha, trajPt.Dist}, }, cost: trajPt.Dist, poses: mp.tpFramePoseToFrameSystemPoses(trajPt.Pose), @@ -654,7 +654,7 @@ func (mp *tpSpaceRRTMotionPlanner) checkTraj(trajK []*tpspace.TrajNode, arcStart lastTrajPt := trajK[len(trajK)-1] return &basicNode{ q: referenceframe.FrameSystemInputs{ - mp.tpFrame.Name(): {{lastTrajPt.Alpha}, {lastTrajPt.Dist}}, + mp.tpFrame.Name(): {lastTrajPt.Alpha, lastTrajPt.Dist}, }, cost: lastTrajPt.Dist, poses: passed[len(passed)-1].Poses(), @@ -734,7 +734,7 @@ func (mp *tpSpaceRRTMotionPlanner) attemptExtension( endNode := reseedCandidate.newNodes[len(reseedCandidate.newNodes)-1] distTravelledByCandidate := 0. for _, newNode := range reseedCandidate.newNodes { - distTravelledByCandidate += math.Abs(newNode.Q()[mp.tpFrame.Name()][3].Value - newNode.Q()[mp.tpFrame.Name()][2].Value) + distTravelledByCandidate += math.Abs(newNode.Q()[mp.tpFrame.Name()][3] - newNode.Q()[mp.tpFrame.Name()][2]) } distToGoal := mp.tpFramePose(endNode.Poses()).Point().Distance(mp.tpFramePose(goalNode.Poses()).Point()) if distToGoal < mp.planOpts.GoalThreshold || lastIteration { @@ -793,9 +793,9 @@ func (mp *tpSpaceRRTMotionPlanner) extendMap( treeNode := bestCand.treeNode // The node already in the tree to which we are parenting newNodes := bestCand.newNodes // The node we are adding because it was the best extending PTG for _, newNode := range newNodes { - ptgNum := int(newNode.Q()[mp.tpFrame.Name()][0].Value) - randAlpha := newNode.Q()[mp.tpFrame.Name()][1].Value - randDist := newNode.Q()[mp.tpFrame.Name()][3].Value - newNode.Q()[mp.tpFrame.Name()][2].Value + ptgNum := int(newNode.Q()[mp.tpFrame.Name()][0]) + randAlpha := newNode.Q()[mp.tpFrame.Name()][1] + randDist := newNode.Q()[mp.tpFrame.Name()][3] - newNode.Q()[mp.tpFrame.Name()][2] trajK, err := mp.solvers[ptgNum].Trajectory(randAlpha, 0, randDist, mp.planOpts.Resolution) if err != nil { @@ -829,7 +829,7 @@ func (mp *tpSpaceRRTMotionPlanner) extendMap( // add the last node in trajectory addedNode = &basicNode{ q: referenceframe.FrameSystemInputs{ - mp.tpFrame.Name(): referenceframe.FloatsToInputs([]float64{float64(ptgNum), randAlpha, 0, trajPt.Dist}), + mp.tpFrame.Name(): []float64{float64(ptgNum), randAlpha, 0, trajPt.Dist}, }, cost: trajPt.Dist, poses: mp.tpFramePoseToFrameSystemPoses(trajState.Position), @@ -876,10 +876,10 @@ func ptgSolution(ptg tpspace.PTGSolver, seed := tpspace.PTGIKSeed(ptg) dof := ptg.DoF() if seedDist < dof[1].Max { - seed[1].Value = seedDist + seed[1] = seedDist } if relPose.Point().X < 0 { - seed[0].Value *= -1 + seed[0] *= -1 } solution, err := ptg.Solve(context.Background(), seed, targetFunc) @@ -944,10 +944,10 @@ func (mp *tpSpaceRRTMotionPlanner) smoothPath(ctx context.Context, path []node) allPtgs := mp.solvers lastPose := mp.tpFramePose(path[0].Poses()) for _, mynode := range path { - trajPts, err := allPtgs[int(mynode.Q()[mp.tpFrame.Name()][0].Value)].Trajectory( - mynode.Q()[mp.tpFrame.Name()][1].Value, - mynode.Q()[mp.tpFrame.Name()][2].Value, - mynode.Q()[mp.tpFrame.Name()][3].Value, + trajPts, err := allPtgs[int(mynode.Q()[mp.tpFrame.Name()][0])].Trajectory( + mynode.Q()[mp.tpFrame.Name()][1], + mynode.Q()[mp.tpFrame.Name()][2], + mynode.Q()[mp.tpFrame.Name()][3], mp.planOpts.Resolution, ) if err != nil { @@ -986,14 +986,14 @@ func (mp *tpSpaceRRTMotionPlanner) attemptSmooth( startMap[pathNode] = parent for adjNum := defaultSmoothChunkCount - 1; adjNum > 0; adjNum-- { fullQ := pathNode.Q()[mp.tpFrame.Name()] - adj := (fullQ[3].Value - fullQ[2].Value) * (float64(adjNum) / float64(defaultSmoothChunkCount)) + adj := (fullQ[3] - fullQ[2]) * (float64(adjNum) / float64(defaultSmoothChunkCount)) newQ := referenceframe.FrameSystemInputs{ - mp.tpFrame.Name(): {fullQ[0], fullQ[1], fullQ[2], {fullQ[3].Value - adj}}, + mp.tpFrame.Name(): {fullQ[0], fullQ[1], fullQ[2], fullQ[3] - adj}, } - trajK, err := smoother.solvers[int(math.Round(newQ[mp.tpFrame.Name()][0].Value))].Trajectory( - newQ[mp.tpFrame.Name()][1].Value, - newQ[mp.tpFrame.Name()][2].Value, - newQ[mp.tpFrame.Name()][3].Value, + trajK, err := smoother.solvers[int(math.Round(newQ[mp.tpFrame.Name()][0]))].Trajectory( + newQ[mp.tpFrame.Name()][1], + newQ[mp.tpFrame.Name()][2], + newQ[mp.tpFrame.Name()][3], mp.planOpts.Resolution, ) if err != nil { @@ -1108,7 +1108,7 @@ func extractTPspacePath(fName string, startMap, goalMap map[node]node, pair *nod path = append(path, &basicNode{ q: referenceframe.FrameSystemInputs{ - fName: {{0}, {0}, {0}, {0}}, + fName: {0, 0, 0, 0}, }, cost: startReached.Cost(), poses: startReached.Poses(), @@ -1133,7 +1133,7 @@ func extractTPspacePath(fName string, startMap, goalMap map[node]node, pair *nod // Add the final node goalReachedReversed = &basicNode{ q: referenceframe.FrameSystemInputs{ - fName: {{0}, {0}, {0}, {0}}, + fName: {0, 0, 0, 0}, }, cost: goalReached.Cost(), poses: referenceframe.FrameSystemPoses{fName: referenceframe.NewPoseInFrame( diff --git a/motionplan/baseplanning/tpSpaceRRT_test.go b/motionplan/baseplanning/tpSpaceRRT_test.go index 4da9c75ae13..5ef13bc7b5e 100644 --- a/motionplan/baseplanning/tpSpaceRRT_test.go +++ b/motionplan/baseplanning/tpSpaceRRT_test.go @@ -247,28 +247,28 @@ func TestTPsmoothing(t *testing.T) { // plan which is known to be able to use some smoothing planInputs := [][]referenceframe.Input{ - {{0}, {0}, {0}, {0}}, - {{3}, {-0.20713797715976653}, {0}, {848.2300164692441}}, - {{4}, {0.0314906475636095}, {0}, {848.2300108402619}}, - {{4}, {0.0016660735709435135}, {0}, {848.2300146893297}}, - {{0}, {0.00021343061342569985}, {0}, {408}}, - {{4}, {1.9088870836327245}, {0}, {737.7547597081078}}, - {{2}, {-1.3118738553451883}, {0}, {848.2300164692441}}, - {{0}, {-3.1070696573964987}, {0}, {848.2300164692441}}, - {{0}, {-2.5547017183037877}, {0}, {306}}, - {{4}, {-2.31209484211255}, {0}, {408}}, - {{0}, {1.1943809502464207}, {0}, {571.4368241014894}}, - {{0}, {0.724950779684863}, {0}, {848.2300164692441}}, - {{0}, {-1.2295409308605127}, {0}, {848.2294213788913}}, - {{4}, {2.677652944060827}, {0}, {848.230013198154}}, - {{0}, {2.7618396954635545}, {0}, {848.2300164692441}}, - {{0}, {0}, {0}, {0}}, + {0, 0, 0, 0}, + {3, -0.20713797715976653, 0, 848.2300164692441}, + {4, 0.0314906475636095, 0, 848.2300108402619}, + {4, 0.0016660735709435135, 0, 848.2300146893297}, + {0, 0.00021343061342569985, 0, 408}, + {4, 1.9088870836327245, 0, 737.7547597081078}, + {2, -1.3118738553451883, 0, 848.2300164692441}, + {0, -3.1070696573964987, 0, 848.2300164692441}, + {0, -2.5547017183037877, 0, 306}, + {4, -2.31209484211255, 0, 408}, + {0, 1.1943809502464207, 0, 571.4368241014894}, + {0, 0.724950779684863, 0, 848.2300164692441}, + {0, -1.2295409308605127, 0, 848.2294213788913}, + {4, 2.677652944060827, 0, 848.230013198154}, + {0, 2.7618396954635545, 0, 848.2300164692441}, + {0, 0, 0, 0}, } plan := []node{} for _, inp := range planInputs { thisNode := &basicNode{ q: referenceframe.FrameSystemInputs{ackermanFrame.Name(): inp}, - cost: inp[3].Value - inp[2].Value, + cost: inp[3] - inp[2], } plan = append(plan, thisNode) } @@ -295,7 +295,7 @@ func planToTpspaceRec(plan motionplan.Plan, f referenceframe.Frame) ([]node, err for _, inp := range plan.Trajectory() { thisNode := &basicNode{ q: inp, - cost: math.Abs(inp[f.Name()][3].Value - inp[f.Name()][2].Value), + cost: math.Abs(inp[f.Name()][3] - inp[f.Name()][2]), } nodes = append(nodes, thisNode) } diff --git a/motionplan/baseplanning/utils.go b/motionplan/baseplanning/utils.go index b20c77170e8..b591c0a14a2 100644 --- a/motionplan/baseplanning/utils.go +++ b/motionplan/baseplanning/utils.go @@ -59,13 +59,13 @@ func (lfs *linearizedFrameSystem) mapToSlice(inputs referenceframe.FrameSystemIn if len(frame.DoF()) == 0 { continue } + input, ok := inputs[frame.Name()] if !ok { return nil, fmt.Errorf("frame %s missing from input map", frame.Name()) } - for _, i := range input { - floatSlice = append(floatSlice, i.Value) - } + + floatSlice = append(floatSlice, input...) } return floatSlice, nil } @@ -82,7 +82,7 @@ func (lfs *linearizedFrameSystem) sliceToMap(floatSlice []float64) (referencefra if i >= len(floatSlice) { return nil, fmt.Errorf("not enough values in float slice for frame %s", frame.Name()) } - frameInputs[j] = referenceframe.Input{Value: floatSlice[i]} + frameInputs[j] = floatSlice[i] i++ } inputs[frame.Name()] = frameInputs diff --git a/motionplan/collision_test.go b/motionplan/collision_test.go index 518e9adca55..15ad11753c3 100644 --- a/motionplan/collision_test.go +++ b/motionplan/collision_test.go @@ -100,7 +100,7 @@ func TestUniqueCollisions(t *testing.T) { test.That(t, err, test.ShouldBeNil) // case 1: no self collision - check no new collisions are returned - input[0] = referenceframe.Input{Value: 1} + input[0] = 1 internalGeometries, _ = m.Geometries(input) test.That(t, internalGeometries, test.ShouldNotBeNil) cg, err := newCollisionGraph( @@ -114,7 +114,7 @@ func TestUniqueCollisions(t *testing.T) { test.That(t, len(cg.collisions(defaultCollisionBufferMM)), test.ShouldEqual, 0) // case 2: self collision - check only new collisions are returned - input[4] = referenceframe.Input{Value: 2} + input[4] = 2 internalGeometries, _ = m.Geometries(input) test.That(t, internalGeometries, test.ShouldNotBeNil) cg, err = newCollisionGraph( diff --git a/motionplan/constraint2_test.go b/motionplan/constraint2_test.go index 7462ed4fb47..80926c3d94f 100644 --- a/motionplan/constraint2_test.go +++ b/motionplan/constraint2_test.go @@ -17,8 +17,8 @@ import ( ) func TestConstraintPath(t *testing.T) { - homePos := referenceframe.FloatsToInputs([]float64{0, 0, 0, 0, 0, 0}) - toPos := referenceframe.FloatsToInputs([]float64{0, 0, 0, 0, 0, 1}) + homePos := []referenceframe.Input{0, 0, 0, 0, 0, 0} + toPos := []referenceframe.Input{0, 0, 0, 0, 0, 1} modelXarm, err := referenceframe.ParseModelJSONFile(utils.ResolveFile("components/arm/fake/kinematics/xarm6.json"), "") @@ -43,7 +43,7 @@ func TestConstraintPath(t *testing.T) { test.That(t, len(handler.StateConstraints()), test.ShouldEqual, 1) - badInterpPos := referenceframe.FloatsToInputs([]float64{6.2, 0, 0, 0, 0, 0}) + badInterpPos := []referenceframe.Input{6.2, 0, 0, 0, 0, 0} ciBad := &Segment{StartConfiguration: homePos, EndConfiguration: badInterpPos, Frame: modelXarm} err = resolveSegmentsToPositions(ciBad) test.That(t, err, test.ShouldBeNil) @@ -164,16 +164,16 @@ func TestLineFollow(t *testing.T) { } func TestCollisionConstraints(t *testing.T) { - zeroPos := referenceframe.FloatsToInputs([]float64{0, 0, 0, 0, 0, 0}) + zeroPos := []referenceframe.Input{0, 0, 0, 0, 0, 0} cases := []struct { input []referenceframe.Input expected bool failName string }{ {zeroPos, true, ""}, - {referenceframe.FloatsToInputs([]float64{math.Pi / 2, 0, 0, 0, 0, 0}), true, ""}, - {referenceframe.FloatsToInputs([]float64{math.Pi, 0, 0, 0, 0, 0}), false, obstacleConstraintDescription}, - {referenceframe.FloatsToInputs([]float64{math.Pi / 2, 0, 0, 0, 2, 0}), false, selfCollisionConstraintDescription}, + {[]referenceframe.Input{math.Pi / 2, 0, 0, 0, 0, 0}, true, ""}, + {[]referenceframe.Input{math.Pi, 0, 0, 0, 0, 0}, false, obstacleConstraintDescription}, + {[]referenceframe.Input{math.Pi / 2, 0, 0, 0, 2, 0}, false, selfCollisionConstraintDescription}, } // define external obstacles @@ -299,7 +299,7 @@ func BenchmarkCollisionConstraints(b *testing.B) { // loop through cases and check constraint handler processes them correctly for n := 0; n < b.N; n++ { rfloats := referenceframe.GenerateRandomConfiguration(model, rseed) - err = handler.CheckStateConstraints(&State{Configuration: referenceframe.FloatsToInputs(rfloats), Frame: model}) + err = handler.CheckStateConstraints(&State{Configuration: rfloats, Frame: model}) test.That(b, err, test.ShouldBeNil) } } diff --git a/motionplan/ik/nlopt_test.go b/motionplan/ik/nlopt_test.go index 6e33d5053bc..2c46a39078d 100644 --- a/motionplan/ik/nlopt_test.go +++ b/motionplan/ik/nlopt_test.go @@ -35,7 +35,7 @@ func TestCreateNloptSolver(t *testing.T) { ) // Check unpacking from proto - seed = referenceframe.InputsToFloats(m.InputFromProtobuf(&pb.JointPositions{Values: []float64{49, 28, -101, 0, -73, 0}})) + seed = m.InputFromProtobuf(&pb.JointPositions{Values: []float64{49, 28, -101, 0, -73, 0}}) solveFunc = NewMetricMinFunc(motionplan.NewSquaredNormMetric(pos), m, logger) _, err = DoSolve(context.Background(), ik, solveFunc, seed, 1) diff --git a/motionplan/ik/solver.go b/motionplan/ik/solver.go index a1f85b08353..0281f1dca0e 100644 --- a/motionplan/ik/solver.go +++ b/motionplan/ik/solver.go @@ -78,9 +78,8 @@ func limitsToArrays(limits []referenceframe.Limit) ([]float64, []float64) { // NewMetricMinFunc takes a metric and a frame, and converts to a function able to be minimized with Solve(). func NewMetricMinFunc(metric motionplan.StateMetric, frame referenceframe.Frame, logger logging.Logger) CostFunc { - return func(_ context.Context, x []float64) float64 { + return func(_ context.Context, inputs []referenceframe.Input) float64 { mInput := &motionplan.State{Frame: frame} - inputs := referenceframe.FloatsToInputs(x) eePos, err := frame.Transform(inputs) if eePos == nil || (err != nil && !strings.Contains(err.Error(), referenceframe.OOBErrString)) { logger.Errorw("error calculating frame Transform in IK", "error", err) diff --git a/motionplan/metrics.go b/motionplan/metrics.go index 92d333cb8d9..afda28384c4 100644 --- a/motionplan/metrics.go +++ b/motionplan/metrics.go @@ -267,7 +267,7 @@ func NewPositionOnlyMetric(goal spatial.Pose) StateMetric { func JointMetric(segment *Segment) float64 { jScore := 0. for i, f := range segment.StartConfiguration { - jScore += math.Abs(f.Value - segment.EndConfiguration[i].Value) + jScore += math.Abs(f - segment.EndConfiguration[i]) } return jScore } @@ -321,7 +321,7 @@ func FSConfigurationDistance(segment *SegmentFS) float64 { for frame, cfg := range segment.StartConfiguration { if endCfg, ok := segment.EndConfiguration[frame]; ok && len(cfg) == len(endCfg) { for i, val := range cfg { - score += math.Abs(val.Value - endCfg[i].Value) + score += math.Abs(val - endCfg[i]) } } } diff --git a/motionplan/tpspace/ptg.go b/motionplan/tpspace/ptg.go index fe6bc8d304e..99c9b33705e 100644 --- a/motionplan/tpspace/ptg.go +++ b/motionplan/tpspace/ptg.go @@ -141,7 +141,7 @@ func computePTGNode(simPTG PTG, alpha, dist float64) (*TrajNode, error) { } // ptgIK caches these, so this should be fast. If cacheing is removed or a different simPTG used, this could be slow. - pose, err := simPTG.Transform([]referenceframe.Input{{alpha}, {dist}}) + pose, err := simPTG.Transform([]referenceframe.Input{alpha, dist}) if err != nil { return nil, err } @@ -172,7 +172,7 @@ func invertComputedPTG(forwardsPTG []*TrajNode) []*TrajNode { // PTGSegmentMetric is a metric which returns the TP-space distance traversed in a segment. Since PTG inputs are relative, the distance // travelled is the distance field of the ending configuration. func PTGSegmentMetric(segment *motionplan.Segment) float64 { - return segment.EndConfiguration[len(segment.EndConfiguration)-1].Value + return segment.EndConfiguration[len(segment.EndConfiguration)-1] } // NewPTGDistanceMetric creates a metric which returns the TP-space distance traversed in a segment for a frame. Since PTG inputs are @@ -182,7 +182,7 @@ func NewPTGDistanceMetric(ptgFrames []string) motionplan.SegmentFSMetric { score := 0. for _, ptgFrame := range ptgFrames { if frameCfg, ok := segment.EndConfiguration[ptgFrame]; ok { - score += frameCfg[len(frameCfg)-1].Value + score += frameCfg[len(frameCfg)-1] } } // If there's no matching configuration in the end, then the frame does not move @@ -200,9 +200,7 @@ func PTGIKSeed(ptg PTGSolver) []referenceframe.Input { for i := 0; i < len(ptgDof); i++ { boundRange := ptgDof[i].Max - ptgDof[i].Min minAdj := boundRange * defaultPTGSeedAdj - inputs = append(inputs, - referenceframe.Input{ptgDof[i].Min + minAdj}, - ) + inputs = append(inputs, ptgDof[i].Min+minAdj) } return inputs diff --git a/motionplan/tpspace/ptgC.go b/motionplan/tpspace/ptgC.go index b8f24a53652..d6c963dce94 100644 --- a/motionplan/tpspace/ptgC.go +++ b/motionplan/tpspace/ptgC.go @@ -42,8 +42,8 @@ func (ptg *ptgC) Transform(inputs []referenceframe.Input) (spatialmath.Pose, err if len(inputs) != 2 { return nil, fmt.Errorf("ptgC takes 2 inputs, but received %d", len(inputs)) } - alpha := inputs[0].Value - dist := inputs[1].Value + alpha := inputs[0] + dist := inputs[1] // Check for OOB within FP error if math.Pi-math.Abs(alpha) > math.Pi+floatEpsilon { diff --git a/motionplan/tpspace/ptgCC.go b/motionplan/tpspace/ptgCC.go index c58256e2af1..7408e87a742 100644 --- a/motionplan/tpspace/ptgCC.go +++ b/motionplan/tpspace/ptgCC.go @@ -52,20 +52,20 @@ func (ptg *ptgCC) Velocities(alpha, dist float64) (float64, float64, error) { } func (ptg *ptgCC) Transform(inputs []referenceframe.Input) (spatialmath.Pose, error) { - alpha := inputs[0].Value - dist := inputs[1].Value + alpha := inputs[0] + dist := inputs[1] reverseDistance := math.Abs(alpha) * 0.5 * ptg.turnRadius flip := math.Copysign(1., alpha) // left or right direction := math.Copysign(1., dist) // forwards or backwards - revPose, err := ptg.circle.Transform([]referenceframe.Input{{-1 * flip * math.Pi}, {-1. * direction * math.Min(dist, reverseDistance)}}) + revPose, err := ptg.circle.Transform([]referenceframe.Input{-1 * flip * math.Pi, -1. * direction * math.Min(dist, reverseDistance)}) if err != nil { return nil, err } if dist < reverseDistance { return revPose, nil } - fwdPose, err := ptg.circle.Transform([]referenceframe.Input{{flip * math.Pi}, {direction * (dist - reverseDistance)}}) + fwdPose, err := ptg.circle.Transform([]referenceframe.Input{flip * math.Pi, direction * (dist - reverseDistance)}) if err != nil { return nil, err } diff --git a/motionplan/tpspace/ptgCCS.go b/motionplan/tpspace/ptgCCS.go index f5d720a40a5..fd497c284f2 100644 --- a/motionplan/tpspace/ptgCCS.go +++ b/motionplan/tpspace/ptgCCS.go @@ -55,8 +55,8 @@ func (ptg *ptgCCS) Velocities(alpha, dist float64) (float64, float64, error) { } func (ptg *ptgCCS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, error) { - alpha := inputs[0].Value - dist := inputs[1].Value + alpha := inputs[0] + dist := inputs[1] arcConstant := math.Abs(alpha) * 0.5 reverseDistance := arcConstant * ptg.turnRadius @@ -64,7 +64,7 @@ func (ptg *ptgCCS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, e flip := math.Copysign(1., alpha) // left or right direction := math.Copysign(1., dist) // forwards or backwards - revPose, err := ptg.circle.Transform([]referenceframe.Input{{-1 * flip * math.Pi}, {-1. * direction * math.Min(dist, reverseDistance)}}) + revPose, err := ptg.circle.Transform([]referenceframe.Input{-1 * flip * math.Pi, -1. * direction * math.Min(dist, reverseDistance)}) if err != nil { return nil, err } @@ -73,8 +73,8 @@ func (ptg *ptgCCS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, e } fwdPose, err := ptg.circle.Transform( []referenceframe.Input{ - {flip * math.Pi}, - {direction * (math.Min(dist, fwdArcDistance) - reverseDistance)}, + flip * math.Pi, + direction * (math.Min(dist, fwdArcDistance) - reverseDistance), }, ) if err != nil { @@ -85,7 +85,7 @@ func (ptg *ptgCCS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, e return arcPose, nil } - finalPose, err := ptg.circle.Transform([]referenceframe.Input{{0}, {direction * (dist - (fwdArcDistance + reverseDistance))}}) + finalPose, err := ptg.circle.Transform([]referenceframe.Input{0, direction * (dist - (fwdArcDistance + reverseDistance))}) if err != nil { return nil, err } diff --git a/motionplan/tpspace/ptgCS.go b/motionplan/tpspace/ptgCS.go index fbf5b81e531..442b52d27ba 100644 --- a/motionplan/tpspace/ptgCS.go +++ b/motionplan/tpspace/ptgCS.go @@ -43,14 +43,14 @@ func (ptg *ptgCS) Velocities(alpha, dist float64) (float64, float64, error) { } func (ptg *ptgCS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, error) { - alpha := inputs[0].Value - dist := inputs[1].Value + alpha := inputs[0] + dist := inputs[1] turnDist := ptg.turnDist(alpha) var err error arcPose := spatialmath.NewZeroPose() if alpha != 0 { - arcPose, err = ptg.circle.Transform([]referenceframe.Input{inputs[0], {math.Min(dist, turnDist)}}) + arcPose, err = ptg.circle.Transform([]referenceframe.Input{inputs[0], math.Min(dist, turnDist)}) if err != nil { return nil, err } @@ -58,7 +58,7 @@ func (ptg *ptgCS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, er if dist < turnDist { return arcPose, nil } - fwdPose, err := ptg.circle.Transform([]referenceframe.Input{{0}, {dist - turnDist}}) + fwdPose, err := ptg.circle.Transform([]referenceframe.Input{0, dist - turnDist}) if err != nil { return nil, err } diff --git a/motionplan/tpspace/ptgDiffDrive.go b/motionplan/tpspace/ptgDiffDrive.go index a6d26d06682..4683bfb2f30 100644 --- a/motionplan/tpspace/ptgDiffDrive.go +++ b/motionplan/tpspace/ptgDiffDrive.go @@ -40,8 +40,8 @@ func (ptg *ptgDiffDrive) Transform(inputs []referenceframe.Input) (spatialmath.P if len(inputs) != 2 { return nil, referenceframe.NewIncorrectDoFError(len(inputs), 2) } - alpha := inputs[0].Value - dist := inputs[1].Value + alpha := inputs[0] + dist := inputs[1] // Check for OOB within FP error if math.Pi-math.Abs(alpha) > math.Pi+floatEpsilon { diff --git a/motionplan/tpspace/ptgGroupFrame.go b/motionplan/tpspace/ptgGroupFrame.go index c53a9e72b9a..56f43bca4f0 100644 --- a/motionplan/tpspace/ptgGroupFrame.go +++ b/motionplan/tpspace/ptgGroupFrame.go @@ -174,7 +174,7 @@ func (pf *ptgGroupFrame) Transform(inputs []referenceframe.Input) (spatialmath.P return nil, err } - ptgIdx := int(math.Round(inputs[ptgIndex].Value)) + ptgIdx := int(math.Round(inputs[ptgIndex])) endPose, err := pf.solvers[ptgIdx].Transform([]referenceframe.Input{ inputs[trajectoryAlphaWithinPTG], @@ -183,7 +183,7 @@ func (pf *ptgGroupFrame) Transform(inputs []referenceframe.Input) (spatialmath.P if err != nil { return nil, err } - if inputs[startDistanceAlongTrajectoryIndex].Value != 0 { + if inputs[startDistanceAlongTrajectoryIndex] != 0 { startPose, err := pf.solvers[ptgIdx].Transform([]referenceframe.Input{ inputs[trajectoryAlphaWithinPTG], inputs[startDistanceAlongTrajectoryIndex], @@ -191,7 +191,7 @@ func (pf *ptgGroupFrame) Transform(inputs []referenceframe.Input) (spatialmath.P if err != nil { return nil, err } - if inputs[endDistanceAlongTrajectoryIndex].Value < inputs[startDistanceAlongTrajectoryIndex].Value { + if inputs[endDistanceAlongTrajectoryIndex] < inputs[startDistanceAlongTrajectoryIndex] { endPose = spatialmath.PoseBetween(spatialmath.Compose(endPose, flipPose), flipPose) startPose = spatialmath.PoseBetween(spatialmath.Compose(startPose, flipPose), flipPose) endPose = spatialmath.PoseBetweenInverse(endPose, startPose) @@ -227,7 +227,7 @@ func (pf *ptgGroupFrame) Interpolate(from, to []referenceframe.Input, by float64 nonMatchIndex := endDistanceAlongTrajectoryIndex for i, input := range from { - if input.Value != 0 { + if input != 0 { zeroInputFrom = false } @@ -235,41 +235,33 @@ func (pf *ptgGroupFrame) Interpolate(from, to []referenceframe.Input, by float64 if i == nonMatchIndex { continue } - if input.Value != to[i].Value { - return nil, NewNonMatchingInputError(from[i].Value, to[i].Value) + if input != to[i] { + return nil, NewNonMatchingInputError(from[i], to[i]) } } } - startVal := from[endDistanceAlongTrajectoryIndex].Value + startVal := from[endDistanceAlongTrajectoryIndex] if zeroInputFrom { - startVal = to[startDistanceAlongTrajectoryIndex].Value + startVal = to[startDistanceAlongTrajectoryIndex] } - endVal := to[endDistanceAlongTrajectoryIndex].Value + endVal := to[endDistanceAlongTrajectoryIndex] changeVal := (endVal - startVal) * by return []referenceframe.Input{ to[ptgIndex], to[trajectoryAlphaWithinPTG], - {startVal}, - {startVal + changeVal}, + startVal, + startVal + changeVal, }, nil } func (pf *ptgGroupFrame) InputFromProtobuf(jp *pb.JointPositions) []referenceframe.Input { - n := make([]referenceframe.Input, len(jp.Values)) - for idx, d := range jp.Values { - n[idx] = referenceframe.Input{d} - } - return n + return jp.Values } func (pf *ptgGroupFrame) ProtobufFromInput(input []referenceframe.Input) *pb.JointPositions { - n := make([]float64, len(input)) - for idx, a := range input { - n[idx] = a.Value - } - return &pb.JointPositions{Values: n} + return &pb.JointPositions{Values: input} } func (pf *ptgGroupFrame) Geometries(inputs []referenceframe.Input) (*referenceframe.GeometriesInFrame, error) { @@ -303,10 +295,10 @@ func (pf *ptgGroupFrame) validInputs(inputs []referenceframe.Input) error { return referenceframe.NewIncorrectDoFError(len(inputs), len(pf.limits)) } for i := 0; i < len(pf.limits); i++ { - if inputs[i].Value < pf.limits[i].Min || inputs[i].Value > pf.limits[i].Max { + if inputs[i] < pf.limits[i].Min || inputs[i] > pf.limits[i].Max { lim := []float64{pf.limits[i].Min, pf.limits[i].Max} multierr.AppendInto(&errAll, fmt.Errorf("%s %s %s, %s %.5f %s %.5f", "input", fmt.Sprint(i), - referenceframe.OOBErrString, "input", inputs[i].Value, "needs to be within range", lim)) + referenceframe.OOBErrString, "input", inputs[i], "needs to be within range", lim)) } } return errAll diff --git a/motionplan/tpspace/ptgGroupFrame_test.go b/motionplan/tpspace/ptgGroupFrame_test.go index 03bc871a550..40879e12872 100644 --- a/motionplan/tpspace/ptgGroupFrame_test.go +++ b/motionplan/tpspace/ptgGroupFrame_test.go @@ -26,9 +26,9 @@ func TestPtgNegativePartialTransform(t *testing.T) { pf, ok := pFrame.(*ptgGroupFrame) test.That(t, ok, test.ShouldBeTrue) - partialPose1, err := pf.Transform([]referenceframe.Input{{0}, {math.Pi / 2}, {200}, {30}}) + partialPose1, err := pf.Transform([]referenceframe.Input{0, math.Pi / 2, 200, 30}) test.That(t, err, test.ShouldBeNil) - partialPose2, err := pf.Transform([]referenceframe.Input{{0}, {math.Pi / 2}, {200}, {40}}) + partialPose2, err := pf.Transform([]referenceframe.Input{0, math.Pi / 2, 200, 40}) test.That(t, err, test.ShouldBeNil) test.That( @@ -69,71 +69,71 @@ func TestInterpolate(t *testing.T) { { name: "Simple interpolation 1", inputFrom: zeroInput, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {0}, {200}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {0}, {80}}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 0, 200}, + expected: []referenceframe.Input{0, math.Pi / 2, 0, 80}, amount: 0.4, }, { name: "Simple interpolation 2", inputFrom: zeroInput, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {0}, {200}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {0}, {120}}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 0, 200}, + expected: []referenceframe.Input{0, math.Pi / 2, 0, 120}, amount: 0.6, }, { name: "Simple interpolation 3", - inputFrom: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {100}}, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {200}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {140}}, + inputFrom: []referenceframe.Input{0, math.Pi / 2, 100, 100}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 100, 200}, + expected: []referenceframe.Input{0, math.Pi / 2, 100, 140}, amount: 0.4, }, { name: "Simple interpolation 4", inputFrom: zeroInput, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {200}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {140}}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 100, 200}, + expected: []referenceframe.Input{0, math.Pi / 2, 100, 140}, amount: 0.4, }, { name: "Nonzero starting point", - inputFrom: []referenceframe.Input{{0}, {math.Pi / 2}, {0}, {100}}, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {0}, {200}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {140}}, + inputFrom: []referenceframe.Input{0, math.Pi / 2, 0, 100}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 0, 200}, + expected: []referenceframe.Input{0, math.Pi / 2, 100, 140}, amount: 0.4, }, { name: "Zero interpolation", - inputFrom: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {100}}, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {200}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {100}}, + inputFrom: []referenceframe.Input{0, math.Pi / 2, 100, 100}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 100, 200}, + expected: []referenceframe.Input{0, math.Pi / 2, 100, 100}, amount: 0, }, { name: "Zero interpolation with zero input", inputFrom: zeroInput, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {200}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {100}}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 100, 200}, + expected: []referenceframe.Input{0, math.Pi / 2, 100, 100}, amount: 0, }, { name: "Reverse interpolation 1", inputFrom: zeroInput, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {200}, {0}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {200}, {120}}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 200, 0}, + expected: []referenceframe.Input{0, math.Pi / 2, 200, 120}, amount: 0.4, }, { name: "Reverse interpolation 2", - inputFrom: []referenceframe.Input{{0}, {math.Pi / 2}, {200}, {200}}, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {200}, {0}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {200}, {120}}, + inputFrom: []referenceframe.Input{0, math.Pi / 2, 200, 200}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 200, 0}, + expected: []referenceframe.Input{0, math.Pi / 2, 200, 120}, amount: 0.4, }, { name: "Reverse interpolation nonzero starting point", - inputFrom: []referenceframe.Input{{0}, {math.Pi / 2}, {200}, {100}}, - inputTo: []referenceframe.Input{{0}, {math.Pi / 2}, {200}, {0}}, - expected: []referenceframe.Input{{0}, {math.Pi / 2}, {100}, {60}}, + inputFrom: []referenceframe.Input{0, math.Pi / 2, 200, 100}, + inputTo: []referenceframe.Input{0, math.Pi / 2, 200, 0}, + expected: []referenceframe.Input{0, math.Pi / 2, 100, 60}, amount: 0.4, }, } diff --git a/motionplan/tpspace/ptgIK.go b/motionplan/tpspace/ptgIK.go index 504671dfa4d..8e418ab612b 100644 --- a/motionplan/tpspace/ptgIK.go +++ b/motionplan/tpspace/ptgIK.go @@ -99,7 +99,7 @@ func (ptg *ptgIK) Solve( _, err := ptg.fastGradDescent.Solve( ctx, internalSolutionGen, - referenceframe.InputsToFloats(seed), + seed, nil, ptg.ptgMetricIkFunc(solveMetric), defaultNloptSeed, @@ -115,13 +115,13 @@ func (ptg *ptgIK) Solve( // If nlopt failed to gradient descend, it will return the seed. If the seed is what was returned, we want to use our precomputed // grid check instead. for i, v := range solved.Configuration { - if v != seed[i].Value { + if v != seed[i] { seedOutput = false break } } } - if err != nil || solved == nil || ptg.arcDist(referenceframe.FloatsToInputs(solved.Configuration)) < defaultZeroDist || seedOutput { + if err != nil || solved == nil || ptg.arcDist(solved.Configuration) < defaultZeroDist || seedOutput { // nlopt did not return a valid solution or otherwise errored. Fall back fully to the grid check. return ptg.gridSim.Solve(ctx, seed, solveMetric) } @@ -231,14 +231,14 @@ func (ptg *ptgIK) DoF() []referenceframe.Limit { func (ptg *ptgIK) arcDist(inputs []referenceframe.Input) float64 { dist := 0. for i := 1; i < len(inputs); i += 2 { - dist += (inputs[i].Value - defaultMinPTGlen) + dist += (inputs[i] - defaultMinPTGlen) } return dist } func (ptg *ptgIK) ptgMetricIkFunc(distMetric motionplan.StateMetric) ik.CostFunc { return func(_ context.Context, vals []float64) float64 { - queryPose, err := ptg.Transform(referenceframe.FloatsToInputs(vals)) + queryPose, err := ptg.Transform(vals) if err != nil { return math.Inf(1) } diff --git a/motionplan/tpspace/ptgIKFrame.go b/motionplan/tpspace/ptgIKFrame.go index 35ec2e9131b..b0d365f8ac6 100644 --- a/motionplan/tpspace/ptgIKFrame.go +++ b/motionplan/tpspace/ptgIKFrame.go @@ -39,19 +39,11 @@ func (pf *ptgIKFrame) UnmarshalJSON(data []byte) error { } func (pf *ptgIKFrame) InputFromProtobuf(jp *pb.JointPositions) []referenceframe.Input { - n := make([]referenceframe.Input, len(jp.Values)) - for idx, d := range jp.Values { - n[idx] = referenceframe.Input{d} - } - return n + return jp.Values } func (pf *ptgIKFrame) ProtobufFromInput(input []referenceframe.Input) *pb.JointPositions { - n := make([]float64, len(input)) - for idx, a := range input { - n[idx] = a.Value - } - return &pb.JointPositions{Values: n} + return &pb.JointPositions{Values: input} } func (pf *ptgIKFrame) Geometries(inputs []referenceframe.Input) (*referenceframe.GeometriesInFrame, error) { @@ -65,8 +57,8 @@ func (pf *ptgIKFrame) Transform(inputs []referenceframe.Input) (spatialmath.Pose } p1 := spatialmath.NewZeroPose() for i := 0; i < len(inputs); i += 2 { - dist := math.Abs(inputs[i+1].Value) - p2, err := pf.PTG.Transform([]referenceframe.Input{inputs[i], {dist}}) + dist := math.Abs(inputs[i+1]) + p2, err := pf.PTG.Transform([]referenceframe.Input{inputs[i], dist}) if err != nil { return nil, err } diff --git a/motionplan/tpspace/ptgSideS.go b/motionplan/tpspace/ptgSideS.go index 3296759f52c..ca11879a5ce 100644 --- a/motionplan/tpspace/ptgSideS.go +++ b/motionplan/tpspace/ptgSideS.go @@ -62,14 +62,14 @@ func (ptg *ptgSideS) Velocities(alpha, dist float64) (float64, float64, error) { } func (ptg *ptgSideS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, error) { - alpha := inputs[0].Value - dist := inputs[1].Value + alpha := inputs[0] + dist := inputs[1] flip := math.Copysign(1., alpha) // left or right direction := math.Copysign(1., dist) // forwards or backwards arcLength := math.Abs(alpha) * 0.5 * ptg.turnRadius - revPose, err := ptg.circle.Transform([]referenceframe.Input{{flip * math.Pi}, {direction * math.Min(dist, arcLength)}}) + revPose, err := ptg.circle.Transform([]referenceframe.Input{flip * math.Pi, direction * math.Min(dist, arcLength)}) if err != nil { return nil, err } @@ -78,8 +78,8 @@ func (ptg *ptgSideS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, } fwdPose, err := ptg.circle.Transform( []referenceframe.Input{ - {-1 * flip * math.Pi}, - {direction * (math.Min(dist, arcLength+arcLength*ptg.countersteer) - arcLength)}, + -1 * flip * math.Pi, + direction * (math.Min(dist, arcLength+arcLength*ptg.countersteer) - arcLength), }, ) if err != nil { @@ -90,7 +90,7 @@ func (ptg *ptgSideS) Transform(inputs []referenceframe.Input) (spatialmath.Pose, return arcPose, nil } - finalPose, err := ptg.circle.Transform([]referenceframe.Input{{0}, {direction * (dist - (arcLength + arcLength*ptg.countersteer))}}) + finalPose, err := ptg.circle.Transform([]referenceframe.Input{0, direction * (dist - (arcLength + arcLength*ptg.countersteer))}) if err != nil { return nil, err } diff --git a/motionplan/tpspace/ptg_test.go b/motionplan/tpspace/ptg_test.go index 2d8422c2dd1..08af2588ad1 100644 --- a/motionplan/tpspace/ptg_test.go +++ b/motionplan/tpspace/ptg_test.go @@ -27,7 +27,7 @@ func alpha2index(alpha float64, numPaths uint) uint { func TestPtgDiffDrive(t *testing.T) { p := NewDiffDrivePTG(0) - pose, err := p.Transform([]referenceframe.Input{{-3.0}, {10}}) + pose, err := p.Transform([]referenceframe.Input{-3.0, 10}) test.That(t, err, test.ShouldBeNil) goalPose := spatialmath.NewPoseFromOrientation(&spatialmath.OrientationVectorDegrees{OZ: 1, Theta: -10}) test.That(t, spatialmath.PoseAlmostEqual(pose, goalPose), test.ShouldBeTrue) @@ -46,14 +46,14 @@ func TestPtgTransform(t *testing.T) { test.That(t, err, test.ShouldBeNil) p, ok := pFrame.(*ptgGroupFrame) test.That(t, ok, test.ShouldBeTrue) - pose, err := p.Transform([]referenceframe.Input{{0}, {math.Pi / 2}, {0}, {200}}) + pose, err := p.Transform([]referenceframe.Input{0, math.Pi / 2, 0, 200}) test.That(t, err, test.ShouldBeNil) traj, err := p.PTGSolvers()[0].Trajectory(math.Pi/2, 0, 200, defaultResolution) test.That(t, err, test.ShouldBeNil) test.That(t, spatialmath.PoseAlmostEqual(pose, traj[len(traj)-1].Pose), test.ShouldBeTrue) test.That(t, spatialmath.PoseAlmostEqual(spatialmath.NewZeroPose(), traj[0].Pose), test.ShouldBeTrue) - poseInv, err := p.Transform([]referenceframe.Input{{0}, {math.Pi / 2}, {200}, {0}}) + poseInv, err := p.Transform([]referenceframe.Input{0, math.Pi / 2, 200, 0}) test.That(t, err, test.ShouldBeNil) trajInv, err := p.PTGSolvers()[0].Trajectory(math.Pi/2, 200, 0, defaultResolution) test.That(t, err, test.ShouldBeNil) diff --git a/referenceframe/dynamic_frame_system_test.go b/referenceframe/dynamic_frame_system_test.go index 262068aa07b..685b8bb4bbd 100644 --- a/referenceframe/dynamic_frame_system_test.go +++ b/referenceframe/dynamic_frame_system_test.go @@ -26,9 +26,9 @@ func TestSimpleRotationalFrame(t *testing.T) { positions := NewZeroInputs(fs) // zero position testTransformPoint(t, fs, positions, pose, expected1) - positions["joint"] = []Input{{math.Pi / 2}} // Rotate 90 degrees one way + positions["joint"] = []Input{math.Pi / 2} // Rotate 90 degrees one way testTransformPoint(t, fs, positions, pose, expected2) - positions["joint"] = []Input{{-math.Pi / 2}} // Rotate 90 degrees the other way + positions["joint"] = []Input{-math.Pi / 2} // Rotate 90 degrees the other way testTransformPoint(t, fs, positions, pose, expected3) } @@ -48,6 +48,6 @@ func TestSimpleTranslationalFrame(t *testing.T) { // test transformations positions := NewZeroInputs(fs) testTransformPoint(t, fs, positions, poseStart, poseEnd1) - positions["gantry"] = []Input{{45.}} + positions["gantry"] = []Input{45.} testTransformPoint(t, fs, positions, poseStart, poseEnd2) } diff --git a/referenceframe/frame.go b/referenceframe/frame.go index 3c5012010f4..c539a74cc95 100644 --- a/referenceframe/frame.go +++ b/referenceframe/frame.go @@ -87,10 +87,10 @@ func RestrictedRandomFrameInputs(m Frame, rSeed *rand.Rand, restrictionPercent f } frameSpan := u - l - minVal := math.Max(l, reference[i].Value-restrictionPercent*frameSpan/2) - maxVal := math.Min(u, reference[i].Value+restrictionPercent*frameSpan/2) + minVal := math.Max(l, reference[i]-restrictionPercent*frameSpan/2) + maxVal := math.Min(u, reference[i]+restrictionPercent*frameSpan/2) samplingSpan := maxVal - minVal - pos = append(pos, Input{samplingSpan*rSeed.Float64() + minVal}) + pos = append(pos, samplingSpan*rSeed.Float64()+minVal) } return pos, nil } @@ -113,7 +113,7 @@ func RandomFrameInputs(m Frame, rSeed *rand.Rand) []Input { if u == math.Inf(1) { u = 999 } - pos = append(pos, Input{rSeed.Float64()*(u-l) + l}) + pos = append(pos, rSeed.Float64()*(u-l)+l) } return pos } @@ -188,10 +188,10 @@ func (bf *baseFrame) validInputs(inputs []Input) error { return NewIncorrectDoFError(len(inputs), len(bf.limits)) } for i := 0; i < len(bf.limits); i++ { - if inputs[i].Value < bf.limits[i].Min || inputs[i].Value > bf.limits[i].Max { + if inputs[i] < bf.limits[i].Min || inputs[i] > bf.limits[i].Max { lim := []float64{bf.limits[i].Max, bf.limits[i].Min} multierr.AppendInto(&errAll, fmt.Errorf("%s %s %s, %s %.5f %s %.5f", "joint", fmt.Sprint(i), - OOBErrString, "input", inputs[i].Value, "needs to be within range", lim)) + OOBErrString, "input", inputs[i], "needs to be within range", lim)) } } return errAll @@ -400,25 +400,17 @@ func (pf *translationalFrame) Transform(input []Input) (spatial.Pose, error) { if err != nil && !strings.Contains(err.Error(), OOBErrString) { return nil, err } - return spatial.NewPoseFromPoint(pf.transAxis.Mul(input[0].Value)), err + return spatial.NewPoseFromPoint(pf.transAxis.Mul(input[0])), err } // InputFromProtobuf converts pb.JointPosition to inputs. func (pf *translationalFrame) InputFromProtobuf(jp *pb.JointPositions) []Input { - n := make([]Input, len(jp.Values)) - for idx, d := range jp.Values { - n[idx] = Input{d} - } - return n + return jp.Values } // ProtobufFromInput converts inputs to pb.JointPosition. func (pf *translationalFrame) ProtobufFromInput(input []Input) *pb.JointPositions { - n := make([]float64, len(input)) - for idx, a := range input { - n[idx] = a.Value - } - return &pb.JointPositions{Values: n} + return &pb.JointPositions{Values: input} } // Geometries returns an object representing the 3D space associeted with the translationalFrame. @@ -497,14 +489,14 @@ func (rf *rotationalFrame) Transform(input []Input) (spatial.Pose, error) { return nil, err } // Create a copy of the r4aa for thread safety - return spatial.NewPoseFromOrientation(&spatial.R4AA{input[0].Value, rf.rotAxis.X, rf.rotAxis.Y, rf.rotAxis.Z}), err + return spatial.NewPoseFromOrientation(&spatial.R4AA{input[0], rf.rotAxis.X, rf.rotAxis.Y, rf.rotAxis.Z}), err } // InputFromProtobuf converts pb.JointPosition to inputs. func (rf *rotationalFrame) InputFromProtobuf(jp *pb.JointPositions) []Input { n := make([]Input, len(jp.Values)) for idx, d := range jp.Values { - n[idx] = Input{utils.DegToRad(d)} + n[idx] = utils.DegToRad(d) } return n } @@ -513,7 +505,7 @@ func (rf *rotationalFrame) InputFromProtobuf(jp *pb.JointPositions) []Input { func (rf *rotationalFrame) ProtobufFromInput(input []Input) *pb.JointPositions { n := make([]float64, len(input)) for idx, a := range input { - n[idx] = utils.RadToDeg(a.Value) + n[idx] = utils.RadToDeg(a) } return &pb.JointPositions{Values: n} } @@ -581,12 +573,12 @@ func (pf *poseFrame) Transform(inputs []Input) (spatial.Pose, error) { return nil, err } return spatial.NewPose( - r3.Vector{X: inputs[0].Value, Y: inputs[1].Value, Z: inputs[2].Value}, + r3.Vector{X: inputs[0], Y: inputs[1], Z: inputs[2]}, &spatial.OrientationVector{ - OX: inputs[3].Value, - OY: inputs[4].Value, - OZ: inputs[5].Value, - Theta: inputs[6].Value, + OX: inputs[3], + OY: inputs[4], + OZ: inputs[5], + Theta: inputs[6], }, ), nil } @@ -646,9 +638,9 @@ func (pf *poseFrame) UnmarshalJSON(data []byte) error { func (pf *poseFrame) InputFromProtobuf(jp *pb.JointPositions) []Input { n := make([]Input, len(jp.Values)) for idx, d := range jp.Values[:len(jp.Values)-1] { - n[idx] = Input{d} + n[idx] = d } - n[len(jp.Values)-1] = Input{utils.DegToRad(jp.Values[len(jp.Values)-1])} + n[len(jp.Values)-1] = utils.DegToRad(jp.Values[len(jp.Values)-1]) return n } @@ -656,9 +648,9 @@ func (pf *poseFrame) InputFromProtobuf(jp *pb.JointPositions) []Input { func (pf *poseFrame) ProtobufFromInput(input []Input) *pb.JointPositions { n := make([]float64, len(input)) for idx, a := range input[:len(input)-1] { - n[idx] = a.Value + n[idx] = a } - n[len(input)-1] = utils.RadToDeg(input[len(input)-1].Value) + n[len(input)-1] = utils.RadToDeg(input[len(input)-1]) return &pb.JointPositions{Values: n} } @@ -666,13 +658,13 @@ func (pf *poseFrame) ProtobufFromInput(input []Input) *pb.JointPositions { // in the form [X, Y, Z, OX, OY, OZ, Theta (in radians)] // This is the format that is expected by the poseFrame type and should not be used with other frames. func PoseToInputs(p spatial.Pose) []Input { - return FloatsToInputs([]float64{ + return []Input{ p.Point().X, p.Point().Y, p.Point().Z, p.Orientation().OrientationVectorRadians().OX, p.Orientation().OrientationVectorRadians().OY, p.Orientation().OrientationVectorRadians().OZ, p.Orientation().OrientationVectorRadians().Theta, - }) + } } // framesAlmostEqual is a helper used in testing that determines whether two Frame instances are (nearly) identical. diff --git a/referenceframe/frame_test.go b/referenceframe/frame_test.go index c084dd0f5b0..84ea5ed5c49 100644 --- a/referenceframe/frame_test.go +++ b/referenceframe/frame_test.go @@ -26,12 +26,12 @@ func TestStaticFrame(t *testing.T) { frame, err := NewStaticFrame("test", expPose) test.That(t, err, test.ShouldBeNil) // get expected transform back - emptyInput := FloatsToInputs([]float64{}) + emptyInput := []Input{} pose, err := frame.Transform(emptyInput) test.That(t, err, test.ShouldBeNil) test.That(t, pose, test.ShouldResemble, expPose) // if you feed in non-empty input, should get err back - nonEmptyInput := FloatsToInputs([]float64{0, 0, 0}) + nonEmptyInput := []Input{0, 0, 0} _, err = frame.Transform(nonEmptyInput) test.That(t, err, test.ShouldNotBeNil) // check that there are no limits on the static frame @@ -52,24 +52,24 @@ func TestPrismaticFrame(t *testing.T) { // get expected transform back expPose := spatial.NewPoseFromPoint(r3.Vector{3, 4, 0}) - input := FloatsToInputs([]float64{5}) + input := []Input{5} pose, err := frame.Transform(input) test.That(t, err, test.ShouldBeNil) test.That(t, spatial.PoseAlmostEqual(pose, expPose), test.ShouldBeTrue) // if you feed in too many inputs, should get an error back - input = FloatsToInputs([]float64{0, 20, 0}) + input = []Input{0, 20, 0} _, err = frame.Transform(input) test.That(t, err, test.ShouldNotBeNil) // if you feed in empty input, should get an error - input = FloatsToInputs([]float64{}) + input = []Input{} _, err = frame.Transform(input) test.That(t, err, test.ShouldNotBeNil) // if you try to move beyond set limits, should get an error overLimit := 50.0 - input = FloatsToInputs([]float64{overLimit}) + input = []Input{overLimit} _, err = frame.Transform(input) s := "joint 0 input out of bounds, input 50.00000 needs to be within range [30.00000 -30.00000]" test.That(t, err.Error(), test.ShouldEqual, s) @@ -82,11 +82,11 @@ func TestPrismaticFrame(t *testing.T) { test.That(t, len(randomInputs), test.ShouldEqual, len(frame.DoF())) for i := 0; i < 10; i++ { - restrictRandomInputs, err := RestrictedRandomFrameInputs(frame, nil, 0.001, FloatsToInputs([]float64{-10})) + restrictRandomInputs, err := RestrictedRandomFrameInputs(frame, nil, 0.001, []Input{-10}) test.That(t, err, test.ShouldBeNil) test.That(t, len(restrictRandomInputs), test.ShouldEqual, len(frame.DoF())) - test.That(t, restrictRandomInputs[0].Value, test.ShouldBeLessThan, -9.07) - test.That(t, restrictRandomInputs[0].Value, test.ShouldBeGreaterThan, -10.03) + test.That(t, restrictRandomInputs[0], test.ShouldBeLessThan, -9.07) + test.That(t, restrictRandomInputs[0], test.ShouldBeGreaterThan, -10.03) } } @@ -130,7 +130,7 @@ func TestGeometries(t *testing.T) { // test creating a new translational frame with a geometry tf, err := NewTranslationalFrameWithGeometry("", r3.Vector{0, 1, 0}, Limit{Min: -30, Max: 30}, bc) test.That(t, err, test.ShouldBeNil) - geometries, err := tf.Geometries(FloatsToInputs([]float64{10})) + geometries, err := tf.Geometries([]Input{10}) test.That(t, err, test.ShouldBeNil) test.That(t, spatial.GeometriesAlmostEqual(expectedBox, geometries.Geometries()[0]), test.ShouldBeTrue) @@ -219,7 +219,7 @@ func TestRandomFrameInputs(t *testing.T) { limitedFrame, _ := NewTranslationalFrame("", r3.Vector{X: 1}, Limit{-2, 2}) for i := 0; i < 100; i++ { - r, err := RestrictedRandomFrameInputs(frame, seed, .2, FloatsToInputs([]float64{0})) + r, err := RestrictedRandomFrameInputs(frame, seed, .2, []Input{0}) test.That(t, err, test.ShouldBeNil) _, err = limitedFrame.Transform(r) test.That(t, err, test.ShouldBeNil) diff --git a/referenceframe/input.go b/referenceframe/input.go index 93e4c27f28b..f7f86347b7d 100644 --- a/referenceframe/input.go +++ b/referenceframe/input.go @@ -11,19 +11,17 @@ import ( "go.viam.com/rdk/utils" ) -// Input wraps the input to a mutable frame, e.g. a joint angle or a gantry position. +// Input represents the input to a mutable frame, e.g. a joint angle or a gantry position. // - revolute inputs should be in radians. // - prismatic inputs should be in mm. -type Input struct { - Value float64 -} +type Input = float64 // JointPositionsFromInputs converts the given slice of Input to a JointPositions struct, // using the ProtobufFromInput function provided by the given Frame. func JointPositionsFromInputs(f Frame, inputs []Input) (*pb.JointPositions, error) { if f == nil { // if a frame is not provided, we will assume all inputs are specified in degrees and need to be converted to radians - return JointPositionsFromRadians(InputsToFloats(inputs)), nil + return JointPositionsFromRadians(inputs), nil } if len(f.DoF()) != len(inputs) { return nil, NewIncorrectDoFError(len(inputs), len(f.DoF())) @@ -36,7 +34,7 @@ func JointPositionsFromInputs(f Frame, inputs []Input) (*pb.JointPositions, erro func InputsFromJointPositions(f Frame, jp *pb.JointPositions) ([]Input, error) { if f == nil { // if a frame is not provided, we will assume all inputs are specified in degrees and need to be converted to radians - return FloatsToInputs(JointPositionsToRadians(jp)), nil + return JointPositionsToRadians(jp), nil } if jp == nil { return nil, errors.New("jointPositions cannot be nil") @@ -47,24 +45,6 @@ func InputsFromJointPositions(f Frame, jp *pb.JointPositions) ([]Input, error) { return f.InputFromProtobuf(jp), nil } -// FloatsToInputs wraps a slice of floats in Inputs. -func FloatsToInputs(floats []float64) []Input { - inputs := make([]Input, len(floats)) - for i, f := range floats { - inputs[i] = Input{f} - } - return inputs -} - -// InputsToFloats unwraps Inputs to raw floats. -func InputsToFloats(inputs []Input) []float64 { - floats := make([]float64, len(inputs)) - for i, f := range inputs { - floats[i] = f.Value - } - return floats -} - // JointPositionsToRadians converts the given positions into a slice // of radians. func JointPositionsToRadians(jp *pb.JointPositions) []float64 { @@ -91,7 +71,7 @@ func JointPositionsFromRadians(radians []float64) *pb.JointPositions { func interpolateInputs(from, to []Input, by float64) []Input { var newVals []Input for i, j1 := range from { - newVals = append(newVals, Input{j1.Value + ((to[i].Value - j1.Value) * by)}) + newVals = append(newVals, j1+((to[i]-j1)*by)) } return newVals } @@ -133,7 +113,7 @@ func InputsL2Distance(from, to []Input) float64 { } diff := make([]float64, 0, len(from)) for i, f := range from { - diff = append(diff, f.Value-to[i].Value) + diff = append(diff, f-to[i]) } // 2 is the L value returning a standard L2 Normalization return floats.Norm(diff, 2) @@ -146,7 +126,7 @@ func InputsLinfDistance(from, to []Input) float64 { } max := 0. for index := range from { - norm := math.Abs(from[index].Value - to[index].Value) + norm := math.Abs(from[index] - to[index]) if norm > max { max = norm } diff --git a/referenceframe/input_test.go b/referenceframe/input_test.go index 0d9e55ba2e4..4c9856ddfec 100644 --- a/referenceframe/input_test.go +++ b/referenceframe/input_test.go @@ -4,7 +4,6 @@ import ( "math" "testing" - pb "go.viam.com/api/component/arm/v1" "go.viam.com/test" ) @@ -16,21 +15,11 @@ func TestJointPositions(t *testing.T) { test.That(t, JointPositionsToRadians(j), test.ShouldResemble, in) } -func TestBasicConversions(t *testing.T) { - jp := &pb.JointPositions{Values: []float64{45, 55}} - radians := JointPositionsToRadians(jp) - test.That(t, jp, test.ShouldResemble, JointPositionsFromRadians(radians)) - - floats := []float64{45, 55, 27} - inputs := FloatsToInputs(floats) - test.That(t, floats, test.ShouldResemble, InputsToFloats(inputs)) -} - func TestInterpolateValues(t *testing.T) { - jp1 := FloatsToInputs([]float64{0, 4}) - jp2 := FloatsToInputs([]float64{8, -8}) - jpHalf := FloatsToInputs([]float64{4, -2}) - jpQuarter := FloatsToInputs([]float64{2, 1}) + jp1 := []Input{0, 4} + jp2 := []Input{8, -8} + jpHalf := []Input{4, -2} + jpQuarter := []Input{2, 1} interp1 := interpolateInputs(jp1, jp2, 0.5) interp2 := interpolateInputs(jp1, jp2, 0.25) diff --git a/referenceframe/model.go b/referenceframe/model.go index 09016861eb8..1c49743dd4a 100644 --- a/referenceframe/model.go +++ b/referenceframe/model.go @@ -360,7 +360,7 @@ func (m *SimpleModel) inputsToFrames(inputs []Input, collectAll bool) ([]*static func floatsToString(inputs []Input) string { b := make([]byte, len(inputs)*8) for i, input := range inputs { - binary.BigEndian.PutUint64(b[8*i:8*i+8], math.Float64bits(input.Value)) + binary.BigEndian.PutUint64(b[8*i:8*i+8], math.Float64bits(input)) } return string(b) } diff --git a/referenceframe/model_test.go b/referenceframe/model_test.go index 82e4632a3e8..acd9d2b53da 100644 --- a/referenceframe/model_test.go +++ b/referenceframe/model_test.go @@ -21,9 +21,9 @@ func TestModelLoading(t *testing.T) { test.That(t, len(m.DoF()), test.ShouldEqual, 6) - err = simpleM.validInputs(FloatsToInputs([]float64{0.1, 0.1, 0.1, 0.1, 0.1, 0.1})) + err = simpleM.validInputs([]Input{0.1, 0.1, 0.1, 0.1, 0.1, 0.1}) test.That(t, err, test.ShouldBeNil) - err = simpleM.validInputs(FloatsToInputs([]float64{0.1, 0.1, 0.1, 0.1, 0.1, 99.1})) + err = simpleM.validInputs([]Input{0.1, 0.1, 0.1, 0.1, 0.1, 99.1}) test.That(t, err, test.ShouldNotBeNil) orig := []float64{0.1, 0.1, 0.1, 0.1, 0.1, 0.1} @@ -31,7 +31,7 @@ func TestModelLoading(t *testing.T) { orig[4] -= math.Pi * 4 randpos := GenerateRandomConfiguration(m, rand.New(rand.NewSource(1))) - test.That(t, simpleM.validInputs(FloatsToInputs(randpos)), test.ShouldBeNil) + test.That(t, simpleM.validInputs(randpos), test.ShouldBeNil) m, err = ParseModelJSONFile(utils.ResolveFile("components/arm/fake/kinematics/xarm6.json"), "foo") test.That(t, err, test.ShouldBeNil) @@ -78,7 +78,7 @@ func TestModelGeometries(t *testing.T) { test.That(t, spatial.R3VectorAlmostEqual(link2, r3.Vector{0, 0, 20}, defaultFloatPrecision), test.ShouldBeTrue) // transform the model 90 degrees at the joint - inputs[0] = Input{math.Pi / 2} + inputs[0] = math.Pi / 2 geometries, _ = m.Geometries(inputs) test.That(t, geometries, test.ShouldNotBeNil) link1 = geometries.GeometryByName("test:link1").Pose().Point() @@ -96,17 +96,17 @@ func Test2DMobileModelFrame(t *testing.T) { // expected output expPose := spatial.NewPose(r3.Vector{3, 5, 0}, &spatial.OrientationVector{OZ: 1, Theta: math.Pi / 2}) // get expected transform back - pose, err := frame.Transform(FloatsToInputs([]float64{3, 5, math.Pi / 2})) + pose, err := frame.Transform([]Input{3, 5, math.Pi / 2}) test.That(t, err, test.ShouldBeNil) test.That(t, pose, test.ShouldResemble, expPose) // if you feed in too many inputs, should get error back - _, err = frame.Transform(FloatsToInputs([]float64{3, 5, 0, 10})) + _, err = frame.Transform([]Input{3, 5, 0, 10}) test.That(t, err, test.ShouldNotBeNil) // if you feed in too few inputs, should get errr back - _, err = frame.Transform(FloatsToInputs([]float64{3})) + _, err = frame.Transform([]Input{3}) test.That(t, err, test.ShouldNotBeNil) // if you try to move beyond set limits, should get an error - _, err = frame.Transform(FloatsToInputs([]float64{3, 100})) + _, err = frame.Transform([]Input{3, 100}) test.That(t, err, test.ShouldNotBeNil) // gets the correct limits back limit := frame.DoF() diff --git a/robot/client/client_test.go b/robot/client/client_test.go index c98d70788cd..a19f53fb95b 100644 --- a/robot/client/client_test.go +++ b/robot/client/client_test.go @@ -2020,8 +2020,8 @@ func TestCurrentInputs(t *testing.T) { testName2 := resource.NewName(testAPI, "arm2") expectedInputs := referenceframe.FrameSystemInputs{ - testName.ShortName(): []referenceframe.Input{{0}, {math.Pi}, {-math.Pi}, {0}, {math.Pi}, {-math.Pi}}, - testName2.ShortName(): []referenceframe.Input{{math.Pi}, {-math.Pi}, {0}, {math.Pi}, {-math.Pi}, {0}}, + testName.ShortName(): []referenceframe.Input{0, math.Pi, -math.Pi, 0, math.Pi, -math.Pi}, + testName2.ShortName(): []referenceframe.Input{math.Pi, -math.Pi, 0, math.Pi, -math.Pi, 0}, } injectArm := &inject.Arm{ JointPositionsFunc: func(ctx context.Context, extra map[string]any) ([]referenceframe.Input, error) { diff --git a/robot/framesystem/framesystem_test.go b/robot/framesystem/framesystem_test.go index 294c0a91881..3249e7b8f3d 100644 --- a/robot/framesystem/framesystem_test.go +++ b/robot/framesystem/framesystem_test.go @@ -89,7 +89,7 @@ func TestNewFrameSystemFromConfigWithTransforms(t *testing.T) { // use robot/impl/data/fake.json as config input ctx := context.Background() emptyIn := []referenceframe.Input{} - zeroIn := []referenceframe.Input{{Value: 0.0}} + zeroIn := []referenceframe.Input{0.0} blankPos := make(referenceframe.FrameSystemInputs) blankPos["pieceArm"] = zeroIn logger := logging.NewTestLogger(t) diff --git a/robot/impl/local_robot_test.go b/robot/impl/local_robot_test.go index 7c5df7072b9..b45a6ad5a5f 100644 --- a/robot/impl/local_robot_test.go +++ b/robot/impl/local_robot_test.go @@ -999,7 +999,7 @@ func TestGetRemoteResourceAndGrandFather(t *testing.T) { test.That(t, err, test.ShouldBeNil) r0Arm, ok := r0arm1.(arm.Arm) test.That(t, ok, test.ShouldBeTrue) - err = r0Arm.MoveToJointPositions(context.Background(), []referenceframe.Input{{math.Pi}}, nil) + err = r0Arm.MoveToJointPositions(context.Background(), []referenceframe.Input{math.Pi}, nil) test.That(t, err, test.ShouldBeNil) p0Arm1, err := r0Arm.JointPositions(context.Background(), nil) test.That(t, err, test.ShouldBeNil) diff --git a/services/datamanager/builtin/builtin_test.go b/services/datamanager/builtin/builtin_test.go index 0300bf32fa9..28c8d15914f 100644 --- a/services/datamanager/builtin/builtin_test.go +++ b/services/datamanager/builtin/builtin_test.go @@ -303,7 +303,7 @@ func TestFileDeletion(t *testing.T) { ctx context.Context, extra map[string]interface{}, ) ([]referenceframe.Input, error) { - return referenceframe.FloatsToInputs([]float64{1.0, 2.0, 3.0, 4.0}), nil + return []referenceframe.Input{1.0, 2.0, 3.0, 4.0}, nil }, KinematicsFunc: func(ctx context.Context) (referenceframe.Model, error) { return nil, errors.New("KinematicsFunc unimplemented") diff --git a/services/motion/builtin/builtin_test.go b/services/motion/builtin/builtin_test.go index dfc61b27a8a..668eaa5ac08 100644 --- a/services/motion/builtin/builtin_test.go +++ b/services/motion/builtin/builtin_test.go @@ -1037,7 +1037,7 @@ func TestBaseInputs(t *testing.T) { t, ) defer closeFunc(ctx) - err := kb.GoToInputs(ctx, []referenceframe.Input{{0}, {0.001 + math.Pi/2}, {0}, {91}}) + err := kb.GoToInputs(ctx, []referenceframe.Input{0, 0.001 + math.Pi/2, 0, 91}) test.That(t, err, test.ShouldBeNil) } @@ -1080,19 +1080,19 @@ func TestCheckPlan(t *testing.T) { test.That(t, err, test.ShouldBeNil) currentInputs := referenceframe.FrameSystemInputs{ k.Name(): { - {Value: 0}, // ptg index - {Value: 0}, // trajectory alpha within ptg - {Value: 0}, // start distance along trajectory index - {Value: 0}, // end distace along trajectory index + 0, // ptg index + 0, // trajectory alpha within ptg + 0, // start distance along trajectory index + 0, // end distace along trajectory index }, mr.kinematicBase.LocalizationFrame().Name(): { - {Value: 0}, // X - {Value: 0}, // Y - {Value: 0}, // Z - {Value: 0}, // OX - {Value: 0}, // OY - {Value: 1}, // OZ - {Value: 0}, // Theta + 0, // X + 0, // Y + 0, // Z + 0, // OX + 0, // OY + 1, // OZ + 0, // Theta }, } @@ -1148,7 +1148,7 @@ func TestCheckPlan(t *testing.T) { err = mr.localizingFS.AddFrame(cameraFrame, cameraOriginFrame) test.That(t, err, test.ShouldBeNil) inputs := augmentedBaseExecutionState.CurrentInputs() - inputs[cameraFrame.Name()] = referenceframe.FloatsToInputs(make([]float64, len(cameraFrame.DoF()))) + inputs[cameraFrame.Name()] = make([]referenceframe.Input, len(cameraFrame.DoF())) executionStateWithCamera, err := baseplanning.NewExecutionState( augmentedBaseExecutionState.Plan(), augmentedBaseExecutionState.Index(), inputs, augmentedBaseExecutionState.CurrentPoses(), @@ -1190,21 +1190,21 @@ func TestCheckPlan(t *testing.T) { currentInputs = referenceframe.FrameSystemInputs{ k.Name(): { - {Value: 0}, // ptg index - {Value: 0}, // trajectory alpha within ptg - {Value: 0}, // start distance along trajectory index - {Value: 0}, // end distace along trajectory index + 0, // ptg index + 0, // trajectory alpha within ptg + 0, // start distance along trajectory index + 0, // end distace along trajectory index }, mr.kinematicBase.LocalizationFrame().Name(): { - {Value: 2779.937}, // X - {Value: 0}, // Y - {Value: 0}, // Z - {Value: 0}, // OX - {Value: 0}, // OY - {Value: 1}, // OZ - {Value: -math.Pi}, // Theta + 2779.937, // X + 0, // Y + 0, // Z + 0, // OX + 0, // OY + 1, // OZ + -math.Pi, // Theta }, - cameraFrame.Name(): referenceframe.FloatsToInputs(make([]float64, len(cameraFrame.DoF()))), + cameraFrame.Name(): make([]referenceframe.Input, len(cameraFrame.DoF())), } currentPoses := map[string]*referenceframe.PoseInFrame{ mr.kinematicBase.LocalizationFrame().Name(): referenceframe.NewPoseInFrame(referenceframe.World, spatialmath.NewPose( @@ -1427,7 +1427,7 @@ func TestMultiWaypointPlanning(t *testing.T) { // Define specific arm configuration for first waypoint armConfig := []float64{0.2, 0.3, 0.4, 0.5, 0.6, 0.7} wp1State := armplanning.NewPlanState(nil, referenceframe.FrameSystemInputs{ - "pieceArm": referenceframe.FloatsToInputs(armConfig), + "pieceArm": armConfig, }) // Define pose for second waypoint @@ -1458,7 +1458,7 @@ func TestMultiWaypointPlanning(t *testing.T) { // Check if this configuration matches our waypoint within some epsilon matches := true for i, val := range armInputs { - if math.Abs(val.Value-armConfig[i]) > 1e-3 { + if math.Abs(val-armConfig[i]) > 1e-3 { matches = false break } @@ -1487,7 +1487,7 @@ func TestMultiWaypointPlanning(t *testing.T) { t.Run("plan with custom start state", func(t *testing.T) { startConfig := []float64{0.1, 0.2, 0.3, 0.4, 0.5, 0.6} startState := armplanning.NewPlanState(nil, referenceframe.FrameSystemInputs{ - "pieceArm": referenceframe.FloatsToInputs(startConfig), + "pieceArm": startConfig, }) finalPose := referenceframe.NewPoseInFrame("world", spatialmath.NewPoseFromPoint(r3.Vector{X: -800, Y: -180, Z: 34})) @@ -1506,7 +1506,7 @@ func TestMultiWaypointPlanning(t *testing.T) { // Verify start configuration matches specified start state startArmConfig := plan[0]["pieceArm"] - test.That(t, startArmConfig, test.ShouldResemble, referenceframe.FloatsToInputs(startConfig)) + test.That(t, startArmConfig, test.ShouldResemble, startConfig) // Verify final pose frameSys, err := framesystem.NewFromService(ctx, ms.(*builtIn).fsService, nil) @@ -1524,7 +1524,7 @@ func TestMultiWaypointPlanning(t *testing.T) { t.Run("plan with explicit goal state configuration", func(t *testing.T) { goalConfig := []float64{0.7, 0.6, 0.5, 0.4, 0.3, 0.2} - goalState := armplanning.NewPlanState(nil, referenceframe.FrameSystemInputs{"pieceArm": referenceframe.FloatsToInputs(goalConfig)}) + goalState := armplanning.NewPlanState(nil, referenceframe.FrameSystemInputs{"pieceArm": goalConfig}) moveReq := motion.MoveReq{ ComponentName: "pieceGripper", @@ -1539,7 +1539,7 @@ func TestMultiWaypointPlanning(t *testing.T) { // Verify final configuration matches goal state finalArmConfig := plan[len(plan)-1]["pieceArm"] - test.That(t, finalArmConfig, test.ShouldResemble, referenceframe.FloatsToInputs(goalConfig)) + test.That(t, finalArmConfig, test.ShouldResemble, goalConfig) }) } diff --git a/services/motion/builtin/move_on_map_test.go b/services/motion/builtin/move_on_map_test.go index 9c838253536..24fa6d31179 100644 --- a/services/motion/builtin/move_on_map_test.go +++ b/services/motion/builtin/move_on_map_test.go @@ -259,19 +259,19 @@ func TestMoveOnMapStaticObs(t *testing.T) { test.That(t, err, test.ShouldBeNil) currentInputs := referenceframe.FrameSystemInputs{ k.Name(): { - {Value: 0}, // ptg index - {Value: 0}, // trajectory alpha within ptg - {Value: 0}, // start distance along trajectory index - {Value: 0}, // end distace along trajectory index + 0, // ptg index + 0, // trajectory alpha within ptg + 0, // start distance along trajectory index + 0, // end distace along trajectory index }, mr.kinematicBase.LocalizationFrame().Name(): { - {Value: 587}, // X - {Value: -808}, // Y - {Value: 0}, // Z - {Value: 0}, // OX - {Value: 0}, // OY - {Value: 1}, // OZ - {Value: 0}, // Theta + 587, // X + -808, // Y + 0, // Z + 0, // OX + 0, // OY + 1, // OZ + 0, // Theta }, }