Subscribe to Comments for "Mercurial Stick" Subscribe to SYN Shop - All comments
26 Jan 2014

The only problem with posting one of my projects is that I haven't really finished any. Obviously caused by not defining what to end up with. Until now I just wanted to play with an aspect of something and built what I needed to get to that point.

Got about 6 unfinished projects, so my member blog is going to start with the latest one and maybe work backward from there when it is completed.

The project I was working on (self-balancer bot) seems like a good subject to get the blog going. I realized I needed to set some minimum goals that were above my current abilities and experience.

I also wanted the minimum goals to take at least a few months to finish.
That way blog content can be created on a regular basis and I can get input from others along the way.

This is where we are now.
Minimum end goal:
Create a self-balancing platform that performs behaviors which, when combined, appear to display a simple definition of a 'life' and also allow it to exist in its environment without direct assistance.
High level project phases/goals:

1)      self-balance - stays in one location when bumped/disturbed

2)      remote control - by android - by pc (just to do it and get wireless link going to monitor status)

3)      autonomous control with obstacle avoidance - roam with no purpose (instinctive senses)

4)      add basic senses (light, sound, distance traveled, human presence, etc)

5)      add basic status/response displays - visual/audio (leds for pwr/etc, ?lcd, ?tft)

6)      add basic behaviors (light seek/avoid, sound seek/avoid, wall-following, alert, etc)

7)      add self-charging circuits, hardware, and code to provide means of unassisted existence

8)      add self-charging behavior and explore combinations of all behaviors (subsumption/etc)

9)      add intra/internet status/response so it can be monitored without physical access

10)      define a 'life', find an environment, and see how long it can 'live' there

Previous work up to now:

Initial design thoughts, direction

·         Use some of the parts I have bought on impulse over the past year

·         Make project durable so I don't have to keep fixing stupid things

·         Use Arduino control of two 50:1 gear motors with motor shield - MinIMU-9 for balance input.

·         Allow for future Arduino slave to Android or Rpi master cfg to extend goals (OpenCV, etc)

·         Mount IMU low, CoG High?, No wiring showing (unless intended for cosmetic purposes)

·         Visually minimal structure for central portion connecting drive base to top level(s)

·         Attempt to maintain a 3.5:1 (HxW) size ratio (also your ideal Cholesterol/HDL Ratio**)

** irrelevant fact, I just wanted to footnote something

Parts Listing (so far)

Previously Purchased Parts:

Qty

Item/Link

1 x

Arduino Uno R3

2 x

50:1 Metal Gearmotor 37Dx54L mm with 64 CPR Encoder

1 x

Pololu item 2502: Pololu Dual VNH5019 Motor Driver Shield for Arduino

1 x

Pololu Stamped Aluminum L-Bracket Pair for 37D mm Metal Gearmotors

1 x

Pololu Universal Aluminum Mounting Hub for 6mm Shaft, #4-40 Holes (2-Pack)

1 x

MinIMU-9 Gyro, Accelerometer, and Compass (L3G4200D and LSM303DLH Carrier)

2 x

Tenergy 12 Volt 1.2Ah Sealed Lead Acid Battery

2 x

Pololu Wheel 90x10mm Pair - Black

-

Misc Pololu Connectors

 

 

Previously Collected Parts:

2 x

7.25" wheels - front wheels from thrift store wheelchair

1 x

Surround sound speaker stand - from thrift store

1 x

4" round plastic electrical box- from thrift store

-

Misc hardware (nuts, bolts, etc)

-

Misc parts salvaged from used PCs and Hard drives, etc

-

Misc wires/wiring including an old cat 5 cable

 

 

Notes:

·         emergency cutoff, fusing, things that should be there that I skipped so far...

·         Complementary or Kalman ?

Other random ramblings:

Why a self-balancing bot?

One reason is that it will certainly look 'dead' if it fails to meet its own basic needs. ie. "'I've fallen and I can't get up!!!"

 

Mercurial Stick... what?

At the start I figure this thing will be more like the 1st definition of mercurial shown below and hopefully act more like the 2nd definition when completed.

mer•cu•ri•al (mərˈkyʊər i əl)
adj.

1. changeable; fickle; flighty; erratic: a mercurial nature.

2. animated; lively; sprightly.

 

So really,

Can a bot survive on its own, performing 'meaningful' tasks that satisfy an arbitrarily determined 'life-purpose'?

It wouldn't have to compete for survival... yet.

If it did have to compete in the future, would it be able to develop and retain a strategy to obtain a very limited resource? 

What if it experienced a 'freak' mutant code, sensor, or hardware upgrade giving it advantage over the competition?

How does the 'normal' competitor deal with the new situation?

Is it too soon to even dare ask these questions?

 

Pictures of earlier construction:

Pictures of various components (from web):
Arduino Uno R3
Pololu Dual VNH5019 Motor Driver Shield for Arduino 
MinIMU-9 Gyro, Accelerometer, and Compass

Until next time... create!