Having completed my first 2DOF robot arm (see Robot Arm 1.0), I decided I wanted a bigger challenge, so I started from scratch. The goals for this project were to create a functioning 4DOF robot arm, that had full inverse kinematics, smooth motion, easy controls, and working positional memory. I dove into research about the math behind inverse kinematics, and smooth robotic motion. I then began modelling the arm in SolidWorks, ensuring that all off-the-shelf components were accurately modelled and accounted for in the assembly. I then analyzed the strength of the components using SolidWorks FEA to ensure that the arm was viable. I then wrote multiple programs to solve the inverse kinematics in C++, Python, and MATLAB, before finally programming everything to run on an ESP32.
Eventually, I had a functioning UI, that could be accessed through an internet browser, that could also control the arm. Additionally, using the controller, I could move the arm to predetermined positions and overwrite those positions if needed. I had completed everything I had set out for this project, and hope to continue to improve it in the future.
Skills:
CAD Modelling (SolidWorks), CAE (SolidWorks FEA), Programming (C++, C, Python, MATLAB), Electrical Components (MG996r Servo Motors, PCA9685 Servo Driver Board, ESP32 with Wi-Fi Server)
All Code Can Be Accessed Here: