ROS-LESS Autonomous Mobile Robot

With all the talk on Machine Learning, i took on the challenge to build a Ros-less Autonomous Mobile Robot, with Ros(Robot Operating System) being the gold standard for building robots today, i wanted to wet my beak a bit in terms of the mechanics of all the different parts, more importantly reacquainting myself with all the engineering design decisions that go into building a complex autonomous system today. This journey involved designing the robot CAD model, low level embedded drivers along with the general application system.

CAD Designs

Setting up the CAD design was quite fun, more importantly i got to appreciate the art of 3D printing again, going from concept to build and iterating on multiple approaches also gave me strong intuitive sense of designing things for manufacturability vs just making things look cool. My Adventure 4 printer was definitely handy.

Driver Development

I developed low level drivers from IMU’s, Motor PWM, along with the Lidar and Camera’s. This is definitely not the best approach to take given the amount of time it takes to develop and test that everything works. But the process is definitely rewarding as i got review some architectural principles in embedded software design. Most notable i started using C++ more so than the traditional C, i went down an object oriented programming rabbit hole with a focus on building software components which i could reuse across different hardware platforms instead of application specific solutions.

Previous
Previous

RISCV Processor Design & Implementation

Next
Next

Histographia - History By Photography