Recitation 6: Processing Basics by Molly (Weiyi He)

The reason I chose this image is that it looks so impressive (it seems that there are tension and power contained inside) but is merely composed of basic shapes: triangles, rectangles, ellipses, arcs, and lines, etc. I was stroke by it by first glance. I wanted to facsimile the same image by Processing. The result looks similar, but still lacking many elements. It is an abstract, a brief summary of the image. I don’t think drawing is a good means because the setting of coordinates costs a lot of time. Meanwhile, the watercolor-like background isn’t easy to be implemented in Processing, leaving out its original appeal.

code:

size(600,600);
background(18,50,109);

strokeWeight(8);
stroke(255,150);
noFill();
arc(180,180,40,40,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(210,150,30,30,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(240,125,35,35,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(260,105,15,15,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(280,85,25,25,PI-PI/4,TWO_PI-PI/4,OPEN);

strokeWeight(2);
stroke(206,115,113);
fill(255,150);
arc(180,180,40,40,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(210,150,30,30,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(240,125,35,35,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(260,105,15,15,PI-PI/4,TWO_PI-PI/4,OPEN);
arc(280,85,25,25,PI-PI/4,TWO_PI-PI/4,OPEN);

stroke(255,150);
noFill();
strokeWeight(10);
arc(400,150,100,100,PI+PI/4,TWO_PI+PI/4,OPEN);
stroke(127,3,22);
noFill();
strokeWeight(3);
arc(400,150,100,100,PI+PI/4,TWO_PI+PI/4,OPEN);

strokeWeight(12);
stroke(255,150);
line(160,205,323,50);
line(370,460,520,350);
line(480,265,580,260);
strokeWeight(2);
stroke(0);
line(160,205,320,52);
strokeWeight(4);
line(370,460,520,350);
strokeWeight(5);
line(480,265,580,260);

stroke(255,100);
strokeWeight(1);
fill(127,3,22);
ellipse(180,100,30,30);

strokeWeight(6);
fill(232,157,125,230);
ellipse(270,140,18,18);
fill(193,58,153);
ellipse(170,235,18,18);

strokeWeight(4);
fill(239,224,16,180);
ellipse(110,380,20,20);

strokeWeight(2);
fill(0);
ellipse(230,390,18,18);

strokeWeight(4);
fill(224,152,51,200);
ellipse(165,460,23,23);
fill(119,98,193,140);
ellipse(110,470,23,23);

strokeWeight(2);
fill(239,224,16,180);
ellipse(155,500,15,15);
fill(193,58,153,180);
ellipse(190,520,20,20);
fill(124,50,18);
ellipse(150,550,25,25);

fill(127,3,22);
triangle(62,155,50,195,103,200);
fill(239,224,16,150);
triangle(100,105,55,255,165,275);
fill(255,180);
triangle(260,260,430,365,245,460);
fill(0);
triangle(500,30,120,440,135,455);

noStroke();
fill(124,50,18);
ellipse(10,600,150,150);

strokeWeight(3);
stroke(124,50,18,150);
fill(107,160,14,100);
ellipse(500,500,80,80);

noStroke();
fill(160,28,28);
rect(230,420,70,70);

Citation:

The original image comes from https://www.guggenheim.org/artwork/movement/Bauhaus. The author is Vasily Kandinsky. The image is called Blue Painting.

Midterm project proposal by Molly (Weiyi He). Partner: Diana Xu

  1. observation:https://www.youtube.com/watch?v=B91tozyQs9M It’s about puffer fish that creates a beautifully perfect symmetrical art. The purpose of it is to grab female attention. The only tools of it is its fins. It also uses shells for decoration.
 
This paperhttps://www.nature.com/articles/srep02106 on the Role of Huge Geometric Circular Structures in the Reproduction of a Marine Pufferfish points out that
The pattern is specially made for 1)controlling the water flow using valleys dug at various angles in a radial direction and nests constructed surrounded by radially aligned peaks and valleys 2) comprising fine sand particles using irregular patterns
“The circular structure not only influences female mate choice but also functions to gather fine sand particles in nests, which are important in female mate choice.”
 
This is how the pufferfish construct the pattern during the whole process (comparison between initial and final): [might be helpful if we want to draw our own]
 
 
 
 
2. model:https://www.youtube.com/watch?v=Ztax9lCE-Mk Table that creates sand art with marble that rolls by itself
 
This article explains the principle of how the table workshttps://readwrite.com/2018/11/01/sisyphus-table-where-art-and-technology-merge/. This pic can illustrate it well.
There is a stepper that decides the direction. The 2 sisbot boards help controls the magnet that pulls the metal ball. When the table gets bigger, the stepper is substituted for a servo that goes faster.
 
 
 
3. implementation: We want to mimic the pufferfish’s geometric circular structure using the method provided by the sisyphus table. However, we want to use the kittenbot with a magnet attached to be behind the table, pulling the ball on the table to draw the patterns. How to program the kittenbot to move as the direction we wanted is the key. Here is the example of the kittenbot drawing a picture: https://kittenbot-docs-en.readthedocs.io/en/latest/kittenbot/10DrawingRobot.html https://www.hackster.io/44128/using-kittenblock-to-control-a-drawing-robot-144cb6. However, the module used in both of the blogs seem to be different from ours. We may try to figure out a way to control the kittenbot by ourselves, or buy a new module.
Adding an electromagnet may help create different depth of the lines that the ball draws—we may experiment that if we have the time.

Recitation 4: Drawing Machines by Molly (Weiyi He)

  1. When I connected the H-bridge according to the instruction. Looks like a lot of wires and kind of messy. Mind the semi-circle as the mark of the direction of the H-bridge. The stepper spun in the loop of clockwise and counterclockwise. Delay 500s matches the exact time of each spin at speed 60 of the 200 stepper.

2. I was able to control the stepper via the potentiometer. However, the stepper oscillated when it should stop. Moreover, the stepper seems not stable with the control.

3. The code of STEP 3. There are adjustments to the sample code:

1)the number of steps 2)mapping the value

Our “drawing machine” that works only in a small range of the potentiometer.

This is the “painting” of our drawing machine. I feel that the steppers aren’t being controlled well by our potentiometers. Maybe the mapping didn’t work the best. That is when debugging should come into place. We didn’t have time, therefore didn’t work out the mystery.

4. Q1: My machine should be able to help me organize with my thoughts and integrate them into fine essays. Actuators: 1) info input: recording module and automatic speech recognition (either uses audio input or works digitally), 2)synthesis core: AI brain (analyzes the sources, makes integration), 3)essays output: AI brain (write well-organized essays). One can select the genre of the essays. How this AI brain works is that it is like your writing professor who can always generate fine essays using your ideas. It may have done the deep learning process of millions of fine essays or may use other processes to possess writing skills.

Q2: On P120: Open Burble. Actuators involved: sensor, LED, accelerometer,  and microcontroller. The burble allows real-time control by the audience in that microcontrollers control the LEDs and accelerometers to respond to the audience’s handlebars commands. The color of the burble would change, and the speed of the burble flying up would also alter. The use of sensors isn’t explained. But I guess they may sense the wind direction to also impact the burble, for this art piece is called “part installation, part performance”. It should have automation in its structure.

Lab 4 :Braitenberg Vehicles by Molly (Weiyi He)

The creature I chose is dogged: the obstacle avoider. This is a normal behavior that every animal possesses. I thought of a scenario when the animal is caught and shaken (the previous idea was to tilt the animal, but the accelerometer stopped working in the middle of my programming), it would become scared. In this case, normally, it would become angry, scream, have a fear look in its eyes, shake its head and run away.

pseudocodeon shake: display angry, scream, glare, shake its head and flee with an obstacle avoiding function.

code:

 

I spent a very long time adjusting myself to micropython to actually make the robot move. Now I think I have passed the struggling period and can control my kittenbot well. Debugging and testing are always required even if one has faith in his/her code.

Prof. Rudi also helped me amplified the sound using a speaker and an amplifier. However, robot always sounds like robot ( in this case). The speech function hasn’t developed well, so now the scream sounds like a robotic “oooooyiiiiiii“.

Here is the video:

Imagination: It could be like an animal-like robot like this.

Reflections and improvements:

  1. Achieve “on tilt” to activate the animal’s anger
  2. The animal would only run away when it is put down on the ground
  3. The actual animals respond much faster than this. Moreover, they should be able to accomplish several reactions at the same time.

Group project by Molly (Weiyi He)

Interaction includes communication. When one is doing something with the project correctly, it should give feedback. The person should be feeling that he or she is able to have an impact on it, and that impact is within this person’s control.

A weaker one: https://www.creativeapplications.net/environment/open-highway-surfacing-the-hidden-layers-of-the-city/

 This is a real-time light installation visualizing highway vehicles at a scale of 1:1 with detailed speeds and capacity of the highway and functions as an explanation for the project.

Although this looks really cool, the vehicles can’t interact with the project. The light installation only collects data from the vehicles and presents them. Those people in the vehicles could only see their impact on the installation, but couldn’t make a change to it.

A stronger one:

https://www.creativeapplications.net/objects/connected-tools-devices-that-mediate-smartphone-consumption/

The function of this device is to track how long time you have looked at your cellphone. You can pull the left string to set today’s goal of how long you want yourself to be off the phone. An app will monitor your use of your phone and convey the data into the device. After a day, you can see the result with the right string, comparing the length of them. There is also a summary on the LED screen.

This is indeed an interactive device. You set goals, your time of using the phone is monitored and the result is displayed in a succinct and straight forward approach–using strings and a screen. Moreover, there are 2 buttons for mode settings.

Our group design is called “Bedman”. It is designed for those who are always struggling with getting up in the morning. This is a real-life problem happening every day to me, and to many of the students. The bed holds the function of transforming from a bed to a sofa, a wash basin, and to transportation. It also helps store everything you need for school/work, and cook meals.  Therefore, when you are awakened by the vibration and alarm from the Bedman (vibration is designed because someone may not hear the alarm when sleeping), you can finish everything you need to do of the “getting up process”: brushing teeth, washing face, having breakfast, changing clothes, and driving you to your school/workplace. Moreover, the reason why the design is called “Bedman” is that it can talk with you, like a steward, taking care of your schedule and everything you want. 

The interactions lie in audio control, the transformation of the bed, and about everything a steward can do.

Our poster: It describes the functions of “Bedman”. The name of the operating system is MOSS. Our ideal user is called Peiqiang.

Our Bedman is made of boxes.

We carved the boxes and insert 2 skateboards into them.

We also added wings so that it could “fly”. The cokes are for the fillers of the boxes so that the user wouldn’t crush the boxes when lying down onto them.