Project

# Title Team Members TA Documents Sponsor
13 Autonomous Gardening Rover
Dhruv Sanagaram
Ryan Thammakhoune
Tanishq Aryan Myadam
Sanjana Pingali design_document1.pdf
proposal2.pdf
proposal1.pdf
# Autonomous Gardening Rover

Team Members:
- dhruvs7
- tmyadam2
- rct4

# Problem

Our group would like to focus on gardening and agriculture. Hobbyists and farmers alike often struggle with monitoring soil quality, as it frequently relies on having accurately placed sensors where they intend to grow crops. This solution does not accommodate the varying intervals in which seeds are planted, causing the sensors to be removed and relocated manually, which can be an arduous process.

# Solution

Our project is a small autonomous rover that can monitor soil quality. The rover can be operated in two steps. The first involves the user configuring the rover’s autonomous movement through a web application. They can configure the plot size and plotting intervals through the app. The second step sees the rover traversing across the plot based on this configuration and creating a soil quality profile that summarizes the pH, humidity, and temperature, amongst other characteristics. This profile will be shown on the web app to inform the user’s treatment of the soil. This solution can be used across home gardens and commercial plots due to its small size and ease of use, which makes it more accessible than existing solutions.

# Solution Components

## User Input Subsystem

This system will allow users to input the following parameters (assuming the field is a perfect rectangle) using a React application accessible through their computer.

Field length, width (m)
Soil monitoring interval(m)
Rover starting point (m,m)

Our code will use the field to create a movement plan, which will be uploaded to a ESP32 microcontroller through a wired Serial connection. The movement plan will be stored on the ESP32 in flash memory, specifically through LittleFS, which is the microcontrollers file system. The rover will execute the movement plan once a button is pressed on the PCB.

The movement plan will consist of splitting the field up into rows according to the soil monitoring interval. The rover will traverse across each row in a snake pattern, turning towards the next row once it reaches the end of a row.

Components:
ESP32 Microcontroller
Button

## Autonomous Movement Subsystem

Given a predetermined path, the rover would use an Ultra-Wideband system to determine its precise location. We will set up anchors around the plot and a tag on the rover. Using the time it takes for signals to travel between the anchors in the tag, we can determine the distance between the rover and the anchors, thus giving us its precise location. Using feedback from an IMU, we would then use a PID algorithm to correct any errors in movement that could be caused mechanically or through the bumpy texture of the soil.

3D Printed Chassis

Wheels and motor dc-geared-motor-and-wheel-kit-3-9v-77rpm

Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout - BNO055
Phoenix America Universal Hub Encoder Kit

Qorvo DWM1000 Module



## Soil Monitoring Subsystem

Another subsystem of the smart gardening rover will focus on soil monitoring. This subsystem will use a combination of moisture, pH, and temperature sensors to assess soil conditions in real time. The data collected will help inform the user’s decisions on how to treat the soil, which can be done through soil distribution, watering, or pesticide disbursement, which the user can do.

We will embed the sensor into the soil using a linear actuator, which will be activated according to the input interval.

Components:

Moisture Sensor: Adafruit STEMMA Soil Sensor - I2C Capacitive Moisture Sensor

pH Sensor: Atlas Scientific GRAVITY ANALOG ISOLATOR

Temperature Sensor: MCP9808 High Accuracy I2C Temperature Sensor
Linear Actuator, Electric Micro Linear Actuator (Stroke 100mm-8mm//s-70N)


## Visual Application Subsystem

Using the data collected by the rover, we will show a heatmap of the plot. The heatmap will distinguish areas of concern and areas that are in a healthy state. Data will be sent over USB connection once the rover is done with its movement plan. The data will be accessible through the file system LittleFS. Our algorithm will use the precise location data along with the soil data to create the heatmap.

Data received on the React application will be used to generate and show the heatmap.


## Power Subsystem

The power subsystem for the smart gardening rover will utilize a rechargeable lithium-ion battery pack that can provide consistent energy to the microcontroller, sensors, motors, and dispensing mechanisms. The battery pack will help ensure that the system lasts for a long period and can be recharged as needed, minimizing the cost and need for frequent battery replacements.

Additionally, to protect the components and manage power distribution effectively, we will create a comprehensive BMS system containing a Battery Management IC to monitor the battery’s health, ensuring that it doesn’t discharge or overcurrent too quickly. A voltage regulator and step-down converters will also be needed to help distribute appropriate battery voltage levels for different components, such as sensors and ESP 32 microcontrollers. Additionally, power from these lithium-ion batteries will be stepped down to a specific voltage for the actuators, motors, and servos we plan to implement.

Components:

Rechargeable Lithium-Ion Battery Pack: 10.8V (11.1V) 3500 mAH 10A Lithium Ion Battery with Wire Leads 3S1P from Liion Wholesale
Battery Management IC: TI BQ769X0
Voltage Regulator/Step down: TI MC34063ADR
Power Switch: Standard 2N2222 NPN TO-92 Plastic-Encapsulate Power Transistors

# Criterion For Success

We will place the rover in a dirt field and set the field size to a small rectangular region. Then, we will set our testing interval to a reasonable amount so that the rover will be able to test the soil multiple times per row for multiple rows.

The React web application will have a two-fold approach:
Control and Configuration: Users can set intervals for soil monitoring and adjust various parameters for the rover’s operation directly from the web interface.
Data Monitoring and Analysis: The application will be able to receive data from the rover, allowing users to monitor soil conditions and other key metrics, providing insights and analysis for better decision-making in gardening tasks for the user.

Prosthetic Control Board

Caleb Albers, Daniel Lee

Prosthetic Control Board

Featured Project

Psyonic is a local start-up that has been working on a prosthetic arm with an impressive set of features as well as being affordable. The current iteration of the main hand board is functional, but has limitations in computational power as well as scalability. In lieu of this, Psyonic wishes to switch to a production-ready chip that is an improvement on the current micro controller by utilizing a more modern architecture. During this change a few new features would be added that would improve safety, allow for easier debugging, and fix some issues present in the current implementation. The board is also slated to communicate with several other boards found in the hand. Additionally we are looking at the possibility of improving the longevity of the product with methods such as conformal coating and potting.

Core Functionality:

Replace microcontroller, change connectors, and code software to send control signals to the motor drivers

Tier 1 functions:

Add additional communication interfaces (I2C), and add temperature sensor.

Tier 2 functions:

Setup framework for communication between other boards, and improve board longevity.

Overview of proposed changes by affected area:

Microcontroller/Architecture Change:

Teensy -> Production-ready chip (most likely ARM based, i.e. STM32 family of processors)

Board:

support new microcontroller, adding additional communication interfaces (I2C), change to more robust connector. (will need to design pcb for both main control as well as finger sensors)

Sensor:

Addition of a temperature sensor to provide temperature feedback to the microcontroller.

Software:

change from Arduino IDE to new toolchain. (ARM has various base libraries such as mbed and can be configured for use with eclipse to act as IDE) Lay out framework to allow communication from other boards found in other parts of the arm.