User Tools

Site Tools


projects:project1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:project1 [2015/10/20 11:21]
etimmons
projects:project1 [2016/10/05 09:04] (current)
aytonb [Dependencies (Students not Using VM)]
Line 1: Line 1:
 ====== Project 01: Path and Activity Planning ====== ====== Project 01: Path and Activity Planning ======
  
-  * **Released on:** 10/15 +  * **Released on:** 10/05 
-  * **Due on:** __11/06 (by midnight)__+  * **Due on:** __10/26 (by 11:59 PM)__
  
 There are three objectives for this project: There are three objectives for this project:
Line 19: Line 19:
 sudo git checkout 16.413 sudo git checkout 16.413
 sudo apt-get update sudo apt-get update
 +sudo update_intro_to_autonomy
 +# This update ^ will probably take a much longer time than normal. If it fails, try it one more time before posting a question.
 </​code>​ </​code>​
- 
-After this, run ''​sudo update_intro_to_autonomy''​ as usual. This update will probably take a much longer time than usual. 
  
 This project uses the command line heavily and we need to set up a [[https://​virtualenv.pypa.io/​en/​latest/​|Python virtualenv]] to use for this project. To do so, run the following commands. Note that the first command has two ''>''​s,​ not one! This project uses the command line heavily and we need to set up a [[https://​virtualenv.pypa.io/​en/​latest/​|Python virtualenv]] to use for this project. To do so, run the following commands. Note that the first command has two ''>''​s,​ not one!
Line 39: Line 39:
 <​code>​ <​code>​
 workon proj1 workon proj1
 +</​code>​
 +
 +===== Dependencies (Students not Using VM) =====
 +
 +The project makes use of the following packages:
 +
 +<​code>​
 +openjdk7-jre virtualenvwrapper python-gtk2-dev coinor-libcbc-dev coinor-libclp-dev coinor-libcoinutils-dev coinor-libosi-dev coinor-libcgl-dev bison flex nginx
 </​code>​ </​code>​
  
Line 189: Line 197:
  
 This will take the preprocessed RMPL file and generate a plan for it. The plan is stored as a TPN (Temporal Plan Network) at /​tmp/​plan.tpn. If you are curious and want to see a graphical representation of the plan, you can use the TPN viewer available at ''​http://​localhost/​tpn-viewer''​ in the virtual machine. Note that there is some extra cruft in the plan as a result of the planner adding some things for bookkeeping. This will take the preprocessed RMPL file and generate a plan for it. The plan is stored as a TPN (Temporal Plan Network) at /​tmp/​plan.tpn. If you are curious and want to see a graphical representation of the plan, you can use the TPN viewer available at ''​http://​localhost/​tpn-viewer''​ in the virtual machine. Note that there is some extra cruft in the plan as a result of the planner adding some things for bookkeeping.
 +
 +''​bin/​plan''​ also takes an optional third argument, the amount of time to wait before timing out, in seconds.
  
 ==== Executing the Plan ==== ==== Executing the Plan ====
Line 225: Line 235:
  
 After implementing your path planner, test it on the environments ''​environments/​part1-{simple,​bugtrap,​cluttered}.yaml''​. Save PNGs of the executed plans to ''​submission/​part1-{simple,​bugtrap,​cluttered}.png''​. After implementing your path planner, test it on the environments ''​environments/​part1-{simple,​bugtrap,​cluttered}.yaml''​. Save PNGs of the executed plans to ''​submission/​part1-{simple,​bugtrap,​cluttered}.png''​.
 +
 +Last, describe your path planner implementation in the file ''​submission/​part1.txt''​. Be sure to describe what path planner you chose, which resources you used to understand your path planner, any changes you made beyond the standard algorithm, what values you chose for any tunable parameters (and why you chose them), and any issues you had while implementing or running your path planner.
  
 ==== Part 2 - Intro to RMPL ==== ==== Part 2 - Intro to RMPL ====
Line 269: Line 281:
   - In this project we blended path and activity planning by taking an approach commonly used in the research community: compute a path for every pair of locations, embed that information into the file describing the problem, execute the planner, then use the cached plans at execution time. Discuss some pros and cons of this approach. Is there any other approach you would suggest? What would be its pros and cons?   - In this project we blended path and activity planning by taking an approach commonly used in the research community: compute a path for every pair of locations, embed that information into the file describing the problem, execute the planner, then use the cached plans at execution time. Discuss some pros and cons of this approach. Is there any other approach you would suggest? What would be its pros and cons?
   - We will probably not get to it this semester, but there exist planners that can also reason about time. This would allow you to specify things like "​customer 1 must be served within 5 minutes"​ or "​customer 2 is not available until 2 minutes have passed."​ Re answer the previous question in the context of these planners. Also consider that in the real world, travel times may not be known exactly due to things like weather or equipment degradation.   - We will probably not get to it this semester, but there exist planners that can also reason about time. This would allow you to specify things like "​customer 1 must be served within 5 minutes"​ or "​customer 2 is not available until 2 minutes have passed."​ Re answer the previous question in the context of these planners. Also consider that in the real world, travel times may not be known exactly due to things like weather or equipment degradation.
 +
 +In the file ''​submission/​feedback.txt''​ please put any feedback you have concerning this project. What was good, bad, or ugly? Anything we should change for next year's class? Anything we should definitely keep the same?
  
 ===== Submitting the Project ===== ===== Submitting the Project =====
Line 280: Line 294:
 ===== Questions / doubts / technical problems ===== ===== Questions / doubts / technical problems =====
  
-Remember that you can post questions in our [[http://​piazza.com/​mit/​fall2015/​1641016413/​home|Piazza Forum]]. Please do not post answers to the problems, though.+Remember that you can post questions in our [[http://​piazza.com/​mit/​fall2016/​1641016413/​home|Piazza Forum]]. Please do not post answers to the problems, though.
projects/project1.1445354499.txt.gz · Last modified: 2015/10/20 11:21 by etimmons