Drawing system
The drawing system addresses the inefficiencies of existing robot teaching systems by converting image data into reduced-color binary images, allowing the robot to efficiently reproduce the texture and color of paintings with reduced labor and time.
Patent Information
- Application Number
- JP2023223833
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-30
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2043-12-30
AI Technical Summary
Existing robot teaching systems require significant labor and time to digitize complex movements for tasks like painting, and struggle to reproduce the texture of paintings such as oil and watercolor paintings during mass production.
A drawing system that uses a robot to reproduce images by converting image data into reduced-color data, creating binary images, and generating movement paths for a drawing tool, allowing efficient reproduction of textures through dithering and color mixing algorithms.
The system efficiently creates data for reproducing paintings by capturing image data, dithering, and creating binary images, enabling the robot to accurately replicate the texture and color of original paintings with reduced labor and time.
Smart Images

Figure 2025105356000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a drawing system, and more particularly to a system for reproducing an input image by a drawing robot holding a drawing tool.
Background Art
[0002] Conventionally, robots having robot arms configured by connecting a plurality of arms so as to be displaceable and operating with multiple degrees of freedom so as to reproduce the movement of a human arm have been used in various industrial fields and the like. For such a robot, instructions regarding the three-dimensional positions of the respective parts of the robot arm, the joint angles connecting the arms, and the operations (trajectories) indicating the time-series changes thereof are given, and the robot is operated as programmed in advance. At this time, numerical control is generally performed by digitizing each coordinate point in space and inputting the coordinate points corresponding to the respective members to operate the robot arm. However, inputting each coordinate point for each step of each operation in each individual program requires a great deal of labor and time, and in some cases, smooth movement of the robot arm cannot be reproduced depending on the input of the coordinate points. Therefore, a robot teaching system for teaching in advance the operations of the robot (robot arm) in such numerical control is used. (See, for example, Patent Document 1).
[0003] The robot teaching system can reproduce the writing motion of the writer recognized by the master mechanism unit by means of a multi-degree-of-freedom articulated robot arm capable of reproducing motions similar to those of a human arm and a slave mechanism unit having a work drive unit. Further, specifically described, the master mechanism unit having a writing information acquisition means for recognizing the writing motion by a non-contact type sensor or the like and a work information acquisition means for recognizing the state of the work at that time recognizes the situation of the writing motion, controls the signal, and sends it to the controller. Then, the controller receives the transmitted writing information and work information, and performs arithmetic processing on control data (writing control data and work control data) for controlling the slave mechanism unit to be able to perform a reproduction motion, and sends this to the slave mechanism unit. Thereafter, the slave mechanism unit that has received the control data from the controller controls the multi-degree-of-freedom articulated robot arm and the work drive unit based on each control data, and can reproduce the writing motion with the slave mechanism unit. Thereby, it is possible to reproduce a writing motion similar to the case where a writing motion is performed using both arms.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In the robot teaching system disclosed in Patent Document 1, when painting a workpiece such as porcelain, or when writing with a brush, the movements of excellent craftsmen can be digitized and saved. Then, by reproducing the digitized movements on the robot, works and the like can be reproduced. However, when using multiple paints to complete a work like a painting such as an oil painting, or when the range of applying the paint to the canvas is large, the labor for teaching the robot increases, and the amount of digitized data also increases. In this case, in order to reproduce a work by the robot, the labor and time for a person to teach the robot the movements and the time for the robot to reproduce the work are required, and there is a problem that it takes a lot of time to reproduce one work.
[0006] On the other hand, when reproducing a work by simply copying and printing a painting or the like, although mass production of replicas is easy, there is a problem that it is difficult to reproduce the texture of the paints and inks used in paintings such as oil paintings and watercolor paintings.
[0007] An object of the present invention is to provide a drawing system that can repeatedly copy a work while reproducing the texture of a work such as a painting by a robot.
Means for Solving the Problems
[0008] The drawing system according to the present invention is a drawing system that performs drawing on a target surface with a drawing tool, and includes a robot that holds and moves the drawing tool, and a control device that controls the movement of the robot. The control device includes an image data conversion unit that creates reduced-color image data obtained by reducing the color of image data, and creates a binary image including information on the arrangement area of at least one color included in the reduced-color image data. Based on the binary image, a movement path of the drawing tool is created, and based on the movement path, a control instruction for the robot is given.
Advantages of the Invention
[0009] According to the above means, the drawing system captures image data and creates dithered image data for easy duplication. Then, by creating a binary image from the dithered image data, the movement of a drawing tool (such as a brush or pen) can be created for each individual color. As a result, the drawing system can efficiently create data for reproducing paintings and the like. The robot can reproduce the work by holding and moving the drawing tool based on the created data, so it can reproduce the texture of real paintings such as brushes and pens.
Brief Description of Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15A
Figure 15B
Figure 16
Figure 17
Figure 18
Figure 19
Embodiments for Carrying Out the Invention
[0011] Hereinafter, preferred embodiments of the drawing system of the present invention will be described in detail with reference to the drawings. Note that the embodiments described below are preferred specific examples of the present invention, and thus various technically preferable limitations are imposed. However, the scope of the present invention is not limited to these aspects unless otherwise specified in the following description to limit the present invention.
[0012] Embodiment 1. <Configuration of the drawing system 100> FIG. 1 is a schematic configuration diagram showing a drawing system 100 according to Embodiment 1. The drawing system 100 shown in FIG. 1 is intended to control, for example, a robot 50 having an articulated arm 51 using a control device 10 to create an image such as a painting. A drawing tool 73 (see FIG. 19) such as a pen is installed at the tip of the arm 51, and when the robot 50 moves the drawing tool 73, the paint or the like held by the drawing tool 73 adheres to the target surface, and a painting is reproduced. As the target surface, an object actually used for painting, such as a canvas for painting or paper, can be used, and various types of drawing tools 73 can be used, such as brushes for watercolor painting, oil painting, and Chinese ink painting, crayons, pastels, pencils, colored pencils, ballpoint pens, markers, airbrushes, sprays, etc.
[0013] As an example, the control device 10 is realized by using a terminal such as a desktop PC, a notebook PC, a tablet PC, or a portable terminal such as a smartphone. The control device 10 has a program installed, can communicate via a network such as the Internet, receives a user's instruction via an input unit 17 such as a mouse, a keyboard, and a touch panel, and may be configured to display an instruction sentence of the robot 50, the input image data, the converted image data, etc. on the display unit 18.
[0014] The control device 10 includes, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), and a RAM (Random Access Memory). The CPU is also referred to as a central processing unit, a central arithmetic unit, a processor, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor). In the control device 10, the CPU reads programs and data stored in the ROM and uses the RAM as a work area to comprehensively control the drawing system 100. The control device 10 controls the content displayed on the display unit 18 based on the information stored in the storage unit 16. Further, the control device 10 changes the content displayed on the display unit 18 based on the content input by the user via the input unit 17, recognizes the user's operation, and controls each function such as storage.
[0015] The storage unit 16 is, for example, a non-volatile semiconductor memory such as a flash memory, an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), or an HDD (Hard disk drive), and serves as a so-called secondary storage device. In Embodiment 1, the storage unit 16 may be installed inside the terminal or may be a server connected via a network. Note that the storage unit 16 is not necessarily installed in the terminal, and includes those communicably installed on the network. In some cases, the storage unit 16 includes those existing on the network and is referred to as the storage unit 16. That is, the control device 10 can call information from a communicable storage device including the storage unit 16 installed in the terminal or the storage unit 16 connected to the network. The control device 10 appropriately calls information necessary for display on the display unit 18 from the storage unit 16. Further, the storage unit 16 can also store information input by the user via the input unit 17.
[0016] The control device 10, the storage unit 16, and the input unit 17 in the drawing system 100 may be configured in any form. For example, when the drawing system 100 is formed as a network computer system composed of a plurality of server computers, each function may be distributed and arranged among the plurality of server computers. Further, those server computers may be arranged across computer systems (for example, computer systems owned or managed by other information providers, providers, hosting system providers, etc.) respectively owned by a plurality of vendors and server administrators. The server computer may be formed as a so-called cloud computer system. Furthermore, at least a part of the configurations of the control device 10, the storage unit 16, and the input unit 17 may be provided in the client terminals constituting the drawing system 100.
[0017] The display unit 18 may be an LCD (Liquid Crystal Display) or the like connected to the computer constituting the drawing system 100, or may be a display screen of a portable terminal or a TV screen.
[0018] The control device 10 executes an instruction statement for controlling the robot 50 in the robot control unit 11, moves the robot 50, and moves the drawing tool 73 along a predetermined movement path (trajectory). For example, the movement path of the drawing tool 73 is created by the drawing data creation unit 12 in the drawing data creation unit 12. When creating the movement path of the drawing tool 73, image data is input to the image input unit 14, the image data is processed by the image data conversion unit 13, and the movement path of the drawing tool 73 is created based on the data.
[0019] FIG. 2 shows an example of the image data input to the drawing system 100 according to Embodiment 1 and the image data after image processing. FIG. 2(a) shows an example of the original image reproduced by the drawing system 100. FIG. 2(b) shows the image after being processed so that the drawing system 100 can actually draw. The drawing system 100 reproduces a painting using the drawing tool 73 based on image data such as existing paintings. However, since the number of colors that the drawing system 100 can use is limited to some extent, the drawing system 100 determines each color for reproduction and determines the movement path of the drawing tool 73 based on the dithered image data created by performing dithering on the image data.
[0020] <Basic Processing of Drawing System 100> FIG. 3 is a flowchart of the basic processing of the drawing system 100 according to Embodiment 1. When creating the movement path of the drawing tool 73, the drawing system 100 acquires an image. The image may be photo data or painting image data. The control device 10 performs dithering on the image to a predetermined number of colors (step A1). For example, when converting the image in FIG. 2(a) to the image in FIG. 2(b), the control device 10 dithers it to 24 colors. As the dithering algorithm, open-source methods such as median cut, fast octree, and max coverage can be adopted. Note that the dithered image data is not limited to 24 colors and can be any number of colors. However, if the number of colors is large, the drawing system 100 needs to prepare paints of many colors for drawing, so the number of colors is set appropriately. The dithered image data is converted by the image data conversion unit 13 based on the image data to be reproduced. Also, if the original image is directly dithered when creating the dithered image data, the color desired by the user may be replaced by another color. In such a case, the color desired by the user can be extracted from the original image and added to the edge of the image so that the desired color is not replaced by another color. For example, it is advisable to create an image in which a region of the desired color is added across the entire width of the lower end of the image in advance and then perform dithering on that image.
[0021] Next, the control device 10 selects or creates the colors necessary for drawing from known colors based on the color-reduced image data (step A2). For example, the control device 10 holds the prepared paints as image data. The data of the basic colors of the paints (for example, commercially available 12-color paints) is acquired by an imaging device such as a scanner, and each color is converted into an RGB value. Also, the mixed colors of the basic colors may be held as image data. For example, the control device 10 may hold data obtained by imaging 144 colors mixed from the 12 basic colors at a mixing ratio of 1:2 or 2:1 and converting them into RGB values. The control device 10 selects the colors to be used for drawing from the data of the known colors, or creates a recipe for color mixing and creates the colors to be used for drawing. Details will be described separately with reference to FIG. 4.
[0022] Next, the control device 10 creates a binary image for each color of the color-reduced image data (step A3). The binary image is image data composed of a specific color and a transparent color included in the color-reduced image data. If the color-reduced image data is reduced to, for example, 24 colors, 24 binary images are created.
[0023] For each created binary image of each color, a movement path (trajectory) of the drawing tool 73 is created (step A4). The algorithm for creating the movement path of the drawing tool 73 will be described later.
[0024] When the movement path of the drawing tool 73 is created, an instruction statement for the operation of the robot 50 is created based on it (step A5). Since the data of only the movement path of the drawing tool 73 does not consider, for example, the replenishment timing of the paint of the drawing tool 73 such as a paintbrush, the replacement of each color pen, and the cleaning of the pen, the instruction statement is created including these operations in step A5. However, the replacement of each color paint may be performed with human intervention. For example, at the time of color replacement, the instruction statement may be configured such that the robot 50 stops, the drawing tool 73 is replaced, and then the user restarts it.
[0025] As described above, the drawing system 100 creates the movement path of the drawing tool 73 from the image data in the above-described procedure, and creates data for controlling the operation of the robot 50.
[0026] (Color mixing procedure) The image data is dithered by the above procedure, but the colors included in the dithered image data may not necessarily match commercially available basic colors and their simple ratios (such as 1:2 or 2:1 above). In such cases, color mixing is created by the following procedure. The following procedure is an example of the detailed procedure of step A2 in the flowchart shown in FIG. 3.
[0027] FIG. 4 is an example of a color mixing creation procedure by the drawing system 100 according to Embodiment 1. FIG. 5 is an explanatory diagram of the color mixing creation of FIG. 4. The creation of color mixing in the drawing system 100 is to select two colors from the known colors held by the control device 10 as data, calculate their mixing ratios, and output them as a color mixing recipe.
[0028] First, the control device 10 sets a specific designated color included in the dithered image data as the target color Z, and acquires the RGB value of the target color Z (step B1). The target color Z is represented by a point in the three-dimensional RGB space as shown in FIG. 5. Also, the known colors held by the control device 10 as data also exist in the three-dimensional RGB space. The control device 10 selects, as the candidate color X1, the color closest to the target color Z in terms of Euclidean distance from among the known colors existing in the three-dimensional RGB space (step B2).
[0029] Next, the control device 10 selects the candidate color X2 (step B3). When selecting the candidate color X2, a plane F perpendicular to the line segment a connecting the candidate color X1 and the target color Z passing through the coordinates of the target color Z is set. When the RGB space is divided into two by the set plane F, the candidate color X2 is selected from known colors existing in the space where the candidate color X1 does not exist. At this time, it is preferable to select the candidate color X2 so that the line segment b connecting the candidate color X2 and the target color Z is at a predetermined angle θ or less with respect to the line segment a connecting the candidate color X1 and the target color Z. Note that for the selection of the candidate color X2, for example, a known color in the space where the candidate color X1 does not exist and having the shortest perpendicular distance to the straight line obtained by extending the line segment a may be selected as the candidate color X2. This means the case where θ = 180° is set in FIG. 5. That is, the candidate color X2 is selected from known colors in the space where the candidate color X1 does not exist. Also, θ = 0° can be set in FIG. 5. In this case, since the candidate color X2 is not selected, it is determined as No in the next step B4. This is set, for example, when using a drawing tool 73 such as a pen or a marker that cannot be mixed.
[0030] If there exists a candidate color X2 that satisfies the above conditions (Yes in step B4), the control device 10 calculates the mixing ratio of the candidate color X1 and the candidate color X2, and creates mixing data (step B5). The created mixed color is set as the target color (step B6).
[0031] If there does not exist a candidate color X2 that satisfies the above conditions (No in step B4), the control device 10 sets the candidate color X1 as the target color (step B7).
[0032] The above procedure is performed for each color included in the color reduction image data. However, when the target color Z is at a distance of a predetermined value or less from a known color in the RGB space, a known color may be set as the target color.
[0033] The following is an example of the output of the control device 10 when a certain target color Z included in the color reduction image data is created by color mixing. (Example 1) To reproduce the specified color [92, 112, 51], mix 61.50% of the mixed color of Scarlet 1 and Green Light 2 (RGB: [98, 109, 53]) and 38.50% of the mixed color of Violet 1 and Green Light 2 (RGB: [86, 117, 59]). The RGB color reproduced thereby is [93, 112, 55]. Distance between the first color and the specified color: 7.00 Distance between the second color and the specified color: 11.18 Distance between the reproduced color and the specified color: 4.12 (Example 2) To reproduce the specified color [127, 5, 0], only the mixed color of Scarlet 1 and Burnt Sienna 2 (RGB: [144, 38, 30]) can be considered. An appropriate second color could not be found. Distance between the first color and the specified color: 47.73 (Example 3) To reproduce the specified color [34, 11, 119], mix 53.94% of the mixed color of Black 1 and Cobalt Blue 2 (RGB: [24, 36, 93]) and 46.06% of the mixed color of Cerulean Blue 1 and Violet 2 (RGB: [40, 22, 161]). The RGB color reproduced thereby is [31, 30, 124]. Distance between the first color and the specified color: 37.43 Distance between the second color and the specified color: 43.83 Distance between the reproduced color and the specified color: 19.87
[0034] (Creation of the movement path of the drawing tool 73) The algorithm for creating the movement path of the drawing tool 73 based on the binary image will be described below. After performing color reduction processing on the image data, the control device 10 processes the binary image of one color among the plurality of colors included in the color-reduced image data, and creates the movement path of the drawing tool 73 for that one color. The creation of the movement path of the drawing tool 73 for one color is repeated to create the movement paths of the drawing tool 73 for all colors included in the color-reduced image data. For example, the creation of the movement path of the drawing tool 73 is performed by the drawing data creation unit 12 provided in the control device 10.
[0035] FIG. 6 is a flowchart of an example of creating the movement path of the drawing tool 73 of the drawing system 100 according to the first embodiment. The control device 10 of the drawing system 100 creates a binary image in which only pixels of a predetermined color are extracted from the image data, and starts the process (step C0). The control device 10 repeats the process of creating the movement path for all colors included in the image data (Yes in step C0a).
[0036] FIGS. 7, 8, and 9 are explanatory diagrams of an example of creating the movement path of FIG. 6. Next, the control device 10 scans the binary image B of a certain predetermined color to find candidates for the point that becomes the reference point 20 (step C1). The search for candidates for the point that becomes the reference point 20 is performed until all the pixels of the binary image B are scanned (step C2).
[0037] As shown in FIG. 7, the binary image B is an image having the same size as the color-reduced image data, and has pixels in which one predetermined color 60 among a plurality of colors included in the color-reduced image data is arranged, and the other portions are transparent colors. The control device 10 scans downward (in the y direction) from the upper left end of the binary image B, for example, to search for the reference point 20. The reference point 20 is, for example, a pixel of the predetermined color 60, and is a point in which q% or more of the pixels of the predetermined color 60 are included within a circle 21 having a diameter d centered on the reference point 20. As shown in FIG. 7, the control device 10 searches each pixel in order from the upper left of the binary image B to find a point that meets the conditions (step C3). If a point that meets the conditions is not found, the search for a point that meets the conditions is repeated (in the case of No in step C3). Note that the determination conditions for the reference point 20 can be adjusted as appropriate. For example, instead of the circle 21 centered on the reference point 20, the reference point 20 may be determined by using a figure such as a rectangle to determine the amount of pixels of the predetermined color 60 included inside the figure. Also, the size of the figure can be set as appropriate.
[0038] When a reference point 20 that meets the conditions is found in step C3 (Yes in step C3), the control device 10 resets the pixels within a circle having a diameter d centered on the reference point 20 of the binary image B (step C4). Here, "reset" means, for example, converting a pixel in which the predetermined color 60 exists into the transparent color 61. That is, the reset portion in the binary image B is excluded from the candidates for the reference point 20.
[0039] Flags S and T are set in the control device 10, and here both the flag S and the flag T are set to "0" (step C4a). The flags S and T are flags used to output the movement path of the drawing tool 73.
[0040] Next, as shown in FIG. 7, the control device 10 sets the reference point 20 as the start point 22 and searches for candidates for the end point 23. The control device 10 searches for a point that becomes a candidate for the end point 23 in the direction p(0) from the start point 22, for example (step C5).
[0041] The end point 23 is a point at a distance d from the start point 22, and is a point that contains q% or more of the pixels of a predetermined color 60 within a circle 21 with a diameter d centered on the point that has become a candidate for the end point 23. When the point that has become a candidate for the end point 23 meets this condition (Yes in C6), it is set as the end point 23 (step C7).
[0042] Once the end point 23 is set, the flag S is set to 1 (step C7a).
[0043] Next, the pixels of the binary image within a circle with a diameter d centered on the end point 23a (new start point 22b) are reset (step C8).
[0044] As shown in FIG. 8, the reference point 20 set in steps C3 to C4 becomes the start point 22a, and the end point 23a set by searching based on the start point 22a becomes the next start point 22b. At this time, if the flag T is 0, the flag T is set to 1 (step C9).
[0045] Once step C9 is completed, return to step C5 again, and select an end point candidate at a distance d in the direction P(3) with reference to the start point 22b in FIG. 8.
[0046] At the start point 22b in FIG. 8, since there is no point that can become the end point 23 in the direction P(1) (No in step C6), an angle s[°] is added in the direction p(1) (step C10).
[0047] Next, the state of the flag T is checked (step C11). Since the flag T is "1" at the start point 22b, the straight line from the start point 22a to the start point 22b is output as the movement path. When the movement path is output, the flag T is reset to "0".
[0048] Next, it is determined whether the direction p(2) is not more than the angle obtained by adding 360° to the direction P(1) (step C12). At the start point 22b, since only an angle s[°] is added to the direction P(1), the process returns to step C5 here (No in step C12).
[0049] When returning to step C5, an additional s[°] is added in the direction P(2), and it is searched whether there is a point that can be the end point 23 in the direction P(3). In the binary image B shown in FIG. 8, since there is an end point candidate in the direction P(3) (Yes in step C6), that point is set as the end point 23b (step C7), and the flag S is set to "1" (step C7a). Then, the pixels in the circle 21 are reset (step C8), and the end point 23b is set as the next start point 22c. Here, the flag T is set from "0" to "1" (step C9). Then, the process returns to step C5.
[0050] In the case of FIG. 8, since there is a point that becomes the end point 23 in the direction p(3) from the start point 22c (Yes in step C6), the processes of steps C7 to C9 are repeated. Hereinafter, steps C5 to C9 are repeated until the end point 23e is reached. The start points 22b to 22f are arranged in a straight line in FIG. 8. In the algorithm of FIG. 6, the end point 23 is selected so that the start point 22 and the end point 23 move linearly as much as possible.
[0051] When the end point 23e is set as the start point 22f (step C9), the process returns to step C5 again, and steps C5, C6, C10 to C12 are repeated until the end point 23f is found. When selecting an end point candidate based on the start point 22f, since there is no point that becomes the end point 23f in the direction p(3), the end point candidates are sequentially selected in the order of directions p(4), p(5), p(6). Thus, when based on the start point 22, the end point 23 is selected by varying the angle s by s each time with respect to the direction p(k) until a point that can be the end point 23 is found.
[0052] In the case of the start point 22f shown in FIG. 8, since there is a point that satisfies the condition (the pixels of the predetermined color 60 in the circle 21 of the diameter d are q% or more) in the direction p(6), that point is set as the end point 23f, and the pixels in the circle 21 are reset. (Steps C5 to C8). Then, the end point 23f is set as the start point 22g (step C9). Then, the process returns to step C5.
[0053] As shown in FIG. 9, since there is no point in the direction p(6) that can become the end point 23g from the starting point 22g, steps C5, C6, C10 to C12 are repeated until a point that becomes the end point 23g is found. Since there is a point that becomes the end point 23g in the direction p(9) from the starting point 22g, the above-described C5 to C9 are processed, and steps C5 to C9 are repeated in the same manner as from the starting point 22b to the starting point 22f shown in FIG. 8 until reaching the starting point 22k in the direction p(9) from the starting point 22g. Then, with the starting point 22k set, the process returns to step C5 again.
[0054] At the starting point 22k shown in FIG. 9, there is no point that becomes the end point in the direction p(9). Therefore, at the starting point 22k, the process proceeds from step C6 to step C10 and is set in the direction p(10). Then, in step C11, a straight line connecting from the starting point 22f to the starting point 22k is output as the movement path, and the flag T is set to "0".
[0055] Next, in step C12, it is determined whether the direction p(10) is at an angle of 360° or more with respect to the direction p(1). Since the direction p(10) does not satisfy this condition, the process returns to step C5 again. At the starting point 22k shown in FIG. 9, steps C5, C6, steps C10 to C12 are repeated, and finally when the direction p(12) is set, in step C12, it is determined that the direction p(12) is at an angle of 360° or more with respect to the direction p(1) (Yes in step C12), and the process proceeds to step C13.
[0056] In step C13, it is determined what setting the flag S has. At the starting point 22k in FIG. 9, since the flag S is "1", the process directly returns to C1. Note that in step C13, the case where the flag S is "0" is when a reference point is set such that no end point 23 is found.
[0057] When returning to step C1, the control device 10 scans the binary image B again to search for the reference point 20. The processes of steps C1 to C13 are repeated. When the scanning of all pixels of the binary image B is completed, the process returns to step C0. In step C0, a binary image B of other colors included in the image data is created. The control device 10 performs the processes after step C1 on the binary image B and sequentially creates the movement paths of the drawing tool 73 for each color included in the image data. When the processing of the binary image B of all colors included in the image data is completed, the creation process of the movement path of the drawing tool 73 for one image data is completed.
[0058] When the creation process of the movement path is completed, the movement path of the drawing tool 73 is output. Note that the binary images of each color created using the output movement path have gaps partially with respect to the original image as shown in Fig. 12(b) described later.
[0059] Note that in the process shown in Fig. 6, steps C1 to C13 may be repeated only for one binary image B to output the movement path of the drawing tool 73. In this case, the process of outputting the movement path of the drawing tool 73 is also performed individually for other binary images B included in the color-reduced image data.
[0060] (Modification example of the creation of the movement path of the drawing tool 73) Fig. 10 is a flowchart of an example of the creation of the movement path of the drawing tool 73 of the drawing system 100 according to Embodiment 1. Fig. 11 is an explanatory diagram of an example of the creation of the movement path shown in Fig. 10. The process of creating the movement path of the drawing tool 73 shown in Fig. 10 is a modification of the process shown in Fig. 6 by changing step C8. The process shown in Fig. 6 resets the pixels of a predetermined color existing within the circle 21 centered on the end point 23 in step C8, while the process shown in Fig. 10 resets the area within the circle 21 centered on the end point 23 and the area of the line segment with a width d connecting the start point 22 and the end point 23 in step D8.
[0061] As shown in FIG. 11, within the circle 21 centered at the starting point 22, pixels of a predetermined color are reset in step D4, and within the circle 21 centered at the ending point 23 and in the region of the line segment with thickness d, pixels of the predetermined color are reset in step D8. That is, the pixels of the predetermined color existing in the hatched region shown in FIG. 11 are reset to the transparent color.
[0062] (Processing of the gap portion of the movement path of the drawing tool 73) FIG. 12 is an example of an image reproduced by performing drawing along the movement path of the drawing tool 73 created based on the flowchart of FIG. 6 or FIG. 10. FIG. 12(a) is the original image, and FIG. 12(b) is an example of reproducing the image according to the movement path created by the control device 10 in the flowchart of FIG. 6 or FIG. 10. When attempting to reproduce the image of FIG. 12(a) using the drawing system 100, in the case of the movement path created using the flowchart of FIG. 6 or FIG. 10, gaps (portions not filled with color; the portions shown in black in FIG. 12(b)) are formed in the reproduced image.
[0063] FIGS. 12(c), (d), and (e) are diagrams extracting only the lightning - shaped portion at the lower left of FIG. 12(a). When creating the movement path by the process shown in FIG. 6 or FIG. 10, the lightning - shaped portion is reproduced as shown in FIG. 12(d). Therefore, it is necessary to create a movement path of the drawing tool 73 to fill the gap portion shown in black so as to match or approximate the original image as shown in FIG. 12(e).
[0064] FIG. 13 is a flowchart of an example of creating the movement path of the drawing tool 73 of the drawing system 100 according to Embodiment 1. The process shown in FIG. 13 is to create a movement path of the drawing tool 73 for filling the gap portion of the image reproduced by the movement path created by the process shown in FIG. 6 or FIG. 10.
[0065] Prior to executing the process shown in FIG. 13, the control device 10 creates a processed binary image C for each color included in the original image based on the movement path created by the flowchart shown in FIG. 6 or FIG. 10. As shown in FIG. 12(d), the processed binary image C is an image drawn with a movement path represented by a straight line and points (circles 21 shown in FIGS. 7, 8, 9, and 11) for a specific color. Here, an image created by overlapping the processed binary images C of each color is called an in - progress creation image D. In the in - progress creation image D, portions not painted with each color are represented as, for example, a transparent color. Note that portions not painted with each color in the in - progress creation image D may be represented by other colors instead of the transparent color.
[0066] First, the control device 10 searches for transparent - color pixels from the in - progress creation image D and detects pixels that can serve as reference points (step E1). The search for the reference point may be performed by scanning the in - progress creation image D in order from the upper left as shown in FIG. 7, or by other means.
[0067] When a transparent - color pixel that can serve as a reference point is detected (Yes in step E2), the control device 10 detects the color with the largest number (the most frequent color) among the pixels of each color existing within a circle with a diameter e centered on the reference point (step E3).
[0068] When the most frequent color detected in step E3 is the transparent color (Yes in step E3a), the control device 10 increases the diameter e of the circle (step E3b). Then, it returns to step E3 again, and the colors of each color existing within the circle with diameter e are detected.
[0069] When the most frequent color detected in step E3 is other than the transparent color (No in step E3a), it is determined whether the most frequent color is single or plural (step E4). When the most frequent color is one (No in step E4), the inside of the circle with diameter e in the in - progress creation image D is overwritten with the most frequent color (step E5).
[0070] FIG. 14 is an explanatory diagram of a process in which a gap is filled by the process according to the flowchart shown in FIG. 13. Since color x is the most frequent color within a circle with a diameter e centered on the reference point 30 detected in step E1, it is filled with color x as shown in FIG. 14(b).
[0071] When there are two or more most frequent colors (Yes in step E4), the inside of the circle with a diameter e is overwritten with the color having the largest square mean value of the RGB values among the two or more most frequent colors (step E5).
[0072] When the inside of the circle is filled with the most frequent color in step E5, the process returns to step E1 again.
[0073] Thereafter, the control device 10 repeats the process until there are no more pixels serving as reference points in the image D being created. When there are no more reference point pixels (No in step E2), the process is completed. That is, the coordinate information where the filling process of step E5 was performed is output as the movement path of each color's drawing tool 73.
[0074] As described above, according to the flowchart shown in FIG. 13, the control device 10 fills the unfilled portions of each color in the image D being created. For example, the image D being created as shown in FIG. 12(d) is filled with one of the colors as shown in FIG. 12(e).
[0075] (Drawing by robot 50) As described above, after the movement path of the drawing tool 73 is created, the movement path of the drawing tool 73 is converted into an instruction statement for controlling the operation of the robot 50. The operation control instruction statement of the robot 50 takes into account adjusting the movement path according to the size of the canvas for reproducing the painting, adding operations associated with the replacement of the drawing tool 73, adding operations for replenishing the drawing tool 73 with paint such as pigments, adding operations for cleaning the drawing tool 73, and so on. For example, when replenishing the drawing tool 73 with paint such as pigments, an operation of moving the drawing tool 73 to the pigment palette is added during the drawing operation. Also, when replacing the drawing tool 73, the robot 50 is stopped at a predetermined position so that the drawing tool 73 can be replaced. Such replenishment of paint on the pigment palette, replacement of the drawing tool 73, and cleaning of the drawing tool 73 are collectively referred to as the update operation of the drawing tool 73. The control device 10 creates an operation control instruction statement for reproducing one image and controls the robot 50 according to the operation control instruction statement. For example, the operation control instruction statement of the robot 50 is converted based on the movement path created through the process shown in FIG. 6 or FIG. 10 in the drawing data creation unit 12. The converted operation control instruction statement is executed in the robot control unit 11 and the robot 50 is operated. Alternatively, the movement path of the drawing tool 73 created in the drawing data creation unit 12 may be converted into an operation control instruction statement of the robot 50 in the robot control unit 11 while executing the operation control instruction statement.
[0076] Also, each of the flowcharts in FIGS. 6, 10, and 13 can create a movement path for each of a plurality of pen thicknesses. For example, when creating the movement path, the process shown in the flowchart of FIG. 6 or FIG. 10 is executed with the diameter d set according to the thickness of the thickest pen, and the same process is sequentially performed with the diameter d set according to the thinner pen. Thereby, since the movement path is first created with a thick pen and the pen is sequentially supplemented to create the movement path, the length of the movement path of the drawing tool 73 can be suppressed as a whole.
[0077] FIG. 15A is a flowchart showing an example of the control of the robot 50 by the drawing system 100 according to Embodiment 1. First, the control device 10 rearranges the created movement paths of each color. For example, the array of movement paths is changed so as to be arranged in descending order of the mean square value of the RGB values of each color. Also, the movement paths are arranged in the order of the pen thickness (step F1).
[0078] Next, instructions are taken out from the array of movement paths (step F2). If there is an instruction to be taken out (No in step F3), the movement path is converted into an operation control instruction sentence for the robot 50. The operation control instruction sentence is converted so as to be enlarged or reduced according to the size of the canvas to be drawn. Also, when the canvas is installed at an inclination, the operation control instruction sentence is converted according to the inclination. Furthermore, in a movement path where the drawing tool 73 does not contact the canvas, conversions such as increasing the speed of the movement of the robot 50 may be performed (step F4).
[0079] If the drawing distance h, which is the distance traveled in a state where the drawing tool 73 is in contact with the drawing target surface of the canvas 70 in the converted operation control instruction sentence, exceeds a predetermined upper limit distance H (Yes in step F5), an instruction sentence for performing an operation of replenishing the paint of the drawing tool 73 is added to the operation control instruction sentence of the robot 50 (step F6). The drawing distance h can be calculated from the operation control instruction sentence. Or it may be calculated from the movement path. Also, the upper limit distance H that requires the paint replenishing operation is changed according to the type of the drawing tool 73 (pen, pen, marker, etc.). When the instruction sentence for the paint adding operation is output, the drawing distance h is reset.
[0080] If the drawing distance h of the taken-out operation control instruction sentence of the robot 50 is within a range that does not exceed the upper limit distance H (No in step F5), the movement path of the drawing tool 73 is converted into an operation control instruction sentence for the robot and output (step F7).
[0081] Note that the drawing distance h is not the total distance that the drawing tool 73 moves. Instead, it is added according to the distance that the drawing tool 73 moves while in contact with the target surface. Here, consider a case where the drawing tool 73 moves through coordinates P1, P2, P3, and P4 in order and draws a line segment from coordinate P1 to P2 and a line segment from coordinate P3 to P4. At this time, the distances added to the drawing distance h are the distance from coordinate P1 to P2 and the distance from coordinate P3 to P4, and the distance from coordinate P2 to P3 is not added. Also, the movement path array and the operation control instruction sentence include a parameter indicating whether the drawing tool 73 is grounded or not. For example, the state where the drawing tool 73 is not in contact with the target surface of the canvas and the state where it is in contact are realized by varying the Z-direction component (see Fig. 16) of the position coordinates of the drawing tool 73.
[0082] Therefore, in step F7, when the drawing tool 73 is moving while grounded on the canvas, the process of adding the movement distance to the drawing distance h is performed. In the case of the movement of the drawing tool 73 where no other drawing is performed, the movement distance is not added to the drawing distance h.
[0083] After the instruction sentence is output in step F6 or F7, the process returns to step F2. Thereafter, steps F2 to F7 are repeated until there is no retrievable movement path, and the operation control instruction sentence of the robot 50 is output. When there is no retrievable movement path (Yes in step F3), the control device 10 causes the robot 50 to execute the drawing operation based on the output operation control instruction sentence.
[0084] In the flowchart shown in FIG. 15A, all the arrays of the movement paths are converted into operation control instruction sentences for the robot 50, and then the drawing by the robot 50 is executed. However, while converting one or a part of the arrays of the movement paths into operation control instruction sentences and making the robot 50 execute the drawing, the remaining arrays of the movement paths can also be converted into operation control instruction sentences. That is, the drawing by the robot 50 can also be advanced while converting the movement paths into operation control instruction sentences. For example, while executing the operation control instruction sentence for one color among the various colors included in the image to be drawn, the conversion for the other colors can also be executed.
[0085] Note that in the flowchart shown in FIG. 15A, for example, when the drawing tool 73 does not cause color mixing of paints such as pens and markers, it is not necessary to determine whether the drawing distance h exceeds the upper limit distance H. That is, depending on the type of the drawing tool 73, the conversion from the movement path to the operation control instruction sentence is performed in a flowchart in which steps F5 and F6 are deleted from the flowchart of FIG. 15A.
[0086] FIG. 15B is a flowchart showing an example of control in which the operations of exchanging and cleaning the drawing tool 73 are further added to the control of FIG. 15A. The movement path of the drawing tool 73 may be converted into an operation control instruction sentence with its operation added in consideration of color change and cleaning of the drawing tool 73. As an example, after step F4 of the flowchart shown in FIG. 15A, the processes of steps F4A, F4B, F4C, and F4D may be added as described below.
[0087] After the control device 10 extracts an instruction from the array of the movement paths, it performs conversions such as adjusting the movement path to the size of the canvas (step F4), and then determines the content of the instruction. First, when the extracted instruction has a color change with respect to the instruction processed previously (Yes in step F4A), the operations of cleaning the drawing tool 73 and replenishing the paint by the robot are added to the movement path, and it is converted into an operation control instruction sentence and output (step F4B). At this time, the drawing distance h is reset.
[0088] If the color is the same as that of the previously processed command (No in step F4A), the control device 10 determines whether the pen thickness is the same as that of the previously processed command (step F4C). If the pen thickness is changed in the command (Yes in step F4C), the operations of cleaning the drawing tool 73 and replenishing the paint of the drawing tool 73 by the robot are added to the movement path and converted into an operation control command sentence for output (step F4D). At this time, the drawing distance h is reset.
[0089] If the color is the same as that of the previously processed command (No in step F4C), the process proceeds to step F5. In step F5, the same process as the above description is performed. That is, in step F5, it is determined whether the drawing distance h exceeds the upper limit distance H. If it exceeds (Yes in step F5), the drawing distance h is reset (step F6).
[0090] After the processing in step F4B, F4D or F6 is completed or when it is No in F5, the process proceeds to step F7, and the command taken out from the array of the movement path is output as an operation control command sentence for the robot. Also in the process shown in FIG. 15B, when the drawing tool 73 moves with drawing, the movement distance is added to the drawing distance h.
[0091] (Structure of the robot 50) FIG. 16 is a perspective view of an example of the robot 50 used for drawing in the drawing system 100 according to the first embodiment. The robot 50 according to the first embodiment is a so-called robot arm having multiple joints. The robot 50 is provided with a rotating shaft 57 at the tip 58 of the multi-joint arm portion 51. The rotating shaft 57 rotates about the axis R. The drawing tool 73 may be directly attached to the rotating shaft 57, for example, or a drawing tool 73 holding portion may be provided at the tip 58 and held by the drawing tool holding portion.
[0092] The position of the tip 58 controls the postures of the first arm part 51a on the tip side and the second arm part 51b on the base 55 side by controlling the angles of the first joint 52, the second joint 53, and the third joint 54. Further, the base 55 is configured to rotate around the z-axis with respect to the base 56. Therefore, the robot 50 can move the held drawing tool 73 freely in three dimensions within the range reachable by the arm part 51.
[0093] FIG. 17 is an explanatory diagram of the positional relationship between the movable range 80 of the robot 50 shown in FIG. 16, the canvas 70, etc. FIG. 17 is a view of the robot 50 seen from above in the Z direction in FIG. 16. The movable range 80 of the robot 50 shown in FIG. 16 can move within a range of ±160° including the rotation of the base 55, and the arm part 51 can be extended. Thereby, the canvas 70 and the paint palette 71 can be accommodated within the movable range 80. It is also possible to arrange another drawing tool 73 or further additional paint palettes 71 within the movable range 80. For example, the robot 50 can reproduce an image (painting) on the canvas 70 using a canvas 70 of size F4 and a paint palette 71.
[0094] Also, when an operation of attaching paint to the operation of the robot 50 is added, the robot 50 moves the drawing tool 73 to the position of the dish where a predetermined color of the paint palette 71 is arranged, and randomly moves the drawing tool 73 within the range of the dish a predetermined number of times to attach the paint to the tip of the drawing tool 73. Thereafter, an operation of bringing or hitting the tip of the drawing tool 73 against the edge of the dish of the paint palette 71 to drop the excess paint may be added.
[0095] Also, a water tank 72 for washing the brush may be arranged within the movable range 80. A water flow pump 74 is installed in the water tank 72. The water flow pump 74 has the effect of making it easier to drop the paint from the brush by immersing the brush in the water tank 72 by generating a water flow in the water tank 72. Also, an operation of shaking the brush in the water tank 72 may be additionally added to the robot 50. For the washing operation, for example, an operation control instruction sentence is added in step F4B shown in FIG. 15B.
[0096] FIG. 18 is an explanatory diagram of the range of reproducible images of the robot 50 shown in FIG. 16. The robot 50 can expand the range in which the drawing tool 73 is moved by attaching an additional arm 59A shown by a dotted line in FIG. 17 to the rotation axis 57. That is, the drawing tool 73 is attached to the tip of the additional arm 59A and is rotated around the tip portion 58. Since the additional arm 59A is rotated around the rotation axis 57, the robot 50 can expand the range in which the drawing tool 73 is moved in the horizontal direction.
[0097] For example, when there is no additional arm 59A, an image can be reproduced on a canvas 70 that fits within the range 90 shown in FIG. 18, but by attaching the additional arm 59A, an image of the size up to the range 91 can be reproduced. For example, if the canvas 70 that fits within the range 90 is of size F4, the robot 50 provided with the additional arm 59A can also handle a canvas 70 of size F6 that fits within the range 91. The length of the additional arm 59A is adjusted as appropriate, enabling the reproduction of images of various sizes.
[0098] FIG. 19 is an example of a drawing tool holding portion 59B attached to the tip portion 58 of the robot 50 according to Embodiment 1. The robot 50 may hold a plurality of drawing tools 73 at the tip. Since a rotation axis 57 is provided at the tip portion 58 of the robot 50, the drawing tool holding portion 59B is attached to the rotation axis 57. The drawing tool holding portion 59B is, for example, a plate-like member of about 40 mm × 200 mm, and is configured such that pens of different thicknesses can be attached to both ends in the longitudinal direction thereof. The canvas 70 is inclined, for example, 45° with respect to the rotation axis 57, and drawing is performed when one of the drawing tools 73A comes into contact. When changing the drawing tool 73A to the drawing tool 73B, the rotation axis 57 is rotated 180°. In FIG. 19, the form in which the robot 50 holds two of the drawing tools 73A and 73B is shown, but three or more drawing tools 73 may be held.
[0099] Also, as shown in FIG. 19, the drawing tool 73 held by the drawing tool holding part 59B is held inclined with respect to the rotation axis 57. Thereby, the drawing tool 73 is configured to be able to draw in a state substantially perpendicular to the drawing target surface of the canvas 70. However, the angle between the drawing tool 73 and the target surface of the canvas 70 is not limited to perpendicular, and it may be configured to be inclined. Also in this case, the plurality of drawing tools 73 held by the drawing tool holding part 59B are each arranged inclined with respect to the rotation axis 57, and are held so as to be inclined outward toward the tip. Thereby, each of the plurality of drawing tools 73 can draw in a state substantially perpendicular to the target surface of the canvas 70. In FIG. 19, the angle of the drawing tool 73 is set to 45° from the horizontal, but it can also be set to any angle between 30° and 60°.
[0100] <Operation of the drawing system 100 according to Embodiment 1> A drawing system 100 that performs drawing on a target surface with a drawing tool 73, comprising: a robot 50 that holds and moves the drawing tool 73; and a control device 10 that controls the movement of the robot 50. The control device 10 includes an image data conversion unit 13 that creates reduced-color image data obtained by reducing the color of the original image data, and creates a binary image B including information on the arrangement area of at least one color included in the reduced-color image data, a drawing data creation unit 12 that creates a movement path of the drawing tool 73 based on the binary image B, and a robot control unit 11 that issues a control instruction for the robot 50 based on the movement path. Thereby, the drawing system 100 can reproduce the original image data using a paint such as a pigment. Also, the drawing system 100 can suppress the types of paints to be prepared by reducing the color of the original image data.
[0101] Further, in the above-described drawing system 100, the control device 10 further determines, in the binary image B, a reference point 20 that is a reference point of a predetermined figure and at least a part of an arrangement area of a specific color is included within at least a part of the figure 21, a starting point 22 with the reference point 20 as the starting point, and an end point 23 that is a point separated from the starting point 22 by a predetermined distance d and is selected such that a predetermined ratio of the arrangement area of the specific color is included within the range of the figure 21 with this point as the reference. The range of the figure 21 arranged with the starting point 22 and the end point 23 as references is excluded from the selection targets of the reference point 20, the starting point 22, and the end point 23, and a movement path of the drawing tool 73 is created based on the repeatedly determined reference point 20, starting point 22, and end point 23. Thereby, the drawing system 100 can create a movement path of the drawing tool 73 necessary for reproducing a color-reduced image composed of a plurality of colors. Further, the drawing system 100 can create movement paths for each color based on the binary image B of each color converted from the color-reduced image, regardless of what the color-reduced image is. Therefore, the frequency with which the robot 50 changes a plurality of colors can be suppressed.
[0102] In the above-described drawing system 100, further, the control device 10 uses the end point 23 as the next starting point 22 and further determines the next end point 23. Thereby, the drawing system 100 can create a movement path of the drawing tool 73 that is as long as possible and connected in one stroke. Thereby, the drawing system 100 can suppress the processes and time required to reproduce the original image.
[0103] In the above-described drawing system 100, the control device 10 sequentially scans a plurality of pixels included in the binary image B, determines the reference point 20, and when the next starting point 22 to the next end point 23 cannot be determined, resumes scanning of the plurality of pixels and determines the next reference point 20. Thereby, the drawing system 100 can reproduce the entire area of the original image without omission.
[0104] In the above-described drawing system 100, further, after scanning all of the plurality of pixels, the control device 10 changes the graphic 21 to the next graphic 21 that is smaller than the graphic 21, scans the plurality of pixels in order again, and obtains the reference point 20. Thereby, the drawing system 100 can create a movement path when drawing using a thick pen first, and can create a movement path when drawing sequentially using a small pen. Thereby, it is possible to reproduce an image with high accuracy while suppressing the length of the movement path of the drawing tool 73.
[0105] In the above-described drawing system 100, further, the control device 10 adds an update operation of the drawing tool 73 to the movement path based on the distance of the movement path created based on the reference point 20, the start point 22, and the end point 23. Alternatively, the control device 10 may add an update operation to the operation control instruction sentence based on the drawing distance h calculated from the operation control instruction sentence of the robot 50 converted from the movement path of the drawing tool 73. Thereby, the drawing system 100 can reproduce an image using a plurality of colors, and the drawing tool 73 can be replaced.
[0106] In the above-described drawing system 100, further, the control device 10 includes a color mixing unit 15 that outputs a recipe for creating the target color Z or a color close to the target color Z, and a storage unit 16 that stores the component values of a plurality of known colors. The color mixing unit 15 reads the component values of the target color Z from the image data, the subtractive color image data, or the binary image B, and selects the first candidate color X1 that is closest to the color in the color space from among the plurality of known colors. Thereby, the drawing system 100 can reproduce an image close to the original image.
[0107] In the above-described drawing system 100, the color mixing unit 15 extracts the first candidate color X1 that is the closest among a plurality of known colors stored in the storage unit 16 from the component values of the target color Z, and in the color coordinate space, from among a plurality of known colors existing in the space that does not include the first candidate color X1 among the two spaces separated by the plane including the coordinates of the target color Z, extracts the second candidate color X2, and calculates the mixing ratio between the first candidate color X1 and the second candidate color X2 based on the coordinates of the first candidate color X1 and the second candidate color X2. Thereby, since the drawing system 100 can reproduce various colors using limited known colors, the accuracy of the reproduced image can be improved.
[0108] In the above-described drawing system 100, the color mixing unit 15 defines a conical space having the coordinates of the target color Z as the apex, the straight line a passing through the coordinates of the target color Z and the coordinates of the first candidate color X1 as the central axis, and the direction of the generatrix being θ in the space that does not include the first candidate color X1 among the two spaces separated by the plane including the coordinates of the target color Z in the color coordinate space, and extracts the second candidate color X2 from the conical space. Also, in the above-described drawing system 100, the color mixing unit 15 extracts, as the second candidate color X2, the one having the closest distance from the straight line passing through the coordinates of the target color Z and the coordinates of the first candidate color X1 among the plurality of known colors existing in the space that does not include the first candidate color X1 among the two spaces separated by the plane F including the coordinates of the target color Z in the color coordinate space. Thereby, the drawing system 100 can create a recipe for creating the target color Z from the first candidate color X1 and the second candidate color X2, which are closer known colors.
[0109] In the above-described drawing system 100, the robot 50 includes a rotating shaft 57 that can be rotationally driven at the tip 58. The rotating shaft 57 is configured to be able to hold a plurality of drawing tools 73, and exchanges the drawing tools 73 by rotational driving. Thereby, the drawing system 100 can perform drawing by automatically changing, for example, a thick pen and a thin pen.
[0110] In the above-described drawing system 100, an aquarium 72 disposed around the robot 50 and a water flow pump 74 disposed in the water of the aquarium 72 are provided. The robot 50 dips the drawing tool 73 into the aquarium 72 in which water flow is generated by the water flow pump 74 for cleaning. Thereby, when changing the color of paint such as paint during drawing, the drawing system 100 can clean the drawing tool 73, and the range of operations that the robot 50 can automatically perform is expanded.
[0111] Although the present invention has been described based on each embodiment above, the present invention is not limited only to the configurations of the above-described embodiments. In each of the above embodiments, an example in which the drawing system 100 is realized by the control device 10 and the robot 50 has been described, but the configurations of the control device 10 and the robot 50 can be changed as appropriate. For example, the control device 10 may be realized in a system such as a client-server system of a network computer system, or the same function can be realized in various computers such as a personal computer that does not constitute a client-server system, and various communication terminals and portable information terminals such as a mobile terminal and a tablet. At this time, at least a part of the functions of the drawing system 100 can also be realized by installing a computer program in various computers and various communication terminals and portable information terminals. That is, a program for causing various computers to function as at least a part of the drawing system 100 is also included in the present invention. In addition, the above embodiments may be implemented in combination. It is noted that various changes, applications, and ranges of use that a so-called person skilled in the art makes as needed are also included in the gist (technical scope) of the present invention.
Explanation of Reference Numerals
[0112] 10: Control device 11: Robot control unit 12: Drawing data creation unit 13: Image data conversion unit 14: Image input unit 15: Color mixing unit 16: Storage unit 17: Input section 18: Display section 20: Reference point 21: Shape (circle) 22: Starting point 22a~22k: Starting point 23: End point 23a~22j: End point 30: Reference point 50: Robot 51: Arm 51a: First arm 51b: Second arm 52: First joint 53: Second joint 54: Third joint 55: Base 56: Stand 57: Rotation axis 58: Tip 59A: Additional arm 59B: Drawing tool holder 60: Predetermined color 61: Transparent color 70: Canvas 70: Canvas 71: Paint palette 72: Water tank 73: Drawing tool 73A: Drawing tool 73B: Drawing tool 74: Water flow pump 80: Movable range 90: Range 91: Range P: Direction R: Axis 100: Drawing system B: Binary image C: Processed binary image D: Image in progress F: Plane H: Upper limit distance P: Direction R: Axis S: Flag T: Flag X1: (First) candidate color X2: (Second) candidate color Z: Target color a: Line segment b: Line segment d: Distance h: Drawing distance p: Direction s: Angle x: Color θ: Angle.
Claims
1. A drawing system that performs drawing on a target surface using a drawing tool, comprising a robot that holds and moves the drawing tool, and a control device that controls the movement of the robot, wherein the control device comprises an image data conversion unit that creates color-reduced image data by reducing the color of image data and creates a binary image including information on the arrangement region of at least one color included in the color-reduced image data, creates a movement path of the drawing tool based on the binary image, and issues a control instruction for the robot based on the movement path. Drawing system.
2. The drawing system according to claim 1, wherein the control device in the binary image, a reference point that is a reference for a predetermined figure and at least a part of the arrangement region is included within at least a part of the range of the figure at a predetermined ratio or more, a starting point based on the reference point and a point separated from the starting point by a predetermined distance, and an end point selected such that a predetermined ratio or more of the arrangement region is included within the range of the figure with respect to the point, excludes the range of the figure arranged based on the starting point and the end point from the selection targets of the reference point, the starting point, and the end point, and creates the movement path based on the repeatedly obtained reference points, starting points, and end points. Drawing system.
3. The drawing system according to claim 2, wherein the control device uses the end point as the next starting point and obtains a further next end point. Drawing system.
4. The drawing system according to claim 3, wherein the control device scans a plurality of pixels included in the binary image in order to obtain the reference point, and when the next end point cannot be obtained from the next starting point, resumes scanning of the plurality of pixels to obtain the next reference point. Drawing system.
5. The drawing system according to claim 4, wherein the control device after scanning all of the plurality of pixels, changes the figure to a next figure smaller than the figure, scans the plurality of pixels in order again, and obtains the reference point. Drawing system.
6. The drawing system according to claim 5, wherein the control device adds an update operation of the drawing tool to the movement path based on the distance of the movement path created based on the reference point, the starting point, and the end point. Drawing system.
7. The drawing system according to any one of claims 1 to 6, wherein the control device A color mixing unit that outputs a recipe for creating a target color or a color close to the target color, A storage unit that stores the component values of a plurality of known colors, and The color mixing unit reads the component values of the target color from the image data, the color-reduced image data, or the binary image, and selects a first candidate color that is closest to the target color in the color space from among the plurality of known colors. A drawing system.
8. The drawing system according to claim 7, wherein The color mixing unit extracts a first candidate color that is closest to the target color from among the plurality of known colors stored in the storage unit from the component values of the target color, extracts a second candidate color from among the plurality of known colors existing in the space that does not include the first candidate color among the two spaces separated by a plane including the coordinates of the target color in the color coordinate space, calculates a mixing ratio between the first candidate color and the second candidate color based on the coordinates of the first candidate color and the second candidate color, A drawing system.
9. The drawing system according to claim 8, wherein The color mixing unit in the color coordinate space, in the space that does not include the first candidate color among the two spaces separated by a plane including the coordinates of the target color, with the coordinates of the target color as the apex, and the coordinates of the target color and the first candidate color Defines a conical space with a straight line passing through the coordinates as the central axis and the direction of the generatrix being θ, extracts the second candidate color from the conical space, A drawing system.
10. The drawing system according to claim 8, wherein The color mixing unit in the color coordinate space, among the plurality of known colors existing in the space that does not include the first candidate color among the two spaces separated by a plane including the coordinates of the target color, the distance from the straight line passing through the coordinates of the target color and the first candidate color The closest one is extracted as the second candidate color, A drawing system.
11. The drawing system according to claim 9, wherein The color mixing unit in the color coordinate space, among the plurality of known colors existing in the space that does not include the first candidate color among the two spaces separated by a plane including the coordinates of the target color, the distance from the straight line passing through the coordinates of the target color and the first candidate color The closest one is extracted as the second candidate color, A drawing system.
12. The drawing system according to any one of claims 1 to 6, wherein The robot is provided with a rotating shaft capable of rotational drive at the tip, The rotating shaft is configured to be able to hold a plurality of the drawing tools, The control device is configured to: exchange the drawing tool by driving the rotating shaft; a drawing system. **Claim 13** A drawing system according to any one of Claims 1 to 6, comprising a water tank disposed around the robot, and a water flow pump disposed in the water in the water tank, wherein the control device is configured to: immerse the drawing tool in the water tank in which water flow is generated by the water flow pump and cause the robot to clean the drawing tool; a drawing system.
Citation Information
Patent Citations
Intelligent robot image drawing method and system
CN106056648A
Colored drawing smearing equipment for historic building repair
CN116278493A
Method of controlling brush drawing
JP1986100388A
Object drawing device
JP1986114384A
Method and device for processing image
JP1989219962A