FAQ
for
Project 0 -- Sensing and Movement
Q. I have a question about unspoken project constraints. If you don't
tell us explicitly that we can't do something, does that mean it's fair
game? Technically, stringing the legos together to form a 10 foot chain
satisfies the project specifications, and saves money on handyboards
too!
A. As long as the project meets the criteria given, you'll get credit
for it. In fact, I really like creative solutions to problems, so you may
want to consider if there are ways of approaching the problem that may not
be "standard" but get the job done. However, there are two points I should
make:
- While creative solutions to the projects are great, you need to be very
careful about misreading the criteria. Note, for example, that both the
description of the project given in class and the one on the web pages make
it clear that the robot is to MOVE between the two objects. So, a 10 foot
Lego construction that did not move relative to the objects would not meet
the criteria (and you would lose points). On the other hand, you could
construct a 9 foot, 10 inch robot, start it half an inch from one object,
and have it move forward one inch, back one inch, etc., ten times. If you
are unsure about how to interpret the criteria, you are better off asking,
rather than hoping your creative interpretation is acceptable.
- Creating a robot that accomplishes the task is only a part of the
assignment. In project 0, this will be a relatively small part; much more
of your grade on this assignment will be on working out how your team will
function. This project is also intended to help you learn about the
hardware and software environment that you have available to you. Rather
than trying to construct a robot that simply accomplishes the task but
teaches you very little about how to work as a team and how to make use of
the hardware and software environment, you might want to consider going the
other way -- trying to learn about working as a group to create robots from
Lego and programming them in IC on a HandyBoard while constructing a robot
that, by the way, accomplishes this task.
Q. Can we use POSIX system calls like fork()
and
exec()
?
A. No. However, if you want to have something akin to multiple
processes running on the HandyBoard at once, you can! See the section
entitled "Multi-Tasking" in the Interactive C manual. The hypertext
version is at http://www.newtonlabs.com/ic/ic_11.html#SEC76