digest programming brief

July 24, 2007 on 9:33 am | In Oribotics | No Comments

digest.oribotics.net

programmers brief- by matthew gardiner

Description

synopsis
To transform xml feeds into emotional states for the oribots.
Do this by gathering and storing xml data feeds, and subsequently digesting the data according to rules defined by keywords. The conceptual idea is that the oribots are feeding on information from the web. The digest program is actually ‘farming’ the information, and processing (digesting) the data into a suitable form for consumption by the oribot.

emotions
happy, sad, fear, surprise, angry, disgust, aversion, ambivalence +(more)

what is digestion?
Digestion is a process of analysing a body of text, collecting key words, and checking the emotional modifier (emo-mod) assigned to the keyword. The highest emo-mod value takes precedence and becomes the emotion for the article. To allow for a large peak in a single emo-mod value, there is a peak emotional response followed by an average response.

how often does digestion occur?
Digestion occurs at the soonest possible time after the collection of a new article for digestion from a feed. All feeds are periodically checked for new elements. The feed rate can be calculated over a period of time.

how are the emo-mods defined?
All keywords are assigned an emotion and a value modifier. Here is a comma separated list of examples: terrorist = fear + 10, baby = happy + 20, technology = envy + 3.

can emo-mods be changed?
Yes, the user interface on oribotics.net allows users to modify the emotion and modifier value for any keyword.

DATABASE TABLES AND SCHEMAS

SCHEMAS
feeds - keep track of feeds: urls of feed, access times.
articles- table to download article into
words- dictionary of words assigned to emotions
emotions - emotions and values
bots - links bots to a SINGLE feed, and its emotion

FEEDS SCHEMA
 feedID(int)
 title (text)
 feedtype(text) - flavor of feed, atom, rss, rss2 etc…
 url (text)
 last access(date)
 frequency to access (in minutes) (int)
ARTICLES SCHEMA
 articleID (int) - system id for article
 feedID(int)
 title (text)
 url (text)
 shortbody(text)
 fullbody(text)
 keywords (text)
 peak-emo(emoID)
 average-emo (emoID)
 datetime (date)
WORDS SCHEMA
 wordID(int)
 word(text)
 emoID(text)
 modifier (int)
EMOTION SCHEMA
 emoID(int)
 emotion(text)
 modifiervalue(int)
BOTS SCHEMA
 botID(int)
 feedID(int)
 emoID(int)
 
LOG
 feedID(int)
 emoID(int)
 emoValue
 articleID(int)
 timestamp (date time YYYY-MM-DD HH:MM:SS)
 

PROGRAM FUNCTIONS

Automated functions (php code)

1. harvester (called by cron job)
Read all feeds periodically, check for, and collect new articles, then pass new articles to digester. The shortbody is collected directly from the feed, and fullbody is collected from the article url in the feed.

2. digester (called by harvester or cron job)
Deals with new articles.
Read article body. Extract keywords, run emotional scan on keywords, and determine peak emotional state, and average emotional state. Add record of the state in the log.

User interactive functions (php & flash code)

user interaction
users can do the following:
0. view current emo-state for each robot
1. view the most recent digest that created the emo-state
2. see the list of keywords and emo-mods
3. click on a keyword to alter the emo-mod for words
4. add new words - make words keywords
5. add new feeds + including their personal blogs
6. alter the emotional associations for words and

user functions:
edit pages for the following:
sources -> feeds
words -> emotional associations > modifer values

outputs
when queried by a bot request, outputs an xml file of current states

outputs
history of emotional output states

ADDITIONAL STUFF.

interesting reading
http://www.vepsy.com/communication/book4/4_21BOUCOU.PDF

good ideas
first taste peak - followed by deviation average tone of article
power - synchronisation - non chaotic - rms - as a measure of information
biorhythm - emotional physical intellectual

Prototype waterbomb flower

July 24, 2007 on 9:07 am | In Oribotics, Robo Tech | No Comments

In this video you can see the prototype oribot, handmade mechanics, being actuated through the firgelli micro linear actuator.

VHB 9473

July 20, 2007 on 9:32 am | In Oribotics, Robo Tech | No Comments

VHB 9473oh boy, I just got some super sticky tape from the US. Its called VHB (Very High Bond) tape made by 3M. Varieties of this tape is so strong its used in aircraft and buildings. Kind of amazing to think that sticky tape has become one of the strongest bonding agents. Well its not just sticky tape. Anyway I wrote to 3M and they advised me that the tape I need is the VHB 9473 tape, its 0.25mm thick, and is double sided and bonds aluminium, stainless steel, and plastics together. It takes a few days for the bond to acquire full strength. I can wait to try it out. Its kind of fun to think of doing away with screws in favour of this stuff!

I searched high and low for an Australian distributor of 3M tapes, talked to guys on the phone, only to find that I have to buy cartons to get a single roll, its too specialised and no one sells it by the roll, at least the VHB 9473… So I went to the US, and found CPC, rang through an order last Saturday morning, and it arrived today, very happy. I love making art, you get to try out so much cool stuff.

Folding Metal

July 9, 2007 on 10:05 pm | In Oribotics, Robo Tech | No Comments

I’m modelling the current generation of oribots, and have prototyped a new design and am going to make the parts from aluminium with some folds.

Ok. so I haven’t folded much metal before, and while I was modelling with my favorite modeller blender I was struck by the idea that metal has a thickness that needs to be considered when folding! Of course it does! My modelling prior to this point was all about aesthetics not about accurate measurements for laser cutting.

I’m trying to determine where to mark the fold on the aluminium so that the outside edge of the fold ends up at a precise location. By outside edge I mean if you have a sheet of paper on the table, and you make a valley (concave) fold then the outside egde is the bottom side of the paper.

So how do you calculate the radius of a fold (or bend radius)??? Well thanks to this Sheet Metal Bending Calculator I found some answers, which I am yet to test…

The following are my illustrations to help educate my train of thought on the matter.

I’m going to use the following values calculated using the Sheet Metal Bending Calculator.

1mm Aluminium
bend radius 1.591mm
outer radius 2.566mm
length of fold 4.037mm
length before 90º outside egde of fold 2.566mm (same as outer radius)

Measurements for folding 1mm aluminum

2mm Aluminium
bend radius 5.132mm
outer radius 3.183mm
length of fold 8.061mm
length before 90º outside egde of fold 5.132mm (same as outer radius)

Measurements for folding 1mm aluminum

Entries and comments feeds. Valid XHTML and CSS. ^Top^