Embedded Systems - Embodied Agents Course
During this course i worked together with 3 very compentant people: Kristoffer Winge, Donni Nørgaard and Chrstian Møller. The course revolves around gaining practical experience with robot and embedded systems development as described on the course site:'The participants will after the course have a basis for understanding embedded systems, especially robots and practical experience with physical contruction and programming of embedded systems, especially robots.'
Session 6 – Fake it ‘til you make itJun 18, 2014
For the final session of course all the loss ends of the project needed to be finalized which ranged from implementing the remote-control to making the tightrope robot drive the tightrope safely, consistently and able to make a 180 degree turn without falling off.
Session 5 – Max and brother BeastJun 8, 2014
As the project was nearing its deadline the project was continue in parallel so building a tightrope platform and a small robot able to traverse it using a camera sensor all the while work continued on the balancing robots PID controller and calibration.
Session 4 – Are you ready to fumble?!May 31, 2014
Now that the sensors were selected the relation between the sensors and the robots own orientation. As the idea was to make the robot follow a line autonomously a camera based solution was tested while a another iteration of the physical construction was made.
Session 3 – Balance bots, Roll out!May 21, 2014
During this session a lot of work was done on building the base and wheel mounts of the robot. The accelerometer and gyro sensor was selected and tested to confirm the plausibility of using them to control the balancing robot. Finally the basis for the software was defined.
Session 2 – Max observing the competitionMay 15, 2014
With the project idea defined this session was used to investigate the possible software solutions for making a ball balancing robot as well as an investigation of possible sensors for the robot. Finally testing and comparing possible motors for the robot.
Session 1 – Project kick offMay 8, 2014
With all of the pre planed lessons completed we were now tasked with defining our final project with would span the next 6 sessions. This session was about the initial brainstorming and analysis of the ideas with the most potential.
Lesson 10 – Max bumping & behavingMay 1, 2014
For the last preplanned lesson of the course, the exercises were to implement a behaviour system in Max that would make him able to switch between different behaviours making him into a autonomous bumper car capable of sensing a bump and then backing away from it.
Lesson 9 – Christoffer “Max” ColumbusApr 24, 2014
With this lesson, precision movement was the main focus. By using the tacho counters in the LEGO motors to track the movements of Max and programmed a navigator it was possible to get a acceptable level of accuracy, but only through a lot of experiments and science.
Lesson 8 – The Many Racing Shapes of MaxApr 16, 2014
One simple goal, make Max complete a driving course as fast as possible in any way possible, this lesson turned out to be one of the funniest and most educational lessons of the course. As the challenge did not require a specific approach it really allowed for a more creative and iterative process.
Lesson 7 – The french attack!Apr 10, 2014
By implementing multiple 'behaviours' to Max as described in the lesson notes, it was possible to make Max able to Cruise straight, Follow using a light sensor or Avoid using a force sensor mounted as a bumper. How these behaviours interrelate was investigated and compared with existing solutions.
Lesson 6 – Max and his Braitenberg experiencesMar 13, 2014
The purpose of this lesson was to learn more about have to make more 'animalistic' behaviours by experimenting with Braitenberg vehicles. Braitenberg vehicles are simple robots with sensors input directly linked to it's motors power for example making it seem as the robot its looking for shadows to hide in.
Lesson 5 – Try to catch Max riding’ dirtyMar 6, 2014
This lessons exercises was to make Max able to stand stable on two tyres like a Segway. To make this possible a gyro sensor was used, which proved difficult to get working reliable, because of a high level of drift from the gyro sensor that was provided.
Lesson 4 – Max N00b Has Grown 400 nm....Feb 27, 2014
During this lesson Max was updated to be able to follow a line using a color or light sensor. This was done by using a PID controller to take the input from the sensor and convert it into left and right motor power. To easier alter the variables used in the PID controller I made a bluetooth interface to alter them in realtime.
Lesson 3 – Max N00b is dubbing to the stepFeb 20, 2014
In the third lesson of the course, the purpose was to investigate the sound sensor much liked in lesson 2 to learn how it works and reacts. And by thoroughly investigating the workings of the sensor make Max able to follow sound and thereby find the parties.
Lesson 2 – Max N00b, max distanceFeb 13, 2014
The focus of lesson 2 was to experiment with the distance sensor and to investigate how it works and reacts to different shapes and materials. The knowledge gained through this experiments would later be used to make Max N00b able to follow a wall and circumvent obstacles in it's path.
Lesson 1 – The Birth of Max N00bFeb 6, 2014
For the first lesson started off with installing the leJOS Java System on all my computer. This was followed by building the 9797 LEGO NXT car with an light sensor attached. After setup the light sensor could be investigated as the goals and exercises were described in the exercise lesson.