fix bugs
parent
9efd9fc7b1
commit
425a5c692e
|
@ -25,7 +25,7 @@ from gtsam import (BetweenFactorPose2, HybridNonlinearFactor,
|
|||
def parse_arguments():
|
||||
"""Parse command line arguments"""
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("data_file",
|
||||
parser.add_argument("--data_file",
|
||||
help="The path to the City10000 data file",
|
||||
default="T1_city10000_04.txt")
|
||||
return parser.parse_args()
|
||||
|
@ -49,11 +49,13 @@ class City10000Dataset:
|
|||
def __init__(self, filename):
|
||||
self.filename_ = filename
|
||||
try:
|
||||
f = open(self.filename_, 'r')
|
||||
f.close()
|
||||
self.f_ = open(self.filename_, 'r')
|
||||
except OSError:
|
||||
print(f"Failed to open file: {self.filename_}")
|
||||
|
||||
def __del__(self):
|
||||
self.f_.close()
|
||||
|
||||
def read_line(self, line: str, delimiter: str = " "):
|
||||
"""Read a `line` from the dataset, separated by the `delimiter`."""
|
||||
return line.split(delimiter)
|
||||
|
@ -78,12 +80,11 @@ class City10000Dataset:
|
|||
|
||||
def next(self):
|
||||
"""Read and parse the next line."""
|
||||
with open(self.filename_, 'w') as f:
|
||||
line = f.readline()
|
||||
line = self.f_.readline()
|
||||
if line:
|
||||
yield self.parse_line(line)
|
||||
return self.parse_line(line)
|
||||
else:
|
||||
yield None, None
|
||||
return None, None
|
||||
|
||||
|
||||
class Experiment:
|
||||
|
@ -173,7 +174,7 @@ class Experiment:
|
|||
|
||||
# Set up initial prior
|
||||
priorPose = Pose2(0, 0, 0)
|
||||
self.self.initial_.insert(X(0), priorPose)
|
||||
self.initial_.insert(X(0), priorPose)
|
||||
self.new_factors_.push_back(
|
||||
PriorFactorPose2(X(0), priorPose, prior_noise_model))
|
||||
|
||||
|
@ -207,13 +208,13 @@ class Experiment:
|
|||
m = (M(discrete_count), num_measurements)
|
||||
mixture_factor = self.hybrid_odometry_factor(
|
||||
key_s, key_t, m, pose_array)
|
||||
self.new_factors_.append(mixture_factor)
|
||||
self.new_factors_.push_back(mixture_factor)
|
||||
|
||||
discrete_count += 1
|
||||
number_of_hybrid_factors += 1
|
||||
print(f"mixture_factor: {key_s} {key_t}")
|
||||
else:
|
||||
self.new_factors_.add(
|
||||
self.new_factors_.push_back(
|
||||
BetweenFactorPose2(X(key_s), X(key_t), odom_pose,
|
||||
pose_noise_model))
|
||||
|
||||
|
@ -228,7 +229,7 @@ class Experiment:
|
|||
|
||||
# print loop closure event keys:
|
||||
print(f"Loop closure: {key_s} {key_t}")
|
||||
self.new_factors_.add(loop_factor)
|
||||
self.new_factors_.push_back(loop_factor)
|
||||
number_of_hybrid_factors += 1
|
||||
loop_count += 1
|
||||
|
||||
|
|
Loading…
Reference in New Issue