
Projects Done in AutoRob.
AutoRob previously known as Rob 510 Robot Kinematics and Dynamics was an undergraduate and graduate level course taught by Professor Odest Jenkins. The course consisted of multiple mini projects. Throughout this course, I implemented algorithms to solve various fundamental robotics problems including motion planning, inverse kinematics, forward kinematics, and obstacle avoidance . All the coding was done in JavaScript/HTML5, the robots’ models were loaded using urdfs, and the rotations were represented quaternions. Below are some of the projects that I completed individually during the course. It is important to note that the implemented algorithms can be applied to multiple robots other than the ones shown.
2D Path Planning.
In this project I successfully implemented several path planners including A-star, greedy-first, depth-first, breadth-first, Dijkstra and RRT-star for various 2D maps. To implement these path planners, I utilized priority queues and binary heaps. The video to the left displays the RRT-star algorithm that I implemented.
Single and Double Pendulum
For this project, I used the Lagragian method to derive the equations of motions for the single and double pendulum. I then implemented a PID controller, and the following integrators: euler, verlet, velocity verlet, and runge-kutta 4.
The video to the left simulates the double pendulum with the runge-kutta 4 integrator. The controller in the video is activate at about 0.8 seconds.
A Dancing Baxter
The goal of this project was to get a robot to dance using forward kinematics, quaternions, a pose setpoint controller, and a finite state machine. The video to the left demonstrates Baxter attempting to perform Kenyan dance moves from the early 2000s.
Inverse Kinematics Random Trial.
In this mini project, I implemented inverse kinematics using gradient descent with jacobian transpose and jacobian pseudoinverse. The video to the left shows the robot’s endeffector (blue cube) achieving its target pose (green cube).
Motion Planning
In this project, I used an RRT-star based path planner to implement a collision free path that enables a robot to navigate to the desired location and achieve the desired configuration. The first video shows the path planning process, and the second video shows the robot following the planned path. Please note that the first video has been speed up.