BicycleParameters
BicycleParameters copied to clipboard
Error in add_rider()
In [15]: b.add_rider('Jason')
There is no rider on the bicycle, now adding Jason.
No parameter files found, calculating the human configuration.
Calculations in yeadon failed. No rider added.
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
~/miniconda3/lib/python3.6/site-packages/bicycleparameters/main.py in add_rider(self, riderName, reCalc, draw)
452 # load the parameter file
--> 453 riderPar = io.load_parameter_text_file(pathToParFile)
454 except IOError:
~/miniconda3/lib/python3.6/site-packages/bicycleparameters/io.py in load_parameter_text_file(pathToFile)
54 # parse the text file
---> 55 with open(pathToFile, 'r') as f:
56 for line in f:
FileNotFoundError: [Errno 2] No such file or directory: './riders/Jason/Parameters/JasonPistaBenchmark.txt'
During handling of the above exception, another exception occurred:
ParserError Traceback (most recent call last)
<ipython-input-15-a6a6f147a0f9> in <module>
----> 1 b.add_rider('Jason')
~/miniconda3/lib/python3.6/site-packages/bicycleparameters/main.py in add_rider(self, riderName, reCalc, draw)
465 riderPar, human, bicycleRiderPar =\
466 rider.configure_rider(pathToRider, bicycleName,
--> 467 bicyclePar, measuredPar, draw)
468 else:
469 print("Loaded the precalculated parameters from " +
~/miniconda3/lib/python3.6/site-packages/bicycleparameters/rider.py in configure_rider(pathToRider, bicycle, bicyclePar, measuredPar, draw)
110 # reference frame about the Yeadon origin.
111 human = rider_on_bike(bicyclePar, measuredPar,
--> 112 pathToYeadon, pathToCFG, draw)
113
114 # This is the rotation matrix that relates Yeadon's reference frame
~/miniconda3/lib/python3.6/site-packages/bicycleparameters/rider.py in rider_on_bike(benchmarkPar, measuredPar, yeadonMeas, yeadonCFG, drawrider)
203
204 # create human using input measurements and configuration files
--> 205 human = yeadon.Human(yeadonMeas, yeadonCFG)
206
207 # The relevant human measurments:
~/miniconda3/lib/python3.6/site-packages/yeadon/human.py in __init__(self, meas_in, CFG, symmetric, density_set)
195 self.meas = meas_in
196 elif type(meas_in) == str:
--> 197 self._read_measurements(meas_in)
198 # average left and right limbs for symmetry (maybe)
199 if self.is_symmetric == True:
~/miniconda3/lib/python3.6/site-packages/yeadon/human.py in _read_measurements(self, fname)
1384 # open measurement file
1385 fid = open(fname, 'r')
-> 1386 mydict = yaml.load(fid.read())
1387 fid.close()
1388 # loop until all 95 parameters are read in
~/miniconda3/lib/python3.6/site-packages/yaml/__init__.py in load(stream, Loader)
70 loader = Loader(stream)
71 try:
---> 72 return loader.get_single_data()
73 finally:
74 loader.dispose()
~/miniconda3/lib/python3.6/site-packages/yaml/constructor.py in get_single_data(self)
33 def get_single_data(self):
34 # Ensure that the stream contains a single document and construct it.
---> 35 node = self.get_single_node()
36 if node is not None:
37 return self.construct_document(node)
~/miniconda3/lib/python3.6/site-packages/yaml/composer.py in get_single_node(self)
37
38 # Ensure that the stream contains no more documents.
---> 39 if not self.check_event(StreamEndEvent):
40 event = self.get_event()
41 raise ComposerError("expected a single document in the stream",
~/miniconda3/lib/python3.6/site-packages/yaml/parser.py in check_event(self, *choices)
96 if self.current_event is None:
97 if self.state:
---> 98 self.current_event = self.state()
99 if self.current_event is not None:
100 if not choices:
~/miniconda3/lib/python3.6/site-packages/yaml/parser.py in parse_document_start(self)
172 "expected '<document start>', but found %r"
173 % self.peek_token().id,
--> 174 self.peek_token().start_mark)
175 token = self.get_token()
176 end_mark = token.end_mark
ParserError: expected '<document start>', but found '<scalar>'
in "<unicode string>", line 15, column 1:
totalmass=83.5 # This Jason's to ...
^