Welding robot

More
27 Aug 2010 05:02 #3896 by digitallightning
For awhile now i've had and idea for a welding robot bouncing around inside my head and was wondering if it would be possible to use emc2 to be the brains of the machine. In it's simplest form my idea is to have a small either tracked or wheeled robot, with an facing out one side that has a motor to provide the side to side motion to create the weaving pattern, and a second motor to feed the wire (this would be a MIG or GMAW welder).

The most difficult challenge is making the robot follow a precise path, and always maintaining a constant forward speed of the electrode position, not necessarily the robot. I think the best way to make the robot follow a precise path would be to make it a line following robot, so that all that would be needed to program the path of the robot would be to either lay down a strip of tape, or string a tight wire/string that the robot could follow, so that curved welds would be possible. Would i be correct in thinking that one could connect some sensors (either optical or tactile depending on the method) to a parallel port input, and program The HAL to vary the speed of two motors to provide steering? Would it be possible to program the HAL to drive a motor at a constant RPM, without relying on any sort of g-code input to EMC? What i would like to do is to be able to set the travel speed of the bot either by using a simple input box or a slider in a custom GUI, and then have the sensors provide feedback in such a way that the left and right motors of the robot vary their speed very slightly to steer the robot in the event of welding on a curve or traction issues that may occur on a shop floor.

Controlling the wire speed motor would be trivial after solving the previous issue, although controlling the weaving motor could be another unique challenge. first of all the width of the weave has to be variable, and on top of that it would be beneficial to vary the speed of the weave, so that it pauses at either side of the weld bead, to improve weld penetration on thicker materials. The GUI for the robot would have to have three controls to control the weave; first of all a control for the width of the weld, second would be the speed of the weave (direction changes per minute?) and the third would be the dwell time at each side of the weld bead.

another nice feature to have would be the ability to make the welding arm fine tune the position of the electrode, sort of like a torch height control on a plasma table, but this could be accomplished by simple mechanical means fairly easily.

So to recap and clarify, what i would like to know is:
1) can HAL or something else be used to send out a step signal?
2) could HAL be used to read inputs and modify or regulate the speed of an outgoing step signal?
3) is there a way to use HAL components to generate the complex weaving motion required?
4)[is it possible to link a siggen output to the parameters of another siggen in such a way that i could tell a motor to make four clockwise turns, the first being slow, the second fast, the third fast, and the fourth slow, and then do the same but counterclockwise? it would be best for it to be a continuous variation in speed.
5) would mocca be the best way to make the GUI? from what i understand you can make custom buttons in it and link them to HAL inputs.
6) would i be better off using a microcontroller to operate this robot? especially considering that I have wanted to learn how to program them and build circuits around them for quite awhile anyways, and those sorts of skills will transfer to many other projects very easily.

Thank you for bearing with me through my *ahem* incredibly short brainstorming session, it at the very leas helped me to determine the requirements of such a robot.bear in mind that this project is still in the idea stage, and may never leave it.

**if it really would be more advantageous to tackle this with a microcontroller feel free to tell me, especially considering the skills that i would gain that could transfer to other projects.**

Please Log in or Create an account to join the conversation.

More
27 Aug 2010 10:16 #3901 by andypugh
Replied by andypugh on topic Re:Welding robot
HAL has functions that can be a big help in a project like this. I don't think you would necessarily want to load all of EMC2.

I think you could probably do what you want with a standalone pyvcp panel and not load AXIS. You would have a HAL file with a mixture of standard and custom HAL components. You probably wouldn't bother with motmod, though that is an easy way to start the realtime threads.

Line-following should be doable by having a PID controller linked to the line detection that applies a differential speed between left and right drive wheels, superimposed on the overall speed.

"comp" will be a big help in all this, I suspect. Look at this thread for an example of a comp module that superimposes a wobble on a movement dependent on an encoder position, pretty much the same as you want. Note that it is just a few lines of code:
www.linuxcnc.org/component/option,com_ku...6/lang,english/#3624

EMC2 is basically a modular assembly of components which all come together and communicate via the HAL pins. You can mix and match to suit your application.

Please Log in or Create an account to join the conversation.

More
27 Aug 2010 13:51 #3903 by digitallightning
Replied by digitallightning on topic Re:Welding robot
Thank you for the information. I think the likelihood of ever getting this robot built is slim, due to the fact that I will be moving and beginning an engineering degree in a week, and the job where I could have used this is already done. (building a custom 45 foot semi trailer frame, welding plate into I-beam) although i may play around with customizing emc for this application just to learn how to use hal, and as a bonus then i'd have the software end complete if i ever decide to make the robot. Thanks again.

Please Log in or Create an account to join the conversation.

Time to create page: 0.149 seconds
Powered by Kunena Forum