Assignment 3
Due: Apr 19 Wednesday, 11:59pm | Canvas link (rubric & submission) | Points: 6
In this assignment you will continue to refine your project ideas, while making progress on the technical design and implementation of your systems.
Post #5: This week you will start a literature review on the topic of your project. Your goal is to identify all the existing products, academic research, or personal/course projects out there that are similar to or related to your project, or might have implications for your project. The first place to start your search is Google Scholar or Semantic Scholar using different keywords related to your project. Create a Google spreadsheet with the following columns: Paper title, Authors, Abstract, Publication venue, Publication year, Link. For products or projects you can replace the fields with the relevant information you find (e.g., project title instead of paper title, description instead of abstract, etcetera). Embed the spreadsheet in your post (Insert > Sheets), which can simply just say that you started a literature review this week. You do not yet need to read the papers; just read the abstract enough to judge relevance and only add papers that are clearly relevant.
You might find that papers can be relevant in two ways:
They involve a robot system (and possibly an evaluation of the system) that tackles a similar challenge as the one you are working on in your project (possibly with similar motivations).
They involve a study with users from your target group, which can further motivate your project and inform design decisions in your project.
Try to find at least 10 papers, but you can probably find many more. The instructor will share any papers they think should be on your list. The "related work" sections of those papers are also good places to look for additional papers you might want to include.
Post #6: Make a speculative video prototype for your project by teleoperating the Stretch. If you have not made any major pivots since last week, the video could largely be based on your storyboard from Post #2. Show the video to one person from your target user population and try to elicit their reactions. As with the earlier lo-fi prototypes, try to get their feedback and ideas for other tasks the robot could support them with and how the solution should be designed. Your post should include your video and any reactions/feedback you got from the user (in the form or of direct quotes or rephrased).
If you would like to get feedback on your video before you show it to your user, email it to the teaching staff and we will get back to you within a day.
You do not need to do fancy editing on your videos but make sure you cut out unnecessary parts and speed up parts that are too slow. This is a good time to start learning video editing tools, as you will be making many videos throughout the quarter.
There are instructions for using the Xbox controller for teleop on Ed
Post #7: As part of your labs next Tuesday, you will develop your first browser-based teleoperation interface to control the Stretch robot. Make a screenshot video of controlling the robot (simulated or real) from your interface and post it along with a description of what the interface is for. We recommend including a (lo-fi) sketch of the interface you envision in the post.
Post #8: Make a list of technical capabilities and environmental modifications that your system will need to complete the tasks you are focusing on in your project (likely what you depicted in your video for Post #6). This should include:
Perception: What objects, people, or landmarks does the robot need to be able to detect? At what level of precision and temporal continuity do they need to be detected?
Manipulation: What objects or landmarks will the robot need to physically interact with?
Navigation: What navigational capabilities does the robot need? Does it need to be able to move to arbitrary points on a map? Does it need to precisely position itself relative to landmarks in the environment?
Interaction: What state information about the user does the system need to know? What explicit input or commands does the user need to communicate to the robot? What information should the robot communicate back to the user? Which of the above autonomous capabilities might need human monitoring (e.g., to stop the robot immediately if something goes wrong) or human help/control (e.g., take over driving the robot if it gets lost)?
Environment: How do you need to modify the robot's environment to make the above autonomous capabilities possible?
Submit your response on Canvas as a link to the latest post on your team's website.