 |
By: Anonymous: Cary () on Friday, September 10 2010 @ 04:12 PM PDT (Read 3709 times)
|
|
|
Anonymous: Cary |
| Anonymous: Cary |
|
I know nothing about robotics, and figured the Eggbot would be a good starting point. I've used Ruby quite a bit, so I expect it would be easy to pick up the Python I'd need.
1. My understanding is that one programs a 2d drawing and the EggBot's controller board maps that onto the 3d surface. If that is correct, how does the EggBot determine when the pen's nib is in contact with the "egg"? Does it use a sensor of some sort? (I presume Python does not have to tell it how far "down" to go.)
2. The objects being turned can have an ovoid or spherical shape (a sphere being a type of oviod, I suppose). I figured the real restriction was that cross-sections merely be round, but since cylinders won't work, that theory is nixed. Why just ovoids and spheres?
3. I presume I could paint the "ends" of spheres (but not ovoids) with a two-pass approach, and that it wouldn't be too difficult to align them for the second pass 90 degrees from the way they were mounted for the first pass. Any problem doing thatt?
4. Could I use a cutter (e.g., steel, ceramic or diamond) rather than pen, recognizing it might take several passes to cut thorough an egg shell or other thin material?
Thanks,
Cary
|
|
|
|
|
|
 |
By: dnewman (offline) on Friday, September 10 2010 @ 05:13 PM PDT
|
|
|
dnewman |
| dnewman |
|
Quote by: Cary
1. My understanding is that one programs a 2d drawing and the EggBot's controller board maps that onto the 3d surface. If that is correct, how does the EggBot determine when the pen's nib is in contact with the "egg"? Does it use a sensor of some sort? (I presume Python does not have to tell it how far "down" to go.)
The pen position is basically binary: either it is up or it is down. You are asking, of course, what controls how much up and how much down. The answer is that you the human control that. You set through an option dialog how high to raise the servo for pen up and how much to lower it for pen down. Between plots, you can change the values. You can also request a raise operation or a lower operation so that you can do a "clearance" check. And, your settings are saved for you.
For different "eggs" you may want different settings. A finite amount of time -- configurable -- is spent raising or lowering the pen. It's not just instantly dropped -- bad for pen tips. So, since there's time spent in these up/down operations, you don't want to just use the maximum ranges everytime.

2. The objects being turned can have an ovoid or spherical shape (a sphere being a type of oviod, I suppose). I figured the real restriction was that cross-sections merely be round, but since cylinders won't work, that theory is nixed. Why just ovoids and spheres?
Well, you could use short tubes provided you modify the holding mechanism. Put differently, the two axial contact points which hold your oblate spheroids are intended to mate with convex surfaces. While they could mate with a flat surface -- the ends of a closed cylinder for instance -- there might be too much slippage with the stock parts. Slippage translates to things like rotating the cylinder 360 degrees in software only yielded a physical 358 degree rotation, etc.
Now, why did I write "short" tubes? Because the pen arm moves along a circular arc. The pen arm is held at a point and turned radially around that point. So, if you let the pen down be a large drop and maybe put a slight weight on the pen, then you could still draw reasonably well along the length of a short tube AND the angle of the pen to the tube shouldn't be so far away from perpendicular that it no longer writes.
BTW, I've not tried drawing on a tube, even a short one. Some folks with better mechanical sense than I may come along and shoot some holes in what I just wrote above.

3. I presume I could paint the "ends" of spheres (but not ovoids) with a two-pass approach, and that it wouldn't be too difficult to align them for the second pass 90 degrees from the way they were mounted for the first pass. Any problem doing thatt?
Depends upon just how demanding the pattern is for correct registration the second time around. If it's really demanding, then you might first want to mark the equator and then another equator
which intersects the first at 90 deg. Then use that and the pen tip to aid in alignments? If it's not an exacting design, then you can of course just eye ball it. Bruce who designed the original Eggbot has lots of good tips on getting good alignments and registration. I'm sure those will get written up.

4. Could I use a cutter (e.g., steel, ceramic or diamond) rather than pen, recognizing it might take several passes to cut thorough an egg shell or other thin material?
I'll let Windell mention the engraver concept.
Dan
Cow Canyon Saddle Clear Sky Chart

|

Evil Scientist
Status: offline
Registered: 09/08/10 Posts: 149
Mt. Baldy, California
|
|
|
|
|
 |
By: Anonymous: Cary () on Friday, September 10 2010 @ 09:48 PM PDT
|
|
|
Anonymous: Cary |
| Anonymous: Cary |
|
Dan,
Many thanks for your prompt and informative reply. I'm still not clear regarding the control of the nib in the vertical direction. I mainly want to confirm that, for a given (x,y), the "human" does not have to specify the height z where the nib contacts the egg. From what you said, I figure it works something like this. One sets up and down limits to make sure the nib can contact the "egg" throughout the paint job, without unnecessary vertical movements. (Not clear about why the down limit is set.) Then one sets the vertical "down" speed so that the nib will not crash into the egg. I assume that when the nib reaches the egg, the downward movement ceases. If so, how does the bot know when the nib contacts the egg? Does gravity alone hold the nib to the egg until the next pen up command?
One followup on the software. My understanding is that, to paint an egg, I would:
a. use Inkspace to create a 2d drawing, which would be saved as a SVG file;
b. run the (Python) GUI program, where I would specify the SVG file (or a SVG file someone else has created), enter various parameters (e.g., pen up and down limits and speeds, xy speeds and limits, scaling parameters?), and then direct the egg to be printed; and
c. the Python program then directs (through a USB port) the EBB (EggBotBoard) to print the egg, using the 16-ood ASCII commands EBB understands.
Is this roughly how it works?
Cary
|
|
|
|
|
|
 |
By: Cary (offline) on Friday, September 10 2010 @ 11:17 PM PDT
|
|
|
Cary |
| Cary |
|
Since writing the above, I found the instructions to the previous version of the EggBot (link at http://egg-bot.com/uploads/eggbot_instructions.pdf). That answered my questions about the software and also clarified how the raising/lowering of the arm works (e.g., the delays), but that version has a solenoid for controlling the arm height, whereas the current model uses a servo motor.
Cary
|

Apprentice
Status: offline
Registered: 09/10/10 Posts: 4
|
|
|
|
|
 |
By: Windell (offline) on Friday, September 10 2010 @ 11:48 PM PDT
|
|
|
Windell |
| Windell |
|
>that version has a solenoid for controlling the arm height, whereas the current model uses a servo motor.
Yes. It is possible *in principle* to use the servo motor to trace a predefined shape, but that hasn't been tried, so far as I know. It's easiest to think of the servo just as the "pen lift motor" that works like a solenoid with controllable endpoints.
Windell H. Oskay
drwho(at)evilmadscientist.com
http://www.evilmadscientist.com/
|

Evil Scientist
 Status: offline
Registered: 06/15/06 Posts: 1932
Sunnyvale, CA
|
|
|
|
|