Video: https://vimeo.com/363451446

Goals: For this exercise, we are interested in creating something more abstract instead of a narrative story. Inspired by Martha Graham’s Lamentation, our goal for this assignment is to stimulate her dance movements, yet instead of separating the stretch motions upper and lower bodies, we aim to experiment it with a left and right linkages.

Process: Our original idea was to have the fabric entirely cover the arms, but it was too heavy for the motors, so we experimented with only a strip of it. Eventually, we ended up with a narrative where the arms wake up slowly, trying to figure out the stretch motion and success in the end.

Final Code: The program is pretty simple, just modifying the pose positions and waiting time between them.

#Modifications to ex4demo.py
    def sequence(self):
        """Demonstration sequence.  This could be decomposed further into subroutines."""
        
        self.write("Script starting.")
        self.send_cue('gains', 0.5, 1.0)        
        self.send_pose('start')
        self.sleep_unless_stop(1)

        self.send_pose('pos1')
        self.sleep_unless_stop(3)

        self.send_pose('pos2')
        self.sleep_unless_stop(1)

        self.send_pose('pos3')
        self.sleep_unless_stop(2)

        self.send_pose('pos4')
        self.sleep_unless_stop(0.5)

        self.send_pose('pos5')
        self.sleep_unless_stop(4)

        self.send_pose('pos6')
        self.sleep_unless_stop(1)

        self.send_pose('pos7')
        self.sleep_unless_stop(1)

        self.send_pose('pos8')
        self.sleep_unless_stop(1)

        self.send_pose('pos9')
        self.sleep_unless_stop(1)

        self.send_pose('pos10')
        self.sleep_unless_stop(1)

        self.send_pose('pos11')
        self.sleep_unless_stop(0.5)

        self.send_pose('pos12')
        self.sleep_unless_stop(0.5)

        self.send_pose('pos13')
        self.sleep_unless_stop(0.5)

        self.send_pose('pos14')
        self.sleep_unless_stop(1)

        self.send_pose('pos15')
        self.sleep_unless_stop(2)

        self.send_pose('pos16')
        self.sleep_unless_stop(2)

        self.send_pose('pos17')
        self.sleep_unless_stop(1)

        self.send_pose('pos18')
        self.sleep_unless_stop(1)

        self.send_cue('magnitude', 5.0)
        self.sleep_unless_stop(4)

        self.send_cue('tempo', 120)
        self.sleep_unless_stop(4)

        self.send_cue('random', False)
        self.sleep_unless_stop(4)

        self.send_pose('start')
        self.sleep_unless_stop(1)
        
        self.write("Script done.")
        return

#Modifications to exercise4.poses
start,0,0,0,0
pos1,0,200,0,0
pos2,0,0,200,0
pos3,0,200,200,0
pos4,0,-200,0,0
pos5,0,0,-200,0
pos6,0,-807,272,0
pos7,0,0,-807,0
pos8,0,400,800,0
pos9,0,-400,500,0
pos10,0,350,-500,0
pos11,0,-200,-400,0
pos12,0,700,300,0
pos13,0,-350,400,0
pos14,0,0,-800,0
pos15,0,-600,-300,0
pos16,0,0,50,0
pos17,0,-200,-200,0
pos18,0,-800,800,0