Welcome! Log In Create A New Profile

Advanced

Request: Control via Internet

Posted by Ant 
Ant
Request: Control via Internet
October 06, 2008 05:05AM
Hi everyone, I'm new here and working on a new design. My goals are slightly different but compatible with the Rep Rap project. Here's some things which are vital for my goals and would make a huge improvement for Rep Rap's goals, if they are not already implemented. These are mostly software changes. Just thought I'd mention them in case anyone wants to work on them.

The idea I'm working on is a device that will allow people in other countries to do pick and place electronic assembly, soldering, and testing with oscilloscope, voltmeter, logic probes, and various other electronic test equipment inside the "Rep Rap". The Rep Rap would act as a person's hands and eyes to do work in another country. This would allow people in poor countries who can't afford electronic test equipment or parts to work on projects. All they'd need is a computer and internet access. It would also allow people to work on projects together more effectively. This device will do 3D printing and milling and various other things as well.

To accomplish this, here's the changes/capabilities I'll be needing.

1. Control via Internet. That is, allowing people to control the robotics via Internet. This has been done before on other projects, I'm not sure how successful they have been. Allowing a person to control the unit via Internet, and have a web cam or two to allow that person to see what is going on. The software would need to be fast (not move one increment and wait for a command, but rather move to a commanded position and wait for the next command). Slider bars and other controls could be used to location and/or speed commands. Positions and paths or groups of commands need to be savable and nameable, so that tasks become automated over time. They'd be saved on the Rep Rap's computer so other people could use the saved commands as well.

2. Calibration in all directions. My unit will not have accurately ground bars, rather I'll be using cheap square tubing for travels or ways or whatever you call them. This will give me the rigidity needed for accuracy, but the unit will require calibration. That is, the software will need to go through a calibration process to memorize all the inaccuracies in the system. Calibration is a standard thing on all CNC machines, we'll need it even more, to allow us to use cheap materials. The cheesier we make the machine, the more we need to compensate with software. We can make up for a lot of inaccuracy with software.

3. Backlash compensation. All CNC machines have back lash compensation as well. When the unit moves in a plus direction and then changes to the minus direction, there is a certain amount of motor travel which will not result in movement. Slop in other words. We move each end separately, so we'll need back lash compensation separately for each end. Even when we use the same motor, there are different amounts of slop at each end, because there are different belts and pulleys used for each end. Therefore we need 2 backlash numbers, and according to the position on the travel it would use calculate the backlash using both numbers. In the middle it uses both numbers equally, at one end it uses that end's number, at the other end it uses the other end's number.

4. Multiple encoder compatibility. I plan to have 2 to 3 encoders per axis, and the software will need to know what to do with it. I'll probably just use one motor per axis, but the encoders will give out of squareness information.

5. Calibration for force deflection. My unit won't need this so much, 'cause it'll be pretty rigid, but in future I'd like to reduce the rigidity and make up for it with a software fix. To accomplish that, the software would have to test how far things flex when force is applied, in various positions.

6. No travel zones. The plan for my unit, is to be about 2 feet square and 4 or more feet tall. In this area it'll have a 2 x 2 x 2 main work area, above that (or below) will be several shelves. It can do work on the upper shelves as well, and it'll also store things there. This means there'll be several no travel areas.

7. Tool based no travel zone amendments. Some tools will be bigger than others, so when the machine picks up a tool, it should make the necessary amendments to the no travel zones, so it doesn't crash into things.

8. Multiple travels. The frame will be a major cost for the system, and the individual travels will be minor costs. So, my system will have several travels built into one unit. The plan is to have two vertical travels (one will be very lightweight and cheap, the other will be very rigid and have powerful motors. On each vertical travel will be two horizontal travels. The horizontal travels will move together on one axis and separately on the other axis. On each horizontal travel will be two vertical quills or stationary heads with or without rotary and/or angular movement. Some will have more functionality than others, some will have powerful motors, while others have cheap low power motors. Some can pickup lots of different tools, while others may have only a few tools or even just one.

Electronic lab work is the main purpose of this machine, however it will take place mostly on an upper level, probably the top floor or the bottom floor, not in the main work area. This will leave the main work area free for doing other things like 3D printing, CNC milling, and various other sorts of work.

The multiple tools greatly reduces tool change time. For example, the pick and place unit will have one tool for resistors and anything with the same package size, while another head will have a tool for chips, Another head might have a soldering head which would be a tiny square heating pad which heats a single copper trace right next to the component. Multiple tools means no waiting for tool changes, you could set a resister down and it'd be soldered 2 seconds later and you're ready for the next component.

9. Multiple travels means multiple offsets. We'd need offsets for the head which picks up a particular tool, and we'd need offsets for the tool itself. This means X 0.0, Y 0.0 and Z 0.0 is the exact same point for any tool using any head. It also means multiple calibration tables and backlash numbers and dead zone info. Dead zone for changes as the other travels move. Some tools will have tools in them, like a milling tool will have cutters in it, and the cutter needs offset info as well, X, Y, Z, and C (Angular), 'cause a milling head might pick up a corner picker tool which doesn't spin (just goes up and down).

10. I'd like to have a standard software used for programming. I don't know if you already got something like that, but it should be freeware and work on Linux and Windows, with cross platform libraries. Code::Blocks is one that comes to mind. I'd like to see Code::Blocks (or something else) setup with all the necessary libraries (like wxWidgets and whatever else), setup and ready to use with some sample programs ready to compile and run. I'd like this setup so an idiot can download it and use it, in less than 10 minutes including download time and be editing and compiling programs. A standard setup, which you just put onto your hard drive and start working.

That's all for now. So if anyone feels like doing some programming...

Tony
Re: Request: Control via Internet
October 06, 2008 08:51AM
LOL! Don't want much, do you? tongue sticking out smiley
sid
Re: Request: Control via Internet
October 06, 2008 12:41PM
most of that is pretty much useless.
shipping fabbed object around the globe (especially to the poor countries you talked about) is the biggest part on the bill.
They'd pay less for making stuff on their own.

Do you have an idea of what is needed to control TWO robotic arms via internet?
(two because of two probes on the multimeter that have to be moved independently)

I'm sorry...
but your talking about spending 20000 bucks for something that is of (almost) no use

'sid
Ant
Re: Request: Control via Internet
October 06, 2008 02:37PM
I guess I put this in the wrong category. Oh well.

It's not really that much actually, just simple software changes. Most of those are required for the sake of making a good quality machine. Some of them are probably already implemented, at least I would hope so. Backlash compensation for example, is probably already implemented, but it may not be on both ends, but it needs to be. I can tell by the picture that the ends are moved by separate mechanisms, and therefore they need separate backlash compensation numbers.

It would really suck to be producing really bad parts for a long time not knowing why the parts come out bad, and then find out that a simple programming fix like backlash compensation would have prevented all that wasted time.

As for the internet control being "useless" most people would say the Rep Rap is "useless". Do you listen to those people? Just because you don't understand the use, doesn't make it useless. Almost all people throughout history thought almost all ideas were "useless" until they were proven otherwise.

The changes I mentioned are software changes, which means they are zero cost per unit changes.

Unless you plan on spending millions of dollars per unit, you are not going to get a single unit to produce everything efficiently. You can however for very low cost per unit have almost identical units produce pretty much everything efficiently by having units specialized in specific tasks. In which case, you don't produce the electronics on your unit at home, because your friend 5 blocks away has a unit that does electronics. In which case, your friend may not want you camping out in his home while you figure the electronics out. He'd much rather you do the electronics from your own home.

Anyway, how are poor people supposed to get the money to pay for the components to build a Rep Rap? Give them the ability to access them via Internet, and you give them an ability to do work and through that acquire everything they need.

Tony
Re: Request: Control via Internet
October 06, 2008 03:54PM
Given the magic that already gets done by third world mechanics; It could be an opportunity to speed the introduction of higher tech development which typically has very high capital outlay costs. It could also sit there being ignored by the world.

> Almost all people throughout history thought almost all ideas were "useless" until they were proven otherwise.
I think history mostly tells us that most of time the difference between a useful and a useless idea is imperceptible.

I can though answer some of your questions:

1. Control via Internet.
I don't think anyone but the military and universities have fast enough reliable enough connections to make direct remote control sensible. If your connection dies part way through a session you could leave it in a dangerous state, but more likely you waste the rest of your session as you can't access the machine.

A batch system where a series of operations, possibly including test inputs and
how to capture outputs, would make more sense IMHO. It also allows fudging initially and including some minimal human help.

2. Calibration in all directions.
Doesn't do it. This is unlikely to be added, or at least with a high resolution as the G-code interpreter currently runs on a micro-controller. Any table of offsets would have to be small enough to be stored in it's ROM or RAM which are quite precious resources for other features.

At the other end with a 'simple' calibration that just gave offsets for the corners it wouldn't provide anything manually squaring the frame does. Owing to the quanta of a step it would actually produce poorer results.

3. Backlash compensation.
Doesn't have it and may not need it. Tensioned belts have very little backlash and the reprap head is only subject to the force of accelerating and stopping, unlike a mill where the force on the cutter can vary greatly and unpredictably.

4. Multiple encoder compatibility.
Doesn't have it, some people are looking at servo setups but it is quite a departure from the current open loop design.

5. Calibration for force deflection.
Doesn't have it, not really an issue for additive stuff. No one has tried AFAIK mounting a dremel to a reprap, but I would think darwin would need some stiffening before that were sensible.

6. No travel zones.
I'm not sure. There are a few ways of generating the gcode and I guess that's where this would be handled. Anyone familiar with the Java host program or skein-forge who could jump in here would be appreciated.

7. Tool based no travel zone amendments.
I don't think so currently, not really needed until we have more than one head ;-}

8. Multiple travels.
I take it the question is about avoiding multiple heads colliding, in which case see 7.

So overall the RepRap software isn't a great match to your requirements. All is not lost, as more fully featured CNC programs like EMC do have most if not all of these features. I remember someone using EMC so it should be possible to control the extruder in some manor.
sid
Re: Request: Control via Internet
October 06, 2008 08:13PM
1. Nope
dangerous state: self controlling system prevents itself from danger
(heat, headcrash, and so on)
lost session: depends on software; just like you can kick your last ftp session with just adding ! in front of your username... one can implement something similar.

That is as long as the software runs okay, and the webserver itself is up and running.
redundant systems for power, webserver and so on.

2. If Dan succeeds with the poti system it may be possible, that'd be an absolute positioning encoder, so no need of some sort of error-table

3. True very true, but "lost steps" may be a problem even for darwin,
so maybe (2) or some sort of optical tool that catches the toolhead
(the webcams are already there winking smiley)

4. well, maybe someday, maybe even with steppers, im pretty sure Dans potis will do a fair job one day.

5. That too will have to be some sort of optical checking (software, not human)
I cannot think of how many microswitches would be necessary to to it mechanically

One CAN do something like this, but it requires not only lots and lots of time and money but it requires lots of different skills,
the webinterface itself is the smalles part, and that itself would take about one year to have it running properly (at least most of the time)
Then there is the motioncontrol, for I would guess four or even five different robots controlling and serving each other (one printer, two independent robotic arms for the probes and stuff, one Arm for a free moveable camera, just to make sure nothing get's lost, and maybe one for servicing the printer (feed new filament, toolhead service and so on))
I don't want to have to do the programming.
And think about all the hardware that's needed, buying readymades would reduce time, but increase the money spend. (what's the price for a good robotic hobby arm with gripper 700? 900?)

And who pays for all this?
Who pays the electricity for all the machines that are running all day and all night, who pays the new filament you have to buy?
Who pays the electronc parts that you need to have laying around for your pick'n'place tool?
Who buys those damn pricey milling heads you need to do some serious milling,
what does an reasonable midsize oscilloscope cost?

Who if not the ones that are using the machines?
then it HAS to be cheaper to do it on their own locally manually!

'sid
Ru
Re: Request: Control via Internet
October 07, 2008 05:20AM
Okay, this turned into a bit of a 'Too long, didn't read' posting. I do apologise sad smiley

Quote

That's all for now. So if anyone feels like doing some programming...

There's a cliche on the internet, referred to as the 'idea man', who may be typically found on forums with grand plans which only need some designers, engineers and programmers, though happily he is there are the project manager...

Anyway, it isn't my intention to appear rude, believe it or not winking smiley

Quote

it's not really that much actually, just simple software changes
Quote

The changes I mentioned are software changes, which means they are zero cost per unit changes.

I can quote you the weekly fee my employer charges for consultancy and coding, if you like. Just because it is a one off cost, does not mean it is free! It requires the donation of time, and lots of it. I see several hundred hours of work by some skilled software engineers there. It isn't even remotely simple.

Quote

As for the internet control being "useless" most people would say the Rep Rap is "useless". Do you listen to those people? ... Almost all people throughout history thought almost all ideas were "useless" until they were proven otherwise.

Yes yes, they laughed at Columbus. But they also laughed at Bozo the clown.

Can you offer a concrete benefit for real time remote machine control, over an above a batch-processed approach where you submit your designs, wait til they're printed out, and get them posted back?

Quote

your friend may not want you camping out in his home while you figure the electronics out. He'd much rather you do the electronics from your own home.

If there is a standard design for the electronics, you ask him to build a set for you. He builds a set, you collect it.

If you're talking about experimenting with new designs, that's a different matter altogether. But I'm wondering about the economic benefit of a complex remotely operated system vs a solderless breadboard.

Quote

Anyway, how are poor people supposed to get the money to pay for the components to build a Rep Rap? Give them the ability to access them via Internet, and you give them an ability to do work and through that acquire everything they need.

Somewhere, someone has to pay. And in this case you are paying with highly complex hardware and the (fragile) infrastructure it depends upon. It would be cheaper to simply *give away* a bunch of working repraps, and follow the notion of viral distribution. Expensive, complex, centralised manufacture is the antithesis of the idea of a home replicator, after all.

Be careful with your definition of poor, too. If they're so poor that they cannot afford anything, then repraps are likely to be a little too far up Maslow's hierarchy of needs to interest them. Poor does not equal backward, either.
Ant
Re: Request: Control via Internet
October 07, 2008 06:22AM
1. (Control via Internet) We currently have voice over Internet, which works almost as good as a regular telephone. The speed we'd need for giving commands to this machine via Internet can operate ok even with as slow connection speed as text based chat software. Like this "X 4.200 Y 3.200" then wait for it to go there. We can do all sorts of things to make the process low bandwidth. We can put a camera over the top of a board, take a picture, send that picture to the remote computer, then the person at the remote computer zooms in and clicks on a location in that picture, then the device will travel to that location and take another picture to verify it's location. Then it changes tools and places the component. There are many ways of doing this.

2 & 3. (Calibration in all directions, and backlash compensation) Old antique CNC machines with very little memory and really slow processors had offset tables and backlash compensation. Old and new CNC machines with extremely accurately ground ways and precision almost zero backlash ball screws have offset tables and backlash compensation.

The older machines had calibration in fairly large steps, maybe one number per inch or every few inches or something. For the unground cold rolled steel I'll be using, I'll be needing a number every 0.01 inches or so, about 5K of data per referencing strip. There's 3 referencing strips per axis, making 15K of data per axis. This is very little data for modern electronics.

Tightened belts don't even come close to ball screws when it comes to zero backlash. Even if they appear to not have slop they still have hysteresis. The motor also has hysteresis. You really need encoders on the unit, but even without encoders you could get fairly good results from backlash compensation.

From the sounds of it, I'd venture a guess that if you added a pathetic vibrating motor of just the right vibration level to the unit, you'd get much nicer looking parts. That'd help you with 3D printing, but it wouldn't do any good for other things like milling or electronics assembly. Vibration can help reduce hysteresis, just like it does on a magnetic tape recorder.

4. Multiple encoder compatibility. Do you want this machine to have only one function, of 3D printing, or do you want it to be capable of other things as well?

An optical encoder would be a very simple and cheap thing to make. I'm sure you've seen those little slit wheels on the inside of a roller ball mouse. Take on of those and gear it up and you can get whatever resolution you want out of it. Gears will mean backlash of course, but you can use spring loaded gears (two gears meshing with the same gear with a spring trying to push them opposite directions) to eliminate backlash.

Probably the biggest advantage to optical encoders, is the extreme reduction in the energy requirement. If I understand correctly, right you are using big motors to reduce hysteresis, and keeping current on them continuously to hold them in location. Add encoders and you use a small amount of current to move the motors, and once you get there you can shut them down.

If you are not efficient in your use of electricity, it'd be cheaper to buy stuff rather than make your own.

5. Calibration for force deflection. This would require only measuring current drain on the motors. The more current required to reach a specific location, the more pressure you are putting on the unit. No other sensors would be needed. It wouldn't need to be super accurate, it'd only be an improvement, not a miracle cure.

As to the why the internet control is needed, consider this: What is the difference between open source software and hardware? Hardware costs money. So what could we do to change that, so that hardware doesn't cost money. The Rep Rap is one attempt at that, but it only has very limited capability.

Suppose there was an organization which paid for the chips and the electricity and whatever else is needed. You can do whatever you want and not pay anything for it. The organization pays for it.

Actually there's a few different models for this organization, how exactly it gets money to do this. One version you'd pay for the parts you use. Another version you get stuff free if you do work, and other people buy the stuff. A third version workers get paid for the work and get stuff free, and other people buy the stuff.

Paying people to do work has huge problems that it attracts people who don't work. Not paying workers doesn't have that problem, but has problems getting people to work. People do work on open source software though, so likely they'd also work making electronics and mechanical devices.

Since nobody would be draining profits from this, it would eventually create a situation which would make it impossible for companies to compete. It would rapidly bring about the change to a gift economy.

I believe we need a very rapid change, because I see the damage our current system of society is doing to the world. We've got the technology to feed everyone and eliminate global warming and the destruction of farmlands, but we don't utilize that technology because of our obsolete system of society. Farm lands are rapidly being destroyed, many are now sustained only by chemicals which require oil,food prices are rapidly rising. We don't have time to wait for a slow change, now we need a fast change. Only a new form of society will solve these problems, and that is something we can create.

Tony
sid
Re: Request: Control via Internet
October 07, 2008 07:12AM
well, if you consider that to be "minor changes" and "easy to do" tony,
go ahead build it.

let me know when your done, I'll be happy to see that thing in working condition.

till then I'm outa here

'sid

PS talking about a rapid change and some thousand manhours of work is a contradiction
Ru
Re: Request: Control via Internet
October 07, 2008 09:31AM
Quote

1. (Control via Internet)

Yes, it is possible. But you haven't given any reason for the expenditure of effort required to make it so. What is the point? What is the benefit? It makes the system run at human operator speeds instead of machine controller speeds, and it puts the build process at the mercy of the internet connection linking the machine with the builder.

I see nothing that makes this system any better than a batch process whereby you upload you design files, and leave the machine to do what it does best.

So the reprap hardware is expensive? Once again, this is *nothing* compared to the cost of building and running an internet-linked machining centre. As I said before, build a bunch of repraps and distribute them yourself instead. Cheaper, simpler, more robust. No single point of failure, for example.

Having a magical organisation running a small number of extremely complex and expensive centres on some dubious economic model does not sound like a useful thing at all.

Quote

Tightened belts don't even come close to ball screws when it comes to zero backlash

Of course not; if I were making a milling machine I would certainly use ballscrews. Additive manufacturing is vastly lower impact however. We are not operating at high speeds, we are not moving heavy weights, we do not have to compensate for vastly differening forces on the toolhead.

Take at look at some of the things that Vik has made with his Darwin; [2.bp.blogspot.com] is one example, a complete working other darwin would be another winking smiley

Layering encoders upon the system will help, as will using precision ground ballscrews and so on and so forth. But you are increasing the cost of the device by several orders of magnitude when it can already been seen that the current, cheap and simple system is quite adequate.

Quote

An optical encoder would be a very simple and cheap thing to make

Stop. A cheap, simple encoder will be just that; cheap and simple. This jarrs somewhat with your previous comments about high quality ballscrews and the like. Encoders used on high-end servomotors are precision manufactured parts, and their cost and ease of manufacture (ie, high and hard) reflects that.

Quote

Only a new form of society will solve these problems, and that is something we can create.

You advocate a centrally controlled resource, funded by some ethereal organisation with lots of money. I see the same old charity ideas, and the same old scope for corruption and waste. Sprinkling magical internet dust on it won't make it any better.
Re: Request: Control via Internet
October 07, 2008 10:43AM
Ru Wrote:
-------------------------------------------------------
> 1. (Control via Internet)
>
> Yes, it is possible. But you haven't given any
> reason for the expenditure of effort required to
> make it so. What is the point? What is the
> benefit?
>
It's definitely possible. It's not even particularly hard any more. I can think of one very definite reason for doing it, though I doubt its one that the author intended. The reason would be that the cross-web transmission could be content controlled, that is, the transmitter of the content could make it very difficult for the receiver to take copies of the content and make multiple copies of the object printed. Such a system would have the transmitter sending an encrypted data stream of print instructions which would be received and decrypted by a plug-in to the software running the Darwin or whatever. Now such a system could be defeated, like any content protection system. Not just anybody could do it, though which would afford at least a degree of protection to the designer.
>
> It makes the system run at human operator
> speeds instead of machine controller speeds, and
> it puts the build process at the mercy of the
> internet connection linking the machine with the
> builder.
>
No, that's not true at all. Broadband bandwidth is much, much more than sufficient to run something like a Darwin at full tilt. All you'd need to include in your firmware is a watchdog timer to detect hiccoughs in the broadband connection and fail safe until comms were re-established.
>
> An optical encoder would be a very simple and
> cheap thing to make
>
> Stop. A cheap, simple encoder will be just that;
> cheap and simple. This jarrs somewhat with your
> previous comments about high quality ballscrews
> and the like.
>
No, it doesn't actually. The electronics and optics to do shaft encoding on a precision basis is disgustingly simple. The electronics are trivial and the confecting of the interrupt disk is similar. I knew one of the first guys who built the high precision optical encoders that the South African army used to aim their G-5



and G-6 cannon.



actual complexity and difficulty in the electronics required.

That guy designed the interrupt templates for the optical encoder using compass and straightedge on a drafting table, then photoreduced his drawing and made transparencies. He said that his encoder was achieving something like 0.05-0.01 degrees accuracy. I suspect that he was right, because either of those two cannon could reliably put a shell in a 10 meter circle at 30 km every time. To save you doing the numbers that means that the overall system including the encoder had an accuracy of +/-0.5 degrees.
>
> Encoders used on high-end
> servomotors are precision manufactured parts, and
> their cost and ease of manufacture (ie, high and
> hard) reflects that.
>
Um.... I've worked extensively with shaft encoders on T1. You can buy the bits for an extremely high precision shaft encoder from Austria Microsystems for under $10 and a merely high precision one for under $5. Most of the cost of traditional "high precision" shaft encoders has much more to do with the packaging of the electronics to survive hostile manufacturing environments than anything to do with accuracy per se.

Edited 3 time(s). Last edit at 10/07/2008 10:55AM by Forrest Higgs.
Ru
Re: Request: Control via Internet
October 07, 2008 02:53PM
Quote

It's definitely possible. It's not even particularly hard any more.

Indeed; I intend to write a web service interface 'at some point' because it is so simple, given that there is no need for anything really fancy when talking to host software which drives a darwin. Upload, reset, a handful of bits of diagnostic information and a few bits of configuration are all that is required after all. This would be quite adequate, and is what I mentioned above talking about a 'batch process'.

I wasn't about to write an interface to provide direct control over the cartesian bot, however. What is the point? Developing a robust web service isn't a totally trivial task, and it will require someone to expend a good few hours of work to design, code and test it. For no particular benefit. This is what Ant appears to be asking for... human control of the positioning system via a net connection with a streaming video and various positional encoders for feedback. Lose your connection to the machine at a bad moment, and you may find you've just snapped off another milling bit and ruined the workpiece in the process.

Also consider that the main thrust of his argument involved some hypothetical poor country, where reliable and high speed internet connections might be a little harder to come by.

Quote

cross-web transmission could be content controlled, that is, the transmitter of the content could make it very difficult for the receiver to take copies of the content and make multiple copies of the object printed

The problem with that (as I suspect I may have mentioned in the DRM thread elsewhere) is that is requires the printer to be running DRM compliant firmware. Noncompliant firmware could easily subvert your protection. If your firmware were open source, this subversion is a trivial thing to implement, and if it were not then you must do a good marketing job to encourage people to use it.

Quote

No, it doesn't actually. The electronics and optics to do shaft encoding on a precision basis is disgustingly simple

Is it really that simple for me to chisel out a nice 400 counts-per-revolution encoder? colour me happily surprised! I was aware that the electronics was simple enough, certainly... but making the interrupt disc to a high degree of accuracy (say, with equivalent resolution to a half-stepping stepper) would seem to be rather more challenging. I'll take your word for it, however winking smiley
Re: Request: Control via Internet
October 07, 2008 04:39PM
There's not much too it. My old friend simply drafted the template at a very large scale and then photoreduced it.
Sorry, only registered users may post in this forum.

Click here to login