Projects 1-3:
The first three laboratory projects are fairly structured. They will allow you to put some of what you learned in CS223 to practice (e.g., working with transformations) and will teach you something about using computer vision. Mostly, they will give you an appreciation for what goes into creating a robust application. It's one thing to read about robotics, and another to do it! If you are good at structured programming in C or Pascal you will not find these projects hard (but as with any programming assignments, debugging takes longer than it probably should).
Each of the short projects builds on skills from the previous one. They have been designed so that they can be done on either the Adept or Robot World. We therefore encourage you to try project 1 on one robot and switch to the other for projects 2 and 3, so that you get an appreciation for their different languages, philosophy and behaviors.
Project grades will be based primarily on a demonstration of your project in the lab, during which you will answer questions about it. I will also ask for a copy of your program by electronic mail. I will make comments on the programs whenever something catches my eye (e.g., a suggestion for how to do something more efficiently).
-
Project 1 -- The relocatable palletizing problem: Write a program that will permit a robot to unload and reload a movable pallet. (For details see Project 1 description, p .
See Also: Project 1
)
-
Project 2 -- Re-do the relocatable-pallet problem with vision. There are two main uses of computer vision: part location and part inspection. In this lab we explore vision for location, using fiducial marks or the edges of a pallet to obtain its position and orientation.
-
Project 3 -- Event-Driven Robot Programming. This project brings together vision, part inspection and event-driven, fault-tolerant programming. It gives a feel for what a real industrial program in a flexible manufacturing cell would entail, but has been simplified to minimize the amount of specialized mechanical hardware, lighting and sensing required (and so that it can be accomplished in a few weeks instead of a few months). Despite these simplifications, it takes longer than the first two projects and you would be wise to have some members of your team start work on it before the demonstrations of project 2 have been completed! It may also be wise to subdivide the tasks (finding the dominos, identifying the dominos, placement strategy, collision checking) among team members. A more detailed project description will be handed out later.
Project 4:
The fourth projects are open-ended. I have selected several projects that lead into R&D topics of current interest to me and others in industry and academia. Be forewarned that they may involve a bit of hardware or fixture construction. We do not have a staff machinist or lab technician. As in project 3, you will probably want to divide the subtasks among team members.
The grade for the fourth project will be based on the results of a presentation in which I will ask you to demonstrate your project and answer questions about it, and on a brief report (to be turned in at the end of the final week of classes) which outlines your approach and findings and gives an overview of your software. In all cases, I will be looking for robust, fault-tolerant software.
Options for the fourth project are as follows:
-
4a Task-level programming for Robot-World -- The goal of this project is to allow Robot-World to build a simple assembly (perhaps using Duplo blocks) without detailed motion programming from the user. The input should ideally be a file stating what to assemble and how to assemble it. The output should be a completed assembly or, if something goes wrong, a "graceful" failure. The format of the assembly specification file is up to you.
-
4b Adept/Cognex cooperation (New for 1997) -- This project focuses on issues of protocol and communication involving two pieces of automated equipment that communicate over a serial line. This is a typical problem in automated manufacturing cells. Various master/slave and peer/peer approaches are possible. The emphasis will be on establishing a robust commuications interface that degrades gracefully when confronted with errors. This project might be integrated with project 4f.
-
4c Path planning and collision avoidance -- Neither Robot World nor the Adept have any built-in provisions for obstacle avoidance or path planning, but both supply a number of useful low-level functions upon which such capability can be developed. Successful projects in the past have explored potential fields, semaphores, free-ways and C space methods.
-
4d Force-sensing wrist applications -- Devise software and a little bit of hardware to permit external force-based control of the Adept robot. A 6-axis force-sensing wrist is available. Typical applications include contour following (e.g., for grinding or deburring) and assembly. Relevant techniques include force control, filtering and adaptive estimation or prediction to improve performance.
-
4e Force servoing -- We have revamped an IBM 6-axis cartesian robot and its electronics so that it can be controlled from a PC using C/C++. The robot has a servo-controlled gripper with strain gages on each finger so one can experiment with different position/force and impedance control schemes and examine the relationship between "internal" and "external" forces in manipulation. This is a good project for students interested in controls and having some familiarity with real-time programming.
-
4f Part inspection for layered shape deposition (New for 1997) -- The lab next to our robot lab is Prof. Prinz's rapid prototyping lab (http://cdr.stanford.edu/RPL) where he and his students are working on a novel prototyping process in which layers of materials such as stainless steel, copper, plastics and ceramics are deposited and shaped to create complex three-dimensional structures. The potential of this process to create complex designs is almost unlimted, but the it will only succeed if designers can be sure their specifications on dimensions, tolerances, material density, etc. are achieved. As parts are created in layers, there is the possibility of doing automated inspection at various stages during part creation. This project will use one or more of the robot vision systems to check for dimensions, tolerances and general material quality (e.g., no voids) on the emerging part. Part of the project will be to define an inspection protocol (how should desired inspection specifications be communicated to/from the vision system?) Ultimately, this application will be added to Prinz's robotic cell, but for now we'll be carrying parts back and forth between the two labs.
-
4g Robotic assembly of a family of telephones. (New for 1997) -- One of the projects in ME217 this year involves a new telephone design from Lucent. The goal in ME217 is to redesign it for ease of robotic assembly. In ME319, the complementary project is to devise and test robotic assembly strategies on the existing and redesigned product, and to make recommendations to the ME217 team.
-
4h Design your own 4th lab -- You are also welcome to come up with your own suggestion for a fourth lab project. Be sure to contact me about it before the presentations of the third projects so there's time to iron out bugs in the concept.
-
-4i Human/robot interacation with haptic feedback. (New for 1997) -- We have just obtained two Immersion Impulse Engine 2-axis force reflecting joysticks. We are interested in seeing how they might be used in either of 2 ways: (i) for easier teaching of robots like the Adept or RobotWorld. In this case the joystick would be used like a teach pendant with force feedback. (ii) for telemanipulation experiments with the RS1 hydraulic robot. In this case, forces sensed by the robot fingertips would be displayed back to the human user via the joysticks.