Commit Graph

214 Commits

Author SHA1 Message Date
Richard Harrington
85ccf2d04c fixed int/floating point error in robot-test 2013-08-12 09:42:24 -04:00
Richard Harrington
9cf4063603 fixed bug causing robot-step to add old pos and veloc instead of new 2013-08-12 09:42:11 -04:00
Richard Harrington
e1b69e765c wrote positive acceleration test in robot. but kinematics now broken. 2013-08-12 00:14:44 -04:00
Richard Harrington
5a24642f3f removed cut and pasted example text from robot-test 2013-08-12 00:14:08 -04:00
Richard Harrington
a56d210fe4 changed tick-duration so it's a parameter passed into tick-world 2013-08-12 00:13:13 -04:00
Richard Harrington
9fc3a06e7e added 'multiplier' field to all records in register
multiplier is a factor by which to multiply values
being pushed from the robot brain through
a register interface to a robot field, and
likewise by which to divide values being pulled from
a robot field to the robot brain
2013-08-11 23:33:31 -04:00
Richard Harrington
50ddd8d2b7 changed all values & calculations outside the brain to floating point
(also added stuff to the register functions that pull and push
from the brain to the robot fields, casting to integer when
pulling, and float when pushing)
2013-08-11 23:32:58 -04:00
Richard Harrington
32eac97e0c changed TICK_DURATION from a constant to a parameter that we pass into robot 2013-08-11 22:37:20 -04:00
Richard Harrington
af7618c7f9 added support for negative acceleration and fixed bug in robot
bug in robot was that we were doing the kinematic calculations
on the original robot, not the stepped one. It wasn't
causing a problem with any of the tests (even the so far
informal ones) because we weren't checking any changes
except to the kinematic info
2013-08-11 22:35:19 -04:00
Richard Harrington
317cfdc05e added comment to informal robot test file 2013-08-11 12:15:50 -04:00
Richard Harrington
f114dc57ac added repl results for kinematics tests in new robot-test file, will fix later 2013-08-10 17:09:43 -04:00
Richard Harrington
64ac3c743b fixed various bugs in kinematics calculations in robot 2013-08-10 17:04:44 -04:00
Richard Harrington
2846ed4151 added iterate-worlds convenience function to world 2013-08-10 17:03:58 -04:00
Richard Harrington
7e040dfcf5 expanded core.clj inspection functions to cover robot, world and worlds 2013-08-10 15:55:26 -04:00
Richard Harrington
2d7388f00f Merge branch 'assembler' -- this is a bad commit; should have merged this branch years ago 2013-08-10 14:42:34 -04:00
Richard Harrington
cbcf620a00 added read-write test to register-test 2013-08-10 14:41:05 -04:00
Richard Harrington
43125f0e26 added test to read-only test section of register-test
new test checks to make sure the appropriate robot field
got written to.
2013-08-10 14:40:10 -04:00
Richard Harrington
99528fe9ba added read-only-test to register-test 2013-08-10 14:29:52 -04:00
Richard Harrington
d07ab0607c added get-registers helper function to registers-test 2013-08-10 14:29:17 -04:00
Richard Harrington
d0a1933b7d set up midje (mainly for auto-testing, for the time being) 2013-08-10 14:28:17 -04:00
Richard Harrington
0b007c9b53 added random-test to register-test 2013-08-10 13:41:42 -04:00
Richard Harrington
9e61c987c3 added index/data test to register-test 2013-08-10 13:28:28 -04:00
Richard Harrington
2f85cef477 removed random and index/data tests from brain-test 2013-08-10 13:27:48 -04:00
Richard Harrington
1424d47a4c started register-test namespace, with storage-register-test 2013-08-10 13:13:40 -04:00
Richard Harrington
94cf5b3f47 added logic in assembler to distinguish between registers and labels
and thus succeeded in getting rid of the register dependency
in the assembler namespace.
2013-08-10 01:34:03 -04:00
Richard Harrington
528b18a45d fixed bugs in core.clj ppt inspection function, also made it more pretty 2013-08-10 00:55:17 -04:00
Richard Harrington
1cf9f7e42e put test programs into their own file; altered brain-test and core.clj accordingly 2013-08-09 22:01:56 -04:00
Richard Harrington
7618378083 removed unnecessary dependency on register in brain 2013-08-09 16:27:10 -04:00
Richard Harrington
2d7754c7f3 fixed merge conflict 2013-08-09 16:11:16 -04:00
Richard Harrington
c802fc811e fixed desired-v-x and desired-v-y situation
before, pushes to SPEEDX and SPEEDY were overwriting
the actual :v-x and :v-y fields on the robot,
so I made new :desired-v-x and :desired-v-y fields
to hold the aspiration for what we want the speed to be
(which might not be accomplished for several ticks)
2013-08-09 16:07:18 -04:00
Richard Harrington
6e6fd957f9 removed unnecessary assoc path functions in register 2013-08-09 16:02:40 -04:00
Richard Harrington
30a1ed781b switched to system where registers are part of the brain, not the robot 2013-08-09 15:58:14 -04:00
Richard Harrington
171fe5d5b2 fixed RANDOM register, was writing to robot-field still; now writes to register itself 2013-08-09 15:57:16 -04:00
Richard Harrington
11a96e1c52 minor whitespace issue 2013-08-09 15:27:05 -04:00
Richard Harrington
167c8e73ee changed name of 'reg-names-by-idx' back to 'reg-names' 2013-08-09 15:26:02 -04:00
Richard Harrington
ac2c87325a changed name of reg-names to reg-names-by-index
to reflect its sole role: to be a lookup for the
DATA/INDEX pair system
2013-08-09 14:58:24 -04:00
Richard Harrington
98f7958e6a minor whitespace change 2013-08-09 14:55:47 -04:00
Richard Harrington
ea5ca28e45 put storage-reg-names inline in init-register, instead of at beginning of file 2013-08-09 14:55:30 -04:00
Richard Harrington
135aeb54a4 fixed bugs causing test of RANDOM register to fail 2013-08-09 14:43:33 -04:00
Richard Harrington
ccf23449fe restored loading of register namespace into brain 2013-08-09 14:35:53 -04:00
Richard Harrington
b9bfca221d started reworking brain 2013-08-09 14:34:00 -04:00
Richard Harrington
e6f1205164 finished reworking the RANDOM register to store max-value in the
register, not the robot
2013-08-09 14:32:17 -04:00
Richard Harrington
8620ea8bac renamed records in register namespace, to reflect where data is being
stored
2013-08-09 14:30:14 -04:00
Richard Harrington
d3ead6f74c cleaned up namespace declarations in assembler and brain 2013-08-09 13:58:56 -04:00
Richard Harrington
3fe4444f7a ATTN: commits now contain internal info. Changed register system to
mostly an interface.

Removed :val field from all registers except storage registers & INDEX.

Some of the other registers were already quite specialized, but
the ones that weren't -- the ones that relied on :val fields in the
register -- are now just interfaces to attributes stored on the top
level of the robot.
2013-08-09 00:51:42 -04:00
Richard Harrington
db63955567 removed passing of attributes from robot to init-register function. don't need them now. 2013-08-09 00:38:21 -04:00
Richard Harrington
cd2fc415ea fixed slight bug in robot-field-read-register, in register namespace 2013-08-08 23:53:07 -04:00
Richard Harrington
8e2b0bcb78 fixed merge conflict 2013-08-08 23:40:03 -04:00
Richard Harrington
abbc60d81c added 'random' record to register, switched to mixin system for most records, got all existing tests working 2013-08-08 23:38:05 -04:00
Richard Harrington
77f52915d2 added 'random' record to register, switched to mixin system for most records, got all existing tests working 2013-08-08 23:24:59 -04:00