A problem you don't get when the motors are located at each joint. Any movement with motor 2 must be added or subtracted from motor 3. No big deal, just something to keep in mind when writing the software. It's not perfect, there is some bug in the circle drawing part of the program that I have to sort out, as it sometimes seems to draw a circle in a clockwise motion instead of counter cw, or vice versa when using the circle commands G2 or G3.īecause it has two motors at the shoulder (I will call those motor 2 and 3) and linkages to the joints, when you move the first (lower) linkage, it affects the second linkage unless you make motor #3 follow motor #2 to neutralize that effect. Here is a link to my work so far with my dobot clone arm: I don't have a lot of time this afternoon to write a more detailed answer on the various types of software I have tried and the results I have gotten, but if you are interested in my various attempts, I will continue. It works great for moving the arm to a location, operating a servo for a claw for instance, and recording that point as a stored location, and adding more and more movement to create a complex script that can be repeated over and over, or repeated with offsets, or modified based on sensor input (that part I never tried). I have used the AR-2 software, with a modified version of Arduino software, and it works great for learning and repeating complex motions, but I was never successful in setting up the inverse kinematics for a configuration that worked with a 3 axis arm, instead of the 6 axis that it was designed for. I found numerous discussions on the internet about modifying Marlin's various files to add in custom inverse kinematics, but I never found anyone who had done it, nor sufficient description of the various Marlin files to understand what all needs modifying. When you move one joint of a robot arm, the end movement will be in multiple directions, affecting Y and Z for example. That movement however will be not solely in one cartesian direction. In other words, when the G code tells the arm to move in the X axis, instead of moving solely in the X axis as a 3D printer that has its motors and movements laid out in cartesian coordinates would, the arm will move one of its joints that you have designed as X. However, with Marlin, or any other software designed for 3D printing, you will lack inverse kinematics for anything other than a SCARA arm. If you run Marlin, it greatly simplifies the use of G code for control. You need to decide what your goals are in terms of controlling the robot. I am using ramps 1.4, Arduino mega and A4998 drivers. I am currently doing exactly what you are asking about.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |