WO2024246635A1 - Innovative educational system for collaborative design, coding and assembly of interactive play structures - Google Patents
Innovative educational system for collaborative design, coding and assembly of interactive play structures Download PDFInfo
- Publication number
- WO2024246635A1 WO2024246635A1 PCT/IB2024/054257 IB2024054257W WO2024246635A1 WO 2024246635 A1 WO2024246635 A1 WO 2024246635A1 IB 2024054257 W IB2024054257 W IB 2024054257W WO 2024246635 A1 WO2024246635 A1 WO 2024246635A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- design
- components
- program
- users
- coding
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/10—Additive manufacturing, e.g. 3D printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
Definitions
- the present invention relates to the field of 3D modeling methods and 3D printing.
- TinkerCAD This is a free, browser-based CAD tool that’s great for beginners. It’s very user-friendly and allows user to create simple 3D models using basic shapes. Once design is completed, user can export it as an STL file for 3D printing.
- AutoDesk Fusion 360 This is a more advanced option that offers a comprehensive set of tools for 3D design, simulation, and printing. It’s user- friendly and suitable for a wide range of projects.
- UltiMaker s Cura: This is primarily a slicing software that converts 3D models into printing instructions for 3D printer. It’s widely used in the 3D printing community and supports a variety of printers.
- SelfCAD This software is a browser-based 3D modeling tool that also includes slicing capabilities. It’s designed to be accessible for all users, from beginners to advanced.
- the US.Pat.NO. US20230004691 discloses a method and system for automatically ordering and fulfilling architecture, design, or construction physical product and/or product sample requests with bar codes.
- the method described involves automatically fulfilling construction and design product requests by receiving request messages on a product sample management application, adding these requests to a purchasing component, providing electronic links to purchase or request products from suppliers, sending response messages to indicate processing, receiving payment requests, processing payments to initiate purchases or requests from suppliers, and sending payment response messages to confirm successful transactions.
- US.Pat.NO. US20150165685 describes methods and systems for delivering a suitable design file for 3D printing based on the capabilities of a connected printer or user profile. It involves receiving a selection of an object in a video, identifying design files for the object, selecting a file based on printer capability, and sending a print request to the printer.
- the invention discussed in the text is a software program and hardware system that serves as a creative tool for users, particularly students and children, allowing them to design and construct toys while promoting collaboration and sharing of their creations. Users can incrementally build complex structures using simple components and 3D printing technology to bring their designs to life.
- the system also supports the integration of sensors and motors for animating and controlling the toys through coding interfaces, enhancing the interactive elements of play.
- the system enables users to organize and manage their toy collections, fostering creativity, collaboration, and exploration among users of all ages. It also allows for online coding competitions for children, helping in their skill development. For example, users can design different parts of a city, such as houses, apartments, cars, and trees, which are stored in a program library accessible to all users.
- Users can select shapes from the library and place them on the screen multiple times, creating streets with houses, apartments, trees, and lights.
- the program can be saved on the hard drive or cloud drive for future use, ensuring that changes are regularly saved and restored.
- the information can be stored on personal computers or school servers, allowing users to connect and collaborate on designing projects like a city.
- the existing software and websites do not have the ability to design different shapes with the simplest elements and add equipment such as sensors to these elements in order to create movement or game creation.
- Most of the available software have a design mode of pure engineering or pure coding.
- the software proposed in this invention while creating a simple interface for users, has the ability of creating different objects with the simplest elements and make different movement or applicability to these objects.
- [0015] 1 The system can be utilized in educational settings, such as schools and learning centers, to promote creativity, problem-solving skills, and collaboration among students. It can be integrated into STEM (Science, Technology, Engineering, and Mathematics) curricula to engage students in hands-on learning experiences and foster interest in technology and design.
- STEM Science, Technology, Engineering, and Mathematics
- the system can also be applied in the toy industry for designing and prototyping new toy concepts. Toy manufacturers can use the software program and hardware system to create interactive and customizable toys that appeal to a wide range of consumers. The system's ability to incorporate sensors, motors, and 3D printing technology can help toy companies develop innovative and engaging products.
- Maker Community The invention can cater to the growing maker community, providing enthusiasts with a platform to design and build their own toys and gadgets.
- the system's user-friendly interface and collaborative features make it suitable for hobbyists and DIY (Do-It-Yourself) enthusiasts who enjoy creating and sharing their projects with others.
- Coding and Programming The system's coding interfaces and online competitions can be leveraged to teach coding skills to children and adults. It can serve as a valuable tool for introducing programming concepts in a fun and interactive way, helping individuals develop computational thinking and problemsolving abilities.
- FIG.1 illustrates the storage of information on a hard drive, either within a personal computer or a server. It may also depict how users or clients connect to this server using an IP address.
- Fig.2 is the depiction of a cube object with selected color placed in the spatial position of the clicked X, Y, Z coordinates.
- Fig. 3 shows a coding environment with a simple syntax designed for creating and controlling objects such as cubes.
- Fig.4 shows the use of a distance sensor to detect obstacles and trigger functions like rotating or stopping the device in response.
- Fig. 5 shows a car equipped with sensors and motors being navigated through city streets from a starting point to a destination point.
- Fig. 6 shows the process of designing shapes using pre-made parts in the software, integrating the designed shapes after rendering, converting them into STL format, and ultimately printing them using a 3D printer to create physical toys based on the children's designs.
- Fig. 7 illustrates the concept of enhancing toys made with cubes by installing sensors or engines into them.
- Fig. 8 shows the method of shaping cubes and complex components.
- Fig. 9 shows the process of using pre-made shapes which are copied and placed in the pre-designed parts folder of the software and also depicts the use of a 3D scanner to enhance the functionality of the program.
- Fig. 10 illustrates the integration of designed shapes after rendering and their storage in the software library.
- Fig. 11 demonstrates the process where the program utilizes an algorithm to interpret the matrix of points and shape vectors, encompassing positions, normals, and triangle indices.
- Fig. 12 illustrates how trainees have access to a library of pre-designed objects which they can utilize in their own designs.
- Fig. 13 demonstrates the design and functionality of a cube class which includes a three-dimensional matrix that encompasses all points and sides of the cube.
- Fig. 14 illustrates the utilization of pre-made parts in a software application for creating other designs and shapes.
- Fig. 15 shows a final shape, such as a city, farm, or factory, which is saved on the hard drive of a personal computer or a school server.
- the invention disclosed herein relates to a software program and its associated hardware designed to serve as a creative tool for users, particularly students and children, enabling them to design and construct toys while fostering collaboration and sharing of their creations.
- the innovative system allows users to incrementally build and assemble various components to form intricate shapes or complete sets, facilitating the generation of complex structures from simple and easily manageable parts.
- One key feature of this system is the seamless integration with 3D printing technology, enabling users to bring their designs to life by fabricating the created shapes in three dimensions. Additionally, the software platform supports the incorporation of sensors and motors into the toy designs, empowering users to animate and control their creations through intuitive coding interfaces. This functionality allows for the implementation of interactive elements within the toys, enhancing the overall play experience and promoting engagement with the designed toys.
- the system provides users with the ability to organize and curate their toy collections, offering a platform for storing and managing various designs in a user-friendly manner.
- this innovative tool aims to inspire creativity, collaboration, and exploration among users of all ages. They can create online competitions in coding for children and students and help the development of children's skills. For example, children as users can design different parts of a city in the first stage. One person should design a house, one an apartment, one a car, and another one should design different types of trees. After rendering, these designs are placed in the program library on the hard drive or cloud drive. Users have access to this library.
- Each user has the ability to place these pre-made objects from the library onto the program's screen multiple times by selecting a shape from the library and then pressing the insert key. For instance, users can choose a house and position it several times on the screen, aligning them next to each other and along the street. Similarly, they can repeat this process with apartments to create a street surrounded by houses. They can also add trees from the library on the street and place lights at intersections.
- users can save the program, which is stored on the hard drive, and reload it in subsequent sessions.
- the system retrieves the program from the hard drive and transfers it to the memory (RAM) for quick processing.
- RAM memory
- the information is encrypted and transferred to the hard drive. This ensures that changes are regularly saved and restored, preventing loss of information or shapes.
- This information can be stored on the hard drive of a personal computer or on the hard drive of a server in a school or anywhere (Fig.1 ), and users or clients can each connect to this server through an IP address.
- the shapes of the library are read from the hard of server and displayed to the users. They see different shapes and put them on the screen.
- each of these users who are in school can design a separate composite form for themselves and save it on their system and again on the school's hard server. In this case, the children have designed a city.
- the designed car In order for the designed car to recognize its distance to the obstacle, it is necessary to simulate the distance sensor. For example, a car measures its distance to an obstacle such as a wall.
- the central point of the cube in space is known (obtained) and the distance between this point and other points that are not related to the machine is scanned.
- a new shape as a sensor is not added to the car. Rather, by clicking on a cube and pressing a key (for example F) at the same time, it will find the role of the distance finder sensor and the program will automatically name it (from S1 , S2...
- Fig.4, Fig.5 users can attach a motor role to a cube, allowing the car associated with this cube to move based on motor commands. Consequently, students can place a car equipped with multiple sensors and motors on the screen and navigate it through the city streets they have designed, from the starting point to the destination point. (Fig.4, Fig.5)
- the designed shapes are integrated after rendering and stored in the software library, they are converted into STL format by the program as shown in block 80 of Fig. 6 and Fig .10.By sending that file to a 3D printer, it is possible to print it, and children can create the 3D shape that they designed. They had to print it and have their own physical toy. As shown in block 70 of Fig.6.
- the programming language that is used in the software is C# and WPF. After Building the project in Visual Studio an .EXE file is generated. This software runs on the graphics card. All models, programs and functions have been used innovative methods.
- FIG.8 As shown in Fig.8 and block 40 from Fig.6, a checkerboard is placed in a 3D space, and when the mouse moves over it, the square color of the background becomes bold (Fig.2).
- a cube class in C# language has been designed, incorporating a three-dimensional matrix that encompasses all points and sides of the cube. This class is articulated in a parametric form, representing a spatial cube. Upon interaction, specifically the clicking of a mouse on any square of the floor, a cube object, corresponding to the selected color, is instantiated and positioned at the spatial coordinates (X, Y, Z) of the click. (Fig.13).
- this shape can be saved on the hard drive.
- the information of all these points and vectors includes positions, normals and triangle indices is written in the RAM memory and any change will update the information of the RAM at the moment, this information can be a large number of 3D points and 3D vectors.
- the information of these points and vectors is read from RAM and transferred to a new file on the hard drive. The user can choose the name of the file.
- the information of any form is stored on the hard drive and can be retrieved and loaded again whenever needed to display and share or complete. This information can be stored on the server's hard drive and in another place such as the school's hard drive.
- This program recognizes these files with this extension and at the first execution of the program, it is read from the folder that is intended for this purpose on the computer's hard drive, and it is retrieved and loaded in the RAM memory. These shapes are displayed to the user at the top of the screen.
- Pre-made shapes such as airplane propellers, car tires, and other perforated parts created by programs such as 3d max have a file extension, for example, obj. These files are copied and placed in the pre-designed parts folder of the software (Fig.9). The entertainment program reads all the files in the predesigned parts folder and displays them at the top of the screen when running.
- Each of these pre-made parts is placed on the screen by pressing the insert key.
- image processing is used to detect the circles and holes of each part. After detecting these circles, they will turn blue and their location will be displayed to the user. If one of these circles is clicked, the program will list the points of the circles that it found using image processing, by using these points, program will find the equation of the plane passing through these points and the vector perpendicular to the center of this circle, and creates the rotation axis matrix of this circle.
- the user places another pre-made shape on the screen and if he selects a circle on the second shape, the second shape will be connected to the first shape.
- the circle of the second shape and its points are found again by image processing, and the center point of the second circle is identified in the three- dimensional space.
- the transformation matrix is calculated from the difference between the destination point and the origin, and all the points of the second shape are transferred to another point in space with the transformation matrix.
- the second shape can be rotated around the connection axis to the first shape. This is done by the rotation matrix. In this way, a complex shape can be created by connecting several prefabricated pieces in space. Finally, matrices are created for the final shape, like the shapes that were made with cubes. These matrices contain the Mesh shape and this mesh contains information about positions, normal vectors, and triangle indices of all the points and vectors that are required to draw these prefabricated parts.
- the user can observe the redraw of the shape on the system. They are able to view the sequence and arrangement of all prefabricated parts. In this scenario, the instructor has the ability to view any three-dimensional design from the beginning like a movie and identify any design flaws.
- the shape can be saved on the hard drive. In this process, the data of all these positions, normal and triangle indices which are associated with numerous points and vectors, is read from a list stored in the RAM memory and then transferred to a new file on the hard drive.
- the purpose of utilizing RAM is to ensure that information regarding the points and vectors of the drawn shape is readily available for calculations. Any changes made to the shape will result in corresponding updates to the relevant information stored in the RAM.
- the objects created by the software during a rendering process become a unified object at this stage (Fig.10).
- innovative algorithms are used for this purpose, for this purpose, a spatial shape is created that includes a large number of cubes or prefabricated parts. These parts are all connected and many of them are inside the spatial volume.
- a user aiming to create a city using the shapes available in the software library can place as many integrated shapes on the screen as desired.
- Various types of cars can be designed, allowing the user or student to add an unlimited number of each to the screen.
- Each of these integrated objects can be positioned on the screen.
- This functionality extends to all shapes, enabling users to alter the color of each part of the shapes. Additionally, users can rotate, reposition, or resize these shapes after placing them on the screen. To facilitate this, a specific function has been developed. By clicking on a shape, the function receives information about the shape's matrix of points. Using a rotation matrix, all points of the shape are rotated around its center and current position.
- the shape's information is transferred to a matrix, allowing all points of the shape to be moved from one location to another in three-dimensional space.
- This capability enables users to modify the placement of shapes on the screen. For instance, position a house within a specific area of the city created in the software.
- a final shape such as a city (Fig .15) or a farm or a factory, can be saved on the hard drive of a personal computer or on the hard drive of a school server. Repeatedly load recovery, change and make it more complete and re-save or share.
- One of the features of this program is, the program through an algorithm reads all the matrix of points and shape vectors including positions, normals and triangle indices and converts it to STL format which can be understood by a 3D printer and saves it again on a file on the computer hard drive. This file is given to the 3D printer and the printed form is given to the child and he can have his own toy as shown in block 70 of Fig.6 and Fig.1 1 .
- this cube detects and measures the distance to the obstacle.
- the role of the color detection sensor it means that if this cube passes near a colored object, it detects the type of color. And if the role of engine is added to it, this cube can take command from the program and move on the screen.
- the user can install a sensor for them as shown in block 30 of Fig.6 and Fig.7.
- sensors can be distance sensors or color recognition sensors.
- the engine can be installed to move.
- the cubes that are equipped with a sensor or a motor, please note that in this case the usage of the selected cube is increased and the shape of the cube remains the same.
- sensors When using cube-based toys, users have the option to add sensors to them without any restrictions on the quantity. These sensors may include distance sensors or color recognition sensors.
- an engine can also be integrated into the toy for movement. By incorporating sensors or engines into these cubes, the functionality of the toy is enhanced without altering its original shape. (Fig.7)
- the shape of the cube is the same, but its color changes.
- the name of the sensor is written on top of the cube and from now on this cube measures its distance to the surrounding objects (Fig.4).
- the cube is equipped with an engine so that it can start moving and rotating.
- the user design a car and equips it with a distance sensor for the cubes that are the right and left headlights.
- the car one of the cubes is equipped with an engine. Now this car has the ability to move, distance, turn and other maneuvers.
- the front sensors measure the distance between the sensor and the obstacle regularly, and this is done by the formula for calculating the spatial distance between two points.
- the list of points and vectors of the robot is rotated in a function and the robot is drawn in a new state, which causes the robot to rotate 5 degrees to the right. Because this rotation happens cyclically and inside the loop, the robot rotates enough to pass the obstacle.
- users have the option to debug their code. By clicking a button, they can execute the code line by line. As the pointer progresses through each line, the compiler runs the program, and users can observe the robot's movements. This feature enables users to verify the functionality of their code.
- Another type of sensor is the color detection sensor.
- the color detection sensor When certain cubes beneath the robot are equipped with this feature, they can identify colors. Colored lines are typically marked on the ground or a screen, allowing the robot to track and follow these lines. Essentially, this enables the creation of a line-following robot.
- programming for the color detection sensors and commands for controlling the robot's movement must be implemented. The robot detects the color beneath it and adjusts its movement accordingly. If the robot strays from the line or veers off course, a rotation command will realign it back onto the correct path.
- Control programs operate in a closed loop system, meaning that when the program reaches its conclusion, it does not terminate but instead loops back to the beginning. This looping process allows the program to continuously check conditions and adjust accordingly. In this situation, a little rotation or displacement happens and the robot does not suddenly turn, for example, 90 degrees. It rotates one degree or here 5 degrees in each cycle and the next lines are executed. Because at the end of the program, it jumps to the top of the program. And program does a new cycle. This makes the robot rotate slowly.
- the robot Upon reaching the end of the program, the robot returns to the start to reassess the situation, particularly to verify if any obstacles are obstructing its path. If an obstacle is still present, the robot makes minor adjustments to its orientation before continuing. This iterative process is repeated regularly to navigate around obstacles effectively.
- Result In this case, users can place a car that is equipped with several color detection sensors and obstacle detection sensors and equipped with an engine, on the screen and city street that they have designed, and write a code for it, and by executing the code that is written for it, the movable car detects obstacles and turns left or right, and travels the streets of the city to reach from the starting point to the destination point.
- a shared library system comprising two memory spaces allocated on a server hard drive.
- the first memory space houses a common library containing simple and normal shapes accessible to users with user and high user access levels for adding or using.
- the second memory space is reserved for a shared library containing special, complex, and premium shapes, accessible to users with administrator access for collection management and adding new shapes. Also users with high user access have just read access to it. (Fig.1 )
- the access levels are defined as follows:
- Figure 7 illustrates the concept of enhancing toys made with cubes by installing sensors or engines into them. This integration of sensors or engines enhances the functionality of the toy without changing its original shape.
- Figure 9 shows the process of using pre-made shapes, such as airplane propellers, car tires, and other perforated parts created by programs like 3D Max with a file extension (e.g., obj). These files are copied and placed in the predesigned parts folder of the software. Additionally, it mentions that these parts are made in programs like Maya or 3D Max.
- the figure also depicts the use of a 3D scanner and Al artificial intelligence to enhance the functionality of the program, allowing toys or objects to be 3D scanned by a scanner.
- Figure 10 illustrates the integration of designed shapes after rendering and their storage in the software library. These shapes are converted into STL format by the program. By sending this file to a 3D printer, it becomes possible to print the design. Children can then create the 3D shape they designed, print it, and have their own physical toy. The objects created by the software during the rendering process become a unified object at this stage.
- Fig. 1 1 demonstrates the process where the program utilizes an algorithm to interpret the matrix of points and shape vectors, encompassing positions, normals, and triangle indices. These data are then transformed into STL format, compatible with 3D printers, and stored in a file on the computer's hard drive. This file is subsequently transferred to the 3D printer for printing, resulting in a physical toy that can be handed to the child for enjoyment.
- Fig. 12 shows the process of saving and retrieving intricate designs made from library shapes at any point in the design process. This aligns with the description of saving final shapes on the hard drive for modification and sharing.
- Fig. 13 demonstrates the design and functionality of a cube class in the C# programming language.
- the cube class includes a three-dimensional matrix that encompasses all points and sides of the cube, allowing for a comprehensive representation of the spatial cube.
- This class is parametric, enabling users to manipulate and interact with the cube in various ways.
- Fig. 13 One notable feature highlighted in Fig. 13 is the ability to instantiate a cube object of a selected color when a user clicks on a specific square of the floor. The cube object is then positioned at the spatial coordinates (X, Y, Z) corresponding to the location of the click, showcasing the dynamic and interactive nature of the cube class implementation.
- Fig. 14 illustrates the utilization of pre-made parts in a software application for creating designs that are both entertaining and educational.
- the initial design is constructed solely from pre-made parts and pieces, which can range from readymade toy components like car tires to custom pieces such as rectangular cubes with circular holes that interconnect.
- These parts are typically generated using modeling software such as Maya, 3ds Max, or any other program capable of exporting files in the .obj format.
- Fig. 15 demonstrates the process of saving a final shape, such as a city, farm, or factory, on the hard drive of a personal computer or a school server. This final shape can be repeatedly loaded for recovery, modified to enhance its completeness, and then re-saved or shared with others. This iterative process allows for continuous improvement and collaboration on the design project.
- a final shape such as a city, farm, or factory
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Materials Engineering (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Architecture (AREA)
- Primary Health Care (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Toys (AREA)
Abstract
A software program and hardware that act as a creative platform, especially for students and children, to design and construct toys. This system supports incremental building of components into complex structures and integrates with 3D printing technology, allowing users to physically create their designs. It also includes features for adding sensors and motors, enabling interactive and controllable toys through coding.The platform encourages creativity and collaboration by providing tools for organizing and sharing toy designs. It facilitates online coding competitions, where participants can contribute different elements to a collective project, such as designing a city. Users can access a library of pre-made objects, place them on the program's screen, and save their work on a hard drive or cloud service. The system ensures data encryption and regular saving to prevent loss.
Description
Description
Title of Invention: Innovative Educational system for Collaborative Design, Coding and Assembly of Interactive
Play Structures
Technical Field
[0001] The present invention relates to the field of 3D modeling methods and 3D printing.
Background Art
[0002] There are some software options that users can use to create and prepare objects for 3D printing:
[0003] TinkerCAD: This is a free, browser-based CAD tool that’s great for beginners. It’s very user-friendly and allows user to create simple 3D models using basic shapes. Once design is completed, user can export it as an STL file for 3D printing.
[0004] AutoDesk Fusion 360: This is a more advanced option that offers a comprehensive set of tools for 3D design, simulation, and printing. It’s user- friendly and suitable for a wide range of projects.
[0005] UltiMaker’s Cura: This is primarily a slicing software that converts 3D models into printing instructions for 3D printer. It’s widely used in the 3D printing community and supports a variety of printers.
[0006] SelfCAD: This software is a browser-based 3D modeling tool that also includes slicing capabilities. It’s designed to be accessible for all users, from beginners to advanced.
[0007] There are some patents that address this subject, for example:
[0008] The US.Pat.NO. US20230004691 discloses a method and system for automatically ordering and fulfilling architecture, design, or construction physical product and/or product sample requests with bar codes. The method described involves automatically fulfilling construction and design product requests by receiving request messages on a product sample management application, adding these requests to a purchasing component, providing electronic links to
purchase or request products from suppliers, sending response messages to indicate processing, receiving payment requests, processing payments to initiate purchases or requests from suppliers, and sending payment response messages to confirm successful transactions.
[0009] The US.Pat.NO. US20150165685 describes methods and systems for delivering a suitable design file for 3D printing based on the capabilities of a connected printer or user profile. It involves receiving a selection of an object in a video, identifying design files for the object, selecting a file based on printer capability, and sending a print request to the printer.
Summary of Invention
[0010] The invention discussed in the text is a software program and hardware system that serves as a creative tool for users, particularly students and children, allowing them to design and construct toys while promoting collaboration and sharing of their creations. Users can incrementally build complex structures using simple components and 3D printing technology to bring their designs to life. The system also supports the integration of sensors and motors for animating and controlling the toys through coding interfaces, enhancing the interactive elements of play.
[0011 ] Furthermore, the system enables users to organize and manage their toy collections, fostering creativity, collaboration, and exploration among users of all ages. It also allows for online coding competitions for children, helping in their skill development. For example, users can design different parts of a city, such as houses, apartments, cars, and trees, which are stored in a program library accessible to all users.
[0012] Users can select shapes from the library and place them on the screen multiple times, creating streets with houses, apartments, trees, and lights. The program can be saved on the hard drive or cloud drive for future use, ensuring that changes are regularly saved and restored. The information can be stored on personal computers or school servers, allowing users to connect and collaborate on designing projects like a city.
Technical Problem
[0013] The existing software and websites do not have the ability to design different shapes with the simplest elements and add equipment such as sensors to these elements in order to create movement or game creation. Most of the available software have a design mode of pure engineering or pure coding. The software proposed in this invention, while creating a simple interface for users, has the ability of creating different objects with the simplest elements and make different movement or applicability to these objects.
Advantageous Effects of Invention
[0014] The invention of the software program and hardware system for designing and constructing toys has significant advantageous in several areas:
[0015] 1 . Education Sector: The system can be utilized in educational settings, such as schools and learning centers, to promote creativity, problem-solving skills, and collaboration among students. It can be integrated into STEM (Science, Technology, Engineering, and Mathematics) curricula to engage students in hands-on learning experiences and foster interest in technology and design.
[0016] 2. Toy Industry: The system can also be applied in the toy industry for designing and prototyping new toy concepts. Toy manufacturers can use the software program and hardware system to create interactive and customizable toys that appeal to a wide range of consumers. The system's ability to incorporate sensors, motors, and 3D printing technology can help toy companies develop innovative and engaging products.
[0017] 3. Maker Community: The invention can cater to the growing maker community, providing enthusiasts with a platform to design and build their own toys and gadgets. The system's user-friendly interface and collaborative features make it suitable for hobbyists and DIY (Do-It-Yourself) enthusiasts who enjoy creating and sharing their projects with others.
[0018] 4. Coding and Programming: The system's coding interfaces and online competitions can be leveraged to teach coding skills to children and adults. It can serve as a valuable tool for introducing programming concepts in a fun and interactive way, helping individuals develop computational thinking and problemsolving abilities.
Brief Description of Drawings
[0001] [Fig.1 illustrates the storage of information on a hard drive, either within a personal computer or a server. It may also depict how users or clients connect to this server using an IP address.
[0002] Fig.2 is the depiction of a cube object with selected color placed in the spatial position of the clicked X, Y, Z coordinates.
[0003] Fig. 3 shows a coding environment with a simple syntax designed for creating and controlling objects such as cubes.
[0004] Fig.4 shows the use of a distance sensor to detect obstacles and trigger functions like rotating or stopping the device in response.
[0005] Fig. 5 shows a car equipped with sensors and motors being navigated through city streets from a starting point to a destination point.
[0006] Fig. 6 shows the process of designing shapes using pre-made parts in the software, integrating the designed shapes after rendering, converting them into STL format, and ultimately printing them using a 3D printer to create physical toys based on the children's designs.
[0007] Fig. 7 illustrates the concept of enhancing toys made with cubes by installing sensors or engines into them.
[0008] Fig. 8 shows the method of shaping cubes and complex components.
[0009] Fig. 9 shows the process of using pre-made shapes which are copied and placed in the pre-designed parts folder of the software and also depicts the use of a 3D scanner to enhance the functionality of the program.
[0010] Fig. 10 illustrates the integration of designed shapes after rendering and their storage in the software library.
[0011] Fig. 11 demonstrates the process where the program utilizes an algorithm to interpret the matrix of points and shape vectors, encompassing positions, normals, and triangle indices.
[0012] Fig. 12 illustrates how trainees have access to a library of pre-designed objects which they can utilize in their own designs.
[0013] Fig. 13 demonstrates the design and functionality of a cube class which includes a three-dimensional matrix that encompasses all points and sides of the cube.
[0014] Fig. 14 illustrates the utilization of pre-made parts in a software application for creating other designs and shapes.
[0015] Fig. 15 shows a final shape, such as a city, farm, or factory, which is saved on the hard drive of a personal computer or a school server.
Description of Embodiments
[0016] The invention disclosed herein relates to a software program and its associated hardware designed to serve as a creative tool for users, particularly students and children, enabling them to design and construct toys while fostering collaboration and sharing of their creations. The innovative system allows users to incrementally build and assemble various components to form intricate shapes or complete sets, facilitating the generation of complex structures from simple and easily manageable parts.
[0017] One key feature of this system is the seamless integration with 3D printing technology, enabling users to bring their designs to life by fabricating the created shapes in three dimensions. Additionally, the software platform supports the incorporation of sensors and motors into the toy designs, empowering users to animate and control their creations through intuitive coding interfaces. This functionality allows for the implementation of interactive elements within the toys, enhancing the overall play experience and promoting engagement with the designed toys.
[0018] Moreover, the system provides users with the ability to organize and curate their toy collections, offering a platform for storing and managing various designs in a user-friendly manner. By facilitating the creation, customization, and manipulation of toys through a user-centric interface, this innovative tool aims to inspire creativity, collaboration, and exploration among users of all ages. They can create online competitions in coding for children and students and help the development of children's skills. For example, children as users can design different parts of a city in the first stage. One person should design a house, one an apartment, one a car, and another one should design different types of trees.
After rendering, these designs are placed in the program library on the hard drive or cloud drive. Users have access to this library.
[0019] Each user has the ability to place these pre-made objects from the library onto the program's screen multiple times by selecting a shape from the library and then pressing the insert key. For instance, users can choose a house and position it several times on the screen, aligning them next to each other and along the street. Similarly, they can repeat this process with apartments to create a street surrounded by houses. They can also add trees from the library on the street and place lights at intersections.
[0020] After each step, users can save the program, which is stored on the hard drive, and reload it in subsequent sessions. The system retrieves the program from the hard drive and transfers it to the memory (RAM) for quick processing. At the moment shapes are saved, the information is encrypted and transferred to the hard drive. This ensures that changes are regularly saved and restored, preventing loss of information or shapes.
[0021 ] This information can be stored on the hard drive of a personal computer or on the hard drive of a server in a school or anywhere (Fig.1 ), and users or clients can each connect to this server through an IP address. In fact, the shapes of the library are read from the hard of server and displayed to the users. They see different shapes and put them on the screen. Finally, each of these users who are in school can design a separate composite form for themselves and save it on their system and again on the school's hard server. In this case, the children have designed a city. In order for the designed car to recognize its distance to the obstacle, it is necessary to simulate the distance sensor. For example, a car measures its distance to an obstacle such as a wall. Mathematically and physically, the central point of the cube in space is known (obtained) and the distance between this point and other points that are not related to the machine is scanned. For example, you can design a car and give the four lights around it, which are on the corners of the car, the role of sensors. From S1 to S4, in this way, if any corner of the car approaches an object, the program notices the distance between the corners of the car and the obstacle, and the program can stop the car engine. Of course, here a new shape as a sensor is not added to the car. Rather, by clicking on a cube and pressing a key (for example F) at the same
time, it will find the role of the distance finder sensor and the program will automatically name it (from S1 , S2... to as many sensors as needed). Functions are written in the program for sensors. In the coding part, it is enough to cyclically read the distance of this sensor, if it is less than a certain size, it means that it is close to an obstacle, and in the program, the function of rotating or stopping the device must be executed. (Fig.4, Fig.5)
[0022] Given that a compiler has been implemented for the program and a coding system with a straightforward syntax has been devised, it is feasible to engage in coding within this environment (Fig.2, Fig.3). In this scenario, users(children) are able to create a car using cubes and modify or incorporate additional functionalities to these cubes. Users have the capability to integrate an obstacle detection sensor to these cubes, enabling the issuance of a command or triggering an event when the vehicle approaches an obstacle surface. This command initiates an event within the compiler, leading to the setting and initialization of a variable, and the execution of a segment of code pertaining to obstacle detection. Alternatively, users can attach a motor role to a cube, allowing the car associated with this cube to move based on motor commands. Consequently, students can place a car equipped with multiple sensors and motors on the screen and navigate it through the city streets they have designed, from the starting point to the destination point. (Fig.4, Fig.5)
[0023] The designed shapes are integrated after rendering and stored in the software library, they are converted into STL format by the program as shown in block 80 of Fig. 6 and Fig .10.By sending that file to a 3D printer, it is possible to print it, and children can create the 3D shape that they designed. They had to print it and have their own physical toy. As shown in block 70 of Fig.6.
[0024] The steps of entertainment in the software presented in this document are as follows. In one embodiment of the invention, the programming language that is used in the software is C# and WPF. After Building the project in Visual Studio an .EXE file is generated. This software runs on the graphics card. All models, programs and functions have been used innovative methods.
[0025] 2.1 Creating the initial shape: which includes two primary design parts.
[0026] a. As shown in Fig.8 and block 40 from Fig.6, a checkerboard is placed in a 3D space, and when the mouse moves over it, the square color of the background becomes bold (Fig.2). A cube class in C# language has been designed, incorporating a three-dimensional matrix that encompasses all points and sides of the cube. This class is articulated in a parametric form, representing a spatial cube. Upon interaction, specifically the clicking of a mouse on any square of the floor, a cube object, corresponding to the selected color, is instantiated and positioned at the spatial coordinates (X, Y, Z) of the click. (Fig.13).
[0027] After creating the desired shape or object, you can see the redraw of the shape on the system. The sequence and arrangement of all the cubes in the space is in a list of cube classes. In this situation, in the program execution mode, the pointer starts from the beginning of the list and displays every memory house in this list that contains the information of a cube, then the pointer counter is increased by one and the information of the next house in the list is displayed, (that is, the next cube). With this work, the instructor can observe the design of any three-dimensional shape from the beginning, like a movie, and understand the design problems.
[0028] After designing the complex shape, this shape can be saved on the hard drive. In such a way that the information of all these points and vectors includes positions, normals and triangle indices is written in the RAM memory and any change will update the information of the RAM at the moment, this information can be a large number of 3D points and 3D vectors. Then the information of these points and vectors is read from RAM and transferred to a new file on the hard drive. The user can choose the name of the file. In this way, the information of any form is stored on the hard drive and can be retrieved and loaded again whenever needed to display and share or complete. This information can be stored on the server's hard drive and in another place such as the school's hard drive.
[0029] b. The entertaining and educational mode of pre-made parts in this software is that the initial design is made only from pre-made parts as shown in block 50 of Fig.6, Fig.9 and Fig.14.
[0030] These pieces can be ready-made toy pieces such as car tire or pieces such as rectangular cubes that have circular holes that connect to each other. These parts are created by software such as Maya or 3dMax or any modeling software that outputs files with the extension obj. (Fig.14)
[0031] This program recognizes these files with this extension and at the first execution of the program, it is read from the folder that is intended for this purpose on the computer's hard drive, and it is retrieved and loaded in the RAM memory. These shapes are displayed to the user at the top of the screen.
[0032] Pre-made shapes such as airplane propellers, car tires, and other perforated parts created by programs such as 3d max have a file extension, for example, obj. These files are copied and placed in the pre-designed parts folder of the software (Fig.9). The entertainment program reads all the files in the predesigned parts folder and displays them at the top of the screen when running.
[0033] Each of these pre-made parts is placed on the screen by pressing the insert key. In this program, image processing is used to detect the circles and holes of each part. After detecting these circles, they will turn blue and their location will be displayed to the user. If one of these circles is clicked, the program will list the points of the circles that it found using image processing, by using these points, program will find the equation of the plane passing through these points and the vector perpendicular to the center of this circle, and creates the rotation axis matrix of this circle. In the next step, the user places another pre-made shape on the screen and if he selects a circle on the second shape, the second shape will be connected to the first shape. To connect the second shape to the first shape, the circle of the second shape and its points are found again by image processing, and the center point of the second circle is identified in the three- dimensional space. And to transfer and connect the second shape to the first shape, the transformation matrix is calculated from the difference between the destination point and the origin, and all the points of the second shape are transferred to another point in space with the transformation matrix.
[0034] The second shape can be rotated around the connection axis to the first shape. This is done by the rotation matrix. In this way, a complex shape can be created by connecting several prefabricated pieces in space. Finally, matrices are
created for the final shape, like the shapes that were made with cubes. These matrices contain the Mesh shape and this mesh contains information about positions, normal vectors, and triangle indices of all the points and vectors that are required to draw these prefabricated parts.
[0035] 3D scanner:
[0036] In the library, there are pre-made parts that are read and displayed at the beginning of the program execution. These are made in programs like Maya or 3D Max. In order to add to the functionality of the program, the combination of 3D scanner and Al artificial intelligence can be used. As a result, a toy or an object can be 3D scanned by a scanner (Fig.9). Now give the 3D shape to artificial intelligence to separate its components and give each one as a file with the extension obj. For example, after scanning a toy car, he separates its parts and puts each one in the form of a door, wheel, roof, lamp, and chest in his library. In this way, the variety of parts in the library increases easily and students choose More to design your shapes with pre-made parts. Even the teacher can show the model car to the children and ask them to design the exact same car using the library parts. (Fig.9)
[0037] After creating the desired shape, the user can observe the redraw of the shape on the system. They are able to view the sequence and arrangement of all prefabricated parts. In this scenario, the instructor has the ability to view any three-dimensional design from the beginning like a movie and identify any design flaws. Once the design is completed, the shape can be saved on the hard drive. In this process, the data of all these positions, normal and triangle indices which are associated with numerous points and vectors, is read from a list stored in the RAM memory and then transferred to a new file on the hard drive. The purpose of utilizing RAM is to ensure that information regarding the points and vectors of the drawn shape is readily available for calculations. Any changes made to the shape will result in corresponding updates to the relevant information stored in the RAM. Following the transfer of points information to a file on the computer's hard drive, the user has the option to select a file name. This approach allows for each shape and design's information to be saved on the hard drive, enabling users to retrieve and load it as needed for display, sharing, or further editing. Additionally, this information can also be stored on the server's hard drive.
[0038] Converting the original shape to a solid shape and using the new shape and placing it on the screen:
[0039] The objects created by the software during a rendering process become a unified object at this stage (Fig.10). In the rendering process, innovative algorithms are used for this purpose, for this purpose, a spatial shape is created that includes a large number of cubes or prefabricated parts. These parts are all connected and many of them are inside the spatial volume.
[0040] To unify and make the final shape lighter, all the faces that are caused by the collision of two tangent surfaces and are not visible from the outside and in the appearance of the shape, are removed to make the shape lighter, the part that is removed includes the mesh of that part, points and vectors. It (including positions, normal and triangle indices) is removed and the final shape has only one shell of the initial parts and becomes much lighter and less bulky and occupies less memory.
[0041] All these operations and calculations are done on RAM memory. After rendering, the shape is integrated and cannot be separated, becomes a list of all the points and vectors that make up that integrated shape. Then the user saves this final and integrated shape in the place specified by the program, which can be on the hard drive of the personal computer or on the hard drive of the school server. The information is transferred and saved as a list of three-dimensional points and vectors from the memory to a file on the hard drive and in a specific folder. The user can specify the name of this integrated file when saving on the hard drive. In addition, this folder is the place where the information of integrated library files is stored. When the program is running, all the integrated files, which are the designed objects, are read from the hard drive and loaded into the RAM memory to be displayed in a corner of the screen for selection.
[0042] For instance, a user aiming to create a city using the shapes available in the software library can place as many integrated shapes on the screen as desired. Various types of cars can be designed, allowing the user or student to add an unlimited number of each to the screen. Each of these integrated objects can be positioned on the screen.
[0043] This functionality extends to all shapes, enabling users to alter the color of each part of the shapes. Additionally, users can rotate, reposition, or resize these shapes after placing them on the screen. To facilitate this, a specific function has been developed. By clicking on a shape, the function receives information about the shape's matrix of points. Using a rotation matrix, all points of the shape are rotated around its center and current position. Alternatively, the shape's information is transferred to a matrix, allowing all points of the shape to be moved from one location to another in three-dimensional space. This capability enables users to modify the placement of shapes on the screen. For instance, position a house within a specific area of the city created in the software.
[0044] By utilizing the shapes available in the software library, users can create themed designs for stories or competitions. For instance, one could design a city (Fig.15) while adhering to traffic regulations or urban cleanliness standards using components from the library. Trainees have previously designed various objects like houses, apartments, trees, and cars, which are now part of the library. Individuals, including children, can further enhance their designs by combining these library objects on the design canvas. The resulting creations could range from cities and farms to factories, children's rooms, parks, and amusement parks. The software allows users to save and retrieve these intricate designs that made from library shapes at any point in the process as shown in block 40 of Fig. 6 and Fig.12.
[0045] Save the final shape:
[0046] A final shape, such as a city (Fig .15) or a farm or a factory, can be saved on the hard drive of a personal computer or on the hard drive of a school server. Repeatedly load recovery, change and make it more complete and re-save or share.
[0047] 2.4 3D printing:
[0048] One of the features of this program is, the program through an algorithm reads all the matrix of points and shape vectors including positions, normals and triangle indices and converts it to STL format which can be understood by a 3D printer and saves it again on a file on the computer hard drive. This file is given to
the 3D printer and the printed form is given to the child and he can have his own toy as shown in block 70 of Fig.6 and Fig.1 1 .
[0049] If the sensor role is added to the cubes, this cube detects and measures the distance to the obstacle. In the case that if the role of the color detection sensor is added, it means that if this cube passes near a colored object, it detects the type of color. And if the role of engine is added to it, this cube can take command from the program and move on the screen.
[0050] Programming and creating movement
[0051 ] For toys that are made with cubes, the user can install a sensor for them as shown in block 30 of Fig.6 and Fig.7. There is no limit to the number of sensors installed. These sensors can be distance sensors or color recognition sensors. Apart from the sensors on the car, the engine can be installed to move. These are the cubes that are equipped with a sensor or a motor, please note that in this case the usage of the selected cube is increased and the shape of the cube remains the same.
[0052] When using cube-based toys, users have the option to add sensors to them without any restrictions on the quantity. These sensors may include distance sensors or color recognition sensors. In addition to the sensors, an engine can also be integrated into the toy for movement. By incorporating sensors or engines into these cubes, the functionality of the toy is enhanced without altering its original shape. (Fig.7)
[0053] For the distance sensor, the shape of the cube is the same, but its color changes. The name of the sensor is written on top of the cube and from now on this cube measures its distance to the surrounding objects (Fig.4). Or the cube is equipped with an engine so that it can start moving and rotating. For example, the user (student) designs a car and equips it with a distance sensor for the cubes that are the right and left headlights. For the car, one of the cubes is equipped with an engine. Now this car has the ability to move, distance, turn and other maneuvers. The front sensors measure the distance between the sensor and the obstacle regularly, and this is done by the formula for calculating the spatial distance between two points. (Fig.5)
[0054] Parallel processing has been used to increase the speed and smoothness of the robot's movement due to many points, which does not slow down the calculations. In another mode of the invention, the use of physics engine also improves the calculation performance and movement of the robot.
[0055] In this case, when the front of the car approaches an object, an event is issued or raised. A compiler is implemented for the program (Fig.7). And a coding with a simple syntax is designed for it and it is possible to code in this environment (Fig.3). After the event is issued, this command handles an event in the compiler. In this case, a distance detection variable is set. This variable is used in coding. Depending on the code that is written in the next line, the behavior of the car will be changed. It can be controlled. For example, in the line of code after the conditional command IF and this variable can be used. In such a way that if the obstacle detection sensor on the right side of the car is triggered, the car will turn to the left and if the obstacle detection sensor on the left side of the car is triggered. The car turns to the right. (Fig.5)
[0056] Tag A
[0057] IF Left Sensor
[0058] Robot Turn Right
[0059] End If
[0060] IF Right Sensor
[0061] Robot Turn Left
[0062] End If
[0063] Robot Forward
[0064] Jump Tag A
[0065] A simple code is written here and interpreted by the compiler in this way.
[0066] If the sensor on the left side is in the stimulation mode, the conditional command is established and the program and the compiler go into the condition and the command Robot Turn Right is executed and the compiler executes a method of the program related to turning right to interpret it. In the continuation of the program, if the sensor on the right side is in the stimulation mode, the
conditional command is established and the program and the compiler go into the condition and the command Robot Turn Left is executed and the compiler executes a method of the program related to turning left to interpret it.
[0067] In this method, the list of points and vectors of the robot is rotated in a function and the robot is drawn in a new state, which causes the robot to rotate 5 degrees to the right. Because this rotation happens cyclically and inside the loop, the robot rotates enough to pass the obstacle.
[0068] Next, by executing the command Robot Forward, the compiler interprets this command and a method of the program related to moving the robot forward is executed. In this method, the list of points and vectors of the robot is transferred to a function or matrix and the robot is drawn at the new point, which causes the robot to move forward by a fixed value, which is moved forward by 5 mm here. Then, in the next line of Jump Tag A, the program jumps to the line of Tag A, and the program is placed in a loop and is executed cyclically, and with this simple code, the robot can pass the obstacles. All reading of the codes written for the robot and compiler calculations and its execution are done at high speed in RAM and CPU. Of course, to update the image and draw the shape, this operation is done on the graphics card and GPU.
[0069] A built-in editor within the program allows users to create and execute their own code on a robot they have customized with sensors and engines. The user can edit and refine this code repeatedly, with the changes being automatically saved to a file on their computer's hard drive. Each time the user accesses the programming environment, can see most recent code, enabling users to continue working on it or share it with others.
[0070] Additionally, users have the option to debug their code. By clicking a button, they can execute the code line by line. As the pointer progresses through each line, the compiler runs the program, and users can observe the robot's movements. This feature enables users to verify the functionality of their code.
[0071 ] Another type of sensor is the color detection sensor. When certain cubes beneath the robot are equipped with this feature, they can identify colors. Colored lines are typically marked on the ground or a screen, allowing the robot to track and follow these lines. Essentially, this enables the creation of a line-following
robot. To enable this functionality, programming for the color detection sensors and commands for controlling the robot's movement must be implemented. The robot detects the color beneath it and adjusts its movement accordingly. If the robot strays from the line or veers off course, a rotation command will realign it back onto the correct path.
[0072] Control programs operate in a closed loop system, meaning that when the program reaches its conclusion, it does not terminate but instead loops back to the beginning. This looping process allows the program to continuously check conditions and adjust accordingly. In this situation, a little rotation or displacement happens and the robot does not suddenly turn, for example, 90 degrees. It rotates one degree or here 5 degrees in each cycle and the next lines are executed. Because at the end of the program, it jumps to the top of the program. And program does a new cycle. This makes the robot rotate slowly.
[0073] Upon reaching the end of the program, the robot returns to the start to reassess the situation, particularly to verify if any obstacles are obstructing its path. If an obstacle is still present, the robot makes minor adjustments to its orientation before continuing. This iterative process is repeated regularly to navigate around obstacles effectively.
[0074] Result: In this case, users can place a car that is equipped with several color detection sensors and obstacle detection sensors and equipped with an engine, on the screen and city street that they have designed, and write a code for it, and by executing the code that is written for it, the movable car detects obstacles and turns left or right, and travels the streets of the city to reach from the starting point to the destination point.
[0075] This program can be run on the network and users can create different robots in the form of cars or people and interact with each other. This interaction can be competitive or cooperative.
[0076] In one embodiment of the invention, a shared library system is disclosed comprising two memory spaces allocated on a server hard drive. The first memory space houses a common library containing simple and normal shapes accessible to users with user and high user access levels for adding or using. The second memory space is reserved for a shared library containing special,
complex, and premium shapes, accessible to users with administrator access for collection management and adding new shapes. Also users with high user access have just read access to it. (Fig.1 )
[0077] In the said embodiment, the access levels are defined as follows:
[0078] 1 . Administrator access:
[0079] - Read and write access to the personal computer library
[0080] - Read and write access to the common library of simple and normal shapes on the server
[0081 ] - Read and write access to the library of special, complex, and premium shapes on the server
[0082] 2. User access:
[0083] - Read and write access to the personal computer library
[0084] - Read and write access to the common library of simple and normal shapes on the server
[0085] 3. High user access:
[0086] - Read and write access to the personal computer library
[0087] - Read and write access to the common library of simple and normal shapes on the server
[0088] - Read-only access to the library of special, complex, and premium shapes on the server
[0089] 4. Guest access or Restricted access:
[0090] - Read and write access to the personal computer library
[0091 ] These embodiments provide a secure and organized system for managing shared libraries with different access levels for users.
[0092] Figure 7 illustrates the concept of enhancing toys made with cubes by installing sensors or engines into them. This integration of sensors or engines enhances the functionality of the toy without changing its original shape.
[0093] Figure 9 shows the process of using pre-made shapes, such as airplane propellers, car tires, and other perforated parts created by programs like 3D Max
with a file extension (e.g., obj). These files are copied and placed in the predesigned parts folder of the software. Additionally, it mentions that these parts are made in programs like Maya or 3D Max. The figure also depicts the use of a 3D scanner and Al artificial intelligence to enhance the functionality of the program, allowing toys or objects to be 3D scanned by a scanner.
[0094] Figure 10 illustrates the integration of designed shapes after rendering and their storage in the software library. These shapes are converted into STL format by the program. By sending this file to a 3D printer, it becomes possible to print the design. Children can then create the 3D shape they designed, print it, and have their own physical toy. The objects created by the software during the rendering process become a unified object at this stage.
[0095] Fig. 1 1 demonstrates the process where the program utilizes an algorithm to interpret the matrix of points and shape vectors, encompassing positions, normals, and triangle indices. These data are then transformed into STL format, compatible with 3D printers, and stored in a file on the computer's hard drive. This file is subsequently transferred to the 3D printer for printing, resulting in a physical toy that can be handed to the child for enjoyment.
[0096] Fig. 12 shows the process of saving and retrieving intricate designs made from library shapes at any point in the design process. This aligns with the description of saving final shapes on the hard drive for modification and sharing.
[0097] Fig. 13 demonstrates the design and functionality of a cube class in the C# programming language. The cube class includes a three-dimensional matrix that encompasses all points and sides of the cube, allowing for a comprehensive representation of the spatial cube. This class is parametric, enabling users to manipulate and interact with the cube in various ways.
[0098] One notable feature highlighted in Fig. 13 is the ability to instantiate a cube object of a selected color when a user clicks on a specific square of the floor. The cube object is then positioned at the spatial coordinates (X, Y, Z) corresponding to the location of the click, showcasing the dynamic and interactive nature of the cube class implementation.
[0099] Fig. 14 illustrates the utilization of pre-made parts in a software application for creating designs that are both entertaining and educational. The initial design is
constructed solely from pre-made parts and pieces, which can range from readymade toy components like car tires to custom pieces such as rectangular cubes with circular holes that interconnect. These parts are typically generated using modeling software such as Maya, 3ds Max, or any other program capable of exporting files in the .obj format.
[0100] Fig. 15 demonstrates the process of saving a final shape, such as a city, farm, or factory, on the hard drive of a personal computer or a school server. This final shape can be repeatedly loaded for recovery, modified to enhance its completeness, and then re-saved or shared with others. This iterative process allows for continuous improvement and collaboration on the design project.
Industrial Applicability
[0101] The industrial applicability of this invention lies in its potential to inspire creativity, innovation, and skill development across various sectors, including education, toy manufacturing, maker communities, and programming education, i
Claims
[Claim 1] Innovative Educational system for Collaborative Design, Coding and
Assembly of Interactive Play Structures, comprising: a software program with a user interface for designing and assembling cube components into complex structures wich reads matrix of points and shape vectors, including positions, normal, and triangle indices, to convert them into suitable format compatible with 3D printers, incorporating interactive elements including sensors and motors into each components; a coding interface for animating and controlling the components and complex structures ; a collaborative platform for sharing, organizing, and curating components and complex structure ; means for storing and managing components on a drive with encryption for data security; and integrating with 3D printing technology to fabricate structures in three dimensions.
[Claim 2] The system of claim 1 , wherein the software program further comprises a library of pre-made objects for use in designs and the ability for multiple users to access and contribute to a shared design project.
[Claim 3] 3. The system of claim 1 , wherein the method for storing and managing design components further includes providing access to stored designs via an IP address and the ability to save and reload designs in subsequent sessions.
[Claim 4] 4. The system of claim 1 , further includes simulating distance sensors within the design components and implementing functions for sensorbased interactions.
[Claim 5] 5. The system of claim 1 , wherein the process for converting design components into physical toys further includes reading and converting design data into STL format.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2024/054257 WO2024246635A1 (en) | 2024-05-02 | 2024-05-02 | Innovative educational system for collaborative design, coding and assembly of interactive play structures |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2024/054257 WO2024246635A1 (en) | 2024-05-02 | 2024-05-02 | Innovative educational system for collaborative design, coding and assembly of interactive play structures |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024246635A1 true WO2024246635A1 (en) | 2024-12-05 |
Family
ID=93656779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2024/054257 WO2024246635A1 (en) | 2024-05-02 | 2024-05-02 | Innovative educational system for collaborative design, coding and assembly of interactive play structures |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024246635A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170308624A1 (en) * | 2014-03-11 | 2017-10-26 | Microsoft Technology Licensing, Llc | Generation of custom modular objects |
-
2024
- 2024-05-02 WO PCT/IB2024/054257 patent/WO2024246635A1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170308624A1 (en) * | 2014-03-11 | 2017-10-26 | Microsoft Technology Licensing, Llc | Generation of custom modular objects |
Non-Patent Citations (1)
Title |
---|
M. GKION: "Collaborative 3D digital content creation exploiting a Grid network", 2009 INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATION TECHNOLOGIES, KARACHI, 15 August 2009 (2009-08-15), pages 35 - 39, XP031532331, DOI: 10.1109/ICICT.2009.5267221 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ishii | Tangible user interfaces | |
Linowes | Unity 2020 virtual reality projects: Learn VR development by building immersive applications and games with Unity 2019.4 and later versions | |
Singh et al. | Game development using unity game engine | |
US20140080605A1 (en) | Augmented reality system indexed in three dimensions | |
Weller et al. | Posey: instrumenting a poseable hub and strut construction toy | |
Glover et al. | Complete Virtual Reality and Augmented Reality Development with Unity: Leverage the power of Unity and become a pro at creating mixed reality applications | |
CN106981232A (en) | A kind of virtual driving simulator based on unity3D | |
Chopra | Google SketchUp for Dummies | |
Lai et al. | Vivid: Virtual environment for visual deep learning | |
Sapounidis et al. | Touch your program with hands: qualities in tangible programming tools for novice | |
Moshayedi et al. | Unity in Embedded System Design and Robotics: A Step-by-Step Guide | |
Jeong et al. | AutomataStage: An AR-mediated creativity support tool for hands-on multidisciplinary learning | |
Thorn | Moving from Unity to Godot | |
Bryant | Tinkercad for dummies | |
WO2024246635A1 (en) | Innovative educational system for collaborative design, coding and assembly of interactive play structures | |
Liang | Generation of a virtual reality‐based automotive driving training system for CAD education | |
Chioccariello et al. | Children’s playful learning with a robotic construction kit | |
Dickinson et al. | Roomba Pac-Man: Teaching Autonomous Robotics through Embodied Gaming. | |
Felicia | Unity From Zero to Proficiency (Foundations): A step-by-step guide to creating your first game with Unity | |
Pereira | Development of a Harvester Machine Simulator in Virtual Reality | |
Jones | Mechanical Creations in 3D: A Practical Look Into Complex and Technical Setups for Animation & VFX | |
US12288299B2 (en) | Authoring systems and methods for enabling bidirectional binding of augmented reality with toys in real-time | |
Clague et al. | Lego Software Power Tools With LDraw MLCad and LPub | |
Desbonnet et al. | A Virtual Reality based training system for | |
Brand | Graphics for a 3D Driving Simulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24814696 Country of ref document: EP Kind code of ref document: A1 |