Keeling Lecture: Climate Change and the Forests of the West

August 31, 2010

See lecture here.

Wow…great lecture on whats’ happening to our forests.  We see them dying due to longer growing seasons, more wild fires and infestation.   I learned that the Canadian forests are actually a net carbon emitter rather than a sink!!  So much for carbon credits by supporting new acreage in Canada.  The wild fires kill whatever is gained by the tree growth.

Lecture is by Dr. Steve Running, a Regents Professor in the College of Forestry and Conservation at the University of Montana. He discusses the paradox of why forests in the West are growing faster while simultaneously suffering from higher die-off rates. Running is a member of the Nobel Peace Prize-winning Intergovernmental Panel on Climate Change and was the lead author on a 2007 report analyzing North America’s contribution to atmospheric carbon dioxide and its impacts on the global climate.


Removing Plastic bags will hurt HilexPoly

August 18, 2010

Here is a nice article re HilexPoly.  I hope they have been doing R&D toward a new product line.  We should redirect the jobs into the new reusable bag market which will takeoff.  To be effective, the price of a paper bag should be a little more than 5c which I think is proposed.

But alas, the bag companies may prevail with the lost jobs hurting the economy argument but only for a while.



Help eliminate 52 million plastic bags a day

August 17, 2010

California is on the cusp of very important legislation to ban plastic bags in grocery stores.   I work with a group called Californians Against Waste (CAW).

A recent email spoke of the importance of doing personal lobbying of your legislators.  Here is an excerpt:

Dear Chris:

We are closer than ever to enacting legislation in California to ban single use plastic grocery bags. But the closer we get to our goal, the more the plastics industry will spend to mislead the public and decision makers. That’s why we really nead your help. If you haven’t already done so, here are a few things you can do to help combat the misinformation being disseminated by the plastics industry:

  1. Fax/Email your State Senator and Urge their Support for AB 1998;
  2. Sign-up to receive daily updates and action alerts on the legislation;
  3. Make an online contribution today to support our campaign.

In the next four weeks the California legislature will take final votes on AB 1998 (Brownley), legislation that will promote a shift to reusable bags and prohibit grocery, liquor and convenience stores from distributing single-use plastic bags.

Think about what that means: 52 million plastic bags a day eliminated! These are bags that blow from trash cans and garbage trucks; bags that get stuck in trees and accumulate in parks, creeks and roadsides; bags that pollute our waterways and threaten wildlife; literally billions of plastic bags every year whose useful life is measured in minutes, but whose life as litter, waste and ocean pollution can last for decades or longer. (what’s at stake)

For the last 18 months, we’ve been engaged in an around-the-clock campaign to end plastic bag pollution (what we’ve been doing). We now believe we have at least 16 of the necessary 21 votes in the State Senate. But the American Chemistry Council and the plastics industry are spending thousands of dollars on lobbyists, former legislators, and media consultants in a misleading propaganda campaign to scare undecided legislators from supporting the bill (more).  With your immediate and ongoing support this month, we can counter their misleading campaign and win legislative support for AB 1998. This summer California can become the first state in the US to eliminate a major source of plastic pollution (next steps).

Please take a few minutes right now to contact your legislator in support of AB 1998, and make an online contribution to support our work.

Thank you for your support!


Roundup Mentor Bot: Programming Challenge

August 13, 2010

Well, I set up a 2 tile programming challenge in my living room.  I built a little A frame mockup that has the 14 degree tilt and the dimensions of the actual roundup ladder face.

See video of the  25 step programming challenge here:

http://www.youtube.com/watch?v=STebUOQkW7s

A very simple  autonomous script which is embedded in the RobotC code causes the robot to move forward while holding heading, pick up 4 tubes and head toward the movable base goal.  It is allowed to bump into the goal since a special space bar is deployed by servo to keep the robot from over running the goal and maintain the exact spacing needed for a drop.  A timer expires and the drop begins.   The plunger or spike has a grip that is servo controlled to three positions: HOLD, DROP ALL, DROP ONE.  The DROP ONE is done twice and the DROP ALL  is performed last to let the remaining two tubes score.  The robot then backs up a little  and lowers the lift for a line tracking function that continues until it backs into the A frame.  This is signaled by a bumper switch.   The robot then does a 180 deg turn and raises the lift to clear the pick up mechanism from striking the 6 in high crossbar on the bottom of the A frame.

Ready for the finale:  The robot must tilt 14 degs in order to grab the A frame.  This is done using the robots momentum.  A full speed burst forward followed by a sudden full speed reversal does the trick.   The robot tilts against the A frame and then extends higher to allow the grippers to reach around the sides of the A frame.  The lift is then lowered until the grippers grab the sides of the A frame and then the bottom is raised above 6 inches.

The lifts have a 36 tooth drive gear connected to the Vex 2 wire 393 motors.  This allows quick movement of the lifts and yet retains enough torque to lift the full weight of the robot.   Special lift geometry allows the lifts to travel over 19 inches so it can do the 18 in above ground high hang in theory.

More Roundup Mentor Bot:

Complete RobotC code in case you missed it.

Posted pictures on the vex site:

High Hang??

Low Hang.

More blog stuff:

http://vamfun.wordpress.com/2010/08/05/roundup-mentor-bot/

http://vamfun.wordpress.com/2010/06/10/vex-cortex-notes/


DIY Free Dual Flush Conversion (20 min work)

August 10, 2010

I made this video a while back.  Thought I would post it here too.  Describes how to make a simple modification to the a Standard Kohler 1.6 gal toilet to make it a dual flush.   The conversion is simply a float adjustment.  This principle can be applied to most toilets.


http://www.youtube.com/watch?v=lY9PMCzzi24

If only the LA DWP would see it and recommend it to residents.  It could save millions of gallons per year.


Roundup Mentor Bot

August 5, 2010

RoundUp Mentor Bot:

I mentioned in an earlier post that I built  a prototype High hanging robot that tries to do it all.  Has 38 inch reach with a dual bobcat type linear slides.  It has a plunger and a pincher which allow it to quickly pick up and deposit tubes and also take a few tubes off a goal if need be.  Uses 4 big motors (2 wire) on the lifter , 2 servos, and only 2 direct drive motors.  Might add two motors and increase speed.  Takes about 6 seconds to lift once the initial grip is established.

8/4/2010 Update

Well, after a month of messing around with different configurations… I settled for just a plunger.   This can pick up 4 tubes and drop 1 at a time or all at once.   The pincher worked ok but didn’t have the height necessary to make it functional  so I dropped it.  I decided to focus the design on the programming challenge where a defensive pincher that can remove tubes would not be required.  The bobcat design can easily handle an external claw gripper rather than a plunger.  If a claw is used, then it can readily put tubes on or off any goal.

Slide Friction:

Friction in the linear slides is the major design issue.   When the robot is held by hand from the top , the slides will pull the base up a distance of 19 inches… enough for a high hang…..but when the upper slide is attached to the A frame fixture, the weight of the robot puts an added torque that tends to bend the slides into each other …thus creating more friction.    The lower slides are adequate to lift the base over 6 inches but once the upper slide tries to actuate, it stalls.   This may be too much to over come… we’ll see.  If not, this robot is stuck with 10 bonus points.

Sonic Sensors:

I included two sonic sensors on the front to sense walls and possibly the white base , but it probably won’t be useful.  The sonic sensors cannot detect the base as I had hoped.  Seems the reflections are just deflected in the wrong direction with the rounded base.

Software

The software is complete….. it has all the necessary functions and automatic modes required to accurately move around based upon encoder inputs , track lines, hold heading, turn through a segment, and actuate the lifts and plunger grips.

auto_debug_mode:

This is a feature I have used in a lot of robots.  It uses the front four switches of the vex joystick to control the autonomous functions as an operator would.   By pressing the top two buttons for 3 seconds, it puts you into a ready for autonomous script mode.   When the lower_left is pushed, the script starts.  It will either do the complete script if the lower_right was pushed or it will step through each segment if the upper_right was pushed. It will disconnect and return to manual if the upper_left is pushed again.

This is a very nice feature and allows lots of debug with just the joy_stick.  When the autonomous script is done or disconnected, it automatically returns the robot to manual control for setting up the next test.

If the bool_autonomous = true  then the auto_debug_mode is overridden and you go the the normal autonomous mode that just runs the script.

Scripting

I configured the script to take simple functions that use typically one or two parameters.  E.G.

if(step ==1)

{

done =move_encoder( dist_goal, set_speed)

}

else if (step == 2) …..

The step 1  sets the motors to move forward at set_speed and does the compare against the average encoder readings.  When the goal is reached, done goes from 0 to 1 and the next step is signaled.  There is no while() function in the script functions.  They act as code that set speeds and commands for the core functions and are executed by the main() while loop.  A global reset flag is used to initialize each script at its proper values.

Typical script function looks like the   move_encoder(..) shown below.

int move_encoder(int goal , int fwd_speed )
{

static int target = 0;
static int imdone = 0;

if(sys_reset)
{
imdone = 0;
target = dist_10in + goal;
if (goal >=0) pwm_sym = fwd_speed ;
else pwm_sym = -fwd_speed;
return 0;
}
else
{
if (goal > 0  && (dist_10in < target) && imdone == 0) return 0;
else if (goal < 0  && (dist_10in > target) && imdone == 0 ) return 0;
else
{
imdone = 1;
pwm_sym = 0 ; //stop motors
return 1;

}
}
}

The script function prototypes used so far are:

int move_encoder(int goal , int fwd_speed );//command a distance using encoders.
int turn_encoder(int goal , int turn_rate ); //command a turn using encoders

int ms_timer_T1(int goal); //wait for a time period

int set_lift(int goal, int pwm_input );//set the lift height
int set_grip(int goal, int ms_wait) ; //grip goals: HOLD,DROP,DROP_ONE

Using multiple script functions in one step:

Often times a time_out function is required.  The set_grip has it built in but it can be added to any script step by using an OR of two basic scripts: E.G.

if(step ==1)

{

int done1 = move_encoder(goal, set_speed);

int done2 = ms_timer_T2( time_out_ms);

if(done1 ==1 ||  done2==1)  { done = 1;}     //OR the  scripts output

// “done” is a global variable that controls the script incrementing

}

This keeps the logic versatile and the scripts simple.

I will post the software eventually.


Follow

Get every new post delivered to your Inbox.