Skip to content

johnglennII/Tomato-Harvester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tomato-Harvester

3-dof autonomous tomato harvester robotic manipulator featuring a MIMO LQG control system and computer vision, implemented in MATLAB/Simulink.

Project Overview

In this project, I developed the mechanical design, electromechanical model, and control architecture for an autonomous tomato harvester robotic arm. Using voltage control across two DC motors and a DC linear actuator, I was able to precisely position the end-effector using a Linear Quadratic Regulator (LQR) controller. Of the 9 total states, the 3 positions ($\phi, \theta, r$) were the only ones measured so a Kalman Filter was used to estimate the remaining states.

Key Features

  • Precise Control: Achieved end-effector position error magnitude under 3mm at max extension.
  • Optimal State Estimation: Implemented a Kalman Filter to estimate unmeasured states (motor currents and velocities) from the three measured states.
  • System Identification: Applied grey-box system identification to accurately obtain unkown model parameters using experimental data.
  • Custom Fabrication: Designed hardware elements using Design for Manufacturing (DFM) principles and machined components on a vertical mill.
  • Iris Diaphragm Gripper: End effector design mimics lens aperture mechanism. It moves past tomato, closes using a stepper motor, and retracts which allows for even pressure.

Visuals

1. Control System Demonstration

Closed-loop system moving to a pseudo tomato location, closing gripper, retracting, opening gripper, and returning to the origin.

Control System Demonstration

2. Simulink Control Architecture

The control system is built in Simulink/Simulink Desktop Real-Time and operates as a state machine. It captures images on both cameras, identifies tomatoes and triangulates positions, updates setpoint and moves to tomato location, closes gripper, updates setpoint and retracts, opens gripper, updates setpoint and returns to origin, then repeats.

Control System State Machine Logic

3. Controller Performance

The following figure shows the control input voltage (top) and the corresponding position and set point (bottom) for each of the three axes of a test case.

Control input vs Position

4. Mechanical Design

The mechanical design was chosen to resemble spherical coordinates using two brushed DC motors and a screw linear actuator for the main motion and a stepper motor for the gripping mechanism.

Actual Assembly CAD Assembly

5. Electromechanical Dynamics Model

Derived equations of motion for the electrical and mechanical system.

Equations of Motion

Skills & Software Used

  • Software: MATLAB, Simulink, Simulink Desktop Real-Time, SolidWorks
  • Hardware: oscilloscope, rotary encoders, data acquisition card, motor controllers, microcontrollers, vertical mill

About

Autonomous tomato harvester mechanical arm

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages