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