These projects are significant as they highlight the impact of objectives and the specification on the design of project as well as the importance of testing. Due to the display project having much more freedom in terms of choosing what concept you want to reference in your work it enables the overall design of the project to be less constricted however it's important that the aims highlighted in the brief aren't overlooked as a result.
Here is an annotated review of the finished project where I describe what was good, bad and what I've learnt from the project as well as what I would do different next time.
This is a screenshot of one of the robots in the project. This is the detector (Sender Robot) which worked correctly throughout the development of the project. You can see that the robot doesn't consist of many Lego parts although there is advanced programming involved in the operation of the project. Which I produced on the Lego Mindstorms software. The overall design of the project is very much identical to the original design I produced at the start of the project. The construction of this robot was built ahead of schedule which enabled me to improve on the programming. The resources I required to enable me to build the project did in fact follow my initial estimate and resource sheet although there were a view components which I initially overlooked in the resource sheet such as the Bluetooth stick to enable me to change the NXT brick’s names
This is the NXT brick which receives the detection sent by the first NXT brick. This device needs to be initially connected to the other device via Bluetooth. Once this is done you run the “Receive” program before running the program on the other robot. This part of the project I did struggle with as there has to be certain terms before it works correctly such as if the battery was low on the robot wouldn’t be able to receive the detection. Once I replaced the batteries the whole program worked correctly. The programming of the whole project was completed following the same date set out on the Gantt Chart and it took me two weeks to complete which is what estimated on the Gantt chart.
This is a screenshot of the programming for the “Receiving” brick. You can see that there is a logic gate at the start which runs the program once detection is made. The actions which are performed after detection is made are to have the brick display the message “Alarm” as well as sounding an alarm. This part of the project worked great although there can be significant improvements such as the text on the NXT brick is very small and doesn’t particularly stand out. The actual sound of an alarm was very effective. The programming is very similar to the pseudo code which I initially designed. The receiving brick’s program was pretty much identical to my initial pseudo code but of course some features weren’t as effective as I initially thought up. For example the text which suppose to appear on the NXT brick I thought it would be a lot clearer and more effective
The program for the main part of the robot is a bit more advanced than the receiving program because in this program I need to implement the sensor. The way in which this is programmed is if there hasn’t been any detection made then the program will continue to run until detection has been made. The middle green block in the program is the send message block which you can see is linked to a text box so this results in the text being sent to the receiving NXT.
The overall effectiveness of the whole project was pretty successful because I kept relatively close to the Gantt chart and used all the resources I stated initially before building the project but also added some resources which I initially didn’t think of. During the testing stage of the project there was some factors of the project which didn’t perform as well as I would of hoped such as when I was setting up the ultrasonic sensor I learnt that the overall range of the sensor wasn’t very good so this made it increasingly more important that I can position the robot close enough so that it would detect an intruder for example if they walk through a door way. The way in which this finding changed my design of the robot was to change the programming slightly too hopefully optimise the performance.
Design & Review of objectives
Objective 1: Must be able to detect movements higher up.
Design: The reason I thought this objective should be included in the project was because the robot is very small a person would be considerably taller so I thought I would need to put angle the sensor so it would detect taller objects.
Review: The robot is able to detect movement higher up because in the design I ensured that the ultrasonic sensor is facing at a 45 degree angle so this enables it do detect higher objects.
Objective 2: The robot will use an ultrasonic sensor to detect an intruder. The robot must be small enough so that it can remain hidden from a potential intruder.
During the design stage of the project I was thinking on how I would make the robot detect intruders so I thought that I should implement an ultrasonic sensor to enable the robot to detect movement. I also stated in the design that the robot should be as small as possible.
The robot can detect intruders but as I have previously stated the range of sensor was a drawback so I had to make sure the robot was small enough to enable it to remain hidden. The overall robot is very small as it’s only really the size of the NXT brick.
Objective 3: The robot would remain silent and relay the detection then after duration of time restart the program.
In the design I stated that the detecting robot should remain silent so that the intruder is unaware they had triggered an alarm. The alarm should also be able to automatically restart after detection without the need for user input.
I did implement a loop block in the Lego Mindstorms programming on both the sending brick and the receiving brick. I did have problems with perfecting the loop as the receiving robot would always end after detection is made.
Objective 4: The robot wouldn’t sound an alarm because it has to be a silent security device to relay the detection accurately to another device.
During the design stage I also thought that the project should use a wireless connection to send a message to the other device. The reason I set is as an objective was to ensure that the robot uses a wireless medium to send a receive messages as this makes the robot more stealthy.
Review: I was able to make the robot relay detection onto another NXT brick via blutooth.
Objective 5: The alert must be sent to the device securely and a reasonable time after the detection is made.
A concern which I thought about in my design was the actual time taken to receive the detection from the other NXT brick if the time is too long then it’s very important that it’s made better so this was the reason I set it as an objective
Review: the alert is sent via Bluetooth so it’s done very fast and it’s secure because the connection between the NXT bricks is done via a secure connection which requires a password.
Ideas for Future Development
There are several ways in which this project can be improved such as it would be much better if the detection can be relayed to another device such as a mobile phone or it could even be relayed to set off a system alarm or trigger all the lights in the building to be activated. The range of the detection robot is also pretty poor so I think it would be good if the range can be improved so that it doesn’t have to be so close to the target before detection is made. It might also be a good idea to be able mount the robot on objects such as under a table or on a wall.
Another idea would be to connect several Security robots to one core receiver so which would be a perfect set-up for a building with multiple floors.
There were external factors which did hinder the production of the project which were initially not identified during the planning. Such as during the testing of my robot there was a lack of batteries in the room which didn’t enable me to conduct all the tests in wanted and also a known bug in my project is that the robot doesn’t send a the detection to the 2nd NXT brick when there is low battery. Other external factors include weeks where I wasn’t able to work on the project because of half terms or holidays which resulted in me needing to create re-vamped Gantt charts.