Hello,
I am wanting to use a Robotic Arm to create a simple crane/grabber display using a self programmed PLC and HMI. I know the majority of the higher end kits will allow Python/Arduino/ROS for open source control however I’d like to use the PLC to take all control. Ideally I’d like to utilize the position sensors or limit sensors if the particular kit had it. I found a video of someone doing something with the OWI-535 but that particular arm is a little cheaper/toyish than I’d prefer and I don’t imagine it having any limit sensors. I’d love the uArm-Swift but I’m afraid it’d be a waste of money not using the built in controls. Any help or suggestions is greatly appreciated.
Hi,
You can find most of robotic arm products and kits here. One possible option would be to use something like the RB-Lyn-840, or if you wish to save a bit, you can get it without the controller electronics (see below).
To get position information back to your PLC, you would normally need to perform a small modification to the motors. This basically entails opening them and adding a wire to the potentiometer output inside the motors and bringing it out of the case. This would provide you with the position information of every joint, which you could then read from your PLC (one ADC channel per motor would be required). You can see an example of this in the first 5 steps of this tutorial/guide.
Also, you can read more about the AL5D in general (and various options for them) here.
We hope this helps.
Sincerely,
AL5D without electronics
]1x RB-Lyn-270 (hardware kit)/:m]
]1x RB-Hap-01 (power supply)/:m]
]1x RB-Hit-27 (gripper motor)/:m]
]1x RB-Hit-29 (wrist motor)/:m]
]1x RB-Hit-30 (elbow motor)/:m]
]1x RB-Hit-32 (shoulder motor)/:m]
]1x RB-Hit-87 (base motor)/:m]
Thank you for such a quick reply! That arm looks like it would definitely work. One thing I thought of after reviewing the tutorial page for position feedback is the majority of servos already have a limited range of motion. Would this arm be setup with the servos already in place where they could not over extend/damage the unit if someone tried continuing the direction at the end of motion? The thought for position feedback was to ensure the game was dummy proof, but it may not be necessary. Thoughts?
Thanks again for such a quick response!
Hi,
All of these RC servomotors already have tabs internally to prevent moving past their maximum range. Their on-board controller also has a fixed range of motion based on the internal position feedback, too.
That being said, since they would be assembled in a robotic arm, the motors themselves have no awareness of the position of the arm.
Therefore, you could, for example, move the arm in a way that it tries to go through a surface (such as a table), gets stopped and places one or more motors in a stalled position.
This, of course, would be pretty bad. This is where your controller, usually using IK (inverse kinematics), comes into play.
It is the job of whatever code that controls the robotic arm to prevent the arm from going into groups of motor positions that would endanger it or its components, since each individual motor have no way of doing that by themselves.
We have some basic examples of 2D IK for the AL5 robotic arm series available here. More specifically, you can find a Arduino-based example (using the Lynxmotion BotBoarduino) and a Raspberry Pi example (using the SSC-32U as a controller for the arm, the default controller for the RB-Lyn-840) in Python.
Sincerely,