PROJECT: Arduino 4DOF Acrylic Mechanical Robot Arm Kit

RobotArmKit1.png

Some times it gets really tiring working on an impossible high tech project based on a new ROS2 framework and many of the new ML modules that is constantly breaking. As such, it often is a good idea to come back to the basics to ensure your understanding of the basic skills are solid (or in my case, painfully realize all the gaps in my understanding). I decided to pickup an inexpensive beginner’s kit that includes all the components so I can build it quickly and feel like a winner.

In case you are interested, below is the link and some of my initial thoughts about the kit. (click the picture or link here)

  • LAFVIN 4DOF Acrylic Robot Mechanical Arm Claw Kit Compatible with Arduino IDE DIY Robot with CD Tutorial - $37.99 at Amazon when I purchased it.

  • There are many kits that are very similar, so make sure to check the user rating/feedback before choosing one.

  • The main reason for me choosing this kit was because it included the joystick control and the bluetooth support.

  • It was one of the best cost/value at the time in Amazon.

Here is the very quick review of the kit and the lessons learned

  • The kit comes with an Arduino Uno clone and a sensor expansion board. The sensor expansion board (blue color) mounts on top of the Arduino board (black color). Having a sensor expansion board made it easier to manage wires as you can just plug in the 4 servo cables and a bluetooth module. Many seasoned engineers disregard it as unnecessary, but I alway see beginners struggle trying to manage all the basic wiring especially when they have to trace wires and debug something later.

  • CD that was provided included a PDF manual, Bluetooth app for Android based devices, and example codes for the Arduino. Unlike many of the cheap electronic kits you buy on the internet with no instruction, I found the PDF manual very useful in putting together the robot arm. However, you will still need some skills in building such electronic kits and should already have basic understanding of operating Arduino unit. There are many Youtube videos providing instruction on how to build a similar kit, but I still think a beginner will struggle if he or she tries to build it by himself/herself. This may make a good instructor led project where they can get some hands on help as needed (Note: as I have faced, the real learning will happen as the cheap components quickly go bad where you will have to find replacement part to fix or upgrade you robot).

  • It took me about 3 hours to build the kit and successfully run the first test code. I intentionally tried to build it as quickly as I can and use only the tools that was provided in the kit. Well.. just like building a plastic model kit, the cheaper the kit, more difficult and more skill that is required to build it. Needless to say, I made many mistakes including breaking some fragile plastic parts. Strongly recommend instructor led, but if you solo it, watch several Youtube videos on building a similar kit and use proper tools. Go slow and try to learn all the components as every part of this simple robot is what you will need to master as a robot engineer (or you will be like me, having to come back to learn all the basics that you skipped)

  • They provide all the components to build the kit like a small screw driver and a wrench, zip tie etc. However, I really struggled trying build it with what was provided (especially trying to tighten many screws with a tiny screw driver and a tiny wrench - stop and get yourself a good set of tools). Also, the acrylic (plastic) parts were much fragile than I expected. Be careful pulling apart all those small and thin pieces. As I rushed, I cracked a few thin pieces that was weight bearing - it later broke off when I ran the robot.

  • The servos needs to be aligned to the center (90 degrees) position when you put it together. Having a servo tester is a good idea. However, this is something you will not be able to avoid regardless of how much experience you have. I encourage you to make this mistake - just don’t get too frustrated and never give up. Building a robot means, you will have to rebuild that same robot many many times. Initially to fix your mistakes (like misaligned servos), but later to optimize and improve your robot’s performance. Never give up & keep learning!


Day 2 - 5/11/2021

Well, day 2 of the project. As I always over-engineer everything, I already ordered a few programmable master/slave bluetooth modules and a few IMU sensors (Inertial measurement unit - similar to the sensors in your phone to detect which way the phone is moving etc.) so I can remotely control the robot arm using a separate Arduino controller. Why I always make a “simple and fun” project into some impossible never ending project, I have no idea…. hopefully, I use this opportunity to really understand the bluetooth communication modules and the way IMUs work.

After getting the robot built and run the initial test code to ensure the robot was working, today’s objective was to implement all the external control mechanisms. The video above shows the external joysticks to move the robot arm. The servos have good torque and the movement is very snappy. I like the fact that the robot can be driven by the 5V power supplied to the Arduino board via USB for a single servo operation. I may need an additional power source only if I do movement that requires simultaneously servo movements. After a few hours of stress testing it using some set movements, the claw servo is starting to show problem (not responding quickly).

Okay last test for the day. I was able to implement the bluetooth module on the robot and remotely control it using the Android application that was provided. So it took me two nights work to get everything implemented and tested. However, did you see something dangling from the claw? It is one of the part that was cracked and finally broke off. Also, I managed to burn out the claw servo (not working at all now) and stripped the second servo that raises the arm. Did you hear the robot/servo screaming at me when I raised the arm up?

A little break until the IMU sensors, Bluetooth modules, and the replacement servos arrive.


Day 3 - 5/13/2021

The bluetooth modules and the IMU sensors I purchased arrived. While I spent most of my evening reading up on the IMU documentation and doing some Youtube research, I found these videos that will be very helpful to anyone who wants to start similar project.

  • https://youtu.be/EbllieSXplU

    • This is not the same kit I used. However, the components are very similar except mine was made up of cheaper components like Arduino clone etc.

    • This video talks about the same issues I’ve encountered like the cracked parts while building, claw servo burning out (it is really funny that he has the part dangling just like I had in my video above), and other issues.

    • If you plan to use this as an educational tool, these issues are not to be avoided. These problems will provide an excellent opportunity for the young engineers to reflect on what they have not considered, determine how to overcome (e.g. make vs buy replacement parts or better yet, modify the design to avoid the persistent problems from coming back again). Instructor should provide them with a safe environment for them to fail, learn to work together especially during difficult times encourage each other to bring out their strengths. I really do believe these are some of the essential skills that is a par of engineering.

  • https://youtu.be/sUqOYZuE3xA

  • https://youtu.be/0jcles2cQrs

    • I’ve also included two videos above that I think will help you in building the hardware of the robot

    • As usual, I am doing the learning “after” I’ve already made all the mistakes. Hopefully, you are much smarter than I am, but I still will encourage you to make these mistakes and learn the “art” of overcoming your failures. Good luck and Never Give-up!


Planned Next Steps

  • Mount robot arm on a platform and add IO (LCD display + Button) - Done

  • Configure min & max of the movement and add safety functions - Done

  • Program display menu structure - Done

  • Add RGB LED (NeoPixel) and code lighting functions - Hold until later

Previous
Previous

PROJECT: Remotely Control Arduino Robot Arm Using IMU Sensor over Bluetooth

Next
Next

RESEARCH: RoboCup