Progress – Physical Computing https://courses.ideate.cmu.edu/16-223/f2014 Carnegie Mellon University, IDeATe Fri, 11 Aug 2017 21:41:33 +0000 en-US hourly 1 https://wordpress.org/?v=4.7.28 Day Twenty-Three https://courses.ideate.cmu.edu/16-223/f2014/day-twenty-three/ Tue, 11 Nov 2014 22:18:06 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=2857 Agenda
  1. quick poll of interest in other specific IDeATe courses: HMV, PhysComp Studio, Experiential Media
  2. would HMV potentially be better at Tue-Thu 10:00-11:20 (no promises)?
  3. Ideation Assignment
  4. finite-state machine introduction
  5. cleanup!

Details:

The new finite-state machine exercises are now in the github repo.  Also, the overview is here, the first exercise using Pd is here, and the second exercise using Arduino is here.

]]>
Day Seventeen https://courses.ideate.cmu.edu/16-223/f2014/day-seventeen/ Wed, 22 Oct 2014 12:00:17 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=2492 Engineering Design Review:  Autonomous Machine

Today we are reviewing prototype designs for the assignment and reflecting on the meanings of autonomy.

Deliverables for today:

  1. Revise the mechanical design on paper.
  2. Sketch the basic electronic design on paper.
  3. Write two-sentence description of proposed behavior.
  4. Outline proposed control strategy on paper.

Criteria for an engineering review.  Will it work?

  1. could someone else build it from your drawings?
  2. what tools and machines are required for fabrication?
  3. are all standard components identified?
  4. are all materials identified?
  5. is it kinematically well-defined?
  6. how is friction managed?
  7. are the structural components appropriate for expected loads?
  8. are the actuators sized appropriately?
  9. are the transmission ratios appropriate?
  10. what kind of embedded computation is required?
  11. are the interface circuits appropriate?
  12. is the software control strategy plausible?
  13. what kind of power source is required?
  14. is there an estimate of overall cost?
  15. is there an estimate of overall fabrication time?

Criteria for a project review.  Is it a compelling idea?

  1. What is your two-sentence description of proposed behavior?
  2. What are the fundamental inputs and outputs?
  3. Is it autonomous?  (See below for additional prompts.)
  4. Is the outcome congruous with the complexity?
  5. Are the physical and computational dynamics complementary?

Is it autonomous?

  1. what does it do with no humans present?
  2. what does it do in an unfamiliar test environment?
  3. does it exhibit logic and memory?
  4. does the physical performance indicate an internal state?
  5. does the action change over time?
  6. how does it handle physical contact?
  7. can a goal or purpose be inferred by observation?  over what time scale?

Laser Cutter Tutorial and Qualification

Dave Touretsky has written very usable instructions for our IDeATe laser cutters.

]]>
Day Fifteen https://courses.ideate.cmu.edu/16-223/f2014/day-fifteen/ Wed, 15 Oct 2014 11:41:01 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=2432 Agenda
  1. Rhino overview
  2. SolidWorks overview
  3. discussion of technical assignment
  4. work time: RPi, SW, design, etc.

SolidWorks demo materials:

  1. https://github.com/cmuphyscomp/physcomp-solidworks
  2. https://github.com/OrigamiRobotics/romibo-mechanism

Proposal for a Technical Assignment

It’s possible to breadboard an illustrative circuit in five minutes, but less possible for mechanical design examples, so the “quick exercise” model we used for circuits doesn’t work as well. My proposal for introducing mechanical design and fabrication is to incorporate it into a technical assignment which will just be evaluated on technical merit. The purpose of the assignment is to learn and demonstrate technical skills. But even this assignment should allow some free choices, and ideally, it would inspire ideas for more human-centric projects.

Learning goals:

  1. use of idiomatic mechanical structures, including bushing and ball bearing joints, turntables, hinges, gears, timing belts, motor mounts, sensor mounting, slender members and I-beams
  2. basic use of CAD (of any form)
  3. laser cutter use on masonite and acrylic
  4. single-axis PD control
  5. simple behavior: optimization, memory, or history (needs clarification)

The minimum goal is to build upon the one-in-one-out theme by designing a single-axis controlled mechanism. Even a single actuated freedom can have complex behavior by using time effectively. In a conventional controls class, the feedback would normally be taken directly from the axis in order to control the velocity and position of the actuator. However, successful feedback control only requires that the property being sensed be a function of the system state. So for example, a motor could swing around a sonar sensor taking measurements of the local world geometry, and a controller could send currents to the motor which achieve some desired pointing goal such as aiming the sensor at the nearest object. In general, this is much harder than simply sensing a joint, but it paves the way for more interesting applications.

For an example of what can be possible with just a single motor (and possibly passive freedoms), search for “Acrobot” on line and you can find examples like this this acrobot demo or this one.

Procedure

  1. Choose a property to measure with a sensor
  2. Choose an appropriate mechanical structure with a single actuated axis which can move that sensor
  3. Sketch a complete design on paper for the mechanical structure and components.
  4. Design review. (Mon, Oct 20)
  5. Revise the mechanical design on paper.
  6. Sketch the basic electronic design on paper.
  7. Write two-sentence description of proposed behavior.
  8. Outline proposed control strategy on paper.
  9. Design review. (Wed, Oct 22)
  10. Draw in CAD any parts which require fabrication.
  11. Fabricate mechanism and electronics. (Mon, Oct 27)
  12. Implement control strategy in software. (Wed, Oct 29)

The performance of the device will be evaluated subjectively on the design and on how well it achieves the stated behavioral goal. If the performance can be quantified we can incorporate an objective measure.

]]>
Day Eleven https://courses.ideate.cmu.edu/16-223/f2014/day-eleven/ Wed, 01 Oct 2014 11:55:51 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=2247 Agenda
  1. Roll call: what is one word describing your project idea?
  2. Parts order status.
  3. Cluster laptops and equipment problems.
  4. Schedule adjustments.
  5. Reflections on iterative design.
  6. Group adjustments.
  7. Scheduling in-class meetings.

]]>
Day Ten https://courses.ideate.cmu.edu/16-223/f2014/day-ten/ Mon, 29 Sep 2014 14:01:50 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=2239 Be sure that you have the latest version of the course materials; they are constantly changing.

Be sure not to run the Arduino IDE and an Arduino-based Pure Data patch at the same time; they will compete for the serial port and neither will work correctly.

Please work out your project group and project idea by the end of class for the 1.c.v “Dream Machines” project.

End of class: brief tour of the Media space next door.

]]>
Day Nine https://courses.ideate.cmu.edu/16-223/f2014/day-nine/ Wed, 24 Sep 2014 11:29:04 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=2150 Agenda
  1. Test your ID card in lock before end of class
  2. Schedule changes
  3. Pd exercises

Git hint: for a read-only checkout of the course materials, you can skip the history, which will save space and go faster:
git clone --depth 1 https://github.com/cmuphyscomp/physcomp-examples.git

Be sure to pull an updated version of the course materials from github each day, the materials are frequently changing.

Pd on a Mac is defaulting to Airplay output; be sure to set the default audio device to ‘built-in audio’ using the Media menu.

For Mac OS X we recommend the 32-bit version of Pd, not the 64-bit version.

The Arduino IDE versions 1.0.5 is missing the LED_BUILTIN definition for the Uno; the OneInOneOutASCII sketch has been updated.

Windows serial ports have a name beginning with COM, e.g. COM12.

Serial ports (e.g. your Arduino) can only be opened by one program at a time. You may need to close the Arduino IDE for Pd to connect properly.

The LED PWM exercise should be rewritten to use Pin 3; Pin 2 won’t generate a proper PWM signal, our mistake.

The Arduino Pd exercise depend on libraries not included with Pd vanilla. The simplest solution is to use Pd-extended.

]]>
Day Six https://courses.ideate.cmu.edu/16-223/f2014/day-six/ Mon, 15 Sep 2014 12:10:34 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=1802 Agenda
  1. Git? Ethernet?
  2. Arduino exercises
  3. Quick project idea review
  4. Due date in one week: Mon, Sep 22, Arduino one-in-one-out

The Pololu A4988 module is a newer, compatible replacement for the A4983 module used in the stepper motor exercise.

The A4988 is rated for an 8-35V motor supply voltage, so it is not compatible with the 2.7V stepper motors.

The DRV8834 stepper motor driver is rated for a 2.5–10.8V motor supply voltage and should be compatible with the A4988 pinout.

The pins should be soldered on the back side of the A4988 such that the driver chip is visible. This does mean that the pad silkscreen text is on the bottom and out of sight, but allows the chip to dissipate heat. If your module is *not* soldered in this orientation, please be especially careful when wiring the circuit.

If you are unclear on the wiring of a stepper motor, use a DMM to measure the resistance between the wires. A bipolar stepper will have four wires, two per coil, and the low-resistance of the coil should be unambiguously measurable.

The digital input using a switch needs a pullup resistor to function properly, otherwise the input pin is switched between an ambiguous ‘floating’ state and ground.

The thermistors we have in stock are Vishay parts from SparkFun, who hosts a data sheet.

]]>
Day Four https://courses.ideate.cmu.edu/16-223/f2014/day-four/ Mon, 08 Sep 2014 12:25:42 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=1186 Agenda
  1. creative constraints
  2. assignment due Wed at 6:30AM
  3. work time

Notes from last class.


Many projects are facing the problem of amplifying or inverting an analog sensor signal to match the requirements of an analog actuator output. A versatile solution is to use an op-amp, addressed in a new exercise: Op-Amp Level Translation.

]]>
Day One Panorama https://courses.ideate.cmu.edu/16-223/f2014/day-one-panorama/ Thu, 04 Sep 2014 23:30:37 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=1164 IMG_5547.JPG

First day of class!

IMG_5546.JPG

First Day of Class!

]]>
Day Three https://courses.ideate.cmu.edu/16-223/f2014/day-three/ https://courses.ideate.cmu.edu/16-223/f2014/day-three/#comments Tue, 02 Sep 2014 20:53:44 +0000 http://courses.ideate.cmu.edu/physcomp/f14/16-223/?p=1148 Agenda
  1. Welcome back!
  2. Introduce the first assignment, due Sep 10
  3. Show the sample project(s).
  4. Show the example deliverable. Be sure to observe formatting so the blog looks consistent across your results.
  5. Form or confirm first project groups by end of today.
  6. Continue with exercises.
  7. Brief end-of-class idea showcase.
  8. We have set up a new purchasing link on the main page.

Don’t forget to review day two.


All in all we heard a lot of great project ideas today. In nearly every case we asked for more specificity: who will use it? Where? How? Why? For musical projects, with which piece of music would it work? What’s the overall narrative?

All ideas can be rendered at all scales. The essence of a big idea can be isolated down to an elegant small example.

It may help to think of this project as the first step in a larger project; for more ambitious ideas try to think of the smallest first step which can be tested with some basic circuitry and mechanism.

If you need other parts, please fill out the purchasing form linked on the top menu, and we will do our best to accommodate you.

For some areas of inquiry which were addressed there is a lot of prior art; please look up the relevant artists which were mentioned and find related projects for inspiration and focus.

A couple of specific technical questions which were answered:

The relay schematic is a logical illustration, unlike the pinout illustration which shows the physical connection layout; the two only correspond via the pin naming. This is common in electronics diagrams since schematics are intended to convey the logic of an electronics design.

If an analog sensor doesn’t emit the right voltage to drive a particular circuit, it is possible to construct a passive resistor network add an offset voltage, or an active op-amp circuit to offset and scale the signal to the appropriate level. E.g., the Sharp rangefinder output is too low a voltage to directly trigger our MOSFETs.

]]>
https://courses.ideate.cmu.edu/16-223/f2014/day-three/feed/ 1