Braitenberg Vehicle 4 - implementation problems

C E Ezeugoh <[email protected]> Wed, 25 May 2005 03:54:16 +0100
Newsgroups gmane.comp.breve
Message-ID <[email protected]>
 Hi all,

I am trying to implement Braitenberg's Vehicle 4a and have tried to 
implement my own activation via the set-activation-method call of the 
BraitenbergSensor object...but to no avail. somehow it doesnt circle round 
the light source as it ought to. Kindly give me some pointers. My source 
code is attached below.

Kind Regards

ECEzeugoh


@use Object.
Object : BraitenbergThreshold {
+ variables:
actualStrength (float). 
+ to init:
actualStrength = 0.060.
+ to set-strength to newStrength (float):
print "doing threshold check here strength is $newStrength\n".
if newStrength > 0.0: {
if newStrength < actualStrength: return newStrength + 11.0.
else 
return newStrength - 0.25. 
} else {
return 0.0. 
}
}

#
#
# My first experiment with braitenberg vehicles
# breve engine using steve.
#
@use Braitenberg.
@use BraitenbergThreshold. 
Controller myBraitenbergControl.

BraitenbergControl : myBraitenbergControl {
+ variables:
vehicle(object).
leftSensor, rightSensor (object).
leftWheel, rightWheel (object).
light, mythresh (object).

+ to init:
light = new BraitenbergLight.
light move to (10,2,0).
light set-label to "LightSource".

mythresh = new BraitenbergThreshold.
vehicle = new BraitenbergVehicle.
vehicle move to (0,1,5).
self watch item vehicle.
rightWheel = vehicle add-wheel at (-2,-0,1.5).
leftWheel = vehicle add-wheel at (-2,-0,-1.5).


leftSensor = vehicle add-sensor at (2,0,-1.5).
rightSensor = vehicle add-sensor at (2,0,1.5).


leftSensor link to leftWheel.
rightSensor link to rightWheel.

rightSensor set-bias to 1.0.
leftSensor set-bias to 1.0.

leftSensor set-activation-method to "set-strength" in-object mythresh.
rightSensor set-activation-method to "set-strength" in-object mythresh. 

leftWheel set-natural-velocity to 0.0.
rightWheel set-natural-velocity to 0.0.

}

_______________________________________________
breve mailing list
[email protected]
http://lists.spiderland.org/mailman/listinfo/breve