Вы находитесь на странице: 1из 106

My Education is a blend of Science and Art

Project of 1 st
Element

10years old
will

MY PROJECT

term1
making
software

tool

Art

interfere

observation

observation

prototype5

1st
element

Science

prototypes

prototype4

BARTLETT SCHOOL
I created spherical
robot in GAD .

object

prototype3

Study computational design


and do experiments.

Then I seek for change,


I decide to study more
fantastic subject as an
architect.

different
spherical robot

prototype2

LCD

UNIVERSITY

mobile
robots

prototype1

when I was 12 years old , I already


obtain three different program
languages . Silver medal winner
of
youth coding competition
in my country. Before I went to
university , I was a totally GEEK.

background

research
start

hypothesis

experience

ELEMENT& HIGH SCHOOL

design

develop

design

31 years old

Art

W
My hands want touching more truth by fabrication..

It is the 1st tattoo create


by Procesing I guess.
My heart want
observing more truth by
programming.

Programming and Hardware

Debug in 4 am main libruary of UCL

long previousMillis = 0;
long interval = 20;
int pulseTimeMID = 1450;
int pulseTime = 1650;
int servoPinA = 11;
int calibrationTime = 1;
int led1=0;
int led2 =0;
int led3 =0;
int fadeValue1;
int fadeValue2;
int fadeValue3;
//the time when the sensor outputs a low impulse
long unsigned int lowIn1;
long unsigned int lowIn2;

void loop()
//////////////////distance
int a= servospeed( pirPin1,h1,lockLow1 ,1550, lowIn1);
int b= servospeed( pirPin,h2, lockLow ,1250 , lowIn2);
//int b=1450;
if (a==1550 && b== 1250){
pulseTime=1300;
}

if (a==1550 && b== 1450){


pulseTime=1400;
}
if (a==1450 && b== 1250){
pulseTime=1200;
}
if (a==1450 && b== 1450){
//the amount of milliseconds the sensor has to be low pulseTime=1300;
}
//before we assume all motion has stopped
long unsigned int pause = 5;
//////////////////////////////////////LED1
// fade in from min to max in increments of 5 points:
boolean lockLow = true;
if ( led1==0) {
boolean takeLowTime;
for(int fadeValue1 = 0 ; fadeValue1 <= 255; fadeValue1
boolean lockLow1 = true;
+=5) {
boolean takeLowTime1;
// sets the value (range from 0 to 255):
boolean h1=true;
analogWrite(ledPin1, fadeValue1);
boolean h2=true;
int pirPin = 3;
//the digital pin connected to the
// wait for 30 milliseconds to see the dimming effect
PIR sensor's output
delay(30);
int pirPin1 = 6;
}
int ledPin1= 9;
led1=1;
int ledPin2= 10;
fadeValue1 = 255;
int ledPin3= 5;
}
int s=0;
if ( led1==2){
int fuc=1;
// fade out from max to min in increments of 5 points:
int i=0;
for(int fadeValue1 = 255 ; fadeValue1 >= 0; fadeValue1
int s1=0;
-=5)
{
int fuc1=1;
// sets the value (range from 0 to 255):
int i1=0;
analogWrite(ledPin1, fadeValue1);
// wait for 30 milliseconds to see the dimming effect
int RUNtime=1;
delay(30);
int StayTime=20000;
}
sensorpin = 0;
sensorpin1 = 1;
// analog pin used to connect led1=1;
fadeValue1 = 0;
sharp sensor
}
val = 0;
val1 = 1;
// variable to store the values from
if ( led1==1){
analogWrite(ledPin1, fadeValue1);
long previousMillis = 0;
}
int val = 0;
int val1 = 1;
// variable to store the values from Serial.println(fadeValue1);
sensor(initially zero)
/////////////////////////////////////////////////////////
lED2
if ( led2==0) {
for(int fadeValue2 = 0 ; fadeValue2 <= 255; fadeValue2
+=5) {
void setup()
// sets the value (range from 0 to 255):
{
analogWrite(ledPin2, fadeValue2);
pinMode(pirPin, INPUT);
pinMode(pirPin1, INPUT);
// wait for 30 milliseconds to see the dimming effect
pinMode(ledPin1, OUTPUT);
delay(30);
pinMode(ledPin2, OUTPUT);
}
digitalWrite(pirPin, LOW);
led2=1;
digitalWrite(pirPin1, LOW);
fadeValue2 = 255;
Serial.begin(9600);
// Debugging only
}
//give the sensor some time to calibrate
if (led2==2){
Serial.print("calibrating sensor ");
// fade out from max to min in increments of 5 points:
//
for(int i = 0; i < calibrationTime; i++){
for(int fadeValue2 = 255 ; fadeValue2 >= 0; fadeValue2
//
Serial.print(".");
-=5) {
//
delay(1000);
// sets the value (range from 0 to 255):
//
}
analogWrite(ledPin2, fadeValue2);
Serial.println(" done");
// wait for 30 milliseconds to see the dimming effect
Serial.println("SENSOR ACTIVE");
delay(30);
delay(50);
}
// put your setup code here, to run once:
led2=1;
fadeValue2 = 0;
pinMode(servoPinA, OUTPUT);
}
int
int
the
int
int

if (led2==1){
analogWrite(ledPin2, fadeValue2);
}
Serial.println(fadeValue2);

//////////////////////////////////////
/////////////////////////////////////////////////////////
lED3
if ( led3==0) {
for(int fadeValue3 = 0 ; fadeValue3 <= 255; fadeValue3
+=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin3, fadeValue3);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
led3=1;
fadeValue3 = 255;
}
if (led2==3){
// fade out from max to min in increments of 5 points:

int servospeed( int x,boolean h, boolean y,int z ,long unsigned int q){
int result;
/////////////////////pir
if(digitalRead(x) == HIGH){
//digitalWrite(ledPin, HIGH);
pulseTime=z;
//Serial.print("HIGH ");
//the led visualizes the sensors
output pin state, and the led is broken , why I write this.
if(y){
// wait for LOW before any further output is made: terrible
libruary i wanna make,,,damed .
y = false;
Serial.println("---");
Serial.print("motion detected at ");
Serial.print(millis()/1000);
Serial.println(" sec");
//delay(50);
}
h = true;
}

//////////////////////////////PIR
if(digitalRead(x) == LOW){
pulseTime=1450;
// digitalWrite(ledPin, LOW); //the led visualizes // Serial.
print("LOW");
if(takeLowTime){
q = millis();
//save the time of the transition from
high to LOW
h = false;
//done at the start of a LOW phase
}
//if the sensor is low for more than the given pause,
//we assume that no more motion is going to happen
if(!y && millis() - q > pause){
//makes sure this block of code is only executed again
after
//a new motion sequence has been detected
y = true;
Serial.print("motion ended at ");
//output your
behavior my son.
Serial.print((millis() - pause)/1000);
Serial.println(" sec");
pulseTime=1450;
// delay(10);
}
}
result= pulseTime;
return result;

Grasshopper to firefly to adruino to processing to java to internet in 1st term

Robot & kinetic Installations

1st Element Project

1st Element showing in Kinetic Art Fair 2014 London.

Fabrication of the 6th prototype of 1st Element . more than 700 parts inside it.

Fabrication of the 6th prototype of 1st Element .

First 3-axises movement been captured in classroom

Fabrication of the 6th prototype of 1st Element with water jet ,3d printer and other device.

Flying Fluid Project

Vision Light Project

Vsion Light

Vsion Light

High Speed Spherical Robot Data Interface Research

the key to increase the speed and keep its flexbility

the key is to keep the inside part in same


position.
when it in high acceleration.

advantages:
1good for the sensorson it to collect data
2 good for the direction control of the robot
accelerate direction

HOW IT WORKS.

use the compassor air to keep the inside core in same


position. with the high speed motor , it has the potential to

accelerate direction

reach 45 Km/h.

THE NEW PROTOTYPE ( balance control and direction control work sperately)

sensors

air compressor system

wireless charge battery

omni wheel robot

DIRECTION CONTROL:

use the control Fuzzy Operation code for omni robot we already have omni-robot is capable of moving in any direction by changing the velocity and direction of each wheel
without changing its orientation. But the speed is less than 4 KM/H.
Omni-wheels have poor efficiency because not all wheels rotate in the direction of robot movement. There are high losses from friction too. Position control will not work because of
high slip. And there is the high computational loss by calculating angles with trigonometry.

FO CODE CONTROL:

Balance CONTROL: use the control system of on ballbot ,to apply it the air compreesor system.

WPF programing, Kinect SDK, AForge.NET, PID algorithm, Kalman filter algorithm,
AVR MCU programing and STM32 MCU programing.

CHALLENGE :by seperating the kinetic system of mobility and balance,


the new robot would keep balance without sacrifice it mobility.

Balance CONTROL: embody the PID algorithm to the soft robotic device to acheive the ballance in high speed moving .

air press sensor

Solenoid Valve

ON: 3.5 ms, OFF: 2 ms, Dispension accuracy 1 ms

gyo sensor

Reference paper
spherial robot
1.Armour, Rhodri H., and Julian FV Vincent. Rolling in nature and robotics: a review. Journal of Bionic Engineering 3.4 (2006): 195-208.
2.Joshi, Vrunda A., Ravi N. Banavar, and Rohit Hippalgaonkar. Design and analysis of a spherical mobile robot. Mechanism and Machine Theory 45.2 (2010): 130-136.
3.Gosselin, Clment M., and Eric Lavoie. On the kinematic design of spherical three-degree-of-freedom parallel manipulators. The International Journal of Robotics Research 12.4
(1993): 394-402.
soft robotic
4.Trivedi, Deepak, et al. Soft robotics: Biological inspiration, state of the art, and future research. Applied Bionics and Biomechanics 5.3 (2008): 99-117.
5.Shepherd, Robert F., et al. Multigait soft robot. Proceedings of the National Academy of Sciences 108.51 (2011): 20400-20403.
on ball robot:
6.Kumagai, Masaaki, and Takaya Ochiai. Development of a robot balancing on a ball. Control, Automation and Systems, 2008. ICCAS 2008. International Conference on. IEEE, 2008.
7.Hollis, Ralph. Ballbots. Scientific American 295.4 (2006): 72-77.
contorl of omni robot:
8.Quigley, Morgan, et al. ROS: an open-source Robot Operating System. ICRA workshop on open source software. Vol. 3. No. 3.2. 2009.
9Hirata, Yasuhisa, Takahiro Baba, and Kazuhiro Kosuge. Motion control of omni-directional type walking support system Walking Helper. Robot and Human Interactive
Communication, 2003. Proceedings. ROMAN 2003. The 12th IEEE International Workshop on. IEEE, 2003.
10.Chen, Peng, et al. Omni-directional robot and adaptive control method for off-road running. Robotics and Automation, IEEE Transactions on 18.2 (2002): 251-256.
11.Mori, Yoshikazu, et al. A study on the mechanism and control of omni-directional vehicle. Intelligent Robots and Systems 96, IROS 96, Proceedings of the 1996 IEEE/RSJ
International Conference on. Vol. 1. IEEE, 1996.
12.Watanabe, Keigo, et al. Feedback control of an omnidirectional autonomous platform for mobile service robots. Journal of Intelligent and Robotic Systems 22.3-4 (1998):
315-330.
13.Chen, Peng, et al. Omni-directional robot and adaptive control method for off-road running. Robotics and Automation, IEEE Transactions on 18.2 (2002): 251-256.
algorithm
14.Li, Y. F., and C. C. Lau. Development of fuzzy algorithms for servo systems. IEEE Control Systems Magazine 9.3 (1989): 65-72.
15.Welch, Greg, and Gary Bishop. An introduction to the Kalman filter. (1995).
16.Freeston, Leonie. Applications of the kalman filter algorithm to robot localisation and world modelling. Electrical Engineering Final Year Project (2002).
17.Han, Jingqing. From PID to active disturbance rejection control. Industrial Electronics, IEEE transactions on 56.3 (2009): 900-906.
18.Choi, Song K., Junku Yuh, and Gregg Y. Takashige. Development of the omni directional intelligent navigator. Robotics & Automation Magazine, IEEE 2.1 (1995): 44-53.
19.Salzmann, Ch, D. Gillet, and P. Huguenin. Introduction to real-time control using LabVIEWTM with an application to distance learning. Int. J. Engng Ed 16.5 (2000): 372-384.
20.Feng, Hsuan-Ming, Chih-Yung Chen, and Ji-Hwei Horng. Intelligent omni-directional vision-based mobile robot fuzzy systems design and implementation. Expert Systems with
Applications 37.5 (2010): 4009-4019.
21.Jetto, Leopoldo, Sauro Longhi, and Giuseppe Venturini. Development and experimental validation of an adaptive extended Kalman filter for the localization of mobile robots.
Robotics and Automation, IEEE Transactions on 15.2 (1999): 219-229.
22.Aguirre, Eugenio, and Antonio Gonzlez. Fuzzy behaviors for mobile robot navigation: design, coordination and fusion. International Journal of Approximate Reasoning 25.3
(2000): 255-289.

Timetable & Shopping List

Timetable & Shopping List

Space Data Interface

space data interface


relavent research:
processing of big data
machine learning......
high speed data transport

smart light
clude computing

smart cloth
smart window

space data system:


stable device
data input:
1 light
2 sound
3 temperture
4 huminity
5 wind
6 movement of human
in space

smart robot

data outout:
1. control of the smart
mobile devices.
mobile device: smart cloth, smart kinetic light,
smart window, home robot.
data input: body data, location data.
data output: ........

Computational Design Research

Comptutational research in Beijing

Site

Vision analyze by Processing

Vision analyze by Processing

Reconstruction of the traditional booth by Grasshopper

Development of the traditional method of fabrication of the wood beam.

Estabiish a relationship betewwn envirnment and constuction of the basic element

Applying the circle packing system to define the site.

Combine of the design, culture, site, environment and structure..

Rendering

Architecture Design

Prospective rendering

HangzhouTaihu Holiday Hotel

Detail design

Plan and facade details

Guiyang China Railway Center Project

Plan

Super High Building for Opera

Facadw design

Вам также может понравиться