REAL-TIME LUMBER GRADING PROCESS AND SYSTEM

Abstract: The invention concerns a system for real-time grading and trim optimizing dimension lumber. Lumber is scanned by various linear scanning means for different features, which scanning means may include x-ray scanning means for density and laser scanning means for slope of grain. Data is digitized and then rationalized in a plurality of levels of a hierarchical microprocessor tree with reduction of data in each level. In the lowermost level slave microprocessors communicate serially with a master with no address to ROM. Other levels have parallel interfacing with direct swapping of memory between slave and master.

Description: REAL-TIME LUMBER GRADING PROCESS AND SYSTEM TECHNICAL FIELD This invention relates to lumber grading systems. More particularly, the invention relates to automatic real-time lumber grading systems especially for dimension lumber lumber preferably including trim optimization for such lumber. BACKGROUND ART In the past a large amount of lumber was wasted by overtrimming and slashing. Lumber was plentiful, labour was inexpensive and there was little reason to change the time-honoured manual and visual conventional techniques. Such techniques involved the use of a skilled grader who inspected dimension lumber lengths passing on a conveyor. When his inspection revealed a flaw or irregularity, it was necessary to determine the grade and length (and hence the value) with the flaw, the grade and length without the flaw and, as a result whether to cut out the flaw. Having determined to do so a mark was made on the length of lumber indicating the location for a trim saw cut to be made and the final grade of the piece. As lumber prices and labour costs escalated, there became a need to improve the processes used. The use of drop saw trimming apparently became common in North America. Lumber lengths are conveyed on a conveyor system laterally towards a bank of trimmer saws arranged to be able to cut at selected intervals along each lumber length. Tha trimmer man selected the appropriate saw to cut out unsuitable wood from each length according to marks made by the grader man. Piece count through such trimmers has increased and the trimmer man and the grader man may easily be pushed beyond their decision-making capability. When this happens mistakes may occur. Mistakes in undertrimming will be evident in the trimmed lumber but mistakes in overtrimming will be lost as waste. Therefore, there may be a tendency for the trimmer man and grader man to err on the side of overtrimming when they are forced to make quick decisions under pressure. Grade mark reader machines may decrease trimmer man errors but if the grader man has made errors these will be perpetuated by either a trimmer man or a grade mark reader. As lumber became more expensive trim optimizers were developed based largely on calipering and scanning technology from Scandinavia. A trim optimizer may comprise board width sensors, length sensors and thickness sensors, a conveyor speed measuring device, a moveable fence, a platform to support measuring and lighting systems, a computer to handle data, control mechanical equipment, sequence events and record controller functions. As with edger optimizers, various scanning methods are possible including neon light, LED arrays for piece shape and laser and LED wane calipers and laser cameras and LED scanners for width measurement. Furthermore, in addition to the use of trim optimizers, systems have been developed since 1983 and originating in Scandinavia, that can determine appearance characteristics of dry shop lumber. Such appearance grading systems may alleviate the need for highly skilled human graders in hardwood lumber grading operations such as are common in Europe, for example, in the production of lumber for shop lumber or hardwood furniture. Unfortunately, the role of the human grader in dimension lumber grading is still very necessary since the principle use of such lumber is structural and strength and stress considerations are paramount. In addition to the use of a human grader-man, when strength is an important factor in the use of the lumber, it has been necessary to perform extra tests to determine strength. Machines exist to measure strength and stress rating of lumber pieces. These machines operate by bending the lumber sample to a predetermined stress level, which may be calculated by computer. Depending on the extent to which the lumber bends, it is graded accordingly. A great need exists to provide a scanning system which is capable of sorting dimension lumber into various grades designated by organizations, industries or countries, which system would provide for: 1) grading for strength information in accordance with lumber characteristics including strength; 2) optimization; 3) labour saving; and 4 ) flexibility. One possible reason why such a scanning system has not, up until now, been provided is the difficulty of real time evaluation of the vast amount of data necessary for grading. Another problem has been the lack of a suitable scanning system to scan the lumber for knots, spike knots, etc., and the resulting structural weakness associated with them. Another problem has been the lack of a system for evaluating the slope of grain of lumber being graded. In fact, to provide an automatic system for grading of dimension lumber, in practical terms, it is desirable to provide real time processing for data from at least five basic sensors, i.e. a sensor for knots, a sensor for cracks and holes, a sensor for missing wood (wane), a sensor for colour (indicating stain perhaps rot), and a sensor for slope of grain. Each of these sensors should scan each face of the lumber. It has not been thought possible to provide sufficiently inexpensively, a system sufficiently fast to provide real time processing of this volume of data ever if the means of accessing the data were available. DISCLOSURE OF THE INVENTTION According to the invention, a real-time lumber grading and trim optimizing system for use with boards travelling past a monitor point, comprising means to generate imaging signals characteristic of features of a board; signal processing means to digitize the imaging signals; data reduction means to reduce the quantity of digitized signals to form a feature set; grading means to allocate a grade to the board in accordance with the feature set; and optimization means to produce optimization data for trimming the board to adjust its grade. Board tracking means may be provided to track each board for which imaging signals are generated; and allocation means are provided for allocating optimization data to a tracked board appropriate to that board. A "board" as defined herein means sawn lumber of whatever shape and thus is not limited to four sided rectangular lumber; whether or not it is further finished such as by planing or re anufacturered as diverse articles e.g. chopsticks, roof trusses, etc. Suitably, the imaging signals are line-by-line pixel-by-pixel signals across each board. The use of line-by-line operation may help reduce the amount of memory needed in the system. Also, according to the invention, a lumber grading system comprises a scanning region having a path therethrough for passage of a board, and a plurality of groups of linear scanning devices are provided, each group being adapted to detect different features of the board, the groups being located to scan the board on passage along said path and to form imaging signals in response thereto; means to digitize data from said scanning devices; hierarchical processing means for the resulting digitized data, comprising microprocessors at a plurality of levels, adapted to rationalize received data and to send a reduced data flow of rationalized data to the next level, the processing means of at least one level comprising a plurality of slave processors communicating with a processor of the next uppermost level as a master through a serial data bus, and the processing means of other levels interfacing through parallel interfacing; further processing means to receive rationalized data from the uppermost level and to provide lumber grading information and/or optimization data for trimming to adjust board grading, Radiation from a small laser spot, when reflected from the face of dimension lumber, is conducted far more strongly in the direction of the grain of the lumber than perpendicular to the grain. This direction of conducted light is largely independent of the incident angle. The area of wood illuminated is thus, not a circle as would have been expected, but an ellipse having its major axis parallel to the true grain of the wood and not to the growth rings. Thus, a further feature of the invention is a laser scanner which may be used in the system of the present invention and which establishes the above described phenomenon. Such a scanner may comprise means to provide a focused beam of light to illuminate a face of dimensioned lumber to be reflected therefrom, linear scanning means to scan the reflected beam and adapted to detect the direction of the major axis of any elliptical spread thereof. The invention includes a method of detecting the slope of the grain of dimension lumber using the above scanner. The focused beam of radiation may suitably be a He-Ne beam produced in a conventional manner. The means for detection of an elliptical spread of the reflected beam may be a charge coupled device (CCD) or a video camera. The output from the CCD or video camera may be digitized and the orientation of the slope of grain may be calculated from the digitized data by processing with a computer. As with any of the other scanning systems ulitizable in the invention, the novel method for detecting the slope of grain may be utilized as a stand alone method. Suitably, the laser scanning means is used in a hierarchical processing system for real-time grading or optimizing of lumber as described herein. The development of the invention was, in part, due to the surprising realization that if a microprocessor's operation can be directly suspended, then appropriate use of this suspension can be used to allow for simple and direct transfering of the slave memory to the master processor. A memory window is created so that access of local data and program is effectively instaneous and involve no processing other than data transfer into or out of the memory window created. To achieve such suspension in one manner, the hold line of a microprocessor having a hold line may be used directly to suspend operation of any one slave while allowing local transfer of the slave's memory through an serial address bus shared with the master. Such local transfer is, thus, not really a transfer at all but, rather, it is a change in memory mapping. It is effectively instantaneous. The processors sequence communication to the matter in a certain segment of time, thus allowing maximum utilization of a simple serial link. Thus, the processors generally operate in parallel, all having processing tasks, only one of which is to communicate processed data through the serial data bus. This allows the building of a hierarchical tree of microprocessors which may operate sufficiently fast to permit real-time monitoring- of production line processes which were previously considered too fast for such monitoring to be possible. Such tree may comprise a plurality of levels for data processing, each level reducing the data flow to the next level. Such a hierarchical tree for an automatic lumber grading system may, for example, comprise a level for accepting and processing data from data sensors and passing a reduced flow of relevant data to the next level. The next level may correlate similar data from adjacent areas into regions representing single features of the lumber. The next level may rationalize data received from different sensors so that if more than one of the sensors recognize a feature, data corresponding to only a single feature will be forwarded to the next level. A further level may be used for converting the data into data in terms of dimensions. Alternatively, if sufficient processing power is available this may be carried out at the previous level. A further level may correlate data from each face of the lumber. Typically, for four sided board the reduction in data flow from this level is four, representing the rationalization of information from each of four different faces of the lumber. At this point, parallel processing is no longer necessary since the information is now comprised in a handleable data package. Any suitable processing equipment may be used to process this package to provide grading information and/or to send instructions to a trimmer for the lumber. A console for operator input may be interfaced at this processing level, for example, for inputting information concerning market conditions, special problems etc. At the lowest level the microprocessors may receive information from cameras or sensors from five groups, a camera or sensor of each group being located to scan each face of the lumber. Scanning arrays may be provided, for example, for detecting x-ray capacity, e.g., denser features, such as knots, pitch-pockets, spike knots, etc.; for detecting slope of grain; for detecting missing wood, e.g., in board dimension, wane, skip, crook, bow, twist, cup, holes, pin-holes, grub-holes, etc.; for detecting shakes, through shakes, checks, through checks, splits, white speck, etc.; and for detecting colour indicating unsound wood, rot, stain and streaks. Some scanners for most of these features may be regarded as conventional. Thus, scanners have been used to scan dry shop lumber for appearance and these may be incorporated in the system. Reflected light scanners may be used to scan for various features depending on the positioning of the light sources and the sensors. Moreover, by use of suitable colour filters, particular surface features may be picked out for scanning. It is known to use x-ray scanning in various fields including that of scanning telephone poles for rot and for scanning tree trunks for density, x-ray scanning may be used in this invention for scanning for density, and, at least at present time, x-ray scanning is considered useful for use in scanning for density in the system of the present invention. However, the results of x-ray scanning are affected by the moisture content of the wood and it is thought that nuclear magnetic resonance scanning (NMR) , alternatively known as magnetic resonance imaging (MRI) may provide advantages. Slope of grain scanning may be provided by utilizing characteristics of laser beam reflection for the surface of wood as described herein. Further scanning techniques are envisaged, such as for example, acoustic scanning in response to noise generated at the surface of wood and altering in characteristics in response to surface features of the wood. Thus, conventional and new scanners may be used in the present invention. Some of the conventional scanning techniques, e.g., x-ray scanning, have not previously been used either in real-time imaging or any production line. Real-time imaging the vast amount of data necessary for strength grading and optimization of boards in a production line in the lumber industry, has not hitherto been possible even when all the scanners used are individually known. Every scanner may suitably be a linear scanner and may scan across each board, generating line data. The scanner may, for example, resolve a thirty second of an inch over a sixteen inch width. Boards pass through the system longitudinally at high speeds usually in the range of 700 feet/minute to 1,600 feet/minute. In order to achieve resolution of at least 0.25" per pixel row with boards moving at speeds of up to 1,600 feet/minute, pixel rows must be sampled at about 1,250 rows per second and 512 pixels per row, the scanners generate about 4,635 million pixels per second. The hierarchical processor tree used in the present invention may be designed to handle this high data rate. The scanners themselves may be conventional light beam scanners, white light scanners and spectrum specific scanners, respectively. Examples of suitable scanners for these groups are E9 & 9 1901 or 1902 line scan cameras. BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the invention will now be described by way of example with reference to the drawings in which: Figure 1 is a sketch showing sequential lumber processing operations including scanning; Figure 2 shows the scanning system in more detail; Figure 3 shows an embodiment of the laser scanner; 05 Figure 4 shows a cross section through a part of a board under laser scanning showing diving grain; Figure 5 is a block diagram of one system of lumber grading according to the 10 invention including an embodiment of a hierarchical tree illustrating computer architecture according to the invention; Figure 6 is a block diagram showing the 35 operation of Level 0 of Figure 5; Figure 7 is a block diagram showing the operation of Levels 1, 2, 3, and/or 4 of Figure 5; Figure 8 is a flow chart of the operation 20 of a master microprocess for Level 0; Figure 9 is a flow chart of the operation for the slave microprocessors of Level 0 for x-ray scanners; 25 Figure 9A shows a modification of Figure 9 for light scanners; Figure 9B shows a modification of Figure 9 for other light scanners; Figure 10 is a flow chart of the operations 30 carried out in Level 1 processing; Figure 10A is a flow chart of the main level control process of Level 1; Figure 10B is a flow chart of an interrupt level process for Level 1; Figure 11 is a flow chart of a buffering 05 process in Level 2; Figure HA is a flow chart of an interrupt process of Figure 11; Figure 11B is a continuation of the flow 10 chart of Figure HA; Figure 11C is a flow chart of the window process referred to in Figure 11B; Figure 11D is a flow chart of the Do 15 Xfer process referred to in Figure 11B; Figure HE is a flow chart of the output process referred to in Figure HA; Figure 11F is a continuation of Figure HE; 20 Figure 12 is a flow chart of the operations carried out at Level 3; Figure 12' is a continuation of Figure 12; Figure 12" is a continuation of Figure 12'; Figure 12A is a flow chart of processing 25 operations for the edge of a board, referred to in Figure 12"; Figure 12B is a flow chart of processing operations for x-ray, referred to in Figure 12' ; 30 Figure 12C is a flow chart of processing operations for the direct process referred to in Figure 12 • ; Figure 12D is a flow chart of the interrupt referred to in Figure 12; Figure 13 is a flow chart of the processing operations of Level 4A; Figure 13' is a continuation of Figure 13; Figure 13A is a flow chart of the main level process of Level 4A; Figure 14 is a flow chart of Level 4; Figure 14A is a flow chart of the main level process of Level 4; Figure 15 is a flow chart of processing operations carried out in Level 5; Figure 15' is a continuation of Figure 15; Figure 15A is a flow chart of main level process of Level 5; Figure 16 is a flow chart of the operations in Level 5A. Figure 16' is a continuation of Figure 16; and Figure 16" is a continuation of Figure 16'. MODE(S) OF CARRYING OUT THE INVENTION Referring first to Figure 1, a system for automatic grading of lumber with trimming optimization and automatic trimming is illustrated. Boards emerging from a planner 10 are passed through in a longitudinal direction by means of a roller drive 11 upstream of the scanning region 20 and a further belt drive 11' downstream of the scanning region 20. Within the scanning region, an additional roller supports or other support surfaces 202 may be provided. These supports 202 should allow access for a scanning array 204 for each side of a board 13. The arrangement of supports 202 and scanning arrays 204 has been illustrated schematically and simplistically. In fact, any suitable arrangement may be used for the scanning region provided that appropriate regions or surfaces on each board are exposed to appropriate scanners. Moreover, while this description assumes that four sided boards are produced and processed, the boards may, in fact, have any number of sides and the number of directions in which scanners scan a board 13 is suitably equal to the number of sides of the board. Information from the scanning is processed in real-time for each board in a manner hereinafter described to provide optimization data for each board which data is preferably used in operation of an automatic trimmer. As each board 13 emerges from the scanning region it may pass an inking station 14 for applying a mark, e.g., a bar code to the board. Thereafter, board 13 passes to conveyor 15 travelling at right angles to drives 11 so that the boards 13 now travel laterally to a trimmer 16. Conveyor 15 may be " any standard conveyor used in the art. Various operations may be performed during carriage of a board 13 by conveyor 15. Importantly, just before a board reaches the trimmer 16, the bar code is read by a bar code reader 114 to confirm that the board does indeed carry the bar code for which optimization data is being supplied to the trimmer 16. In addition, a grade may be marked on the board by an ink sprayer 414 for the purposes of allowing a manual check on the grading and trim decisions before the trimming actually takes place. Each saw of the trimmer 16 is arranged to cut in a direction perpendicular to the longitudinal axes of the board and saws are activated to cut the board in response to the optimization data computed using the scanning data. A grading rule base may be used to designate a grade to boards having specific characteristics within grade ranges according to applicable rules. However, there is no reason why the production of grading and optimization data should not be calculated by any convenient program obvious to the man skilled in the art. In the scanning region 20, illustrated in more detail but still schematically in Figure 2, a board 13 to be scanned passes scanner arrays 204 which scan it for various features. Four scanning arrays are shown but by way of practical example, the number and type of the scanning arrays may be chosen according to the lumber characteristics about which information is required. The four arrays are as follows: A group of lights 209 arranged to each side of a board 13 travelling through the scanning array 204. Cameras 210 (scanners) are arranged above and below the board 13 to receive light reflected by edges of board 13 which are not perpendicular, but which are angled to the perpendicular. Cameras 210 will detect wane and board dimension and other anomalies involving lack of straightness at the edge of the board. A group of lights 208 is arranged above and below the board 13 travelling through a second scanning array 204. Cameras 207 are arranged to each side to receive light reflected in those directions. Cameras 207 will detect thickness and related anomalies. If colour filters are used, chosen to mask visible marks on the surface specific to non-detrimental characteristics, the volume of data input to processing equipment may be somewhat reduced. A source of x-rays 213 is positioned above the board travelling through a third scanning array 204. x-rays passing through the board are received by scanner 212 below the board to give an indication of density. This arrangement may detect knots, holes, cracks or any other differences in density. In a fourth scanning array, a group of lights 214 above and below the board 13 and to direct light diagonally towards it will, by means of cameras 205 to detect, for example, cracks. The above choice of scanners is, for many purposes, sufficient to provide data for grading of the boards in relation to their strength and for optimizing trimming. However, it is emphasized that these scanning arrays are only exemplary. Other options are a slope of grain scanning array (which will be later described with reference to Figure 3), a colour scanner for detecting rot, stain, etc., a position of knot scanner, and scanners for other i ageable features which may, from time to time, be the subject for grading requirements, for example, as set out in the National Lumber Grading Association rules for North America. Some scanners have previously been used to scan rough dry shop lumber for appearance and these may be incorporated in the system. However, the system is primarily intended for use in automatically grading, for example, boards as hereinbefore defined. The laser beam slope of grain scanner 216 is an important part of the invention for MSR lumber since regulations are envisaged by which evaluation of slope of grain in grading systems is mandatory. One reason for the proposed regulation is that the conventionally used machine stress test only measures bending strength but does not measure ultimate yield in tension. A combination of x-ray scanning for density, moisture content detection, and slope of grain scanning might produce the necessary information. However, NLGA rules apart; in practice, x-ray scanning without slope of grain scanning may usually be sufficient. Figure 3 shows a diagrammatic sketch of suitable apparatus for the laser scanning of lumber to detect the slope of grain. A light beam 500 is focused by lens 502 to focus on the face 504 of board 506 at point 507. If a laser beam is used, then the lens 502 is not necessary. In the system of the invention the apparatus will be located to scan board 13 in the same way. On the face 504 an ellipse 508 is formed, the shape of which is dependent on the slope of grain of the wood. The major axis 510 indicates the general direction of the slope of grain. The distance from the mid point of the major axis of the actual point 507 of impingement of the beam will be an indication of the degree of bad slope of grain. When the grain of the wood is as shown in Figure 4 which is a rough sketch of a cross section through lumber 506 indicating diving grain 522 (which is not a desirable slope of grain), ellipse will be formed in which one part of 512 of the ellipse 508 is initially brighter than the other part 514. This difference in brightness is rapidly alternated but is measurable and sufficient to be indicated to the CCD or video camera. Thus diving grain may be sensed by the scanning means, a digitized signal produced and the computer may calculate the degree of diving of the grain in accordance with a program in accordance with tha flow chart of Figure 8. Such a program may easily be devised by any one skilled in the art. Whatever scanners are used, they are adapted and arranged to deliver line-by-line pixel-by-pixel data to level zero of a hierarchical tree of microprocessors (Figure 5) which reduce the data to that required to reproduce imaging. Boards pass through the system longitudinally at high speeds usually in the range of 700 feet/minute to 1,600 feet/minute. In order to achieve resolution of at least 0.25" per pixel row with boards moving at speeds of up to 1,600 feet/minute, pixel rows must be sampled at about 1,250 rows per second and 512 pixels per row, the scanners generate about 4,635 million pixels per second. Each camera, irrespective of for which feature it is scanning has essentially similar processing in that, each line scan camera scans across each board generating line data. Each line of data consists of a 512 pixel scan across the board. The pixels are digitized and converted to digitized form and sent to level 0 of the processing system. From each camera sensor, only one or two features are detected. The sensor itself in each case is designed specifically to sense reliably one feature using a simple algorithm. For example, narrow shadowy dip in direct light for cracks, white peaks in edge lighting for wane, dark shadows in the x-ray image for knots, changes in the red/blue ratios for stain. The operation of an embodiment of the novel processing system of the invention may be understood from the following discussion mainly with reference to Figures 5, 6 and 7 of the drawings. After acquisition of data by the sensors each level of the hierarchical tree 400 reduces the data by a set amount, for example, by a factor of 10 so that after levels 0 through 4 several million pixels per board become several hundred categorized objects per board. With the exception of Level 34A, each level reduces the data volume passed to the next level up and requires fewer processors. The levels of the hierarchical tree may be: 1. A scanning level 200 corresponding to scanning region 20 already discussed. Data from this level is digitized and passed directly to slave microprocessors of Level 0, 402 which share a data address bus. The data is analyzed and only data indicative of detected features is passed to the master of level 0, thereby reducing the relevant data and passing this to Level 1, 403. A program for Levels 0 and 1 may be devised for example from the flow charts of Figures 8, 9, 10, 10A and 10B, respectively. 2. Level 2, 404 which is used to buffer data. Figures 11, HA, 11B, HC, 11D, HE and HF illustrate Level 2. 3. Level 3, 405 which recognizes objects as features and arbitrates that if a feature is detected by one set of sensors then any information relating to the same feature from other sensors may be discarded. The resulting reduced data passes to the next level. A program may be devised for example from the flow chart of Figure 12, 12', 12", 12A, 12B, 12C and 12D. 4. Level 4A, 406 is only optionally a separate level from Level 3. Level 4A dimensions the data and scales the image. If sufficient computing power exists it may be combined with Level 3. Data from this level passes to the next level. A program may be devised for example from the flow chart of Figures 13 and 13A. 5. Level 4, 407 which brings together and correlates data from each side of the board reducing the data flow by about a factor of four when the number of sides is 4. Data then passes to the next level. Programs for levels 4 and 4A may be devised from the flow charts of Figures 14 and 14A, respectively. 6. Level 5, 408 where it is used either merely in the production of grading information as to the lumber or, in the production of grading and optimization information to be passed to actuate the trimmer 16 and grade stamps. Thereafter, Level 6 coordinates grading information with board labelling and trimmer control programs for Levels 5 and 6 may be devised from the flow charts of Figures 15, 15' and 15", respectively. 7. Level 6, 409 is not part of the hierarchical tree but logs production statistics and system malfunctions. It is also serves as a repository of the grading rules and printing tables which are loaded into Level 5 when the system is first powered up. Programs may be devised from the flow charts of Figures 16, 16' and 16". LEVEL 0 Figure 6 is a block diagram showing the configuration of Level 0 of the system. Each line of digitized data from each sensor is analyzed by level 0 to find anomalies. The anomalies searched for depend on the type of sensors. For example to find knots with the x-ray, the data is thresholded to detect the increased density of a knot. Level 0 then reduces the data from a line of 512 pixels to 112 or fewer "events" 14 or fewer for each of the 8 slave processors. Each event being a specific trigger depending on the feature being looked for, and the sensor providing the data. Level 0 comprises at least one group of eight slave microprocessors 301, 302, 303, 304, 305, 306, 307 and 308 accepting partitioned data from the scanners and being in serial communication through a shared address bus 312 with a microprocessor 309 for local transfer of data therebetween. A common data bus 312 is shared between the slave processors. Additionally, a common serial bus 313 allows the master processor 309 to transfer bytes to or from each slave's memory. Microprocessors 301-309 may each conveniently be a Texas Instrument Digital Signal Processor 320C25. This microprocessor is especially convenient because it is fast in operation and has the advantageous feature of a hold line for a substantially instantaneous hold on any slave while its data is made available to the master 309. However, the use of this microprocessor is by no means essential. Other microprocessors may be used. The computer architecture of level 0 comprises a buffer 300 for A/D data from the sensors. Eight slave processors 301-308 share a data bus 312 from the buffer 300. There is no buffering of the slave processes which can only read from the data bus 312 and therefore can not address ROM 310. Slave processor 301, however is a lockstep processor, which can address ROM. The master processor 309, synchronizes and resets all the slave processors 301 - 308 on the clock. A synchronizer pin ensures that all eight slaves 301-308 are so synchronized. The slaves 301-308, once synchronized all run at the same time making it possible to use only one set of ROM to load programs into internal RAM of the slaves, the lockstep slave 301, being the only slave generating addressing for ROM 310. Because the data buses 15 are connected, the slaves 301-308 all read the same program. None of the slaves have any control of what goes on the data bus 312. When all the slaves are running from internal programs, ROM is removed from the data bus 312 so that data from different sensors is available or the data bus. The slaves 301-308 accept data from the sensors via the data bus 312 in timed bursts corresponding to a proportional number of pixels for the respective sensor. Thus, if a camera provides 512 pixels per line, each slave should receive 64 pixels. In practice, however, to allow for each slave being able to have comparative data available at the beginning and end of its range, a margin of plus or minus eight pixels is provided. Thus each slave handles 80 pixels of data. The master 309 has a BIO line 313 available and, at timed intervals, corresponding with the processing of 80 pixels of data by a slave, each slave flags the BIO line requesting notice by master 309. On recognition of a flag, master 309 opens the serial data bus to the respective slave, which may then provide information to master 309 in, for example, 14 words . The exemplification of 14 words is not of any critical significance except that, the speed relationship between eight slave processors handling 80 pixels of data each and transmitting in bursts of 14 words is convenient. Each slave 301-308 handles 80 pixels of data and passes to the master only that information relating to positive features of the board 13, thus reducing the data flow by a factor of about 10. 1 million pixels/sec may output from each scanner and, for this output, it is found that a group of eight slaves and one master may be sufficient for each camera. It is probable that at least 14 and likely more than fifteen scanners will be used resulting in the use of around 135 microprocessors, probably more. The level in data reduction at this level is dependent on the pixels noted which contain positive information, but is likely that the reduction will be at least by a factor of 10. Two Level 0 arrangements may be provided so that alternating line scans from the scanning arrays may be by handled by different Level 0 arrangements, such as exemplified in Figure 6. Thus each level arrangement is given an opportunity to set up for the next alternate line while the other Level 0 arrangement is processing the current line. However, it may be more convenient for the master processor for Level 0 to overlap tasks to the slaves 301-308. Once it has accumulated data for a full line scan, each master 309 passes the data up to the next level by means of a parallel interface. A flow chart for operations in Level 0 is illustrated in Figure 9. LEVEL 1 Each Level 1 is a different arrangement of RAM 321-326. Operating at the full speed of a single master processor 329. The shared serial data bus with synchronized slave processors of Level 0 used to process pixel by pixel data is no longer necessary. At this stage, .the task is the stitching together of information into regionalized areas rather than the collection of a vast number of imaging signals.The number of RAMs may, of course, be any convenient number. While six are illustrated, it is at least as convenient to use eight. In general operation of Level 1, the master microprocessor 329 controls all data flow for that Level 2 board. It writes programs into the individual RAM space via direct bus connection 338. The processed information is read by the master, and new data is loaded; the process then repeats. Thus, memory is instantly available to the master 329. This arrangement is suitable when the level of fast data processing is within the capability of the master processor 329. When the data level is above this limit the RAMs 321-326 may each be associated with a slave microprocessor. In this case, after the master 329 has written to the respective RAM, via bus 338, it enables the associated slave to run and waits for the slave to signal completion. Here, memory is merged and shared between master and slaves through bus 343. Each microprocessor may be a microprocessor having a hold line 342 such as the 320C25 previously referred to. When slave microprocessor 321-326 are present, the master 329 can assert a hold through the direct hold line 342 for a period during which the slave's memory becomes part of the master's memory space. During this period the master 329 may allocate a block of instructions directly into the slave's memory form its own. The slave may thereafter be released from hold leaving the data bus 340 clear for the next operation by master 329. The connection between master 329 and any of the slaves 321-326 may be by bus and the master and slaves may be located on separate boards. The master 329 can address RAM 331-336 or respective slaves 321-326 through address bus 338. Thus, in addition to the direct access of master 329 to any of slaves 321-326 through hold line 342. Buffers are provided for each slave RAM 331-336. A buffer 400 for parallel interface with the next board, i.e. with Level 2. The master 329 is provided with both ROM and RAM through which it may be programmed to carry on its operations in any suitable manner as may be convenient to one skilled in the art. Board-to-board transfers are done by a single master board using a direct memory-to-memory move. In this case, level 2 is the master board, and is in complete control of data flow from Level 1 to Level 3. The task that is being carried out by the arrangement of Level 1 may be regarded as the stitching together of information. When Level 0 forwards data from a plurality of pixels, each representing a detected event, then Level 1 correlates adjacency of the pixels and " recognizes a single object as a result of information of a plurality of pixels. Level 1 thus sends regional information regarding the number of pixels on line to Level 2. For example, in the case of a crack, row 1 pixel 10 might be triggered, row 2 pixel 11, row 3 pixel 12 etc. up to, row 50 pixel 59, all of which would be incorporated into a single linear object. Data flow is reduced by a considerable amount in Level 1. It may be by a reduction factor of around 10. A flow chart for operation in Level 1 is illustrated in Figure 10. LEVEL 2 Level 2 has a similar computer to that of Level 1 (as do also Levels 3, 4A, and 4). Level 2 buffers the data output from Level 0 before it is processed on Level 3. This buffering is necessary to ensure that Level 1 may continue to process new data even before Level 3 has completed processing the previous data. The net processing speeds are adequate to ensure that no residual back log accumulates, but buffering guarantees temporary elasticity. LEVEL 3 Level 3 has a similar computer architecture to that of Level 1 (as do also levels 2, 3, 4 and 4a). Level 2 may be used to rationalize information received from different sensors. For example, if both the x-ray scanner detecting density and a light sensor indicating a surface feature both indicate a feature at a specific location, the information, only one set of information, for example will be passed to the next Level. Thus Level 3 generates as its output, the detected objects from each side of the board. Level 3 also serves to identify what each object is e.g. a knot. It does this by examining the source of data (e.g. the x-ray sensor), the shape of the object and whether or not any similar objects from other sensors occupy the same position on the board. A flow chart for operations in Level 2 is illustrated in Figure 11. LEVEL 4A It is perfectly possible to provide the data processing of Level 4A within the confines of Level 3. However, the amount of computer power required for the processing of Level 3 together with the additional processing for Level 4A may make it inconvenient to handle all this processing one level. Therefore, in this example Level 4A is provided. Level 4A converts the object data of Level 3 from rows and pixels to dimensioning in real world units. Level 4A may also be used to scale the image. For example, if a board is warped, it may warp either towards or away from the camera thereby enlarging or diminishing the image. Provision may be made in Level 4A to compensate for this . As previously commented. Level 3 has similar layout to that of Level 1. A flow chart of its operations is illustrated in Figure 12. LEVEL 4 Level 4 and 4A brings together data from each side of the board and is, again, of similar configuration to that of Level 1. Level 4 merges the features from all four board sides. Features which run from one board side into one or more other sides can be identified as a single common feature. Since Level 4 deals simply with all the sides of the board, there is a data reduction factor of 4 (for a 4 sided board) in Level 4. Level 4 uses 4 sets of data, one for each side of the board, to get all the information together. A flow chart of its operations is illustrated in Figure 13. LEVEL 5 Data from Level 4 is passed to Level 5 for use to grade the lumber and/or to produce optimization data which can be used to trim the lumber. At this stage, very great processing speed is no longer necessary since the data, at 512 pixels per line, from each camera or sensor has already been processed and reprocessed in real time. Using a system such as that shown in Figures 1 and 2, in the region of 238 processors would be used in setting up the systems of Levels 0 to 4 and 2 billion instructions per second (bips) would have been processed. Obviously, these figures will be different for systems with more scanning arrays. The microprocessor equipment for Level 5 may suitably be any standard personal computer provided with a sufficient amount of memory and speed. For example, a 16 MHz 80386 or a compatible computer would be suitable. The computer required for Level 5 needs a relatively large memory to accommodate grading rules. A simple manner of operation at this stage is to compare the information coming from Level 4 with information giving limits for grades according to local grading rules. If the information is within certain limits the relevant board will be accorded the grade designated for those limits. From the comparison, grading and optimization information is immediately available and it may be provided in the form of instructions for the trimmer saws and grade stamp machines in a conventional manner. LEVEL 6 5 Level 6A is concerned with board tracking and coordinates grading information with board labelling and trimmer control Data acquired from any one board is associated with the bar code applied to that board by the bar code applicator 14. As the ].; board approaches the trimmer 16, its bar code is read by bar code reader 114 and compared with the corresponding image or feature set processed by the earlier levels. By this means a system is provided to avoid applying board information to any board other 15 than the one from which it was acquired. The above discussion as to the arrangements of Levels 0 to 6 are by way of example. It is possible to reorder the processing of data and to program different levels to carry out different 20 tasks. Moreover, the flow charts of Figures 8-16 are also exemplary. The scanning arrays of Figures 1 and 2 and of Figures 4 and 5 are also exemplary. Modifications, changes and improvements to the forms of the invention herein disclosed, described 25 and illustrated may occur to those skilled in the art and are to be considered within the scope of the invention. In particular, while the invention has been described in relation to monitoring of boards in lumber processing, it is envisaged that it is 30 applicable to any monitoring process of articles in a production line or travelling past a monitor station which articles. require monitoring and imaging of a large number of characteristics at any appreciable speed. INDUSTRIAL APPLICABILITY The industrial applicability is at least in the use of the invention in lumber mills with a view to saving waste in overtrimming and general efficiency,

Claims: WE CLAIM: 1. An automated system for real-time lumber grading and trim optimizing for use with boards (13) travelling past a monitor point (204), comprising: means (208, 209, 213, 214) to generate imaging signals characteristic of features of a board; scanning means (210, 207, 205, 212, 216) to scan said imaging signals; signal processing means (301) to digitize the scanned imaging signals; data reduction means (402, 403, 404, 405, 406, 407) to reduce the digitized imaging signals to form a feature set; grading means (408, 409) to allocate a grade to the board in accordance with the feature set; and optimization means (409) to produce optimization data for trimming the board to adjust its grade. 2. A system as claimed in claim 1, which includes board tracking means to track each board for which imaging signals (14, 114, 409) are generated, and allocation means for allocating optimization data to a tracked board. 3. A system as claimed in claim 1, in which the imaging signals are line-by-line, pixel-by-pixel signals. 4. A system as claimed in claim 1, for real-time lumber grading for strength including means to generate imaging signals representing density. 5. A system as claimed in claim 4, in which the scanner for density is an x-ray scanner. 6. A system as claimed in claim 5, in which a laser beam scanner (216) is provided. 7. An automated system for real time lumber grading of boards (13) travelling past a monitor point (204) comprising: a scanning region (204) having a path therethrough for passage of a board (13), and plurality of groups of imaging signal generators (208, 209, 213, 214) and linear scanning devices (210, 207, 205, 212, 216) , each group being adapted to generate and detect different features of the board, the groups being located to linearly scan the board on passage along said path and to form imaging signals in response thereto; means (201) to digitize data from said scanning devices; hierarchical processing means (400) for the resulting digitized data comprising microprocessors at a plurality of levels (402, 403, 404, 405, 406, 407), adapted to rationalize received data and to send a reduced data flow of rationalized data to the next level, the processing means of the lowest level comprising a plurality of slave microprocessors (301-308) communicating with a master processor (309) as a master through a serial data bus (313); and thereafter with higher levels interfacing through parallel interfacing; further processing means (408, 409) to receive rationalized data from the uppermost level and to provide lumber grading information and/or optimization data for trimming to adjust board grading. 8. A system as claimed in claim 7, for real-time lumber grading for strength including a scanner for density (212). 9. A system as claimed in claim 8, in which the scanner for density is an x-ray scanner (212). 10. A system as claimed in claim 6, in which a laser beam scanner (216) is provided. 11. A system as claimed in claim 7, in which, in the lowermost level (402) of the hierarchical processing means (400) a group of slave microprocessors (301-308) share data bus, only one lockstep slave microprocessor (301) of the group having address means for ROM, the master processor (309) having means to control said group of slaves. 12. A system as claimed in claim 7, in which the processing means at a level (403) above the lowest level comprising a plurality of memory banks (331-336) communicating with a master processor (329) by direct memory-to-memory transfer. 13. A system as claimed in claim 7, including means to operate trimmer saws (16) in response to said optimization data. 14. A system as claimed in claim 7, in which coordination means (409) are provided to coordinate said rationalized data with grading information and to provide lumber grading information on the basis of the coordination. 15. A system as claimed in claim 7, in which coordination (409) means are provided to coordinate said rationalized data with optimization criteria and to provide optimization data in accordance therewith. 16. A system as claimed in claim 7, in which, in a level (403, 404, 405, 406, 407) above the lowermost level of the hierarchical processing, means comprising a group of slave microprocessors (331-336) are connectable for direct control from a master microprocessor (329) through a hold line (324), and are in direct memory-to-memory communication through a common bus (343), having address means (338) for ROM, the master having means (342) to control the operation of said group of slaves. 17. A system as claimed in claim 16, in which said level (403) above the lowermost level is a first level above the lowermost leval and in which the first levels communicate through parallel interface with a level immediately thereabove which acts as a master level for the first levels to control data to upper levels. 18. A system as claimed in claim 7, in which said hierarchical processing means (400) comprises at least four levels. 19. A system as claimed in claim 7, in which the lowermost level (402) of the hierarchical processing means (400) is adapted to send data to the next level (403) indicating each pixel of detected features. 20. A system as claimed in claim 18, in which the next to lowermost level (403) of the hierarchical processing means is adapted to assemble data from the lowermost level into object data and is adapted to send it to the next level (404). 21. A system as claimed in claim 20, in which the third level (404) of the hierarchical processing means (400) is adapted to recognize only one set of object data on receipt of duplicated object data from different scanners and is adapted to identify the object and send said one set of object data to the next level (405) . 22. A system as claimed in claim 21, in which a higher level of the hierarchical processing means, is adapted to express the data in standard units. 23. A system as claimed in claim 22, in which a still higher level of the hierarchical processing means is adapted to correlate data received from each side of a four sided board. 24. An automated process for real-time lumber grading and trim optimizing for use with boards (13) travelling past a monitor point (204), comprising the steps of: generating imaging signals characteristic of features of a board; scanning the imaging signals digitizing the scanned imaging signals; reducing the digitized imaging signals to form a feature set; allocating a grade to the board in accordance with the feature set; and producing optimizating data for trimming the board to adjust its grade. 25. A process as claimed in claim 24, including tracking means (14, 114, 409) to track each board (13) for which imaging signals are generated, and allocating optimization data to a tracked board. 26. A process as claimed in claim 24, in which the imaging signals are line-by-line, pixel-by-pixel signals. 27. A process as claimed in claim 24, for real-time lumber grading for strength including generating imaging signals representing density. 28. A process as claimed in claim 27, in which x-rays are used to generate imaging signals. 29. A process as claimed in claim 28, in which imaging signals representing slope of grain are generated by reflection of a laser beam from a surface of the board. 30. A process for real time lumber grading of boards (13) travelling past a monitor point (204) comprising the steps of: scanning each board as it passes through a scanning path having a plurality of groups of imaging signal generators (208, 209, 213, 214) and linear scanning devices (210, 207, 205, 212, 216), each group being adapted to generate and detect different features of the board (13), the groups being located to linearly scan the board (13) on passage along said path and to form imaging signals in response thereto; digitizing data from said scanning devices; processing resulting digitized data using a hierarchical arrangement (400) of microprocessors at a plurality of levels (402, 403, 404, 405, 406, 407) each level of which rationalizes received data and sends a reduced data flow of rationalized data to the next level, the processing means of the lowest level (402) comprising a plurality of slave microprocessors (301-308) communicating with a master processor (309) through a serial data bus (313); and thereafter with higher levels through a parallel interface; processing rationalized data from the uppermost level (407) and to providing lumber grading information and/or optimization data for trimming to adjust board grading. 31. A process as claimed in claim 30, for real-time lumber grading for strength including generating imaging signals representing density. 32. A process as claimed in claim 31, in which x-rays are used to generate imaging signals. 33. A process as claimed in claim 32, in which imaging signals representing slope of grain are generated by reflection of a laser beam from a surface of the board. 34. A process as claimed in claim 30, in which, in the lowermost level of the hierarchical processing means a group of slave microprocessors share serial data bus communication (313) with their master (309) microprocessor, only one lockstep slave microprocessor (301) of the group having address means for ROM, the master having means to control said group of slaves. 35. A process as claimed in claim 30, in which the processing means at a level above the lowest level comprising a plurality of slave processors (331-336) communicating with a master processor (329) by direct memory-to-memory transfer. 36. A process as claimed in claim 30, including operating trimmer saws (16) in response to said optimization data. 37. A process as claimed in claim 30, including coordinating said rationalized data with a grading information base and providing lumber grading information on the basis of the coordination. 38. A process as claimed in claim 30, including coordinating said rationalized data with optimization criteria and providing optimization data in accordance therewith. 39. A system as claimed in claim 30, in which, in a level above the lowermost level of the hierarchical processing (400), means comprising a group of slave microprocessors (331-336) are connectable for direct control from a master microprocessor (329) through a hold line (342), and are in direct memory-to-memory communication through a common bus, having address means for ROM, the master (329) having means to control the operation of said group of slaves. 40. A system as claimed in claim 39, in which said level above the lowermost level (402) is a first level (403) above the lowermost level and in which the first levels communicate through parallel interface with a level immediately thereabove which acts as a master level for the first levels to control data to upper levels. 41. A system as claimed in claim 30, in which said hierarchical processing means (400) comprises at least four levels. 42. A system as claimed in claim 30, in which the lowermost level (402) of the hierarchical processing means (400) is adapted to send data to the next level indicating each pixel of detected features. 43. A system as claimed in claim 41, in which the next to lowermost level of the hierarchical processing means is adapted to assemble data from the lowermost level into object data and is adapted to send it to the next level. 44. A system as claimed in claim 43, in which the third level (405) of the -lierarchical processing means is adapted to recognize only one set of object data on receipt of duplicated object data from different scanners and is adapted to send said one set of object data to the next level (406). 45. A system as claimed in claim 44 , in which fourth level (406) of the hierarchical processing means, is adapted to express the data in standard units. 46. A system as claimed in claim 45, in which a higher fourth level (407) of the hierarchical processing means is adapted to correlate data received from each side of a four sided board. 47. A method of detecting slope of grain in dimension lumber comprising illuminating a face of dimension lumber with a collimated beam of light (500) to reflect therefrom, scanning the reflected beam to detect the direction of the major axis of any elliptical spread thereof. 48. A method as claimed in claim 47, in which the collimated beam of light is a laser beam. 49. A method as claimed in claim 48, in which the laser beam is a He-Ne beam. 50. A method as claimed in claim 47, in which scanning is carried out using a charge coupled device or a video camera (216) . 51. In an automated system for lumber grading or optimization, a laser beam slope of grain detector to illuminate a face of dimension lumber to be reflected thereform, and linear scanning means (216) to scan the reflected beam and detect the direction of the major axis of any elliptical spread (514, 512) thereof. 52. A slope of grain detector as claimed in claim 51, including means to detect deviation said major axis from a reference axis co-linear with the normal direction of wood grain. 53. An automated system for real-time monitoring and imaging of articles moving past a monitor point comprising: means (208, 209, 213, 214) to generate imaging signals characteristic of features of a board; signal processing means (210, 207, 205, 212, 216) to digitize the imaging signals; data reduction means (201) to digitize the imaging signals to form a feature set; and means (400) to generate a record of said feature set. 54. An automated system for real-time monitoring and imaging of articles (13) travelling past a monitor point (204), comprising: a scanning region (204) having a path therethrough for passage of an article (13), and plurality of groups of imaging signal generators (208, 209, 213, 214) and linear scanning devices (210, 207, 205, 212, 216), each group being adapted to generate and detect different features of the article, the groups being located to linearly scan the article on passage along said path and to form imaging signals in response thereto; means (201) to digitize data from said scanning devices; hierarchical processing means (400) for the resulting digitized data comprising microprocessors (301-308, 331-336, 309, 329) at a plurality of levels, adapted to rationalize received data and to send a reduced data flow of rationalized data to the next level, the processing means of the lowest level comprising a plurality of slave microprocessors (301-308, 331-336) communicating with a a master processor (309, 329) through a serial data bus; and thereafter with higher levels interfacing through parallel interfacing; further processing means to receive rationalized data from the uppermost level and to provide monitor information therefrom.

Inventors: BAUER WILL, FLATMAN CARL, KENWAY DAN, BAUER, WILL, FLATMAN, CARL, KENWAY, DAN
Applicants: VISIONSMART INC, VISIONSMART INC.
Application year: 1990
Main classification: G01B11
IPC codes: B07C5, G01N21, G06Q10