Copy from Maker's Notebook BBR and similar type of bottom-up bots are build in layers,upon the sucesses of previous layer : 1.Do simple things first. 2.Learn to do them flawlessly. 3.Add new layers of activity over the results of simple tasks. 4.Don't change the simple things. 5.Make new layers work as flawlessly as the previous ones. 6.Repeat and infinitum.
PS.I know that, but I just like to "Do smart thing 1st" and latter go back to fix the simple thing. But it always lead to fix the smart thing,too. hahaha. Just like my Arduino Robot now , I go back to fix my Motor Controller & Signal Processor & Communication Handler actually "I just re-write all of them"
In this version only have differaintial drive motor control. Now it support Automatic Ramping. So the motor's operation is smooth. There will be no suddent movment now. Download MyBot002_2009_05_22.pde
Add the second Arduino for Communication & Data Logging.Two Arduino use I2C to talk to each other. The Main Arduino will have extra UART to access the Temperature sensor on the Pan& Tile. But now I have no time for the new configuration. I decide to rewrite the whole Differantial-Drive Control , So it can support ramping and much smooth control. Like Spin with degree control and Drive with SpeedUp/SpeedDown control.
A Robot Software should have(For simple Wheel Drive Robot) .Sensor Sampling & Storage .Sensor Low Level Function : Filter,Average,Delta,Threshold,.... .Sensor data fusion Function : Kalman Filter,.... .Wheel Low Level Function : Speed,Degree,Spin,Turn,Rampping,Encoder, .Wheel High Level Function : Drive Fast,Slow Turn,Watchout,Circle,..... (Other Manipulator will have other control function) .Object Avoidence Control Function .Navigation Low Level Function : X,Y,Theda calculation .Navigation High Level Function : Short-term Map, Long-term Map. .Enviroment Understanding Function : Door,Hall Way,Stair,.... .Then We can Really Do something.
Now , I am still in the Low Level Function Parts....
I got a insight today. Now I just passiv process the signal from IR and Motor. But, what really smart is If I try to predict the IR and Encoder value before I activate the motor. Then control Robot will be a lot easy. I can compare the Measurement & Expected value and gerenate more data to make decision.
It is more modulized now. But I still put everything in one file. Because it is much easy for me to look for the code. Will make it a group of library when eveyrthing are much stable. Now it just random walking and avoid objects.
IR & Compass/Acceleration Sensor Driver are all ready.
To Do List 1.Stall Detection 2.X,Y and Robot Heading Calculation 3.Target Driven Operation (This can solve stall problem,too)
PS.Robot is a complex system. Some problem can be solved by building higher level of abstraction like Short Rang Map or Absoluate coordination .
這次買了線鋸和鑚孔機除了電池還是要用橡皮筋外 PCB可以鎖上去了 CPU Board這次要用Arduino Mega 這樣我就可以有比較多的UART & IO
-------------------------- Servo 5顆 Differential Drive 2顆 Pan/Tile 2顆 IR Sensor Pan 1顆 -------------------------- Encoder Compass Acceleration Sensor IR Sensor x 5 RFID Speech Temperature/CO Sensor -------------------------- Zigbee Data Logger --------------------------
原本那台也會Upgrade到Mega 到時要來弄Robot-Robot Communication. 不過還沒想到要說什麼 而且Zigbee API Mode還沒搞定
THE 19th century was dominated by the British Empire, the 20th century
by the United States. We may now be entering the Asian century,
dominated by a rising China and its currency. While the dollar’s status
as the major reserve currency will not vanish overnight, we can no
longer take it for granted. Sooner than we think, the dollar may be
challenged by other currencies, most likely the Chinese renminbi. This
would have serious costs for America, as our ability to finance our
budget and trade deficits cheaply would disappear. ...
This decline of the dollar might take more than a decade, but it
could happen even sooner if we do not get our financial house in order.
The United States must rein in spending and borrowing, and pursue
growth that is not based on asset and credit bubbles. For the last two
decades America has been spending more than its income, increasing its
foreign liabilities and amassing debts that have become unsustainable.
A system where the dollar was the major global currency allowed us to
prolong reckless borrowing.
Now that the dollar’s position is no longer so secure, we need to
shift our priorities. This will entail investing in our crumbling
infrastructure, alternative and renewable resources and productive
human capital — rather than in unnecessary housing and toxic financial
innovation. This will be the only way to slow down the decline of the
dollar, and sustain our influence in global affairs.