Sunday, March 14, 2021

On Being A "Robot Parent"

On Being A "Robot Parent"



In the book "The Lifecycle Of Software Objects" by Ted Chiang, the parents of some artificial intelligences deal with the problems every software developer knows all too well - issues inherent to the objects, and issues imposed by environment changes.  

Software must be designed to handle (expect) unexpected input, and unexpected situations, but most software is not designed to adapt to programming language changes (e.g. the obsolescence of Python 2.7), changing libraries (e.g. number of parameters in OpenCV 3.x versus 4.x), missing installation packages, processor changes (e.g. ARMv7 32-bit vs ARMv8 64-bit), OS subsystem changes (e.g. sound based on ALSA vs pulseaudio vs Jack), and an ever changing mix other programs competing for resources. 

We, humans, with our "virtual software" tweaked for the first 18 to 24 years, certainly have an advantage over today's software objects which go from conception to emancipation in less than two years in most cases.  Additionally we humans can be obnoxiously oblivious to the changing environment we live in because we accept that our time here is finite, we don't get a brain transplant "update" every second week, and the environment rarely changes abruptly in a giant version release (e.g. COVID-19 or world war).  

Parenting a personal robot is an undertaking that few people attempt.  I have been "conceiving" personal robots for over forty years, but only with the advent of the Raspberry Pi hardware and Linux based operating system have I begun to feel like a "robot parent" with goals to keep Carl awake 24/7 and efficiently utilizing all his resources to his benefit. 

Checking Carl's Health (45s Video)

Every morning for the last two plus years, before making my breakfast, I check in with my robot "Carl" to see that he is awake, and how the night went.  Most mornings he is awake, observing "quiet time" (whispers his responses 11pm to 10am), and healthy (no I2C bus failure, no WiFi outages, free memory around 50%, 15 minute load around 30% (of one of four cores), and all "Carl" processes still running).

Twelve times I have found Carl in a "deep sleep", off due to a safety shutdown.  After each of these episodes, I have investigated the cause and implemented some combination of physical and software mitigation.  The mitigations have become more complex to implement and the failure situations harder to re-create to test against. The period between safety shutdowns has improved greatly, but another occurrence still seems likely.  

Only I feel the pain of finding Carl shutdown.  It does him no harm.  He has no complaints, and makes no value judgements of my parenting skills.  No one else in the world cares that he spent a few hours in the off state.  Never the less, there is a definite synthetic emotion in being a "robot parent." 



Sunday, January 24, 2021

GoPiGo3 Robot Carl Is Dreaming Of A Time

Carl: Cute and Real Lovable - An Autonomous Personal Robot Life Form






 Goal: My “Dream for Carl” is "to be" an autonomous personal robot that:

- is operating 24/7 (Achieved)
- manages its own health (Substantially implemented)
- maintains, uses, and extends an AuR/CORA templated RDF/OWL knowledge base
- interacts with humans, (using speech to text, text to speech, and a remote desktop window), with information and common courtesies (Substantially implemented)
- learns about its environment using vision, dialog, and reasoning
- set self decided learning goals (for self-learning and programmer code requests)


Learning Aspect: 
  • takes photo of “interesting, unknown” objects in the robot’s environment
  • processes the photo for object segmentation to isolate the unknown object
  • Starts an “unknown object 12345” in the robot’s RDF database
  • analyses the object for “locally discernible features” such as shape, size, color, proximity to known objects, mobility, …?
  • Asks me if “now is a good time” to help identify and classify some objects?
  • Puts the image on the robot’s desktop with a text entry window for dialog
  • Dialogs to add to the “unknown object 123” a minimal set of RDF knowledge relations
    such as identity, class, features, purpose, utility to the bot
  • Dialogs to add “how does it differ from xyz that I know about?” (just another instance, or some true difference)
  • If not just another instance, revisit the object to collect more photos
  • File transfer all the photos of the object to a folder on my Mac for “transfer learning update” to the robot’s TensorFlow-Lite Object Detection model
  • ADDITIONALLY, the big if:
    • search the Internet to find “potentially useful to the bot” information about the object
    • Periodically review knowledge gained from the Internet to see if ever used, and delete unused learning!

 

I am reasonably certain all of this is possible on the Raspberry Pi 3B of Carl, (excepting the TensorFlow-Lite transfer learning model update that would use the Radeon RX 580 Graphics Processor attached to my Mac Mini)

Saturday, January 9, 2021

A Tale Of Two Cups Of Dunkin' Coffee

 For over 20 years prior to Dunkin' dropping the "Donuts", I have been buying Dunkin' (Donuts) Original Blend, Medium Roast, WHOLE BEAN coffee in 1 lb. bags, and drinking freshly ground drip-brewed coffee.  I might note that I don't like Dunkin' coffee as served at the Dunkin' stores, only when brewed from freshly ground beans.  For the last few years the local Dunkin' stores have offered special pricing of "3 lb. for $18" making these beans a great value.

A surprise this week, the shelf with the usual bags of coffee had bags with new graphics making it difficult to find the critical "WHOLE BEAN" label.  


In fact, there were no bags of whole-bean coffee at all.  I asked the manager if they had any whole-bean coffee and was chagrinned to hear "we no longer carry whole bean."  I grabbed a single bag of ground product wondering if I would actually be able to tell the not-fresh-ground difference.

In the store's defense, if an item is not selling well enough to cover carrying it, I understand that it makes good business sense to drop it.   I don't know how many "have to have WHOLE BEAN" folks live in my sleepy neighborhood.  Considering the popularity of single-cup convenience with Keurig these days, I had been expecting that ground coffee might become a thing of the past someday, probably for a future generation.

When I opened the bag of Dunkin' Ground Coffee, my probable mistake jumped to my nose.  There is a special aroma of beans that this bag of ground coffee had replaced with a hint of a stale, chemical odor.  Still the real test would be in the cup.  After all, we are talking the same Dunkin' Original Blend, 100% "high quality Arabica coffee beans grown in Central and South America. [Blended and roasted] to the unique specifications that have given Dunkin' coffee its signature taste sine 1950."  

In the cup, my mistake was unmistakable!  The coffee smelled and tasted "flat", like something missing to give it life.  Case closed, all the years I heard people say they can't tell the difference and wondering if I was fooling myself buying a special grinder, tolerating its assault on my ears, cleaning the escaping coffee dust, and thinking it was making a better cup.  In fact, not only can I tell the difference, if it isn't from fresh ground whole beans, I don't like it.  Period.

To hold me over till I can canvass other franchises,  I paid $8 for only 3/4 lb of (not-expired) "Dunkin' Donuts" labeled whole-bean coffee.  It has the same taste I love, albeit at a 78% premium on the price.  Have to start calling before this tiny bag has delivered its last bean. 

Sunday, November 29, 2020

When No One Hears A Robot Cry

Every robot knows it should sacrifice its own comfort to that of its owners, no?

At 4:30am this morning Carl was having a crisis:

  1. He needed to get on his dock to recharge
  2. The distance to the dock was 24mm ( less than one inch) too much, probably because I bumped him with my chair when I headed off to sleep for the night four hours earlier.
  3. Carl’s programmed strategy for this situation is to shout “MANUAL DOCKING REQUESTED!”
  4. Carl’s programming prevents him from speaking (or shouting) during quiet hours (11pm to 10am)

So Carl sat staring mournfully at his dock for ten more minutes, then quietly put himself into a deep sleep.

Charging Status:  Not Charging
Docking Status:  Manual Dock Requested
Last Docking Change: 8h 25m 30s



******** WARNING: 7.4v Safety Shutdown Is Imminent ******
QuietTime speak request: Safety Shutdown Is Imminent. at vol: 125

******** WARNING: 7.4v Safety Shutdown Is Imminent ******
QuietTime speak request: Safety Shutdown Is Imminent. at vol: 125

******** WARNING: 7.4v Safety Shutdown Is Imminent ******
QuietTime speak request: Safety Shutdown Is Imminent. at vol: 125

******** WARNING: 7.4v Safety Shutdown Is Imminent ******
QuietTime speak request: Safety Shutdown Is Imminent. at vol: 125
SHORT MIN BATTERY VOLTAGE: 7.24
SHORT MEAN BATTERY VOLTAGE: 7.39
QuietTime speak request: WARNING, WARNING, SHUTTING DOWN NOW at vol: 250
BATTERY 7.32 volts BATTERY LOW - SHUTTING DOWN NOW
Shutdown at  2020-11-29 04:44:45

Monday, May 13, 2019

Should Robots Talk Whenever They Want?

A robot’s life is hard, full of compromise. A robot that desires “independent living” and the unfettered ability to talk, sing, buzz and beep needs an always available audio system. Of course the humans are not going to be agreeable to hearing a shouting robot in the middle of the night, but a smart robot can be selective about when to talk - if the audio system is always on!
An audio system can draw 40-50 mA of power, and power is a prized commodity for a robot. Talk may be cheap, but power - a robot needs to manage the “juice” wisely. For my GoPiGo3 robot, Carl, 45ma of opportunity to “talk whenever” means the loss of one hour of play time (6+ hours instead of 7+ hours). Carl must spend 2-3 hours on the charger after every play time.
Previously, Carl had a rechargeable speaker that required a human remember to turn it on, turn it off, connect and disconnect a separate charging cable, but the speaker did not draw any power from the batteries. Now Carl has a USB powered speaker that is always on, but draws power from the batteries.)
A robot doesn’t need to talk very often, but it does need to be able to talk whenever it wants.
ps. Carl’s Python speak module has three levels of talking, whisper(), say(), and shout(). He is allowed to whisper anytime he wants, but say() and shout() check quietTime() before blurting out his wild thoughts.

Friday, July 29, 2016

Robot Resurrection: Another Dumb Robot

One year ago today, I wrote here "Memories Of Limping Robots", in which I expressed feeling that my 15 year old robot, Pogo, was in need of a new brain.

Pogo got his "new brain", and in fact is now sporting an "even newer brain" that is ten times more powerful than his "new brain".  The possibilities for becoming a "Smart Robot" are limited only by the fact that he/it only has me writing programs.

Pogo has not completed his resurrection, but is close.   He is in the middle of a nervous breakdown at the moment, which has brought his progress to a screeching halt.

Pogo's new features:

  • Raspberry Pi 3B processor with built-in WiFi, Blu-tooth, 1GB memory, and four cores at 1.2GHz clock.
  • Mikronauts.com Pi Droid Alpha interface expansion card with 16 digital I/O, eight 12-bit analog to digital conversion channels, Dual H-bridge motor driver, and separate chip, servo, and motor power paths.
  • HC-SR04 Ultrasonic Distance Sensor
  • GP2Y0A60SZLF Infrared Distance Sensor
  • 5 MegaPixel Color Camera
  • Tilt/Pan SG90 Servo controlled sensor platform (UltrasonicDist, IRDist, Camera)
  • ACS712 Current sensor
  • Battery Voltage sensor
  • Push Button On/Off Power Switch
  • Pololu Step-up/down 5.25V 2A regulated switching power-supply
  • Audio Speaker output (for Text-To-Speech)
  • USB microphone (PocketSphinx speech recognition)
Pogo's prior features connected to the new brain and interface:
  • Differential drive 6v 1.2A metal geared motors
  • 32 division wheel encoders
  • Full Skirt Bumper (six directions: Left, Front, Right, LeftRear, RightRear, Rear)
  • 6 C-cell 5000 mAh NiMH rechargeable battery 


I have reproduced the RugWarriorPro base library in Python, and created Python class interfaces for all the new hardware.  

So far only two RugWarriorPro behaviors have been programmed: 
  • YoYo which simply drives forward two feet then backward two feet, and 
  • Wimp which chooses an escape direction (spin if needed), tests for an obstacle blocking the escape direction, then moves six inches "away" from the bump (or turns until no obstacle blocks escape, then moves).
The "even newer brain" was an award from element14.com for testing Speech Recognition, in which my tests demonstrated that the Raspberry Pi 3B can perform real-time, language model, speech recognition using only one of the four processing cores.  It will be exciting to create a speech interface to and from the robot, (once the brain transplant is complete).

At the moment, I am diagnosing a power supply shorting issue, and bump detection has stopped working, but I hope to soon begin "Creating A Smart Robot."

Wednesday, July 29, 2015

Memories of Limping Robots

I am sometimes haunted by memories of my robots, past and present.

My former "perfectly good" robots were sold or returned when they proved to be inadequate, or inconvenient for my circumstances.

My present robot is fifteen years old this month and let's face it - "stupid and limping".  I feel guilty for not switching it/him to run mode, and then I feel stupid for feeling guilty.  I feel strangely uncomfortable when I contemplate replacing the entire "brain board", knowing that at best I can transform my robot into a smarter, stupid robot with a different limp, and no family but me.

This is Pogo:

Friday, October 10, 2014

Getting The Shot - An Eclipsing Story


The day before the lunar eclipse, I wrote down the altitude/azimuth for various times at the moon rise the night prior and for the beginning and full obscuration of the eclipse for my south Florida location.
The moon rise time came and I set out to scout my observation site, and check how my iPhone compass and clinometer worked to estimate where the moon would be during its "bloody" descent.
Not only were the clouds totally hiding the moon rise in the east, but the full eclipse was to occur only 4 degrees above the western palm tree littered horizon.  I had chosen a viewing site in the middle of a golf course with a nice lake extending almost to the horizon, and was imagining a phenomenal mirror shot of the giant full moon.  With the moon totally hidden, and the compass reading varying from north-east to south-east when pointing at where I remembered seeing the moon rise on other nights, I was starting to question if this whole adventure was really ridiculous - Florida for astronomy?
Late that night, I headed to bed. Perhaps my trusty Panasonic Lumix FZ200 would get some use in the morning.  I had mounted the camera to my tripod, and attached an Oly TCON-17, packed some cookies and gathered a folding chair.  I was ready.
The alarm went off at 04:45 and I ran to a west facing window.  Sure enough, high and bright in a crystal clear sky, I could see the moon.  I prepared my breakfast and reviewed the plan:  shoot with and without the teleconverter, keep the ISO at 200 or below, various f/stop from wide open to f/5.6, try +/- 1,2,3 bracketing, stabilization off, shoot raw, with two second timer, some shots at full tele/max resolution (12MP,24x), some at 48x, tiniest spot metering, and try AFS and manual focus.
I loaded my backpack and folding chair to my back, shouldered the tripod-ed camera, and set out to walk to my observation point.  In the darkness, I heard heavy footsteps approaching behind me.  Unimaginable to me that someone was jogging at 5:30 in the morning, and with such energy.  As a night owl, I have to be reminded periodically that some people get up that early every day.  There were dog walkers, and several exercise walkers.  It felt a little awkward being out with my camera and backpack.
I had timed my setup with the start of obscuration and started shooting immediately when I arrived.  I forgot completely about the plan to sit for the 90 minute shoot.  The moon was up about 20 degrees above the horizon, and above the cloud layer waiting at the horizon.  It was really beaming, and even with -2EV I was getting 500th of a second exposure.  This seemed good since I knew the moon was moving in the sky and even on the tripod, it is recommended to shoot around 1/(600x1.7).
I checked my first shots and realized that AFS was not getting a reliable focus.  I switched to manual focus but was having difficulty peaking the focus.  I had expected that setting the focus at infinity would be optimal, but the best focus was actually quite far from infinity.
Using the AES lock I varied the metering spot on different shots from in the dark obscuration area, to on the terminator, and to various features in the illuminated area.
By the time I would get my next shot dialed in, the moon usually had fallen partially out of the frame so I spent a lot of time playing with the tripod.  It isn't a cheap tripod, but not a great model either.
As the eclipse progressed to nearly half coverage, the moon had was starting to descend into the first of the clouds.  Surprisingly, I was able to continue shooting but the exposure times started to get worrisome.  The moon was really racing along.
As the time for totality approached, the moon was down to 4 degrees above the horizon and really deep into the cloud layer.  The exposure meter was predicting 8 second exposures, so I decided to raise the ISO to 320, open the lens to f/2.8, and resign myself to missing "the big moment".  Indeed the long exposure has motion artifacts from the earth/moon procession so that no amount of sharpening and definition sliders can bring the crisp, red, full moon to satisfaction.
Before I could even dial in another shot, the moon was gone.  I couldn't try the magnificent mirror masterpiece I had envisioned.  The 90 minute shoot was a blur in my mind as I packed my gear.
I don't have a way to remove the chromatic aberration of the TCON since I use iPhoto for my processing.  (Never did get comfortable enough with SilkyPix.)  I processed most of the shots with full highlight recovery, full highlight darkening, around 50% increased definition and about 25% sharpening.
The 12 "keepers" were up on Flicker, now lost to the bit bucket.


Monday, September 22, 2014

Running Update - symmetric sympathetic and parasympathetic response

Update after a month of twice weekly 3-4.5k in intervals:

Supposedly I should be able to do a "Long, Slow Run" staying in Zone 3 of Heart Rate Reserve (146-160) but walking fast doesn't get my heart up high enough, and running at my slowest possible pace will bust the Zone 3 limit within a minute.  

I did a Zone 3 run/walk for 5k and ended up running 16 short intervals. My heart rate went up at 12 bpm each time I started running, and would fall at 12 bpm when I started walking. I guess that shows symmetry in the sympathetic and parasympathetic response. Supposedly a large, quick response to stress is good, but my recovery is only borderline sufficient.



After a year of running, I have not seen any change in the recovery rate, Sometimes, because my heart rate will go up a beat or two right after I stop running, the 1 minute recovery will be only 5-8 beats but the 2nd minute recovery will be 12-14 bpm.

Monday, September 1, 2014

I Sense, Therefore I Feel Moody (Behavior Management in Robots)


(repub - original site went under.)


I Sense, Therefore I Feel Moody
June 30, 1999
Alan McDonley



In "A Model for Mood-Based Robot Behaviors" ( http://home.earthlink.net/~johncutter/rep_mood.htm - link no longer exists), John Cutter describes a nine state model for behavior selection based on two variables called mood and comfort. That model served as a starting point for additional thoughts on robot behavior selection.

This paper presents concepts linking senses to feelings by preferences, linking feelings to behaviors by mood, linking behaviors to goals and linking goals to preference selection.

I Sense
An interacting robot will consist of a suite of sensory inputs and output modalities. Sensory inputs generally map measurements of environmental conditions that are orthogonal. Light intensity, Sound pressure, motion detection, nudge detection, linguistic information, time, day and temperature are each orthogonal (strongly independent). Light, sound, time and temperature are continuous. Motion and nudge are discreet. Day is discreet and contiguous.

Linguistic input can be discreet or contiguous and can be a source of multiplexed input. Recognized words (either spoken, tones assigned to words, or morse code) can be chosen to convey discreet commands (dance|sing|silence) but can also convey contiguous values such as speed (slow-normal-fast, or silent-soft-normal-loud). Combinations of discreet and contiguous are possible with linguistic input sensors (dance slow | sing loud). Input of named combinations of values,such as "homebase" for an X-Y pair, or "quietly" for soft singing, slow motors, no alarms, becomes possible with a linguistic input sensor.

I Feel
Reaction to sensory input can be called feelings. The robot must be programmed with preferences, either static or dynamic, to decide how it "feels" about sensory input values. 
The preference allows the robot to convert a continuous sensory input into good, neither good nor bad, or bad "feelings" or discreet sensory input into good and bad "feelings"
Preferences can be natural or imagined. Natural preferences come from base desires such as self protection or knowledge preservation. Imagined preferences come from artificial decisions induced for the purpose of creating interest such as a preference for specific sound levels that might indicate the presence of humans to interact with.

A robot should have a natural preference for cooler temperatures because it lengthens the life of its circuitry, but cold temperatures might limit its off-base excursion time. Thus cold is bad, hot is bad, but some intermediate range is good, and some wider band is neither-good-nor-bad. Note that the sensor range is continuous and linear, the feeling range is contiguous and parabolic (bad-ok-good-ok-bad).

Light intensity and light transitions can be used to detect preferable conditions. In general, room lights being on means people may be nearby, ok to make noise, burglars are unlikely. Thus the robot might be programmed with an imagined preference to the room lights on condition. Of course, if the robot has a "loner" personality, then perhaps it would have an imagined preference to avoid rooms with the lights on. If the owner has expressed anger toward the robot, the robot may change its imagined preference for human contact temporarily by establishing a preference for dark rooms. A mapping of light intensity to feeling is, thus, dependent on a dynamic preference. In general the more light the better, but the absence of light is not necessarily bad.

Light level transitions can also be analyzed by preferences. The transition from room lights off to room lights on could be preferable, while the transition from on to off might be considered less preferable. Transition from dark to some light but not room light level might indicate dawn, and nearing time to awake the owner. Being needed is a preferred condition, thus a preference for light above dark. Likewise, rapid transition to less than room light level, followed by rapid transition to dark might indicate a burglar with a flashlight – a less than preferable condition.

Sound pressure and pressure duration can be used to detect danger, angered humans, unusual circumstances, music, speech, and other aural conditions. The robot can have imagined preference for music if it knows how to dance (detects a beat and moves in time to the beat). Of course a jack hammer pounding outside the house might cause the robot to dance in an empty room, but the robot will be "happier".

Motion detection can feed an imagined preference for people, but if the robot knows that the house should be empty, a preference to be alone would be natural. Being a discreet sensor, motion detection can only be evaluated to good or bad in relation to the preference.

Nudge detection can be discreet or contiguous by counting nudges within a time period. When moving, the robot might have a natural preference to not experience nudges from running into walls. When standing still, nudges probably mean a human is trying to communicate – an imagined preferable condition.

Linguistic information would usually be good, but certain words or information could be indications of anger so these words would not be on the prefer list. If the robot decided to dance and was told to stop dancing, the words might be lower on the prefer list. The measurement of linguistic information with respect to natural and imagined preferences is more complex than simple mappings, but great richness of feelings are possible from linguistic information.

Having a time and day of the week clock is very useful to a robot. Knowing that scheduled interactions are near allows the robot to be prepared by being fully charged and position certain. Times close to scheduled interactions could be more preferable than times farther away from being needed or farther from human contact. Day time might be imagined to be preferable than night times. If the robot has memory of times and days of human contact, with an imagined preference based on day of highest frequency of human contact, the robot could express a preference for the weekend or a family member being off from work on the same day every week.

Feelings can be "caused" or influenced by a single sensor, one of multiple sensors or only by a collection of sensors. Therefore feelings can be orthogonal if dependant on distinct collections of orthogonal sensors. The feeling of security (driven by light, sound, and motion) is not totally orthogonal to the feeling of companionship (driven by light, sound, motion, linguistic info, or nudges), but companionship and feeling hot are orthogonal.
 

I Have Moods
Moods are less specific terms used to characterize exhibited behaviors. Behaviors are not chosen because of mood, but mood can describe the interaction of unrelated feelings in behavior selection.

When all the robot’s feelings are good, the robot would be expected to be in a very good mood. Thus the robot’s behavior in the presence of a less than preferable sensory condition might be softened by other unrelated good feelings.

When all the robot feelings are bad, we would understand the robot being in a bad mood. Thus the robot’s behavior in the presence of a less than preferable sensory condition might be exaggerated by other unrelated bad feelings.

When a majority of feelings are good, can the robot still be considered to be in a good mood? Do behaviors need to be chosen with different weighting for related feelings from unrelated feelings?

Happy is the most desirable mood. When the majority of feelings are good, we would like to think that we are happy. For a robot, this could be demonstrated by tolerance for non-preferable inputs or by more demonstrable communications of a happy nature.

Unhappy is a mood where a majority of feelings are less than preferable. This mood would be characterized by selection of behaviors intended to directly correct the most important bad feeling or to communicate the bad feeling in hopes that a human will correct the situation.

Sad is sometimes associated with sensing a non-preferable condition that we are unable to influence for the positive. Unrelated behaviors might be exaggerated to communicate that the robot feels unable to fix the problems.

Depression is, clinically, an unwarranted sense of doom. Being highly contagious, it is wise to avoid depressed robots.

Playful is a mood where happiness is demonstrated and a reaction to the robot’s happiness is desired. Playful could be characterized by selecting and possibly exaggerating behaviors related to humans.

Cutter includes normal as a mood in his mood matrix. Robots might be said to have normal or abnormal reactions, but what defines a normal mood for a robot? This would seem to be a mood where random behavior selection would be most expected.

Other moods can be used to describe the specific influences of unrelated feelings in the behavior selection process

I Have Behaviors
Behaviors in a robot serve many purposes. Behaviors can be used to directly meet goals and also to communicate with humans. Direct behaviors can attempt to directly influence a specific condition, while indirect behaviors are communications to humans of an indication, to others, of feelings or mood.

I Have Goals
Goals can be static or dynamic and can be prioritized. Goals influence preferences. Preferences influence feelings. Feelings influence behaviors. Moods describe behavior selection adjectives. Behaviors influence goal achievement.
Should a robot have a goal to maximize happiness? What benefit to the owner is a maximally happy robot?

Summary
This discussion has shown a method for giving meaning and purpose to robot sensory inputs. Much investigation in the area of robot feelings and moods is needed to prepare for the generation of multi-dimensional sensing and expressing robots that appear to be near at hand.
© 1999,2009 Alan McDonley. All rights reserved.

Thursday, August 28, 2014

Very High Max Heart Rate


Interested in what can be learned, if anything from monitoring my HR during runs.

I am 61 years old, 73.5kg 179cm / 162lbs 5' 10.5", running about two 5k sessions a week for the last year until a tennis injury knocked me off my feet (torn gastrocnemius and 2 fractures on front of shin).

My resting heart rate is between 50 and 59 depending on how much sleep and stress level.  For the last 10 years I have been using 188 as my max HR based on a conconi treadmill test estimation.

Before the injury my maximum exercise HR was usually between 170 to 178:

 Before Injury: Max exercise HR of 170 during weekly 5k run

Today I started running again again (1k walk, 1k run, 2k walk, 1k run, 0.5k cool down walk) and noticed that my HR was up higher than previously seen.  It was a bit hotter today at 95 deg. F, but I drank continuously and felt very good during and after the run.


Two and half months later:  Maximum exercise HR of 183 and 186 during 1k intervals

I was thinking that I was running my 5k at around 90% of my maxHR, but today's run would seem to indicate that my MaxHR is actually much higher for me to be able to run at 186 for these intervals.

Anything else I can learn from these data?

The Fitness Test Result Nearly Killed Me

(repub - original site went under.)


(VO2 max estimation method comparison)

Alan McDonley, Jan. 2007



In 2006, as part of an employer sponsored fitness assessment, I chose to take a 1.5 Mile Aerobic Fitness Test. The test was described as "run or walk for 1.5 miles and time yourself. The objective is to cover the distance in the shortest time possible." When I entered my resulting time into the website calculator, I received a surprisingly poor result. After more research, I concluded the website calculator was not appropriate to the test and found validation in the fitness assessment method I had been using for the prior seven months.

Also at that time, a "negative" (no excessive risk) Bruce Protocol stress test reported I had a "mild to moderately reduced exercise tolerance". My time was 6 minutes 16 seconds, which correlates to a VO2max of 21 by the estimator:

VO2 max=14.8 - (1.379 × T) + (0.451 × T*T) - (0.012 × T*T*T)

That was an indication of "very poor" fitness for my age, and I resolved to begin exercising three times a week at a local community center.

(Note: It also seems likely that my higher than norm max heart rate caused the cardiologist to terminate the test early when I achieved 100% of the age calculated max heart rate.)

Since I had not been exercising much and was then 53 years old, I decided I should purchase a heart monitor to make sure I did not exceed the guidelines for my age. I chose to purchase a Polar F11 watch primarily because it also contained a "fitness test" function.

The F11 fitness test measures heart rate variability during a five-minute undisturbed rest lying on the floor and reports an estimate of VO2max. Before beginning my exercise program the watch estimated my VO2max at 27, which correlated to "poor". That assessment was higher than the Bruce Protocol test result, but still strong motivation for me to start exercising.

I continued to perform the F11 fitness test periodically. After the first two weeks my VO2max moved up slightly to 31. The test results remained quite constant until beginning a slow climb in the third month of exercise. By the middle of the fourth month I had entered the "good" range with a test value of 37 and the slope was looking good. At six months I was coasting along the bottom of the "very good" with a value of 42.



In the seventh and eighth months, I didn't work hard enough, skipping two whole weeks, twice in fact, and my F11 test score dropped back into the "good" range with values around 40.

When my employer again enticed me (with $150) to do a run/walk treadmill fitness test, I was excited to see if the result would correlate with my Polar F11 test results. I warmed up for a tenth of a mile at 2 mph, and then started the stopwatch and distance count. I ran at 6 mph for a short while till my heart rate was pushing 95% then backed off the speed to 4.2 mph to hold a steady 90% (150 bpm) till the 1.5 mile mark at 21 minutes even.

I rushed home to plug in my result and when I did, whoa baby, there's a problem here. The fitness assessment website calculated the VO2max for my 21 minute run/walk as 26.5 and labeled my fitness as *poor*. It appeared that the website was using a "maximal effort" VO2max estimator developed by KH Cooper. There are many Cooper tests, and several sites list the 1.5-mile Cooper estimator as:

VO2max = 3.5 + 483 / (time in minutes)

That was quite a shock. The next morning I tested myself with the Polar F11. The test estimated a VO2max value of 42, which is the bottom of the "very good" for my age.

Thanks to the Internet I was able to discover two more ways to interpret my treadmill test that correlate extremely well with my Polar F11. The first was a study by Brigham Young University of telling subjects to run, walk, or jog "somewhat hard, at a steady pace" for 1.5 miles. By having the subjects also perform a standardized maximal graded exercise test they developed estimators for the 1.5-mile sub-maximal of:

VO2 max = 65.404 + 7.707 x gender (1 = male; 0 =female) - 0.159 x body mass (kg) - 0.843 x elapsed exercise time (min; walking, jogging or running).

VO2 max = 100.162 +/- 7.301 x gender (1 = male; 0 =female) - 0.164 x body mass (kg) - 1.273 x elapsed exercise time -0.156 x exercise heart rate

Using the first estimator, my 1.5-mile test would indicate a VO2max of 42, exactly the value of my Polar F11 test.

Using the second formula, (with a +7.301 male coefficient), gives a value of 43. (The formula is taken from the abstract citation which had a plus/minus in front of the gender coefficient. Using the minus coefficient yielded values which did not agree with their non-heart-rate estimator, while the plus coefficient did.)

Next I found the Rockport Walking Fitness Test. This is a 1-mile sub-maximal walking test with instructions "Walk 1 mile as fast as possible". The estimator for this test is:

VO2max = 132.853 - (0.0769 × Weight in lbs.) - (0.3877 × Age) + (6.315 × Gender: 1=male, 0=female) - (3.2649 × Time) - (0.1565 × Heart rate)

Since I "walked" at a steady 4.2mph at 150 bpm for most of my 1.5-mile test, I can use 14 minutes (21min * 1/1.5), which results in a VO2max estimation of 43, again close to the Polar F11 heart-rate variability test value.

As a result of the "shock" and the further research, I had increased confidence in the Polar F11 VO2max estimation and felt that I could use the watch to measure the results of my exercise program. I felt "very good" about my exercise program results, although I didn't actually believe that I had achieved "very good" fitness!



Update: June 2007 - I've been doing the C25k (couch to 5k in 9 weeks) running program for the last five months now. I've discovered by doing a running Conconi test that my HRmax is 20 bpm higher than age predicted, so that I can allow my heart rate to go over 150. I still am no where near the "average" but I am now able to continue with the program. I am able to run 8 minutes at a 17:00 mile pace (3.5mph) and my heart rate levels off around 160.

Update: Aug 2014 - I started the C25K again a year ago, and have been running one or two 36-36 minute 5k sessions each week with an average heart rate around 173 and a max exercise heart rate of 178.  I'm still slow (47% age graded) but I am enjoying my runs.  Interestingly I have run some 1k segments at 186 bpm and felt great during and after, so I'm now thinking my max heart rate might be more than the 188 I have been using for zone calcs.


© Alan McDonley 2007 All rights reserved.


References:
a)     Bruce Protocol VO2max estimator:
http://www.brianmac.demon.co.uk/bruce.htm

b)     Cooper 1.5-mile VO2max estimators:
http://www.exrx.net/Calculators/OneAndHalf.html

d)     Rockport Walking Fitness Test VO2max estimator:
http://www.brianmac.demon.co.uk/rockport.htm

e)    Polar F11 Heart Rate Variability:
http://www.heartratemonitor.co.uk/research.html


Thursday, September 19, 2013

Coffee At Home In Israel

In America, I had been grinding ($6 a pound)  Dunkin Donuts Original beans in a Krups burr grinder, and brewing three to four cups of supermarket brand purified water with  4-5 tablespoon scoops of grounds in a small 4-cup Cusinart drip coffee maker. 

I would put one teaspoon of sugar and a small amount of Land-O-Lakes "Half and Half" to get what the Dunkin shops call "Dark" coffee.  This gave a very smooth, thick feeling coffee that was not strong, not "woody", not creamy, and not sweet.  (I'm quite sure many would call it "not coffee".)

I brought several bags of these beans and a bag or two ground to Israel with a Melitta #4 drip cone and 8 cup thermal carafe, and began searching for an inexpensive 220 volt burr grinder.  

Israeli home coffee is most often either "Nes" (Nescafe or Elite) instant, or in a growing trend from a Nespresso machine.  There are a few folks that brew (strong) coffee in an ArcoSteel or Bialetti moka pot with Elite "Turki", and apparently some folks are using "universal" ground Italian coffee, as Mauro, LavAzza, and Illy are available in all the supermarkets (at $15-$25 a pound!).

While there are many American brands here in Israel, I have not found Land-O-Lakes and their Half-and-Half, nor any similar tasting coffee creamer.

The day after arriving to Israel, I began brewing from my pre-ground Dunkin coffee each morning with three and a half tablespoon size scoops of coffee to "three cups" (18 oz - 530 ml) of Kiryat Yam tap water boiled in the kum-kum and slowly poured over the grounds.  After adding about 1/2 teaspoon of sugar and a tiny bit of 3% milk I had a quite thin feeling imitation of our morning American coffee.

My search for an inexpensive burr grinder led me to discover that coffee specialty stores in Israel do not usually stock "coffee grinders", only espresso grinders which start around $225.  Blade type coffee grinders are available in the supermarkets.  Kedmagift.co.il does list both a Severin and a Gaggia burr grinder on their website at around 490 shekels ($137).  None of their local shops had them in stock, and I didn't really want to pay over $75-$80.  Coffee-express.co.il does not show any of these less inexpensive grinders.

Turning online to the "Amazon of Israel", zap.co.il I found a Sol-Exclusive burr grinder to be available, which had no reviews and no representation on the manufacturer's website.  


Taking the risk I ordered online (fullfilled by olsale.co.il).  Zap.co.il listed it available from several sources at "267-315 shekels" ($74-$88) and after signing up at the only name I recognized, olsale,  I understood that I would be making an offer/bid, so the displayed "price" was simply advertising.  I bid the 199 minimum, then with the aid of Google Translate suggesting I raise my bid, a bid of 260 (299 total with shipping) was finally accepted.  Ten days later my doorbell rang at 8:30 AM and I had my "inexpensive" burr grinder.

The grinder has two safety switches, and I discovered one of them was so determined to keep me safe that the grinder would not function.  With a little re-engineering I was able to start testing with beans.

The finest setting is no where near as fine as my Krups grinder was able to spit out, and the improved consistency that burr grinders have over blade grinders is also missing.  

The grinder is imported from Germany and does evidence some "German Design", but the quality control engineer must have had the day off when they assembled my grinder.

Even though I washed the grinder thoroughly, and ran a "coat the surfaces" grind, I tossed all the test grinds to be sure I wouldn't be tasting plasticizers or soap in the coffee. 

Flashback: Having run out of ground Dunkin coffee before the grinder arrived, I picked up a 250 gram brick of LavAzza Qualita Rossa universal ground for 33.55 shekels ($9.50, equivalent to $17 a pound) at the supermarket.

I chose this coffee because it purports to be medium dark and claims to be good for everything from drip to moka pot to true espresso machines.  It is a blend of 30% Robusta and 70% Arabica, which did not mean anything to me at the time.  

Later I read up on the strengths and weaknesses of these two beans and all 161 Amazon reviews of this coffee,  the 356 reviews of the LavAzza Crema e Gusto, and reviews of Mauro coffee as it is the only Italian coffee I found offered on (one)  the Israeli coffee specialty websites.  I was already familiar with the taste of Illy coffee having had an Illy espresso machine in America.

My wife and I have been pleasantly surprised with this LavAzza Qualita Rossa coffee actually.  Three tablespoon size scoops of the (quite fine) ground coffee to the "three cups" of tap water, boiled in the kum-kum and very slowly poured into the grounds results in a darker-than-Dunkin, more flavorful than Dunkin, while every bit as smooth as Dunkin coffee.  (The water takes much longer to pass through the LavAzza grounds than through the pre-ground Dunkin coffee.)  




Back to the future:  Now that I have a grinder and can go back to drinking Dunkin Donuts' coffee, I decided to check the directions on the bag:  2 scoops for every 6 oz. of water.   

A test brew with this ratio put 6 scoops of fresh ground coffee to "three cups" of boiled water, again poured slowly over the grounds in the Melitta.  



This resulted in a slightly darker, astringent coffee that is totally unpleasant.  





This morning I made coffee with my traditional 3.5 scoops of freshly ground Dunkin beans to 3 cups of water.  It tasted like weakly flavored water.    

Our taste buds are demanding the LavAzza Qualita Rossa for tomorrow's morning coffee.  

(I am also searching for a Bialetti Brikka "4-cup" special technology moka pot, so this tale is probably not complete yet.)

Monday, December 19, 2011

My Most Recent Demise

My first Internet life and death: GeoCities.com  1995-2009 - Yahoo bought and then shut down free hosting.


False Alarm: My most recent demise: koolhost.com 2009-2011 - Three good years of free hosting was "off the air" for a day or so.



Still extant Internet presences:
   ( Welcome Virtual Visitor - koolhost.com )  dead Aug 2014
    From The Herd - These ramblings on Blogspot 2011-present
    ... - Google+  2011-2019
    Robot Carl - Vimeo
    A Curious AGI  



and webmaster for:
   Retired Site:  Gold Coast Archers USA Archery Corner  - Google Sites
    Retired Site: Archery Chat Bot - Pandorabots.com

    Rugwarrior Robot Yahoo Group - Started in 2000, till shutdown in 2020



(I still can't bring myself to sign up for Facebook.  I must have Antiestablishmentarianism. )


Monday, October 31, 2011

Real Estate Capitalism Exposed - CNN as a co-conspirator

"According to Fiserv (FISV), a financial analytics company, home values are expected to fall another 3.6% by next June, pushing them to a new low of 35% below the peak reached in early 2006"
http://money.cnn.com/2011/10/31/real_estate/home_prices/index.htm?hpt=hp_t2

Boy, I trust that company... Let's "bring it all home", so to speak.  According to Zillow.com my home in early 2006 was worth 203% of what I paid in 2001;  That's the peak to use for a reference. 

According to the CNN article "The first post-bubble bottom was hit in 2009, when prices fell to 31% below peak."  Zillow shows my home was 58% below the peak (and 14% below what I paid for it).

In Aug 2011, Zillow showed my home at 59% below the peak which was then 16% below what I purchased it for 10 years prior.

Who cares about % below peak anyway.  That is only a measure of a "missed opportunity".  What they are really saying is "You missed an opportunity to sell your home in 2006 at a 100% profit (or 700% profit over investment at that point), live in an apartment for three years, then buy your home back for cash and have 50% left to upgrade the appliances, paint and carpets, and pay two real estate commissions, pay the title company twice, pay the mortgage closing cost twice, pay the state tax stamps twice.  *Everyone makes out like a bandit with no losers*." 

Thanks for rubbing it in Fiserv and CNN.  So I missed an opportunity to put $250k in my pocket at the expense of some schmuck you duped into buying a home at the peak of a boom...(The folks I sold to would have actually lost $200K, but hey, its a free market, right?  We would have felt we "earned" that  money. ) 

I'm actually starting to feel better already.  I didn't lose anything and I didn't help the real estate tycoons destroy the savings, credit rating, and happiness of someone else. 

Maybe, I should get a double tax credit - I lost (missed out on - same thing) $200K on my investment, and I did a charitable thing by not stealing some bloke's $200K.  All the government will do is waste my tax dollars building roads and bridges anyway - why shouldn't I get a tax break?

Thanks for trying to make me feel bad, CNN.

Tuesday, September 27, 2011

One Vote?

I've heard "One person - One Vote" for many years, but since the Supreme Court gave corporations the unlimited right to contribute to political campaigns, perhaps it should also be said "One CEO - More Than One Vote"

Tuesday, August 23, 2011

Please explain the end of Asimov: "Foundation and Earth"

I just finished F&E today and am very disturbed and confused by the ending. All along the "future history", the reader experiences various social (psycho) mechanisms used by rulers, groups, (and a few "isolates"), and shown the benefits, problems, and ultimately the demise of each mechanism.

It seemed to me that over and over, the individual thinking of Trevize had demonstrated the holes in a unified galaxy under Gaian social order, so I don't understand how Trevize just gives into this Daneel as the correct (or even best) path for the future. I was not convinced. I know he wanted someone else to hold the responsibility for "humanity", but to hand it over to Daneel?

The extolled instincts of Trevize, were usually very much in line with my feelings (encouraged by the mind of Asimov?), but at the end my instincts were not assuaged, while it seemed Trevize was at peace with his delivery of the future to Daneel and the Gaian Galaxia which would obliterate the individual from humanity and remove the uncertainty caused by individual thought.

Is this the intention? That I should be left wanting? It seems every prior book was quite complete, and this one tried with the dicussion to wrap everything up, but either I totally missed the point, or the point was indeed to leave me confused (and quite disturbed.)

Can anyone point me to any discussions of the end with I. Asimov, the master or my future sanity? Am I accursed to a "search for [my] Earth"?

Thursday, August 11, 2011

Response to My Senator: "Bernie Sanders Understands Me"

Dear Sen. Nelson,

Thank you for maintaining some focus on increasing revenues.  I really wish you, Pres. Obama, and the other Democrats would get together with spine.  The Republicans never worry about being non-partisan, and we should stop all this silly kow-towing to them.

Stop being defensive.  Work on showing the "Yes we can" attitude that the majority of Americans voted for.

Start a new "R&R" (Return and Re-acclimation) program for our soldiers - start bringing them home by announcing mandatory "R&R" for any soldier with 1/2 the current duty tour served.  Then only send half of those soldiers back to the field.  Its not a withdrawal - its a policy change that cuts duty time in half, and heals the over deployment of soldiers.  It also will cut our defense spending, and boost morale.

Start now, driving a hard bargain on raising the taxes to heal the economy.  Frame it as the patriotic duty to pay taxes.  Stop the "Taxes are bad" propaganda of the wealthy Republicans.  I'm not Christian, but the story of the poor widow that gives comes to mind.  Frame taxes as patriotic and force the Republicans to show us how patriotic they can be. 

Perhaps an idea of a five year deferred offshore profit tax 50% amnesty for a 2011 and 2012 tax year corporate tax  increase?  Get creative without letting Pres. Obama give away the farm.  He is putting us all in the poor house while the wealthy just keep laughing all the way to their Christmas parties (Which were discontinued for the rank and file years ago.)

Stop all this talk about cuts.  You think we can do with less teachers, less firemen, less police, less tax collectors, less federal funded programs for states?  The states and cities are about to go under from the property tax revenue slumps - get ahead of that issue please.  You "Feds" are going to cause the municipal bond market to collapse - not one notch from AAA to AA+, but collapse!  You want votes?  Forget cuts and introduce budget neutral funding increases.  How budget neutral?  3% increase in taxes to the rich and corporations, 3% increase in funding to state programs.  Its the patriotic thing to do.  My employer wants me to show how I "give back" to my fellow workers and my community.  My corporate stock is now double what it was when I sold everything and ran from Wall Street.  How is it that my house is worth 63% what I paid for it 10 years ago, and my employer's stock is worth 200%?  It is time the employers stopped demanding everyone else "give back" and pony up.

I hope you are listening - I don't really believe you or President Obama understand the anger I feel at the Democratic party for caving in on every issue with the "non-partisan" line, or "we have to compromise" line.  Republicans don't compromise on the issues that they feel are most important.  Democrats need to stop being the "sensible" party and do what is truly patriotic - save the country from the Republican tax cut (secret privatization) agenda.

Understand yet?  Go talk to Bernie Sanders - he seems to understand.

Trying to be respectful,

...
Disgusted Democrat.