I worked on this project mostly during this summer with the purpose of learning more about the game engine Unity and game development in general. In the last couple of weeks I have tried to finish all the features I stated to implement, and make a playable game out of it. This Game is also my entry in the annual “LiU Game Awards” competition.
I have built an obstacle avoidance robot I built to test a few ideas I had and learn more about what it takes to make robot robot that can navigate around an indoor environment without getting stuck on things. I will also use this robot to experiment with line following and maybe line-maze solving in the future.
I have rebuilt my balancing robot. The reason was that I wanted to fit more sensors and functions, and there where no space for that in the previous design. I have also rewritten all the code and replaced the Kalman-filter I previously used for angle estimation with a complimentary filter instead. This in combination with a higher center of mass have made the robot a lot more stable and tolerant against pushes and other disturbances.
A Kalman-filter should work better than a complimentary filter, but the Kalman-filter is a lot more complicated. Since I do not understand exactly how the Kalman-filter worked, it was to hard for my to tune it properly. The estimated angle of the robot was reacting to slow. My current solution with a complimentary filter is much more responsive. That allowed me to increase the parameters of my PID regulators to make the robot more stable.
This video shows the first few flights of a new balsa airplane that I have designed and built during this winter.
The airplane has a wingspan of 90 cm and weighs around 700 grams including battery. I use standard RC equipment, no special functions or microprocessors in this one. I built this airplane just to havs something unique and fun to fly with. The plane is built using traditional building techniques. It is built out of balsa and covered using Oracover.
This is a demo I made using C++, OpenGL and GLFW. It is a proceduraly generated landscape in which the user can “walk around”. The terrain is generated using Simplex-noise and is made up of chunks that are loaded and removed as the user walks over the terrain. It is possible to walk infinity (or at least very very far) in one direction without reaching any edge or crashing the program. The chunks are rendered in different levels of detail depending on the distance from the camera to improve performance.