Week 15, April 18th – April 24th:
Created, finalized, and presented our project proposal:
The day after the presentation, we began installing systems on the mower chassis. The first thing we installed was the cutting motor. This required some metal work and modification to securely mount the motor to the frame.
We also began the power drain test on our cutter motor utilizing the Fuwinkr 12V 10W solar panel, Gdceestar Solar Charge Controller, Miady 12.8v Lithium Iron Battery, DC-DC Adjustable Buck Step Down Converter, and the 775 cutter motor assembly installed on the mower.
We then performed several attempts at a battery drain test. The 775 motor we have can achieve 10k RPM on a 12v input, however we don’t need the full speed that the motor can achieve. Since most lawn mowers and edgers will spin between 2k and 4k RPM, we will only need half of what this motor is capable of at the most.
To start our testing, we first set the voltage regulator to drop the battery voltage down from 12V to 5V. This brought the blade up to a fast enough speed to cut regular grass. The actual speed will be determined later as we currently have no way to measure rotational speed and just ordered a handheld tachometer. This initial testing allowed us to verify the speed was adequate to cut grass, the blade was balanced, and the motor works as intended.
While testing, we found the battery drain with the solar panel installed was nearly non-existent (0.1v difference) while running the motor with both 5v and 6.5v inputs for 30 minutes on each voltage setting. We decided that 6.5v would most likely be our maximum input voltage as any faster starts applying vibration to the system and was most likely well above the RPMs needed for the system (again we will verify later when the tachometer comes in).
We then removed the solar panel and ran the system for 30 min at 6.5v just on the battery itself. This resulted in a final overall loss of 0.1v during this time on our battery.
Things we learned with this test:
- The battery size is more than adequate for the system and should meet our 3rd level requirement of a run time of 45 minutes.
- The voltage regulator starts getting hot during extended run time and will need heatsinks and moving air on the final design
- Loctite for the screws may be necessary for the final design.
Video of initial testing and motor verification.
We then started creating a basic shroud for the cutter blade to provide protection to people and objects that may come into contact with the mower.
All future updates from this point forward will be in the Senior Design Progress Log.
Week 14, April 11th – April 17th:
Finalized and submitted report.
Week 13, April 4th – April 10th:
This week we finalized the proposal report for submission.
Week 12, March 28th – April 3rd:
This week was dedicated to updating the Proposal Report, Engineering Requirements, and other supporting documents.
We ordered a set of backup solar panels due to the original solar panels are being shipped in from overseas. This was done to eliminate any downtime for testing if the systems are functional.
We also ordered the mower car test kit so each group member would have immediate access to testable car.
Week 11, March 21st – 27th:
Raspberry Pi GPS Programming:
This video we found shows a very clear tutorial on how to setup your raspberry pi to start outputting its GPS coordinates. They use a simple GPS module and connect it to the Raspberry Pi, although this specific module will not provide the accuracy we require, it still serves as a good reference for how to setup our GPS. By following this tutorial our Raspberry Pi will be able to transmit its current location which would be the first step in programming our GPS guided mower.
Once the mower is able to transmit it own location, the next step would be to have it move to whichever coordinates are sent to it in relation to its current location. This video gives us the idea to use a compass to help steer the mower in the correct direction. Because of this we decided to buy a GPS module for the Raspberry Pi which includes a compass in it. This way we would have everything we need to get the mower moving in the right direction. Once again the accuracy of the GPS used in the video isn’t ideal but it gives us a good reference point. This project actually uses C++ instead of python but see how the programmer structured the code gives us a good idea of what to expect for our mower code. Finally a good idea that this video offers is to have the mower manually drive to whichever coordinates the user wishes and then to save that location to the mower so it can use it later when mowing.
The video above provides a short explanation on setting up an RTK base station with the Raspberry Pi. At this point the mower would already be capable of moving to any predetermined points we chose. The only problem would be that most GPS modules only have an accuracy of several meters which would create problems. Because the mower needs to take a very specific path we need the accuracy of the GPS to be in the cm range. Luckily using RTK modules it is completely possible to achieve this level of accuracy.
GPS RTK Modules:
Since the RTK base station and PALM GPS module will be transmitting real time GPS corrections continuously, we will need the correct boards to achieve the task. The best modules are utilizing the B-Blox ZED-F9P module as they provide the best satellite availability all over the world, have a decent refresh rate at about 10Hz, and are capable of multi rover communications (can have multiple mowers running).
The best board we have found was the ArduSimple simpleRTK2B board as it will allow for 3cm precision, allows for radio connectivity, can be directly powered by the Raspberry Pies, and has a relatively low power consumption at 600mW (not including radio antenna draw). However, we will need 2 of these units to achieve the accuracy levels we desire.
ArduSimple also sells a short range radio connectivity kit with a 0.7 mile line of sight communication range, which will be perfect for our setup. They also sell a long range kit that allows for 6.5 miles if one were to use this for a larger scale project.
https://www.ardusimple.com/product/simplertk2b-starter-kit-mr-ip65/
We have also started purchasing parts for the project. Many of the parts have already started to arrive, but some items like the solar panels will be arriving later. As there was some concern about the overall width of the cutter blades, we decided to widen the mower by 2 inches and custom make an expansion kit for the mower.
Week 10, March 14th – 20th:
Prof. Notash recommended that we investigate if the overall cutting surface available on the robot chassis we chose will be enough to efficiently cut large amounts of grass in a single pass. Also, he mentioned that some people may not have a smart phone, so a remote device may need to be developed. After the meeting we made the following presentation to provide basic measurements, robot component layout, and a proposal ideal for a remote control device.
The possibility of a limited cutting space lead to us researching a simple way to widen our robot and widen the cutting surface without any sacrifice to structural integrity. The sides of the robot chassis that house the tracks, gears, and drive motors are just bolted on to the center plates and the top plate provides horizontal stability. If we were to just add spacers between the plates and sides as well as a wider top plate, we can create more cutting area.
The only downside would be if we were to use too long of a spacer it could increase the chance of the unit twisting and the tracks not being on the same drive plain. But the combination of the top plate and possibly adding cross braces in key locations (if needed) reduces that problem and could possibly increase overall strength
Researched hardware that we can use to achieve an extra 2″ cutting space:
Standoffs x16: https://www.mcmaster.com/93330A621/
Screws x16: https://www.mcmaster.com/92949A148/
Alum sheet for top shelf: https://www.mcmaster.com/89015K224/
Next we had to tackle the issue of GPS Accuracy.
Most GPS modules on their own only have a 3 meter accuracy, but some modules can achieve 1 meter accuracy. This on its own will not provide the accuracy we need for the mower project, but there is another option; adding in an RTK GPS base station (docking station addon).
A Real Time Kinematics (RTK) GPS receiver set up in the docking station and having the GPS module in the mower can achieve a 1 cm precision accuracy which is exactly what we will need for our mower project. However, these RTK modules aren’t cheap and run around $200-$300. Without these receivers, we won’t be able to run a GPS guided mower at all.
The RTK and GPS modules use both existing satellites in the sky as well as the RTK module position to produce precise location accuracy. There are other options available that we may be able to tap into, like how boats are tracked.
More research is needed for determining the best configuration and programming required for our project.
Helpful links and videos that were looked at:
Potential device links:
https://wiki.openstreetmap.org/wiki/RTKLIB-compatible_GPS_devices
https://www.sparkfun.com/products/16481
https://www.adafruit.com/product/4279
https://www.amazon.com/Geekstory-Navigation-Raspberry-Aircraft-Controller/dp/B078Y4XZN9
https://www.amazon.com/Microcontroller-Compatible-Sensitivity-Navigation-Positioning/dp/B07P8YMVNT
https://www.amazon.com/Navigation-Positioning-Microcontroller-Compatible-Sensitivity/dp/B084MK8BS2
We also started to dive into using Machine Learning to help make the PALM more autonomous.
Machine learning (aka Neural Networks or Artificial Intelligence) allows a device to determine objects, paths, and or decisions based upon both programmed rules and prior data. This way, the robot can easily determine how to proceed at any given point in time.
The PALM will primarily benefit from only two interactions; self pathing and object avoidance. Since the mower will be GPS guided, it will be able to determine the best paths to drive based upon outer boundaries and detected/stored obstacles in the cutting area.
There are several machine learning programming libraries available, but we need one that will be able to function on the lightweight platform of the Raspberry Pi. One of the best options available is TensorFlow Lite as it can be used to add a machine learning platform on mobile devices and lower computing computers like the Raspberry Pi 4.
TensorFlow offers a set of pre-trained models that give a great foundation to a large variety of machine learning problems. However, most of these are either visual or auditory and our requirements will be more rudimentary and require basic I/O signals as well as self guiding around obstacles.
There are plenty of youtube guides and websites available for deeper understanding of the platform:
https://www.tensorflow.org/lite/guide/get_started
https://www.techrepublic.com/article/raspberry-pi-and-machine-learning-how-to-get-started/
Test Car:
https://www.amazon.com/Yahboom-Professional-Programming-Electronic-Compatible/dp/B07KRVBGQ
The idea behind the test car would be to allow both group members to have access to a tank kit so they could both perform whichever tasks they needed to without the kit having to be traded around. This would allow the work flow to move more quickly and efficiently. This kit was selected because it would have a very similar steering mechanic to the original kit and because it included everything that would be needed to start programming the device.
Controller:
https://www.amazon.com/STARTO-Raspberry-320×480-Resolution-Display/dp/B07S695VQM
Because the controller would only need to transmit relatively basic information to the mower, a 3.5 inch screen should be enough to display everything the user would need to see. This kit includes the 3.5 inch touch screen as well as the case which would hold together the screen with the raspberry pi. At less than 30 dollars the kit is pretty affordable and would include everything we need.
Pathing Options:
The first option for the mower’s automatic pathing would be to first manually steer the mower as shown in the video above, and then have the mower memorize this path so that it could repeat it in the future without help from the user. The benefits of this option is that the user could select the most efficient path for cutting the lawn which would get the job done as quickly as possible and would avoid any preexisting obstacles in the user’s lawn. The only problem would be that the accuracy of the mower when it came to following the path could vary depending on outside factors.
The second option for controlling the mower would be to have to mower use GPS to travel between preexisting spots that can be picked by the user. The corners of the lawn could be selected and used to inform the mower in which direction it should move to cut the lawn as efficiently as possible. The benefit of this approach is that the setup process would be easier for the user and because the mower would be relying on coordinates to move around, this should make it more consistent than relying on the mower to perfectly follow a path like in the first option. The only problem would be the accuracy of the GPS locations but that could be solved using RTK GPS base station to improve the accuracy of the GPS.
The third option would be to have the mower move around in a semirandom pattern where it would turn every time it ran into an obstacle. This would be the simplest way to achieve an automatic lawn mower but it would also be the least efficient. Because the mower is relying on a random pattern to cut the lawn, the cutting would take significantly longer to finish compared to having the ideal cutting path mapped out for it.
Week 9, March 7th – 13th:
Since the majority of our project will have to fit on a single chassis and space is a major factor in our design, we decided to purchase the vehicle chassis so that we may get a better understanding on the size limitations we will face and to get a head start on determining proper configurations.
This purchase was deemed essential by the team to further understand how much room is available to work with as all available measurements online were inadequate and only gave outside detentions, not available space within the unit itself.
After assembling the chassis, we have a better idea of how much space we have to work with and that we may need to fabricate a lift plate to provide more vertical clearance to the cutter blade.
Week 8, Feb 28th – March 6th:
Updated the Power Budget chart to separate the mower unit from the docking station to show voltage, current, and power requirements for each system.
Created a preliminary component schematic to provide a simplified component connection layout to aid in assembly and product development.
Preliminary Component Schematic (Simplified)
During our meeting with Prof. Notash, it was discussed to remove the boundary wire and design the project to be fully controlled by the GPS module. This was done so that a potential user wouldn’t have to do excessive labor in the outdoors and lay down a wire around a large yard.
This option helped reduce the overall complexity of the physical system, and could potentially eliminate the need for the docking station. We will still keep the docking station a viable option as a recharge booster in the event that we have satisfactorily created the PALM.
Prof. Notash also recommended that we could use an Amazon Web Services (AWS) resource to create a serverless GPS system that the user can update and monitor the mower wherever they are in the world. We are now looking into this option to see the viability of adding it to our project.
We also created a full rendering of the project to show where each of the components will reside within the chassis. This will allow us to troubleshoot any component placement issues before purchase.
Upon further research and using the new rendering, we found the original battery may pose a space issue and a smaller battery will be needed. We found a smaller and lighter rechargeable 12v battery that can be used in our system allowing us to have a more compact design and reduce the overall weight by 1.6 kgs, but with only 2/3 the Ah and at an increased price of $18 (nearly doubling the original price).
We will most likely only use this smaller battery in the mower itself, but keep the original Mighty Max battery option available to the docking station for recharging purposes.
Amazon Web Services Research
AWS is an amazon subsidiary which provides on-demand cloud computing platforms and APIs to individuals. In order to use this service an account is required and this account is initially free. Depending on the level of compute performance you wish to use and the amount of time you wish to use it, the cost of this service will increase.
For our project we wouldn’t require a lot of compute performance so it should be relatively simple to keep it free. AWS would allow us to design a GUI to control the PALM mower which could be accessed from most devices with internet access. This way the users could control the mower even if they don’t have access to a smart phone.
While researching this video was found which gives a brief introduction to AWS and shows how to setup an account with the service in order to start using it. It shows the different levels of compute performance and services available with the lower tier ones being free of cost.
This website shows a project using AWS where the distance between two moving devices can be tracked using GPS. Something similar to this can be implemented in the mower to track the progress of the lawn being mowed. It could also potentially be used to help guide the mower on the best path around the lawn in combination with the devices other systems and sensors.
Week 7, Feb 21st – 27th:
This week was a continuation of the previous week in migrating information to the new website and structuring the webpages properly. Prof. Notash made a few suggestions to page formats and how it the menus should be organized.
Prof. Notash made a comment that our original project rendering, which was created by photoshoping several major stock images of components, may have some copyright issues, so we created a basic rendering of the project using Fusion360 and posting the image up in it’s place.
We continued updating engineering specifications and requirements pages, updated the Proposal Report, and created a presentation on the P.A.L.M. for some preliminary component and power options. The presentation can be found here:
Completely revamped the Gantt Chart for an easier to view chart and updated timelines to show a more up to date layout.
Week 6, Feb 14th – 20th:
This week we began working on several of the required sections on the website regarding the lawn mower. We created the CDER, updated the parts list, created the power budget table, created the engineering specifications table, created a timeline for the project using a Gantt chart, and we made a new PowerPoint presentation to prepare for the upcoming meeting.
Looking further into our project, we started preliminary research on how to create the boundary wire that signals to the mower how far it is allowed to cut. We found several raspberry pi compatible sensor and emitter systems at an affordable price that can be used in the system, but further research is needed on what components should be used.
Further research was made into determinizing what type of solar panel will be used. we had to determine what type of panel was ideal for our situation and completely settled on the flexible, light weight panels. While these are less durable and less efficient, they are typically half the weight of traditional panels the same size.
While researching different panels, we started looking at how these systems worked and how long it would take for a 10W panel to charge a 12V battery and found that it could take around 8 hours of direct sunlight to bring a 12V car battery to full charge.
We decided to scrap our initial website due to its technical limitations and created a new website under the name palmmower.com which would allow us to work more efficiently. The original wix website was continuously crashing and caused us to loose valuable time and documentation.
The final major component addition of note is the cutter motor and blade. We found a 775 Motor that comes with a cutting blade attachment that has potential for being the primary cutting system. It runs on 9V and comes with its own cutting head and attachment, providing a continent option while checking off durability and RPM requirements.
Finally we had our virtual meeting to discuss our responsibilities for the upcoming week and updated the website with the most current information.
Week 5, Feb 7th – Feb 13th:
The final approval was given to the fully automated lawn mower project. This week each member began conducting research to decide which component would be used when building the lawn mower.
We tackled some of the important components of the mower project and came up with preliminary ideas.
Starting off, we looked at replaceable cutting blades at Lowes to see what options are available. There were several options that were designed to quickly attach to existing systems but the attachments had significant weight to the and needs to be further researched.
We also looked into drive wheels that are capable of propelling in multiple grass and soil conditions to prevent the mower from getting stuck. We researched how these mowers looked on the inside and how the wheels are designed. This blog post gave some deeper insights to the basics for how most systems work.
The majority of automated lawn mowers have the following in common:
- Cutting Blades
- Chassis with all terrain wheels
- Controller system
- Boundary wire making a defined perimeter
Link to post: https://myrobotmower.com/how-do-robot-lawn-mowers-work/
We did preliminary research on solar recharging systems, batteries, and potential charging options. One idea that came to mind was using portable cellphone battery chargers with attached solar panels, but the primary drawback was the max output voltage was limited to 3.3V and overall price.
We also looked at a wireless inductive charging system that can charge a 12V system. This is a potential option for transferring power from the docking station to the mower itself.
While researching potential drive tires for the mower itself, we moved from replacement mower tires to using a Robot Car Chassis with Tank Treads for maximum traction on any terrain. We ended up settling on the XiaoR Geek Smart Robot Car Chassis Kit as it was made of aluminum and had the potential to carry up to 15 lbs.
We then Started moving on to potential candidates for batteries, solar panels, and charge controllers. After some quick research, we settled on the Mighty Max 12V rechargeable battery as it had the correct voltage rating, size profile, low weight, and positive reviews.
We ran across several different options for solar panels and decided to focus on a 10W, 12V solar panel but have not yet decided on the exact panel or charge adapter to use yet. We have to consider multiple factors like weight, size, and efficiency before coming to a conclusion.
Since we were planning on running a 12 volt battery with systems that will run between 3V and 9V, we needed to find step down voltage regulators. With some quick research, we found some LM2596 variable regulators that would allow us to fine tune the voltage we need for output.
Finally, since we wanted to implement an impact sensor on the front of the unit, we started looking into sensors. Originally we considered a set of ultrasonic sensors but realized that those would be active devices and would draw too much power. So we decided to use a passive momentary switch to sense if the front bumper has made impact with something solid. We will also use a return spring under the bumper to both reset the front bumper and prevent small objects that can be pushed out of the way activate the sensor.
Week 4, Jan 31st – Feb 6th:
Two of our four ideas were given tentative approval, the two being the voice controlled wheelchair and the automatic lawn mower. From here each group member conducted independent research to provide more information on their idea in order to prepare for the next presentation.
We also discussed our team member responsibilities, or justification and technical qualifications, similar existing products to the ones that we suggested, created block diagrams for each design, created a tentative weekly work schedule for each design, and created a budget table for each design idea.
While researching for a scaled base for both projects, we found a remote control car kit that had potential for being used as a base and structure at an affordable price. It has potential for allowing for multiple inputs and sensors. Link to the SunFounder Smart Robot Car https://www.sunfounder.com/collections/robotics/products/smart-video-car
We also created a potential name for the automatic lawn mower and dubbed the project idea the Personal Automated Lawn Mower (P.A.L.M.).
Week 3, Jan 24th – 30th:
This week we finalized our PowerPoint presentations for our current ideas and added the new information to our website. Powerpoint can be viewed here:
The group members also met virtually in order to discuss our responsibilities for the week and prepare for the upcoming presentation. They discussed using a hall effect sensor to signal if a door has been opened or closed.
We found a GPS Robot project that is purely GPS driven and runs with waypoints. The system uses an arduino microcntroller and has a custom made body.
We also considered designs of existing lawn mowers and analyzed the body structure to see how it can be improved upon. There were two primary body designs; a low profile body with two drive wheels and a singular front pivot wheel and a larger design that has two front pivot wheels.
Both designs have a docking station that allows them to recharge the batteries.
Some of the designs we looked at were the John Deere version and The Worx Landroid.
After reviewing these designs, we noticed that some of the drawbacks were the limitations on steep lawns, battery life, and user cut preferences.
We also looked more into the voice controlled wheelchair and how we could control the motor. A similar project was made by AutoNOMOS Labs where they created a program on a laptop and it allowed the user to drive their wheelchair by voice commands.
A useful wheelchair drive motor that has some control options available by the user is the SmartDrive MX2. This is an attachment that fits on most wheelchairs and provides momentum for the user.
We also found a toy car that is voice controlled with a watch device. This acted as a voice controlled remote. It has simple functionality and could be used as inspiration for voice control options.
Week 2, Jan 17th – 23rd:
This week in order to prepare for the next meeting each member created block diagrams and flowcharts for each of their ideas and put together a PowerPoint presentation containing the general concepts of each of the four ideas.
These flowcharts and block diagrams can be found here: https://palmmower.com/senior-design-proposal/project-ideas/
We also discussed possible expansions to our ideas as well as the scope of each project. Finally we created the website for our projects and updated it with the most current information.
We also discussed modifying the portable security system to allow for a mobile interface that creates an interface for the user to view camera feed and provides status updates. Also, we discussed potential options of adding a remote system that can disarm the security system before entering or using facial recognition.
Week 1, Jan 10th – 16th:
In the first meeting we went over the class description and expectations. After the first meeting each team member conducted independent research to come up with two ideas each that could be proposed as our design project.
These initial ideas were an automatic pet feeder, an automatic lawn mower, a voice controlled wheelchair, and a portable security system.