thornton@ssc-vax.UUCP (03/27/87)
Unfortunately, there is no CAD/CAM, Robotics, or Automation newsgroups so I decided to post here. I am interested in hearing from people who know about solid modeling systems and have experience using them. Specific questions I'm interested in are: What is generally preferred, constructive solid geometry (CSG) representations or boundary represesentations (B-rep)? Of the available commercial systems, is CSG or B-rep more predominant? I am specifically interested in generating procedures for a robotic vision system to automatically inspect a part, given a solid model of the part. In addition to the actual part model, it would be necessary to have information about specific features, relationships between features, feature tolerances, and object surface reflectance. From what I understand, commercial systems do not provide this information in the output file representation of the part. More than anything, I'm interested in stimulating some discussion about solid modeling and related computer graphics algorithms. If such a discussion is considered inappropriate to this newsgroup, I might be interested in forming another group or starting a mailing list, if anyone is interested. Ken -- Ken Thornton {decvax,ihnp4}!uw-beaver!ssc-vax!ssc-bee!thornton Boeing Aerospace PO Box 3999 MS 2E-73 Seattle, WA 98124-2499 "A little learning is a dang'rous thing" - Alexander Pope
chassin@rpics.UUCP (03/29/87)
In article <798@ssc-bee.ssc-vax.UUCP>, thornton@ssc-vax.UUCP (Ken Thornton) writes: > > > Unfortunately, there is no CAD/CAM, Robotics, or Automation newsgroups > so I decided to post here. I guess it as good a place as any... > > I am interested in hearing from people who know about solid modeling systems > and have experience using them. Specific questions I'm interested in are: > > What is generally preferred, constructive solid geometry (CSG) representations > or boundary represesentations (B-rep)? > > Of the available commercial systems, is CSG or B-rep more predominant? Preference really depends on application (see below), as for predominance, it depends on what system you using. B-rep modeling is the predominant form of geometric data representation on microcomputers. This is mainly because of memory/speed restrictions that have existed since the dawn of micros (things are changing but not yet enough, and not fast enough). CSG is far more common on minis and mainframes for the same reasons, but also because data is much more easily manipulated, and more logically in terms of geometric thinking (unions, intersections, cutting, etc). My preference (as an architect) is to use CSG for conceptual manipulations, and B-rep for detailed representations. Each have their limitations, and if anyone is interested, we can discuss these at great length sometime later. > > I am specifically interested in generating procedures for a robotic vision > system to automatically inspect a part, given a solid model of the part. > In addition to the actual part model, it would be necessary to have > information about specific features, relationships between features, > feature tolerances, and object surface reflectance. From what I understand, > commercial systems do not provide this information in the output file > representation of the part. CSG seems to me to be the most readily applied to this type of work. The reason is that CSG can naturally indicate whether two parts geomtrically intersect each other, for example. However surface features like color and reflectances are not inherently applied to CSG modeling, although I imagine this could be developed, and might even be worth while. B-rep seems to be a bit more of a problem in terms of manipulating relationships between parts. I think that you have another problem when you get involved with robotic vision, and this is something that I've never thought about in terms of robotics, but I am working on in terms of architectonics (architectural modeling of sorts). That is that you will need to create some sort of algorithm for generating a 3D model from 2D information received by the cameras. Essentially the idea is to analyse a pair of images, extract the boundary data, assemble a 2D 'image' for each view, project the two images together into a 3D 'image', and finally take the resulting B-rep data and convert it to CSG type data, which can then be correlated with the previous frame and the motor algorithms to properly direct the parts into their desired positions. Piece of cake, eh... Each of these steps involve some very complicated and SLOW computing. I've worked out the basics for the first 4 steps, but have a long way to go still. In any case I would love to talk more about the ins and outs of this type of analysis because this is the main focus of my work for the next year or so. By the way, it's all being done on a Sun 2/120 and 2 AT clones... ...wish me luck!!! I know there are some people who have already done some work in these areas, but it has always amazed me how little is in fact published. I have NO, get that, NO references relating to 3D reconstructions other than the following, and these have nothing to do with computer application thereof: Wittcower & Carter, "The perspective of Piero della Francesca's Flagellation", COURTAULD INSTITUTES, vol.16, 1953 In this article the authors explain the method they used for reconstruct the actual architectural space that Piero painted. The mathematics of perspective are treated, and discussed. Since this is obviously not directly related to the subject I would greatly appreciate any sources anyone might know of. They are rare, and those that I have found, uninspiring. So, anyway, I encourage further discussion of this topic as it is a very difficult one, and it will, I believe, in the long run test what we computer graphics buffs are really made of. This problem goes beyond simply one of analysis, to become one of representation and ordering. The results, or lack thereof, will reveal much more about how we perceive and order what we see. This is the heart of the problem. _____________________ David P. Chassin Rensselaer Polytechnic Institute | School of Architecture __+__ Troy, NY 12181 / _ \ USA | | | | /=======/ = \=======\ (518) 266-6461 | _ | _ | _ | | | | | | | | | | | chassin@csv.rpi.edu | = | | | | = | ======================================================================= The above is my opinion, and mine alone. The organization I belong to may refute these statements at any time. They are however more likely to take credit for them. =======================================================================
thornton@ssc-vax.UUCP (03/29/87)
In article <1055@rpics.RPI.EDU>, chassin@rpics.RPI.EDU (Dave Chassin) writes: > I think you have another problem when you get involved with robotic vision, > and this is something that I've never thought about in terms of robotics, but > I am working on in terms of architectonics (architectural modeling of sorts). > That is that you will need to create some sort of algorithm for generating a > 3D model from 2D information received by the cameras. Essentially the idea > is to analyse a pair of images, extract the boundary data, assemble a 2D > 'image' for each view, project the two images together into a 3D 'image', > and finally take the resulting B-rep data and convert it to CSG type data, > which can then be correlated with the previous frame and the motor algorithms > to properly direct the parts into their desired positions. Piece of cake, eh.. > > Each of these steps involve some very complicated and SLOW computing. I've > worked out the basics for the first 4 steps, but have a long way to go > still. In any case I would love to talk more about the ins and outs of this > type of analysis because this is the main focus of my work for the next > year or so. By the way, it's all being done on a Sun 2/120 and 2 AT clones... > ...wish me luck!!! From what I understand, you are using solid modeling for architectural design, but may also wish to construct models from existing designs. > I know there are some people who have already done some work in these areas, > but it has always amazed me how little is in fact published. I consider these issues ones of object representation and object reconstruction. The reconstruction problem is very difficult, especially for architectural designs. One source that I have found that discusses some of these issues is "Three-Dimensional Object Recognition" by Besl and Jain, ACM Computing Surveys, Vol. 17, No. 1, March 1985. Unfortunately, most of the work on model construction seems to be based on lines drawings. This is probably due to the difficulty in obtaining accurate depth data from an image. Having accurate surface normals sure would help the situation. I know some work how been done with range data, but I don't know how accurate or sparse these measurements are. My particular interest, at least now, is determing what information the solid modeling system can provide that can be used for visual inspection. The solid modeling system and vision systems obviously both use geometrical information about the part and need algorithms for displaying the part. In addition, as I mentioned earlier, the vision system needs information about surface reflectances and color as well. For this reason, it might be best to integrate parts of the vision system with the solid modeling system, or at least be able to share some of the core software. This brings me full circle to my original query. What systems are people using? I know that constructive solid geometry and boundary representation seem to be the most popular, but what about spatial-occupancy (voxel or hyperpatch) representations. Voxel representations seem to be extremely memory intensive but, as greater demands are made on the complexity of required models, will these representations come of age? Finally, the only solid-modeling system that I'm aware of, for which source code is availabe, is PADL-2, born at U Rochester. Also, I understand that it is written is FORTRAN. Has anyone re-written this system in C and successfully ported it to a unix machine, such as a Sun 2/3? If it is to be used for university research, what's the cost of PADL-2? Are there any other systems for which source code is available? (Note: although my signature doesn't indicate it, my work is being done in conjunction with the U of Washington in Seattle, so I expect we could get an educational discount.) E-mail replies are greatly appreciated, but I am interested in generating network discussion on many of these issues, if the discussion is deemed appropriate. -- /\ /\/ \/\ / / /\/ \ Ken Thornton {decvax,ihnp4}!uw-beaver!ssc-vax!ssc-bee!thornton / / / \ \
upl@puff.UUCP (03/30/87)
In article <798@ssc-bee.ssc-vax.UUCP> thornton@ssc-vax.UUCP (Ken Thornton) writes: > > >Unfortunately, there is no CAD/CAM, Robotics, or Automation newsgroups >so I decided to post here. > >I am interested in hearing from people who know about solid modeling systems >and have experience using them. Specific questions I'm interested in are: I am doing a solid modeling based animation system as my senior's thesis (on the Amiga1000. I also hope to eventually release it as a product, it should beat the living daylights out of Caligari. (Modesty is not one of my strong points)). In preperation for the thesis, I have spent the past year and a half researching pertinient issues such as solid modeling techniques. While I am not as informed as someone might be who has been working in the field in the real world (i.e. not a student) I have learned a fair bit. I am also VERY interested in discussing this topic with ANYONE out there! > >What is generally preferred, constructive solid geometry (CSG) representations >or boundary represesentations (B-rep)? The current trend seems to be toward CSG-BREP hybrid systems. BREP is very good for generating wireframes, doing things like mass calculations, and certain approaches to ray tracing. The big problem with BREP is the user interface. We do not have a true 3d output device available yet, and most of the systems for plotting 3d points on 2d displays are awkward, confusing, and time consuming. BREP offers a system in which the user can work with 3d primatives to begin with, on a more higher level and in a manner more natural to most people. What most of the systems I've seen do is take input as CSG from the user, and simultaneously perform CSG operations on pre-defined BREP primatives that approximate the CSG ones. There is a good article in the conference proceedings from Siggraph '86 on one way to do these CSG ops on BREP objects. > >Of the available commercial systems, is CSG or B-rep more predominant? > See the above. Realize that I have seen more art intended systems than CAD type systems, but they seem to be the same difference. > >More than anything, I'm interested in stimulating some discussion about >solid modeling and related computer graphics algorithms. If such a >discussion is considered inappropriate to this newsgroup, I might be interested >in forming another group or starting a mailing list, if anyone is >interested. GREAT! Lets discuss! Jeff Kesselman ihnp4!uwvax!puff!uhura!captain (Captain @ Uhura in the Undergraduate Project Lab)