zteel created page: Week8 Embodied Agents and Adaptive Flocks of Agents authored by Sune Brinch Sletgård's avatar Sune Brinch Sletgård
......@@ -20,12 +20,12 @@ We will start with experimenting with having input from one light sensor corresp
#### Excitatory vs inhibitory behaviour
If we use excitatory connections as in the more sound we measure the more motor power, the robot will drive forward at high speed without ever slowing down because of the constant noise from its own motor.
Using inhibitory behaviour as in the more sound the less motor power, makes the robot stop whenever a loud sound ocours, and its max speed is very low because the faster it moves the louder the noise from its motors becomes and as a result the speed is lowered.[3]
Using inhibitory behaviour as in the more sound the less motor power, makes the robot stop whenever a loud sound ocours, and its max speed is very low because the faster it moves the louder the noise from its motors becomes and as a result the speed is lowered.[4]
It kind of felt as if it was a creature that tried to avoid decection by being as quite as possible and especially quite whenever it thought it heard someone.
#### Mapping to motor power from -100 to 100
The robot had an interesting behaviour, when a loud sound occurred it would drive with high speed forward until it hit a wall, this resulted in lowering the noise from the motor and the robot now started backing away from the wall until another loud sound occur. Though every once in a while it would just continue driving into the wall.[4]
The robot had an interesting behaviour, when a loud sound occurred it would drive with high speed forward until it hit a wall, this resulted in lowering the noise from the motor and the robot now started backing away from the wall until another loud sound occur. Though every once in a while it would just continue driving into the wall.[5]
The Code[1] for this is below, we did not make the most clean implementation since soundlevel goes above a little above 1000, but it we do not think changing it would have made a large difference.
......@@ -57,10 +57,10 @@ If we switch what the sensor's input correspond to we observe the opposite behav
#### Normalizing
We also experiemented with remembering the maximum light and minimum light the robot had observed over its life time and then only mapping to motor power within this interval. Doing this we could change how the robot behaved depending on how much light we exposed it to. At one point we had an interesting result where we could make the robot follow a person standing in from of it.[5]
We also experiemented with remembering the maximum light and minimum light the robot had observed over its life time and then only mapping to motor power within this interval. Doing this we could change how the robot behaved depending on how much light we exposed it to. At one point we had an interesting result where we could make the robot follow a person standing in from of it.[6]
### Ultrasonic sensors
The Braitenberg vehicle[9] using ultrasonic sensors bumps into several objects on it's way. It bumps into walls twice (including a wall-like, laying chair) at an angle and drives into a chair leg. We have discovered both of these situations in previous exercises. Chair legs are very difficult to detect, and when the ultrasonic sensor points towards a wall at to large an angle, the sound is not reflected back to the sensor, but away from it.
The Braitenberg vehicle[10] using ultrasonic sensors bumps into several objects on it's way. It bumps into walls twice (including a wall-like, laying chair) at an angle and drives into a chair leg. We have discovered both of these situations in previous exercises. Chair legs are very difficult to detect, and when the ultrasonic sensor points towards a wall at to large an angle, the sound is not reflected back to the sensor, but away from it.
### Combined light and ultrasonic sensors
......@@ -86,20 +86,21 @@ We followed our plan and it worked well.
[2], https://gitlab.au.dk/lego-group-3/lego/blob/master/Week6/LightBot.java
[3], Video of inhibitory behaviour - https://youtu.be/oYy7Q0jWjZM
[3], https://gitlab.au.dk/lego-group-3/lego/blob/master/Week6/SonicBot.java
[4], Video of mapping to motor power from -100 to 100 - https://youtu.be/puji8QfK_9Y
[4], Video of inhibitory behaviour - https://youtu.be/oYy7Q0jWjZM
[5], Robot follower - http://youtu.be/n4O-1T7VcDk
[5], Video of mapping to motor power from -100 to 100 - https://youtu.be/puji8QfK_9Y
[6], Robot using combined light and ultrasonic sensors - http://youtu.be/LNiCFXrWMFM
[6], Robot follower - http://youtu.be/n4O-1T7VcDk
[7], Video of vehicle 2a with excitatory connections - https://youtu.be/9r7bd3lSz0w
[7], Robot using combined light and ultrasonic sensors - http://youtu.be/LNiCFXrWMFM
[8], Video of vehicle 2a with inhibitory connections - https://youtu.be/DC4uw02g3gQ
[8], Video of vehicle 2a with excitatory connections - https://youtu.be/9r7bd3lSz0w
[9], Braitenberg vehicle 2 with two ultrasonic sensors - http://www.youtube.com/watch?v=fMIJ_Qhzg_8
[9], Video of vehicle 2a with inhibitory connections - https://youtu.be/DC4uw02g3gQ
[10], Braitenberg vehicle 2 with two ultrasonic sensors - http://www.youtube.com/watch?v=fMIJ_Qhzg_8
![LightSensors](http://gitlab.au.dk/uploads/lego-group-3/lego/6e4baf431f/LightSensors.jpg)