Projects

Your project will form a significant portion of your grade for this class. It will likely involve 30 – 40 hours of work. In order to avoid any exam period rush, it is important to follow a timeline that includes steady progress toward project completion in December.

Projects can involve work in any area of computational robotics including those areas that we had time to cover in CPSC 515 as well as those that we did not. Projects can take several different forms. Every project will include a literature review, which requires collecting, reading and analyzing research papers from related areas. Some projects will include theoretical, algorithmic, implementation and/or computational aspects as well. Implementation projects need not be original, but can reproduce results from the literature. Alternatively, your "project" may consist of an expanded literature review and a proposal for original project work which you will not actually perform. Projects may be performed in teams of two, with a corresponding increase in their scope.

Your project may be combined with research in other fields and/or classes; however, if you decide to combine the project with a larger research undertaking (such as your thesis work) it is important to identify at the start what work will be completed by the end of term and will form the CPSC 515 project.

Project Deliverables

    • October 14: A proposal of 2-3 paragraphs describing your project idea. If the project will be shared with another class or ongoing research, the proposal should explicitly identify what subset will be completed for CPSC 515. I will provide individual feedback on your project ideas, but this component is not formally graded.

    • November 2: Choose a paper (typically related to your project topic) and schedule a day during November to lead a class discussion on that paper.

    • December 8 at noon: A prerecorded oral project presentation of 10-12 minutes.

    • Last day of exam period (December 22) at noon: A final written report of 7-10 pages.

Additional details about each deliverable are posted below.

Project Ideas

A good project will involve research into a computational aspect of a robotics algorithm, where "robotics" is given the broad definition from the beginning of class: Any system which collects data from the external environment, processes that data in some way, and then modifies the system or environment based on the results. Note that your project need not investigate all aspects of the robotics system -- it is sufficient to identify such a system and then focus on a single (computational) aspect of that system.

Examples of projects include:

    • Add features to the robotic system you developed through the homework.

    • Perform a comparison between different versions of a robotics algorithm; for example, SLAM or path planning.

    • Find a paper from a recent robotics conference (ICRA, IROS, RSS, HRI, ...) and reimplement some computational aspect of that paper.

    • Explore an application of robotics, such as autonomous cars, drones, space probes, sea vessels, or (my personal favorite) wheelchairs.

    • Explore an aspect of human - robot interaction, such as shared control, non-visual interfaces, turn taking, ...

    • Explore an aspect of formal verification, safety assurance or failure mitigation in robotics, such as freedom from collisions or task completion.

    • Examples of projects from the last time this course was taught:

      • Macro Action Selection for Active Global Localization in ROS (Bikram Adhikari)

      • Visual Eigen-Features SLAM (Glenn Bevilacqua)

      • Characterizing Path Planning Algorithms (Matthew Gingerich)

      • Designing Behavior Engines for Socially Assistive Robots (John Harris)

      • Plane Recognition using Microsoft Kinect (Tina Hung)

      • Control of Quaternion-Based Nonlinear / Non-Gaussian Quadrotor Models Using a Particle Filter (Daniel L. Lu & Jonathan Shen)

      • Path planning using Generalized Voronoi Diagrams (Julieta Martinez)

      • A Preliminary Approach to the Simultaneous Localization and Path Planning Problem (Julie A. Nutini)

      • Topological Mapping using Wi-Fi Signals (Babak Shakibi)

      • Algorithms for the Inverse Kinematics of Humanoid Robotic Arms (Alexander Stewart)

      • Scene Recognition using a Spatial Pyramid of Self-Similarity Textons (Fred Tung)

      • Smooth Real-Time Motion Simulation using a Stewart Platform (Philip Wang)

Talk to me if you would like some more ideas.

Paper Discussion

    • We will have 6 lectures with roughly 4 papers / lecture. For each paper each student will play one of four roles:

      • Proponent: One student will provide a brief, pre-recorded presentation of a paper selected by that student. Each student will be a proponent once.

      • Adversary: One student will read the paper and summaries produced by the readers, and will use those questions to delve deeper into the details of the paper. Each student will be an adversary once, and must select a day different than the day that student is a proponent.

      • Reader: On days when a student is neither a proponent nor an adversary, the student must select and read one of the papers being presented, and submit a brief written summary and at least one related question in advance.

      • Audience: Papers for which the student is not proponent, adversary or reader. Audience members are not required to have read the paper in advance, but are invited to participate in the discussion.

    • All students are expected to watch the summary presentations for all papers in advance of the lecture slot in which they will be discussed.

    • Students will select a proponent slot first.

      • Sign up for a proponent slot through your Canvas calendar. Each day can accommodate 4 proponents. Order of presentation on a given day will be randomly selected.

      • After selecting a proponent slot through Canvas, go to the CPSC 515 2020W1 student paper presentation spreadsheet and fill in a row corresponding to the appropriate day with a paper citation (title, authors, venue and year) and a link (preferably a DOI to the official version, unless the official version is a very poor scanned copy). You may optionally add additional links to the far right of your row.

      • You will prerecord a brief presentation (10-15 minutes) on the paper. You may do this as voice-over-slides or a talking head. Do not spend a lot of time practising or editing your recording; we are only doing the prerecording to avoid potential technical glitches, so we expect the informality and occasional mistakes and pauses of a live presentation.

      • I recommend that you use your personal Zoom room to make the recording, but you can also use a screencast tool of your choice.

      • Upload your presentation as a post to the "Proponent presentation" discussion on Canvas at least 72 hours in advance of your scheduled proponent slot.

    • Once all of the proponent slots are filled, students may select an adversary slot.

      • Adversaries must read and peer evaluate the summaries submitted by readers in advance of the lecture. The adversary will read the summaries on Canvas and then email Ian a list (alphabetical by last name) of the students who served as readers for their paper as well as whether the summary / question(s) were sufficient (yes/no).

      • Adversaries will lead the discussion of the paper during lecture. Adversaries are advised to prepare a discussion plan in advance of the lecture containing a set of questions / issues which will guide the discussion during the lecture. These questions may be based on the questions submitted by readers, the proponent's presentation and/or the paper itself.

    • Students do not need to specify in advance for which papers they will choose to be readers or audience.

      • Readers must submit their summaries to the appropriate Canvas discussion topic at least 24 hours in advance of the lecture.

    • New to reading and presenting research papers?

    • Your discussion should include the following elements (note that summarizing the algorithm is only one component):

      • Paper contributions, including their relevance, any unstated assumptions, author qualifications and potential biases.

      • Algorithmic approach, including technical correctness and methods of assessment.

      • Related work and context of the research.

      • Presentation quality.

Project Presentation

You will be asked to give a presentation describing your progress on your project in a conference style.

  • Your presentation should be prerecorded and submitted through the appropriate Canvas discussion topic along with your slide deck.

  • This component of your project is graded; see the "assessment criteria" section below for the grading criteria.

  • Each student should schedule a 5 minute Q&A slot through Canvas.

    • Feedback on the presentation will be provided during the Q&A and possibly by email after.

  • After posting their own presentation, students may view the presentations of other students.

    • If you would like some bonus participation marks, see the instructions on the Canvas discussion topic.

Information for the Speaker

By the time that you give your presentation, you should have substantially completed your literature review and have gotten at least some preliminary work done on the body of your project; however, it is not expected that you will have completed all of your analysis, coding and/or data collection. Consequently, your talk will describe both what you have done and what you still intend to do. Common elements of a talk of this nature would be:

    • A title slide: Project title, student name, course, date.

    • An outline: What are the elements of your talk?

    • Motivation: Why do you want to solve this problem?

    • A problem description, possibly both informal and formal.

    • Your approach to solving the problem.

    • What you have accomplished so far.

    • What still needs to be done.

    • Analysis: How do or will you judge the outcome of your work?

    • Previous work, and how it relates to what you are doing.

    • A conclusion slide: What did or will you accomplish?

Note that your presentation need not follow this pattern or order; for example, the related work might be presented early, or the informal problem definition and motivation might precede the outline. However, most of these areas should be covered at some point during the talk.

It is important in any oral presentation to meet your time constraints. A good estimate is one minute per slide, so this talk should be around 10 - 15 slides. You should also practice your talk with timing at least once before recording it.

Remember to upload both your recorded presentation and your slide deck (the latter in pdf format).

Information for the Audience

Not applicable this year.

Project Report

The final report for your project is designed to give you practice writing your results in a format suitable for academic publication. Typical academic papers contain the following components:

    • Title, author name, author affiliation, date.

    • Abstract: summarizes your problem and your solution in 100 - 200 words.

    • Introduction: Motivation of your problem, starting from a broad level and narrowing to your particular problem. Brief description of the specific problem you will solve, how you will solve it, and your results (in some sense, this is an outline of the paper).

    • Background and related work: Discusses previous results in this and other fields, and how they relate to the results in this paper.

    • Problem formulation: Describes the problem in detail, generally introducing a mathematical description of the problem. It will also generally give some description of how you will judge the quality of your solution.

    • Solution Methodology: This section (may be more than one) describes how to solve the problem. In theoretical papers, you will prove here that you solved the problem, and (when possible) analyze the quality of the solution.

    • Results: This section typically includes examples of the problem and their solution. In empirical papers (eg: papers that are not theoretical) you will demonstrate here that you solved the problem, and analyze the quality of the solution.

    • Discussion: This section would draw conclusions based on the results, and mention any limitations inherent in the methodology and / or apparent in the results.

    • Conclusions and future work: What did you do, and what still needs to be done?

    • References.

However, these components do not necessarily need to occur in this order, be partitioned in this manner, or use these section titles; for example, sometimes the solution methodology is interspersed with results, or the related work is blended into the introduction or postponed until just before the conclusion. Fred Tung has kindly agreed to allow me to post his excellent CPSC 515 final report from 2012 as an example.

You are not required to produce publishable work as a class project, but this process should give you a good start. Length is not a primary concern, but the final reports should be 7 - 10 pages depending on format, plus an optional 2 additional pages for figures and references (by all means, include figures in your report body as well). Keep in mind that your project report should emphasize the computational robotics aspect of your problem and / or solution. If you find that you have too much material, then cut down on the details about sensors, actuators, hardware, application, etc. to focus on the computational aspects of the problem.

You may use whatever document production system you prefer, but please submit your reports by email to the instructor in PDF format. I personally prefer to use LaTeX for writing technical papers.

Your reports will be graded using the assessment criteria listed below.

Project Assessment Criteria

The same criteria will be used to assess both your presentations and your final written report. Each of the four criteria receive equal weight. Note that implementation and/or analysis may not be complete at the time of the presentation or even the final report, but the plans for them should be complete. In this case the grade for a given criterion would be based upon the quality of those plans.

    • Problem & Context: What problem is being solved? Why is this problem important / interesting (motivation)? How is the problem connected to robotics? What is the related work on this particular problem (not necessarily in robotics)? What has been accomplished so far? What remains to be accomplished?

    • Solution: How are existing solutions (which may or may not involve robotics) appropriate or inappropriate to solve the problem? How is the problem proposed to be solved? How is the proposed solution appropriate or inappropriate in a robotics context? How is the proposed solution related to existing solutions? What are the computational details of the solution?

    • Analysis: How will the quality of the solution be judged? What evidence is provided to demonstrate that the problem is solved?

    • Presentation style:

      • Oral presentation: Was there a title and outline? Was the presentation well organized? Did the speaker talk clearly and at a reasonable pace? Were the explanations clear? Did the discussion stay focused? Were visual aides (blackboard, slides, etc) designed and used well? Was the time limit satisfied without going too slow or too fast?

      • Final report: Is the report well organized and clearly written? Are the necessary components of the report present? Did the title, abstract and introduction give overviews of the paper's content appropriate to their length? Did the text stay focused? Are citations used appropriately? Are figures and tables clearly labeled and effectively used? Was the page limit met?

Each category you receives an integer grade according to the following scale.

    • Fail (0): The criterion is not addressed or is otherwise missing entirely.

    • Poor (2): There are several major flaws in how the criterion is addressed.

    • Fair (4): There is a single major flaw or many minor flaws in how the criterion is addressed.

    • Good (6): The criterion is addressed, albeit with a few minor flaws.

    • Excellent (8): The criterion is completely addressed, leaving no remaining questions to be answered.

    • Outstanding (10): The criterion is addressed beyond expectation. It is expected that few if any presentations will achieve this level.

Note that this scale does not map directly into a percentage grade; for example, even a presentation receiving scores of Fair (4) in all criteria would likely still pass.

Project Presentation and Final Report Licensing

Students who take the course in future years find it useful to have examples of course project presentations and final reports as models on which to base their own work; for example, Fred Tung was generous enough to provide his material from 2012 for you to look at.

If possible, I would like the opportunity to post all of the course projects under the Creative Commons Attribution Non-Commercial (international version 4.0) license, the same one that I use for the CPSC 515 course material posted on this website. When sending your presentations and final reports by email, please specify whether or not you are willing to have them posted under this license.