Skip to content

Commit 093049d

Browse files
Add example calling the simulator
1 parent b8667f9 commit 093049d

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

python/examples/simulator.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import g2opy as g2o
2+
3+
simulator = g2o.Simulator2D()
4+
simulator.config.has_odom = True
5+
simulator.config.has_pose_sensor = True
6+
simulator.config.world_size = 50.0
7+
simulator.config.sim_steps = 500
8+
9+
simulator.setup()
10+
simulator.simulate()
11+
12+
print("Simulation result")
13+
print(f"Number of vertices: {len(simulator.graph().vertices())}")
14+
print(f"Number of edges {len(simulator.graph().edges())}")
15+
16+
17+
def create_optimizer():
18+
optimizer = g2o.SparseOptimizer()
19+
solver = g2o.BlockSolverX(g2o.LinearSolverEigenX())
20+
solver = g2o.OptimizationAlgorithmLevenberg(solver)
21+
optimizer.set_algorithm(solver)
22+
return optimizer
23+
24+
25+
optimizer = create_optimizer()
26+
optimizer.add_graph(simulator.graph())
27+
print("Optimizer")
28+
print(f"Number of vertices: {len(optimizer.vertices())}")
29+
print(f"Number of edges {len(optimizer.edges())}")
30+
31+
optimizer.vertices()[0].set_fixed(True)
32+
optimizer.initialize_optimization()
33+
optimizer.set_verbose(True)
34+
optimizer.optimize(20)

0 commit comments

Comments
 (0)