72 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
from gtsam import *
 | 
						|
import numpy as np
 | 
						|
 | 
						|
r = Rot3()
 | 
						|
print(r)
 | 
						|
print(r.pitch())
 | 
						|
r2 = Rot3()
 | 
						|
r3 = r.compose(r2)
 | 
						|
print("r3 pitch:", r3.pitch())
 | 
						|
 | 
						|
v = np.array([.1, .1, .1])
 | 
						|
print("v = ", v)
 | 
						|
r4 = r3.retract(v)
 | 
						|
print("r4 pitch:", r4.pitch())
 | 
						|
r4.print_(b'r4: ')
 | 
						|
r3.print_(b"r3: ")
 | 
						|
 | 
						|
v = r3.localCoordinates(r4)
 | 
						|
print("localCoordinates:", v)
 | 
						|
 | 
						|
Rmat = np.array([
 | 
						|
    [0.990074, -0.0942928, 0.104218], 
 | 
						|
    [0.104218,  0.990074, -0.0942928], 
 | 
						|
    [-0.0942928, 0.104218, 0.990074]
 | 
						|
    ])
 | 
						|
r5 = Rot3(R=Rmat)
 | 
						|
r5.print_(b"r5: ")
 | 
						|
 | 
						|
l = Rot3.Logmap(r5)
 | 
						|
print("l = ", l)
 | 
						|
 | 
						|
 | 
						|
noise = noiseModel_Gaussian.Covariance(Rmat)
 | 
						|
noise.print_(b"noise:")
 | 
						|
 | 
						|
D = np.array([1.,2.,3.])
 | 
						|
diag = noiseModel_Diagonal.Variances(D)
 | 
						|
print("diag:", diag)
 | 
						|
diag.print_(b"diag:")
 | 
						|
print("diag R:", diag.R())
 | 
						|
 | 
						|
p = Point3()
 | 
						|
p.print_("p:")
 | 
						|
factor = BetweenFactorPoint3(1,2,p, noise)
 | 
						|
factor.print_(b"factor:")
 | 
						|
 | 
						|
vv = VectorValues()
 | 
						|
vv.print_(b"vv:")
 | 
						|
vv.insert(1, np.array([1.,2.,3.]))
 | 
						|
vv.insert(2, np.array([3.,4.]))
 | 
						|
vv.insert(3, np.array([5.,6.,7.,8.]))
 | 
						|
vv.print_(b"vv:")
 | 
						|
 | 
						|
vv2 = VectorValues(vv)
 | 
						|
vv2.insert(4, np.array([4.,2.,1]))
 | 
						|
vv2.print_(b"vv2:")
 | 
						|
vv.print_(b"vv:")
 | 
						|
 | 
						|
vv.insert(4, np.array([1.,2.,4.]))
 | 
						|
vv.print_(b"vv:")
 | 
						|
vv3 = vv.add(vv2)
 | 
						|
 | 
						|
vv3.print_(b"vv3:")
 | 
						|
 | 
						|
values = Values()
 | 
						|
values.insertPoint3(1, Point3())
 | 
						|
values.insertRot3(2, Rot3())
 | 
						|
values.print_(b"values:")
 | 
						|
 | 
						|
factor = PriorFactorVector(1, np.array([1.,2.,3.]), diag)
 | 
						|
print "Prior factor vector: ", factor
 |