Lego Mini-Project Proposal
- Details
- Category: Level 1, Mini Project (Lego NXT Robot)
- Published: Sunday, 26 August 2018 09:19
- Hits: 2535
CET101 Fundamentals of Computing
Strand F – Robot Mini-Project
Proposal Document
Istvan Franko
Level 1 Computing
Since I have chosen Robot programming as a subject for the mini project, I have familiarised myself with the Lego robots. The NXT 2006 is considered obsolete. The newer version EV3 was released on 2013. EV3 has 4 engine port instead of 3, its memory is about 1000 times bigger and it is freely extendable with an SD card. Its processor is much faster, and they can be connected into each other with USB cables.
Since I wanted to learn about the new technology, I have decided to buy the newer version. After I have got it I have realised that it is not compatible with Visual studio 2010 because it needs .NET Framework 4.5. I have tried to use Visual Studio 2013, but because of significant differences it was a bit difficult to use. Also since it is only a year old technology, it is also not supported perfectly and the data found are insufficient. Because of these problems I have decided to use the NTX’s both version, 1.0 and 2.0.
I have tried to find something Hungarian as the topic of my project. I have liked the Rubik’s cube, which was invented by a Hungarian. Solving a Rubik’s cube is a big task for us, so I have decided to make a robot that solves a Rubik’s cube, with other functionalities. For my final project I have chosen a robot which as a vehicle will look for the Rubik’s cube placed on the floor, retrieve it with its crane and place it into a robot that solves it. The cube solving and the crane are controlled by different control units with Lego programing language. The vehicle would have been controlled through Bluetooth, which was designed with a C# Program. The sensor will look for the cube automatically and will put the vehicle into position.
Week 1
Familiarising with the Lego Robots programming. Studying the information that was given and the example projects. Doing the Coding Activities.
Since at this time I only had the never EV3 version, I installed Visual Studio 2013 and I had to use the Lego.EV3.Desktop folder. This version does not support the recommended Mindsqualls library.
Easter Holiday
During the Holidays I have received the NXT 1.0 and 2.0 robots. I have searched for all the possible Rubik’s cube solving robots, and I have tried them to see which one fits the job the most. MindCub3r –v1p1 seemed to be the easiest to use and it required the least modifications. I have started to design and create my own vehicle and crane. I have managed to finish the building of the main components.
Week 2
· Writing the crane controlling program in Lego-G Environment.
· The connection of the controls units (Bricks) which required sensors and switches.
· The solving robot’s design and building it. The control program’s modification.
· Writing the vehicle controls with C# within the Mindsqualls library.
· To repair any structural faults with the robots.
Since the Mindsquall folder that was supposed to be used for the engine controls, do not work accurately, and attempting to fix the problems had no results. I have found an engine control add-on (http://www.mindsqualls.net/MotorControl.aspx), but unfortunately this also had big problems.
As mentioned above, I need to use a different library. I have to learn one of the biggest extension, the Aforge.
Week 3
Because of the distance control inaccuracy I have decided to instead of using an automatic searching and positioning, I will use video stream by camera and joystick controls.
· Making the mobile phone’s camera video stream connect to a computer and appear on the control program
· The carrier vehicle’s manual control programming
· Accessing the brick’s information and displaying them.
· Connecting the joystick, which is plugged in through USB, to the program.
Week 4
· Placing the mobile phone on the robot.
· Syncing the information gathered from the joystick controller with the engine controls.
· Incorporation of a joystick manipulator graph program.
· Program optimisation, error fix and comment.
· Robot testing and further error fixing.
· Modification of the program to make it useable for the other challenges.
· Rebuilding the base robot to a 3 wheeled one to make it easier to control.
· Writing the code for the basic program and finishing the ones that were started.
Week 5
· Finding the best library for the task (Mindsqualls vs Aforge or Lego.EV3.Desktop), and using it to finish the program.
· Choosing the right brick for the task (NXT, EV3)
· Testing the final versions and optimising them.
· Making the Advanced Levels much more possible.
· Preparation for the demo.
· Thursday 23rd May: Additional feature demonstrations.
Week 6
· Optimisation and checking challenges 1-3
· Preparation for the demo
· Wednesday 28th May: Challenges 1-3 assessments.