Due: June 5, 5:00pm
We're in the final stretch! Besides completing your project implementations and working on your final video assignment, you have a few more things to do this week:
Submit links (one for each blog post) as text entry on Canvas. See Canvas for more details on grading.
Due: May 29, 5:00pm
It is crunch time! Only two weeks left to complete your projects :-) This week you'll continue to execute the project implementation plan proposed in Blog #7 and get started on your final presentation video. Your assignments will involve reporting on your progress and writing a draft script for your final presentation video. See the final video assignment below for more details and examples. As before, you may have multiple progress updates from different subgroups focusing on different aspects of the project. Make sure to indicate who has been working on what. Have a separate blog post for the video script.
Optionally, post any updates to your business model, design, target use cases, and technical requirements, as well as refinements to your project plan and system architecture.
Submit links (one for each blog post) as text entry on Canvas. See Canvas for more details on grading.
Due: June 6th, 11:59am
In your final assignment you will create a video that presents your project, based on the script you prepared in Blog #9. Your video should be three minutes or shorter. Your video should both introduce and "sell" your design. The following example videos might inspire you:
Your video script (Blog #9) should include a plan for narration and accompanying visuals (footage or images). Your script should be in the form of a three column table.
To allow for creative freedom and avoid obtaining many cookie-cutter videos, we are not constraining the sections in your video. But please make sure that your video follows these guidelines:
You will receive feedback about your scripts shortly after submitting them. Afterwards you will have a week to shoot and edit your videos. Try to incorporate any feedback you received about your script.
The evaluation of this assignment will be done by a panel of judges and it has two components:
The rating sheet that the judges will use is available here. To avoid file format related challenges and allow judges to view videos remotely, we request that you upload your video to YouTube (you can make it Unlisted if desired) and submit a link to the video on Canvas.
Due: May 22, 5:00pm
From here on you will execute the plan you proposed in Blog #7. Your assignments will involve reporting on your progress according to this plan. Besides your progress on the implementation, we expect that you will report on your evaluation and do some reflection as part of Blog #10. In addition, Blog #9 will involve drafting a script for your final presentation video.
At this point in the project it is likely that you are working in parallel on several aspects of the project in subgroups. We recommend that each subgroup posts a separate progress update. For example if you have one person working on the UI, that person can be responsible for posting a progress update on that. Progress updates should include the different deliverables mentioned in your plan (Post #2, Blog #7), e.g. pictures, videos, screenshots, or any other evidence of progress. Make sure to indicate who has been working on what.
Optionally, post any updates to your business model, design, target use cases, and technical requirements, as well as refinements to your project plan and system architecture.
Submit links (one for each blog post) as text entry on Canvas. See Canvas for more details on grading.
Due: May 15, 5:00pm
This week we go deeper into perception with PointCloud processing and segmentation and start thinking about implementing our projects.
1. (3 points) Post #1: Labs 30-33 will give you new ways of extracting knowledge from the robot's PointCloud stream. For this assignment we would like you to tune the methods you learn in the labs for the particular perception capabilities needed for your project and assess the feasibility of using these methods for your project. Your blog post should include the following:
2. (3 points) Post #2: You have only three weeks left to complete your projects! The good news is you now know almost everything you need to implement your projects. The labs from now on will be optional labs with additional tools that might help some teams. So this is a good time to create an action plan for the next three weeks so you can complete your projects on time. To that end, your blog post should include the following:
3. (Optional) Post any changes or refinements to your lean canvas (i.e. your business model), sketch (i.e. your design), story board (i.e. your target use cases), or technical/environmental requirement based on the feedback you get from peers or the teaching staff or based on your elaborations.
Submit two (or three) links (one for each blog post) as text entry on Canvas. See Canvas for more details on grading.
Due: May 8, 5:00pm
This week we jump into perception with detection and tracking of so called “AR markers” or “fiducials”. We will also have our first fabrication tutorial.
1. (4.5 points) Post #1: Labs 27-28 will show you how to work on perception problems in simulation and introduce you to a package for tracking fiducials in the pointcloud stream from Fetch’s PrimeSense camera. Using this and other functionality developed in previous assignments, you will develop a new system that allows you to (a) save end-effector poses relative to a fiducial and (b) move the robot’s arm to the same relative poses after the fiducial has been moved. This will allow you to define basic actions to manipulate objects (localized based on a fiducial fixed to it), as a sequence of end-effector poses and gripper states (open/closed) relative to that object.
The system should be designed such that you do not need to hard-code pose offsets. You should physically move the robot's arms to the poses and have the system save the pose based on the robot's sensor data (i.e., using TF). You will need some kind of interface (command-line or web-based) to save poses after moving the arm to each pose. For each pose, you will need to use your interface to specify which fiducial the pose is relative to (or if the pose is relative to the base frame). Once you have finished defining an action, you should use your interface to save the action to a file. You also need to build a program executor that can load an action from a file and execute it.
To demonstrate the tools developed in this assignment, assume that you have box shaped object with a fiducial (F1) on its front face that can be moved on the table to indicate the target. Make a video that demonstrates the use of your tool *on the real robot* to define the following three actions and use each of them in two different configurations of the fiducials (i.e. six total executions):
(i) Push: Make the object with F1 move side-to-side by pushing it one way, then pushing it the other way.
(ii) Poke: Make the object with F1 tip over by poking it from front-to-back.
(iii) Pick-and-place: Pick up the object with F1 from the top. Place the object on a second fiducial, F2.
Your actions should actually succeed. So if you find that the action fails when you test it, you need to go back and re-define your actions differently (e.g. try having a different number of poses, using different pose configurations, or adjusting the motion speed).
2. (1.5 points) Post #2: In the fabrication tutorial you will learn to design objects that can be laser cut or 3D printed. As part of this assignment, you will create an initial design for something that you would like to fabricate as part of your projects, e.g. a custom tool for your robot to handle boxes; a custom handle to attach to objects that the robot will need to manipulate; shelf dividers that position items so they are graspable by the robot, etcetera. Let us know if you are unsure about what to design. Post a picture of your CAD model and briefly explain what it is for.
3. (Optional) Post any changes or refinements to your lean canvas (i.e. your business model), sketch (i.e. your design), story board (i.e. your target use cases), or technical/environmental requirement based on the feedback you get from peers or the teaching staff or based on your elaborations.
Submit two (or three) links (one for each blog post) as text entry on Canvas. See Canvas for more details on grading.
Due: May 1, 5:00pm
This week you will continue to learn about ROS and Fetch capabilities that will form the basis of your proposed projects. Your blog posts for the week include two videos based on lab milestones as well as some work on your project ideas.
Submit three (or four) links (one for each blog post) as text entry on Canvas. See the rubric on Canvas for details on grading.
Due: APR 24, 5:00pm
The next group assignment involves the following blog posts based on the tools you will develop in this week’s labs.
Submit three (or four) links (one for each blog post) as text entry on Canvas. See the rubric on Canvas for details on grading.
Due: APR 17, 5:00pm
Your next assignment will demonstrate the successful completion of this week's labs and build on your previous assignments to push your project ideas forward. Here is what we would like to see on your blog next week.
Make a screen capture video of the teleoperation process. At the end open the Gazebo window to show that the object was successfully picked up by the robot. Upload your video to Youtube and post a link on your blog with a description of all elements on your tele-operation interface.
2. (1 points) Post #2: Assign team roles to everyone in your project team, considering common potential roles in this class. Write a blog post that describes everyone's roles and concrete responsibilities. Consider weekly responsibilities as well as quarter-term project responsibilities. In addition, write a paragraph about strategies you will follow to ensure everyone in the team acquires the knowledge and skills they hope to get out of the class (e.g. everyone in the team learns ROS).
3. (2 points) Post #3: Next, you will critique two project proposals by your peers. Review the sketch, storyboard, technical requirements (Post #2 in Assignment #2) and the associated Lean canvas (Post #1 in Assignment #2) for each project. Provide a critique in the following format:
We will separately post an assignment of projects that each team will critique with links to the relevant posts.
4. (Optional) You will likely pivot or refine your projects throughout the course of the quarter. We would like you to keep documenting these changes or refinements on your blog. Post any changes or refinements to your lean canvas (i.e. your business model), sketch (i.e. your design), story board (i.e. your target use cases), or technical/environmental requirement based on the feedback you get from peers or the teaching staff or based on your elaborations.
Submit three links (one for each blog post) as text entry on Canvas. See the rubric on Canvas for details on grading.
Due: APR 10, 5:00pm
Here is what we would like to see as part of your first assignment as a team.
Submit two links to your blog posts on Canvas. See the rubric on Canvas for more details on grading.
Due: APR 3, 5:00pm
Since you do not yet have teams this assignment will be done individually and posted on the shared course blog. Here is what you need to do.
Submit three links (one for each blog post) as text entry on Canvas.