WO2020036145A1 - 移動デバイス制御システムおよびシート - Google Patents

移動デバイス制御システムおよびシート Download PDF

Info

Publication number
WO2020036145A1
WO2020036145A1 PCT/JP2019/031680 JP2019031680W WO2020036145A1 WO 2020036145 A1 WO2020036145 A1 WO 2020036145A1 JP 2019031680 W JP2019031680 W JP 2019031680W WO 2020036145 A1 WO2020036145 A1 WO 2020036145A1
Authority
WO
WIPO (PCT)
Prior art keywords
pattern
control system
area
information
mobile device
Prior art date
Application number
PCT/JP2019/031680
Other languages
English (en)
French (fr)
Inventor
哲法 中山
芳範 小番
中山 綾子
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Priority to JP2020537070A priority Critical patent/JP7038834B2/ja
Publication of WO2020036145A1 publication Critical patent/WO2020036145A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H18/00Highways or trackways for toys; Propulsion by special interaction between vehicle and track
    • A63H18/16Control of vehicle drives by interaction between vehicle and track; Control of track elements by vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass

Definitions

  • the present invention relates to a mobile device control system and a seat.
  • a wide range of intuitive programming materials are available. In order to make a user more intuitively understand programming, there are also program teaching materials for operating a robot or the like according to a program created by the user and visually confirming whether or not the program is appropriate.
  • Patent Document 1 discloses a system in which a user forms a command sequence of a program, a self-propelled device reads the program, and controls movement of the self-propelled device based on the read program.
  • the present inventors have prepared a self-propelled device that travels on a seat according to a program, and are studying teaching materials that allow a user to create the program. Information is written on the sheet, and the self-propelled device can read information on the current position and perform an operation according to the position. A maze or the like is printed on the sheet as a task, and a plurality of sheets are prepared according to the progress of the user's learning.
  • the present invention has been made in view of the above problems, and has as its object to provide a technique for performing various operations on each of a plurality of sheets without preparing various programs for controlling the movement of a self-propelled device. It is to provide.
  • a mobile device control system provides a mobile device control system, comprising: a plurality of partial areas obtained by dividing an area on a sheet where a self-propelled device is arranged; Specifying means for specifying an area, from each of the partial areas, and storage means for storing in association with the operation information defining the operation of the device, to obtain the operation information associated with the specified partial area, Control means for controlling the operation of the device based on the acquired operation information.
  • the sheet according to the present invention is characterized in that motion information associated with each of a plurality of partial regions into which a region where a self-propelled device is arranged is divided, and the motion information defining the operation of the device is encoded.
  • the printed patterns are printed side by side in a predetermined direction.
  • various operations can be performed on each of a plurality of sheets without preparing various programs for controlling the movement of the self-propelled device.
  • the moving device control system reads the pattern from a sheet on which a pattern in which the operation information associated with each of the plurality of partial areas is encoded is printed, thereby reading the partial area.
  • the information processing apparatus may further include a reading unit that acquires the operation information associated with each of them, and stores the read operation information in association with the partial area.
  • the reading unit reads the patterns in a predetermined order from a sheet on which a pattern in which the motion information associated with each of the plurality of partial regions is encoded is printed, The motion information associated with each of the partial regions may be obtained.
  • the reading unit includes a camera having a camera on a sheet on which a pattern in which the motion information associated with each of the plurality of partial areas is encoded is printed in a predetermined direction.
  • the vehicle may travel in the predetermined direction while recognizing the pattern, thereby acquiring the motion information associated with each of the partial regions.
  • the operation information is any one of a plurality of predetermined operation types, and each of the plurality of operation types is assigned so as not to overlap with another operation type.
  • a pattern in which a plurality of coordinates belonging to the coordinate region are encoded is associated, and the reading unit is configured to print a plurality of patterns respectively associated with the plurality of partial regions on a sheet printed in a predetermined direction.
  • the operation information associated with each of the partial regions may be acquired by a device having a camera traveling in the predetermined direction while recognizing the plurality of patterns.
  • the operation information is information indicating a type of the partial area
  • the control unit may control an operation of the device based on a type of the partial area to which the device goes next. Good.
  • FIG. 2 is a diagram illustrating a hardware configuration of a control system. It is a figure showing an example of a truck. It is a figure showing an example of a seat in which a truck is arranged.
  • FIG. 4 is a diagram illustrating an outline of assignment of an area in a coordinate space. It is a figure which shows a common allocation area
  • FIG. 3 is a block diagram illustrating functions realized by the control system. It is a flowchart which shows an example of the process which controls a trolley. It is a flowchart which shows an example of the process which controls a trolley.
  • FIG. 9 is a diagram schematically illustrating a pattern in which information of an additional map is encoded. It is a figure showing an example of correspondence of an additional pattern and map information. It is a figure showing an example of the relation between a cell attribute and coordinates in an additional cell field.
  • FIG. 10 is a diagram illustrating an example of a relationship between additional information and coordinates in an additional additional area.
  • FIG. 11 is a diagram illustrating an example of a relationship between a command and coordinates in an additional command area. It is a flow chart which shows an example of processing which reads an additional map.
  • a user creates a training program (hereinafter, referred to as a “training program”) using a simple language, and executes the training program to execute the training program on the maze.
  • a training program hereinafter, referred to as a “training program”
  • a description will be given of a programming teaching material for driving a self-propelled device.
  • FIG. 1 is a diagram showing an example of a control system according to the embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of the control system according to the embodiment of the present invention.
  • the control system according to the present invention includes a device control device 10, carts 20a and 20b, a controller 17, and a cartridge 18.
  • the carts 20a and 20b are mobile devices having a camera 24, and both have the same function. Hereinafter, these trolleys 20a and 20b are referred to as trolleys 20 unless otherwise required.
  • the device control device 10 controls the cart 20 via radio.
  • the controller 17 is an input device for acquiring an operation by a user, and is connected to the device control device 10 by a cable.
  • FIG. 3 is a diagram illustrating an example of the carriage 20.
  • FIG. 3 is a diagram of the carriage 20 viewed from below.
  • the cart 20 further includes a power switch 250, a switch 222, and two wheels 254.
  • the device control device 10 includes a processor 11, a storage unit 12, a communication unit 13, and an input / output unit 14.
  • the cart 20 includes a processor 21, a storage unit 22, a communication unit 23, a camera 24, and two motors 25.
  • the device control device 10 may be a dedicated device for control or a general-purpose computer.
  • the processor 11 operates according to the program stored in the storage unit 12 and controls the communication unit 13, the input / output unit 14, and the like.
  • the processor 21 operates according to a program stored in the storage unit 22, and controls the communication unit 23, the camera 24, the motor 25, and the like.
  • the program is stored and provided in a computer-readable storage medium such as a flash memory in the cartridge 18, but may be provided via a network such as the Internet.
  • the storage unit 12 includes a DRAM and a flash memory incorporated in the device control device 10, a flash memory in the cartridge 18, and the like.
  • the storage unit 22 includes a DRAM, a flash memory, and the like.
  • the storage units 12 and 22 store the program.
  • the storage units 12 and 22 store information and calculation results input from the processors 11 and 21 and the communication units 13 and 23, for example.
  • the communication units 13 and 23 are configured by an integrated circuit, an antenna, and the like for communicating with other devices.
  • the communication units 13 and 23 have a function of communicating with each other according to, for example, the Bluetooth (registered trademark) protocol.
  • the communication units 13 and 23 input information received from other devices to the processors 11 and 21 and the storage units 12 and 22 based on the control of the processors 11 and 21 and transmit the information to other devices.
  • the communication unit 13 may have a function of communicating with another device via a network such as a LAN.
  • the input / output unit 14 includes a circuit for acquiring information from an input device such as the controller 17 and a circuit for controlling an output device such as an audio output device and an image display device.
  • the input / output unit 14 acquires an input signal from an input device, and inputs information obtained by converting the input signal to the processor 11 or the storage unit 12.
  • the input / output unit 14 outputs a sound to a speaker and outputs an image to a display device under the control of the processor 11 or the like.
  • the motor 25 is a so-called servo motor whose rotation direction, rotation amount and rotation speed are controlled by the processor 21.
  • One wheel 254 is assigned to each of the two motors 25, and the motor 25 drives the assigned wheel 254.
  • the camera 24 is arranged so as to photograph the lower part of the trolley 20, and photographs the pattern printed on the sheet 31 on which the trolley 20 is placed (see FIG. 4).
  • a pattern recognized in the infrared frequency region is printed on the sheet 31 or the like, and the camera 24 captures the infrared image.
  • FIG. 4 is a diagram illustrating an example of the seat 31 on which the cart 20 is arranged.
  • FIG. 4 shows an example in which a plurality of sheets 31 are arranged in a booklet. On each sheet 31, an image that can be visually recognized by the user is printed, and further, a pattern that can be photographed by the camera 24 is printed.
  • a maze composed of 5 ⁇ 5 squares is printed as an image that can be visually recognized by the user. This maze is for programming materials.
  • the user creates a training program, and the cart 20 moves according to the training program.
  • the attributes of the cells include a start cell 33a, a goal cell 33b, an impermeable cell 33i, a normal cell 33n, an action cell 33q, and the like.
  • the control system After loading the training program into the control system, the user arranges one of the trucks 20 on the start mass 33a, and the control system causes the truck 20 to run according to the training program.
  • the control system controls the cart 20 according to the program provided by the cartridge 18 so that the cart 20 does not travel on the impermeable mass 33i.
  • the device control device 10 outputs a sound or the like indicating that the user has successfully created the program.
  • unit patterns of a predetermined size for example, 0.2 mm square
  • Each of the unit patterns is an image in which the coordinates of the position where the pattern is arranged are encoded.
  • the size of the data to be encoded as a pattern is predetermined, and the maximum and minimum values of the coordinates to be encoded (the size of the coordinate space) are determined by the size of the data and the arrangement interval of the unit pattern.
  • the camera 24 of the trolley 20 captures a unit pattern printed on the sheet 31 or the like, and the trolley 20 or the device control device 10 decodes the unit pattern to obtain coordinates. Thereby, the position of the cart 20 on the seat 31 or the like is recognized. Also, the trolley 20 or the device control apparatus 10 obtains coordinates from each of the plurality of unit patterns in the image captured by the camera 24, and obtains the positions of the plurality of unit patterns in the captured image and the obtained coordinates. The direction of the cart 20 is also calculated based on the coordinates.
  • the position of the carriage 20 on the sheet 31 or the like can be recognized with high accuracy without using another device such as a stereo camera.
  • FIG. 5 is a diagram showing an outline of area allocation in the coordinate space.
  • the coordinate space is divided into a plurality of assigned areas by the range of the xy coordinates, and a part of the divided assigned area is assigned to the application (the present application) of the programming teaching material in the present embodiment. (Other application area) is allocated to another application.
  • the allocation areas allocated to this application include a common allocation area, a start allocation area, an instruction card area, an additional cell area, an additional instruction area, and an additional additional area. Details of each of these allocation areas will be described later.
  • an area excluding the area of the start mass 33a (start area) is referred to as a common area.
  • the common area is an area arranged around the start area.
  • a part of the common allocation area is allocated to the common area.
  • a plurality of patterns are printed side by side on the sheet 31, and each of the patterns is obtained by encoding coordinates corresponding to the position of the pattern in the allocated area.
  • FIG. 6 is a diagram schematically showing a common allocation area.
  • the common allocation area is an area corresponding to a 9 ⁇ 9 cell centered on the start cell 33a.
  • the size of the cells shown in FIG. 6 corresponds to the size of the cells in the maze printed on the sheet 31. 6 indicates a region in the coordinate space printed on the sheet 31 shown in FIG.
  • a part of the 9 ⁇ 9 cells of the common allocation area is allocated. More strictly, an area obtained by removing the start cell 33a from the 5 ⁇ 5 cells included in the common allocation area is allocated to the common area.
  • the position of the start cell 33a in the common allocation area is fixed, and the area of the common allocation area allocated to the sheet 31 changes according to the position of the start cell 33a in the sheet 31.
  • a pattern of coordinates indicating a relative position with respect to the start mass 33a is printed on each common area of the plurality of sheets 31. Further, a coordinate area overlapping with the common area of at least one other sheet is assigned to each common area of the plurality of sheets 31.
  • a pattern in which information for identifying a sheet is encoded is printed in a start area corresponding to the start mass 33a. More specifically, a coordinate area in the start assignment area is assigned to the start area, and a pattern in which the coordinates in the coordinate area are encoded is printed. A coordinate area that does not overlap with any of the other sheets 31 is assigned to the start area.
  • FIG. 7 is a diagram schematically showing a breakdown of the start assignment area.
  • the start allocation area has 11 ⁇ 11 squares, and the size of each of these squares corresponds to the size of the start square 33 a printed on the sheet 31. Any one of the start allocation areas is allocated to the start area of the sheet 31, and a pattern in which the coordinates of the area are encoded is printed.
  • a code such as “1-1” described in each cell in FIG. 7 indicates an ID associated with the cell, and the ID identifies the sheet 31.
  • the control system determines to which cell in the start assigned area the coordinates indicated by the pattern of the start area captured by the camera 24 belong, and acquires the ID of the sheet 31 associated with that cell. Since the trolley 20 which is self-propelled by the user is first arranged on the start mass 33a, it is possible to determine which seat 31 the self-propelled trolley 20 is on before starting to move.
  • the control system can control the movement of the trolley 20 according to information such as a map associated with the sheet 31 even if overlapping coordinates are printed on another sheet 31.
  • FIG. 8 is a block diagram illustrating functions realized by the control system.
  • the control system functionally includes an initial position acquisition unit 50, a current position acquisition unit 51, a start control unit 52, a training program acquisition unit 53, a training program execution unit 54, an additional information acquisition unit 56, and a map storage unit 72.
  • the initial position acquisition unit 50, the current position acquisition unit 51, the start control unit 52, the training program acquisition unit 53, the training program execution unit 54, and the additional information acquisition unit 56 are mainly stored in the processor 11 included in the device control device 10. This is realized by executing a program stored in the unit 12 and controlling the carriage 20 via the communication unit 13.
  • the processor 21 included in the bogie 20 executing the program stored in the storage unit 22 and communicating with the device via the communication unit 23. It is realized by exchanging data with the control device 10 and controlling the camera 24 and the motor 25.
  • the map storage unit 72 is realized by the storage unit 12 included in the device control apparatus 10 and is a type of database that stores a map for each of the plurality of sheets 31 and information related to the map.
  • the initial position acquisition unit 50 decodes information from an image captured by the camera 24 from a pattern in which coordinates are encoded. Specifically, the information to be decoded is the coordinates of the place where the carriage 20 is arranged in the seat 31, and is information that can identify the seat 31.
  • the start control unit 52 sets the operation of the training program execution unit 54 based on the coordinates of the trolley 20 acquired by the initial position acquisition unit 50.
  • the start control unit 52 functionally includes a sheet identification unit 61 and a map identification unit 62.
  • the sheet identification unit 61 acquires information for identifying the seat 31 on which the cart 20 is arranged, based on the information (specifically, the coordinates of the cart 20) acquired by the initial position acquisition unit 50.
  • the map specifying unit 62 acquires information on a map associated with the sheet 31 based on the information identifying the sheet 31.
  • the map information includes attribute information of each cell in the common area and the start area, an operation program of another carriage 20 that obstructs the carriage 20 moving from the start position according to the training program, and other additional information.
  • the current position acquisition unit 51 recognizes a pattern whose coordinates are encoded from the image captured by the camera 24, and acquires the coordinates of the position of the carriage 20 and the direction of the carriage 20 from the coordinates indicated by the pattern.
  • the initial position acquisition unit 50 and the current position acquisition unit 51 may be substantially the same, and may be realized by executing the same program.
  • the training program acquisition unit 53 acquires a training program created by the user, which is a training program for running the carriage 20 arranged at the start position.
  • the training program execution unit 54 executes the acquired training program, and performs the operation of the truck 20 arranged on the seat 31 based on the acquired map and the position of the truck 20 acquired by the current position acquisition unit 51. Control.
  • the training program execution unit 54 functionally includes a traveling mass identification unit 65, a mass attribute acquisition unit 66, and an operation control unit 67.
  • the traveling cell identification unit 65 Based on the coordinates acquired by the current position acquisition unit 51, the traveling cell identification unit 65 selects a cell on which the vehicle 20 is currently traveling from among a plurality of divided cells on the seat 31 on which the vehicle 20 is placed. To identify.
  • the cell attribute acquisition unit 66 stores the operation information associated with the cell specified by the traveling cell identification unit 65. get.
  • the operation control unit 67 controls the operation of the bogie 20 based on the acquired operation information and the current coordinates.
  • the additional information acquisition unit 56 acquires map information by reading the printed pattern with a self-propelled device, and stores the acquired map information in the map storage unit 72.
  • FIGS. 9 and 10 are flowcharts illustrating an example of a process for controlling the carriage 20.
  • FIG. 10 shows the processing of step S208 in FIG. 9 in more detail.
  • the training program acquisition unit 53 Prior to performing the processing shown in FIGS. 9 and 10, the training program acquisition unit 53 has acquired a training program created by the user.
  • the initial position acquisition unit 50 included in the start control unit 52 decodes the pattern photographed by the camera 24, and acquires the current coordinates and the direction where the carriage 20 is placed on the seat 31 (Step S201).
  • the map specifying unit 62 included in the start control unit 52 determines whether or not the acquired coordinates indicate that the acquired coordinates are within the start area (Step S202). More specifically, if the acquired coordinates are the coordinates in the start assignment area, the map specifying unit 62 determines that the acquired coordinates are in the start area, in other words, the cart 20 is in the start area. .
  • an error prompting the user to place the trolley 20 on the start mass 33a of the seat 31 is output, and the process ends ( Step S203).
  • the map identification unit 62 identifies the map ID indicated by the current coordinates (step S203). More specifically, the map specifying unit 62 determines to which of the plurality of cells in the start allocation area the coordinates obtained by the initial position obtaining unit 50 belong, and determines the map ID associated with the cell. get.
  • FIG. 11 is a diagram illustrating an example of the map information associated with a certain sheet 31.
  • FIG. 12 is a diagram illustrating another example of the seat 31 on which the cart 20 is arranged.
  • the map information in FIG. 11 corresponds to the sheet 31 in FIG.
  • Map information includes cell information, command information, and additional information.
  • the cell information indicates each attribute of the 5 ⁇ 5 cells arranged on the sheet 31.
  • the instruction information indicates a program for operating a bogie 20 (another bogie) different from the bogie 20 (own bogie) that operates according to the training program.
  • the additional information is other information, and includes a start direction, a CPU direction, a task type, and the number of turns.
  • the start direction is the direction of the vehicle at the time of the start, and is indicated by a direction in which the upper side of the seat 31 is north in the example of FIG.
  • the CPU direction is the direction of the other bogie at the start.
  • the assignment type indicates the type of operation when the training program is executed on the seat 31, and indicates, for example, whether or not there is another bogie.
  • the command information is a command sequence of a program for moving another truck, and the program is executed when the task type indicates the presence of another truck. In the following, when there is a description of “trolley 20”,
  • the normal cell 33n is a cell on which the own car can move, and can be stopped or changed direction based on the training program.
  • the sliding floor 33s is a square that simulates a slippery environment such as on ice, and the own vehicle can move to the square of the sliding floor 33s. Irrespective of the command, the robot moves on the square having the attribute different from that of the sliding floor 33s or keeps moving in the same direction until it collides with the wall (for example, the impermeable square 33i).
  • the attribute of the cell is one type of operation information that defines the operation of the bogie 20, and the type of the attribute of the predetermined cell (for example, the normal cell 33n or the sliding floor 33s) is also the type of the operation. Equivalent to.
  • the attributes of the cells are also associated with the motion data.
  • the motion data is information indicating the mode of travel of the cart 20.
  • the motion data includes, for example, a slight advance and a stop (for example, on the normal square 33n), a wobble to the left and right, and a straight forward without clogging (for example, a sliding floor). 33s) is information that defines the details of the operation such as above.
  • the attribute of the cell may specify an operation program that controls the operation instead of the motion data. That is, a plurality of operation programs may be prepared according to the attributes of the cells, and the operation may be defined by executing the operation programs according to the attributes of the cells.
  • the start control unit 52 starts the operation of the bogie 20 based on the start direction included in the additional information and the position and orientation of the bogie 20 acquired by the initial position acquisition unit 50.
  • the position and orientation are adjusted (step S207).
  • the training program execution unit 54 starts executing the training program.
  • the training program execution unit 54 sequentially executes the instructions (steps) of the training program, acquires the destination in the current step, and moves the bogie to the destination (step S208). If the current step is not the last step (N in step S210), the training program execution unit 54 sets the next step as an execution target and repeats the processing from step S208. On the other hand, if the current step is the last step (Y in step S210), the training program execution unit 54 ends the execution of the training program and determines whether the bogie 20 has reached the goal mass 33b. A message is output (step S212). More specifically, the training program execution unit 54 outputs a voice or an image indicating that the mission has succeeded when the bogie 20 has reached the goal mass 33b, and otherwise, challenges the user again. Output a sound or image prompting the user.
  • the traveling cell identification unit 65 included in the training program execution unit 54 determines the next cell to which the carriage 20 moves based on the training program created by the user (step S251). More specifically, the traveling mass identification unit 65 executes the instruction of the training program in the order, and when the instruction is an instruction accompanied by the movement of the bogie 20 such as moving forward by one square, or by the sliding floor 33s. If the movement has been continued from the previous movement according to the command, the next cell is determined according to the command.
  • the operation control unit 67 included in the training program execution unit 54 ends the process of step S208 when the next cell is not set or when moving to the next cell is not allowed (N in step S252).
  • Step S210 The process transitions to Step S210.
  • the case where it is not allowed to move to the next cell is, for example, a case where the type of the cell at the destination is the impermeable cell 33i. That is, the operation control unit 67 suppresses the movement of the bogie 20 according to the type of the cell to which the bogie 20 goes next.
  • the cell attribute acquisition unit 66 included in the training program execution unit 54 acquires the attributes of the current cell and the attributes of the next cell. (Step S254). Then, the operation control unit 67 included in the training program execution unit 54 determines the movement mode of the bogie 20 according to the attributes of the current and the next cells (step S255). For example, when the current cell is the normal cell 33n and the next cell is the sliding floor 33s, the operation control unit 67 moves a little over the normal cell 33n in the first half and proceeds while stopping, and in the latter half, keeps the constant value on the sliding floor 33s. The moving mode of the carriage 20 is determined so that the carriage 20 moves so as to proceed at the speed of. Next, the operation control unit 67 moves the carriage 20 according to the determined movement mode (Step S256). Note that the traveling cell identification unit 65 sets the cell after the movement (the cell determined as the next cell) as the current cell (step S257).
  • the additional information acquisition unit 56 can add a map for a new sheet 31 by reading a pattern printed using the self-propelled trolley 20.
  • details of the processing of the additional information acquisition unit 56 will be described.
  • FIG. 13 is a diagram schematically illustrating an additional pattern in which information of an additional map is encoded.
  • FIG. 14 is a diagram illustrating an example of the correspondence between the additional pattern and the map information.
  • the additional pattern includes an area indicating the start of reading, an area in which the map ID is encoded, an area in which the square information is encoded, an area in which the additional information is encoded, and an area in which the instruction information is encoded (from the instruction information 1). 19) and a region indicating the end of reading is printed in a predetermined direction.
  • the reading start area is an area where the user places any one of the carts 20 before starting reading the information of the additional map.
  • a pattern in which information for identifying the map to be read is encoded is arranged. Specifically, this area belongs to the start assignment area shown in FIG. A pattern in any area of the cell is printed.
  • the area of the cell information is composed of pattern areas of cell information 1 to 13.
  • the additional information area is composed of pattern areas of additional information 1 to 4.
  • the instruction information area includes pattern areas of instruction information 1 to 10.
  • information indicating attributes of two cells is encoded.
  • the cell information 1 has the attribute information of the cells 1-1 and 1-2 encoded therein, and the cell information subsequent to the cell information 2 has the attribute information of the two cells subsequent to the previous cell information encoded.
  • the instruction information 1 to 10 are decoded into 20 instructions.
  • the length in the direction in which the pattern areas are arranged is shorter than the length in the direction perpendicular to the pattern areas.
  • the character string shown in the pattern column of FIG. 14 is a type of identification information associated with each area in the coordinate space.
  • FIG. 15 is a diagram illustrating an example of the relationship between the cell attributes and the coordinates in the additional cell area.
  • the additional mass area in the coordinate space is divided into a plurality of rectangular cells surrounded by a boundary line extending in the x-axis direction and a boundary line extending in the y-axis direction. Is assigned so that it does not overlap with the attribute type.
  • the x-axis coordinates indicate the attribute of the preceding cell of the two cells belonging to the cell information, and the y-axis coordinates indicate the attributes of the following cell.
  • the character strings in the divided areas in FIG. 15 correspond to the character strings shown in the pattern column in FIG.
  • Each of the pattern areas is printed so that unit patterns in which a plurality of coordinates belonging to the area assigned to the data are encoded are arranged.
  • FIG. 16 is a diagram illustrating an example of a relationship between additional information and coordinates in an additional additional area.
  • the y-axis coordinates indicate the type of additional information such as the task type, start direction, character behavior, additional map association, and volume information
  • the x-axis coordinates indicate data set for the type of the additional information.
  • the data is described in each cell of FIG. However, with regard to the task types, the y-axis also indicates a large type among the task types, and the x-axis indicates a small type such as an action type.
  • the numerical value described in the cell of the assignment type is the pattern number.
  • FIG. 17 is a diagram showing an example of the relationship between commands and coordinates in the additional command area.
  • the x-axis coordinates indicate the preceding command
  • the y-axis coordinates indicate the following command.
  • the character strings in the divided areas in FIG. 15 correspond to the character strings shown in the pattern column in FIG.
  • FIG. 18 is a flowchart showing an example of processing for reading an additional map.
  • the additional information acquisition unit 56 acquires the current coordinates and direction of the carriage 20 based on the pattern captured by the camera 24 (Step S101). This processing is the same as the processing of the initial position acquisition unit 50.
  • the additional information acquisition unit 56 adjusts the start position and the direction of the cart 20 (Step S302). More specifically, when the current start position and orientation of the carriage 20 are not within the allowable range, the carriage 20 is moved so as to have an appropriate position and orientation as a start.
  • the additional information acquisition unit 56 causes the carriage 20 to travel in the set direction (Step S303).
  • the set direction is initially a reading direction, but is corrected by a process described later.
  • the additional information acquisition unit 56 recognizes a pattern whose coordinates are encoded from the image captured by the camera 24, and determines the current coordinates P at which the truck 20 is located and the direction of the truck 20 from the coordinates indicated by the pattern. Is acquired (step S303).
  • the process of step S303 is the same as the process of the current position acquisition unit 51.
  • the current coordinate P is (x, y), and the carriage 20 moves in the positive direction of the x-axis.
  • the additional information acquisition unit 56 determines that the information read so far is appropriate. And whether the amount to be read is not smaller than necessary (step S310), and outputs an error message if not appropriate.
  • the additional information obtaining unit 56 determines that the difference between the previous coordinates PP, which is the coordinates of the bogie 20 obtained last time, and the current coordinates P is a predetermined threshold value. It is determined whether or not it is larger than (step S306).
  • the predetermined threshold is larger than the maximum distance that can be moved at the measurement interval of the current coordinate P, and smaller than the minimum length of the pattern area such as the mass information 1 in the reading direction.
  • step S306 If the difference between the previous coordinate PP and the current coordinate P is larger than the predetermined threshold (Y in step S306), the additional information acquisition unit 56 determines that the bogie 20 has moved to another pattern area, and Is determined, and the acquired information is added to the map storage unit 72 (specifically, a memory) so as to be associated with the cell (step S307). If the difference between the previous coordinate PP and the current coordinate P is smaller than the predetermined threshold (N in step S306), the additional information acquisition unit 56 determines that the bogie 20 is on the same pattern area as the previous time, and proceeds to step S307. To skip.
  • step S307 After the process of step S307 is completed, or after it is determined in step S306 that the difference between the positions is equal to or smaller than the threshold value, the additional information acquisition unit 56 determines the target coordinates T for the carriage 20 to move based on the coordinates of the current position P. Is calculated, and the traveling direction is set based on the target coordinates T and the current coordinates P (step S308). Then, the processing after step S303 is repeated. Thereby, the additional information acquisition unit 56 reads the patterns in order from the pattern areas arranged in the predetermined direction based on the image captured by the camera 24 provided on the carriage 20 that is self-propelled in the predetermined direction, and associates the patterns with the cells. Information such as cell attributes and commands can be obtained. Further, even after the cartridge 18 for storing programs and data is sold, data such as maps can be added offline.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Toys (AREA)

Abstract

自走デバイスの動きを制御する多種のプログラムを準備しなくても、複数のシートのそれぞれで様々な動作を行わせること。移動デバイス制御システムは、自走するデバイスが配置される領域が分割された複数の部分領域のうち、前記デバイスが走行している部分領域を特定する特定手段と、前記部分領域のそれぞれと、前記デバイスの動作を規定する動作情報とを関連付けて記憶する記憶手段から、前記特定された部分領域に関連付けられた動作情報を取得し、前記取得された動作情報に基づいて前記デバイスの動作を制御する制御手段と、を含む。

Description

移動デバイス制御システムおよびシート
 本発明は移動デバイス制御システムおよびシートに関する。
 直観的にプログラミングすることができる教材が幅広く販売されている。ユーザにプログラミングをより直観的に理解させるため、ユーザが作成したプログラムに応じてロボットなどを動作させ、プログラムが適切であるか否かを視覚的に確認するプログラム教材も存在する。
 特許文献1には、ユーザがプログラムのコマンドシーケンスを形成し、自走デバイスがそのプログラムを読み取り、読み取られたプログラムに基づいて自走デバイスの移動を制御するシステムが開示されている。
国際公開第2018/025467号
 本件発明者らは、プログラムに応じてシート上を走行する自走デバイスを用意し、そのプログラムをユーザに作成させる教材を検討している。シートには、情報が書き込まれており、自走デバイスは現在位置の情報を読み取り、その位置に応じた動作をすることができる。シートには課題として迷路などが印刷され、ユーザの学習の進みに応じた複数のシートが準備される。
 その際に、そのシートにユーザの興味を引くようなバリエーションを持たせる必要がある。しかし、バリエーションを持たせるためにシートごとに、位置に応じた動きをさせるプログラムを準備するのは煩雑である。
 本発明は上記課題を鑑みてなされたものであって、その目的は、自走デバイスの動きを制御する多種のプログラムを準備しなくても、複数のシートのそれぞれで様々な動作を行わせる技術を提供することである。
 上記課題を解決するために、本発明にかかる移動デバイス制御システムは、自走するデバイスが配置されるシート上の領域が分割されてなる複数の部分領域のうち、前記デバイスが走行している部分領域を特定する特定手段と、前記部分領域のそれぞれと、前記デバイスの動作を規定する動作情報とを関連付けて記憶する記憶手段から、前記特定された部分領域に関連付けられた動作情報を取得し、前記取得された動作情報に基づいて前記デバイスの動作を制御する制御手段と、を含む。
 また、本発明にかかるシートは、自走するデバイスが配置される領域が分割された複数の部分領域のそれぞれに関連付けられた動作情報であって、前記デバイスの動作を規定する動作情報が符号化されたパターンが所定の方向に並んで印刷される。
 本発明によれば、自走デバイスの動きを制御する多種のプログラムを準備しなくても、複数のシートのそれぞれで様々な動作を行わせることができる。
 本発明の一形態では、移動デバイス制御システムは、前記複数の部分領域のそれぞれに関連付けられた前記動作情報が符号化されたパターンが印刷されたシートから前記パターンを読み取ることにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得し、前記読み出された動作情報を前記部分領域と関連付けて記憶する読出手段をさらに含んでもよい。
 本発明の一形態では、前記読出手段は、前記複数の部分領域のそれぞれに関連付けられた前記動作情報が符号化されたパターンが印刷されたシートから、前記パターンを所定の順序で読み取ることにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得してもよい。
 本発明の一形態では、前記読出手段は、前記複数の部分領域にそれぞれ関連付けられた前記動作情報が符号化されたパターンが所定の方向に並んで印刷されたシートの上を、カメラを有するデバイスが前記パターンを認識しながら前記所定の方向へ走行することにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得してもよい。
 本発明の一形態では、前記動作情報は、あらかじめ定められた複数の動作の種別のいずれかであり、前記複数の動作の種別のそれぞれには、他の動作の種別と重複しないように割り当てられた座標領域に属する複数の座標が符号化されたパターンが対応付けられ、前記読出手段は、前記複数の部分領域にそれぞれ対応付けられた複数のパターンが所定の方向に並んで印刷されたシートの上を、カメラを有するデバイスが前記複数のパターンを認識しながら前記所定の方向へ走行することにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得してもよい。
 本発明の一形態では、前記動作情報は前記部分領域の種別を示す情報であり、前記制御手段は、前記デバイスが次に向かう部分領域の種別に基づいて、前記デバイスの動作を制御してもよい。
本発明の実施形態にかかる制御システムの一例を示す図である。 制御システムのハードウェア構成を示す図である。 台車の一例を示す図である。 台車が配置されるシートの一例を示す図である。 座標空間内の領域の割り当ての概要を示す図である。 共通割当領域を概略的に示す図である。 スタート割当領域の内訳を概略的に示す図である。 制御システムが実現する機能を示すブロック図である。 台車を制御する処理の一例を示すフローチャートである。 台車を制御する処理の一例を示すフローチャートである。 マップ情報の一例を示す図である。 台車が配置されるシートの他の一例を示す図である。 追加マップの情報が符号化されたパターンを概略的に説明する図である。 追加パターンとマップ情報との対応の一例を示す図である。 追加マス領域におけるマス属性と座標との関係の一例を示す図である。 追加付加領域における付加情報と座標との関係の一例を示す図である。 追加命令領域における命令と座標との関係の一例を示す図である。 追加マップを読み取る処理の一例を示すフローチャートである。
 以下では、本発明の実施形態について図面に基づいて説明する。出現する構成要素のうち同一機能を有するものには同じ符号を付し、その説明を省略する。本発明の実施形態では、制御システムとして、ユーザが簡易的な言語を用いて実習用のプログラム(以下では「実習プログラム」と記載する)を作成し、その実習プログラムを実行することにより迷路上で自走式のデバイスを走行させるプログラミング教材について説明する。
 図1は、本発明の実施形態にかかる制御システムの一例を示す図である。図2は、本発明の実施形態にかかる制御システムのハードウェア構成の一例を示す図である。本発明にかかる制御システムは、デバイス制御装置10と、台車20a,20bと、コントローラ17と、カートリッジ18とを含む。台車20a,20bはカメラ24を有する移動デバイスであり、どちらも同じ機能を有する。以下では特に区別する必要がない限り、これらの台車20a,20bを台車20と記載する。デバイス制御装置10は、無線を介して台車20を制御する。コントローラ17はユーザによる操作を取得する入力装置であり、ケーブルによりデバイス制御装置10に接続されている。図3は、台車20の一例を示す図である。図3は、台車20を下からみた図である。台車20は、電源スイッチ250、スイッチ222、2つの車輪254をさらに含む。
 デバイス制御装置10は、プロセッサ11、記憶部12、通信部13、入出力部14を含む。台車20は、プロセッサ21、記憶部22、通信部23、カメラ24、2つのモータ25を含む。デバイス制御装置10は、制御のための専用の装置であってもよいし、汎用的なコンピュータであってもよい。
 プロセッサ11は、記憶部12に格納されているプログラムに従って動作し、通信部13、入出力部14などを制御する。プロセッサ21は、記憶部22に格納されているプログラムに従って動作し、通信部23、カメラ24、モータ25などを制御する。上記プログラムは、カートリッジ18内のフラッシュメモリ等のコンピュータで読み取り可能な記憶媒体に格納されて提供されるが、インターネット等のネットワークを介して提供されてもよい。
 記憶部12は、デバイス制御装置10に内蔵されるDRAMおよびフラッシュメモリと、カートリッジ18内のフラッシュメモリ等によって構成されている。記憶部22は、DRAMおよびフラッシュメモリ等によって構成されている。記憶部12,22は、上記プログラムを格納する。また、記憶部12,22は、プロセッサ11,21や通信部13,23等から入力される情報や演算結果を格納する。
 通信部13,23は他の機器と通信するための集積回路やアンテナなどにより構成されている。通信部13,23は、例えばBluetooth(登録商標)プロトコルに従って互いに通信する機能を有する。通信部13,23は、プロセッサ11,21の制御に基づいて、他の装置から受信した情報をプロセッサ11,21や記憶部12,22に入力し、他の装置に情報を送信する。なお、通信部13はLANなどのネットワークを介して他の装置と通信する機能を有してもよい。
 入出力部14は、コントローラ17などの入力デバイスからの情報を取得する回路と、音声出力デバイスや画像表示デバイスなどの出力デバイスを制御する回路とを含む。入出力部14は、入力デバイスから入力信号を取得し、その入力信号が変換された情報をプロセッサ11や記憶部12に入力する。また入出力部14は、プロセッサ11などの制御に基づいて、音声をスピーカに出力させ、画像を表示デバイスに出力させる。
 モータ25は、プロセッサ21により回転方向、回転量および回転速度が制御される、いわゆるサーボモータである。2つのモータ25のそれぞれには、1つの車輪254が割り当てられており、モータ25は、割り当てられた車輪254を駆動する。
 カメラ24は、台車20の下方を撮影するように配置され、台車20が置かれているシート31など(図4参照)に印刷されたパターンを撮影する。本実施形態では、シート31などには赤外線の周波数領域で認識されるパターンが印刷されており、カメラ24は、その赤外線の画像を撮影する。
 図4は、台車20が配置されるシート31の一例を示す図である。図4は、複数のシート31が冊子状にまとめられている例を示している。それぞれのシート31には、ユーザが視認できる画像が印刷されており、さらに、カメラ24により撮影可能なパターンが印刷されている。図4の例では、ユーザが視認できる画像として、5×5のマスからなる迷路が印刷されている。この迷路はプログラミング教材のためのものである。ユーザは実習プログラムを作成し、台車20は、実習プログラムに従って移動する。マスの属性としては、スタートマス33a、ゴールマス33b、通行不能マス33i、通常マス33n、アクションマス33qなどがある。
ユーザは、実習プログラムを制御システムに読み込ませたのちに、台車20のうち1台をスタートマス33aに配置し、制御システムが実習プログラムに応じて台車20を走行させる。例えば図4の例では、カートリッジ18により提供されるプログラムにより、制御システムは、台車20が通行不能マス33i上を走行しないように台車20を制御する。また台車20が通常マス33nやアクションマス33qを通ってゴールマス33bに到着すると、デバイス制御装置10はユーザがプログラムの作成に成功したことを意味する音声等を出力する。
 シート31等に印刷されるパターンについてより詳細に説明する。シート31上には、所定の大きさ(例えば0.2mm角)の単位パターンがマトリクス状に並んでいる。単位パターンのそれぞれは、そのパターンが配置される位置の座標が符号化された画像である。パターンとして符号化されるデータの大きさはあらかじめ決まっており、符号化される座標の最大・最小値(座標空間の大きさ)は、そのデータの大きさと単位パターンの配置間隔により定まる。
 本実施形態にかかる制御システムでは、台車20のカメラ24がシート31等に印刷された単位パターンを撮影し、台車20またはデバイス制御装置10がその単位パターンを復号して座標を取得する。これにより、台車20のシート31等の上における位置が認識される。また、台車20またはデバイス制御装置10は、カメラ24により撮影された画像内にある複数の単位パターンのそれぞれから座標を取得し、その撮影された画像における複数の単位パターンの位置と、取得された座標とに基づいて、台車20の向きも算出する。
 本実施形態では、シート31等に印刷されるパターンを利用することにより、ステレオカメラなどの他のデバイスを用いることなくシート31等の上における台車20の位置を高精度に認識することができる。
 図5は、座標空間内の領域の割り当ての概要を示す図である。座標空間はxy座標の範囲により複数の割当領域に分割されており、分割された割当領域の一部は本実施形態におけるプログラミング教材のアプリケーション(本アプリケーション)に割り当てられ、また分割された領域の他の一部(他アプリケーション領域)は他のアプリケーションに割り当てられている。本アプリケーションに割り当てられた割当領域としては、共通割当領域、スタート割当領域、命令カード領域、追加マス領域、追加命令領域、追加付加領域がある。これらの割当領域のそれぞれの詳細については後述する。
 以下では、冊子に含まれる複数のシート31のそれぞれのうち、スタートマス33aの領域(スタート領域)を除く領域を共通領域とよぶ。共通領域は、スタート領域の周囲に配置される領域である。共通領域には、共通割当領域の一部の領域が割り当てられる。また、シート31には、複数のパターンが並んで印刷されており、そのパターンのそれぞれは、その割り当てられた領域のうちそのパターンの位置に対応する座標が符号化されたものである。
 図6は、共通割当領域を概略的に示す図である。共通割当領域は、スタートマス33aを中心とする9×9のマスに相当する領域である。図6に示されるマスの大きさはシート31に印刷される迷路のマスの大きさに対応する。図6の一点鎖線は図4に示されるシート31に印刷される座標空間内の領域を示している。各シート31の共通領域には、共通割当領域の9×9のマスのうち一部の領域が割り当てられる。より厳密には、共通領域には、共通割当領域に含まれる5×5のマスからスタートマス33aを除いた領域が割り当てられる。また図6の例では、共通割当領域におけるスタートマス33aの位置は固定されており、共通割当領域のうちシート31に割り当てられる領域は、シート31におけるスタートマス33aの位置に応じて変化する。
 これにより、複数のシート31のそれぞれの共通領域には、スタートマス33aとの相対位置を示す座標のパターンが印刷される。また、複数のシート31のそれぞれの共通領域には、他の少なくとも1つのシートの共通領域と重複する座標領域が割り当てられる。
 一方、スタートマス33aに相当するスタート領域には、シートを識別する情報が符号化されたパターンが印刷されている。より具体的には、スタート領域には、スタート割当領域内の座標領域が割り当てられ、その座標領域内の座標が符号化されたパターンが印刷される。スタート領域には、他のシート31のいずれとも重複しない座標領域が割り当てられる。
 図7は、スタート割当領域の内訳を概略的に示す図である。スタート割当領域は、11×11のマスを有しており、これらのマスのそれぞれの大きさはシート31に印刷されるスタートマス33aの大きさに対応する。シート31のスタート領域には、スタート割当領域のうちいずれか1つのマスが割り当てられ、そのマスの座標が符号化されたパターンが印刷されている。図7の各マスに記載されている「1-1」などの符号は、そのマスに関連付けられたIDを示しており、そのIDはシート31を識別するものである。
 制御システムは、カメラ24で撮影されたスタート領域のパターンが示す座標がスタート割当領域のどのマスに属するか判定し、そのマスに関連付けられたシート31のIDを取得する。スタートマス33aには、始めにユーザにより自走する台車20が配置されるので、自走する台車20が移動を開始する前にどのシート31上にいるかを判定することができ、あるシート31と他のシート31とで、重複する座標が印刷されていても、制御システムはシート31に関連付けられたマップ等の情報に応じて台車20の動きを制御することができる。
 次に、これまでに説明したシート31等を用いる制御システムの動作について、より詳細に説明する。図8は、制御システムが実現する機能を示すブロック図である。制御システムは、機能的に、初期位置取得部50、現在位置取得部51、スタート制御部52、実習プログラム取得部53、実習プログラム実行部54、追加情報取得部56、マップ格納部72を含む。初期位置取得部50、現在位置取得部51、スタート制御部52、実習プログラム取得部53、実習プログラム実行部54、追加情報取得部56は、主に、デバイス制御装置10に含まれるプロセッサ11が記憶部12に格納されるプログラムを実行し、通信部13を介して台車20を制御することにより実現される。また、初期位置取得部50、現在位置取得部51などの機能の一部または全部は、台車20に含まれるプロセッサ21が記憶部22に格納されるプログラムを実行し、通信部23を介してデバイス制御装置10とデータをやり取りし、カメラ24やモータ25を制御することにより実現される。
 マップ格納部72は、デバイス制御装置10に含まれる記憶部12により実現され、複数のシート31のそれぞれについてのマップやマップに関連する情報が格納されている一種のデータベースである。
 初期位置取得部50は、カメラ24により撮影された画像から、座標が符号化されたパターンから情報を復号する。具体的には復号される情報は、シート31のうち台車20が配置された箇所の座標であり、シート31を識別することのできる情報である。
 スタート制御部52は、初期位置取得部50により取得された台車20の座標に基づいて、実習プログラム実行部54の動作に関する設定をする。スタート制御部52は、機能的に、シート識別部61およびマップ特定部62を含む。シート識別部61は、初期位置取得部50により取得された情報(具体的には台車20の座標)に基づいて、台車20が配置されているシート31を識別する情報を取得する。マップ特定部62は、シート31の識別する情報に基づいて、シート31に関連付けられたマップの情報を取得する。マップの情報は、共通領域およびスタート領域にある各マスの属性の情報や、スタート位置から実習プログラムに従って移動する台車20を邪魔する他の台車20の動作プログラム、その他の付加的な情報を含む。
 現在位置取得部51は、カメラ24により撮影された画像から、座標が符号化されたパターンを認識し、そのパターンが示す座標から、台車20の位置する座標と台車20の向きとを取得する。初期位置取得部50と現在位置取得部51は、実質的に同じものであってもよく、同じプログラムが実行されることにより実現されてもよい。
 実習プログラム取得部53は、スタート位置に配置される台車20を走行させるための実習プログラムであって、ユーザが作成した実習プログラムを取得する。
 実習プログラム実行部54は、取得された実習プログラムを実行し、取得されたマップと現在位置取得部51により取得された台車20の位置とに基づいてシート31上に配置された台車20の動作を制御する。実習プログラム実行部54は、機能的に、走行マス特定部65、マス属性取得部66、動作制御部67を含む。
 走行マス特定部65は、現在位置取得部51が取得した座標に基づいて、台車20が配置されるシート31上の領域が分割された複数のマスのうち、台車20が現在走行しているマスを特定する。
 マス属性取得部66は、マスのそれぞれと、台車20の動作を特定する動作情報とを関連付けて記憶するマップ格納部72から、走行マス特定部65により特定されたマスに関連付けられた動作情報を取得する。
 動作制御部67は、取得された動作情報および現在の座標に基づいて、台車20の動作を制御する。
 追加情報取得部56は、印刷されたパターンを自走するデバイスで読み取ることにより、マップの情報を取得し、取得されたマップの情報をマップ格納部72に格納する。
 以下では、スタート制御部52および実習プログラム実行部54の処理について説明する。図9および10は、台車20を制御する処理の一例を示すフローチャートである。図10には、図9のステップS208の処理がより詳細に示されている。なお、図9,10に示される処理を行う前に、実習プログラム取得部53はユーザが作成した実習プログラムを取得している。
 はじめに、スタート制御部52に含まれる初期位置取得部50は、カメラ24により撮影されたパターンを復号し、シート31において台車20が置かれている現在の座標および向きを取得する(ステップS201)。次に、スタート制御部52に含まれるマップ特定部62は、取得された座標がスタート領域内にあることを示すか否か判定する(ステップS202)。より具体的には、マップ特定部62は、取得された座標がスタート割当領域内の座標であれば、取得された座標がスタート領域にある、言い換えれば、台車20がスタート領域にあると判定する。取得された座標により台車20がスタート領域にないと判定された場合には(ステップS202のN)、台車20をシート31のスタートマス33aに置くことを促すエラーを出力して処理を終了する(ステップS203)。
 取得された座標により台車20がスタート領域にあると判定された場合には(ステップS202のY)、マップ特定部62は、現在の座標が示すマップIDを特定する(ステップS203)。より具体的には、マップ特定部62は、初期位置取得部50により取得された座標がスタート割当領域にある複数のマスのうちどのマスに属するか判定し、そのマスに関連付けられたマップIDを取得する。
 そして、マップ特定部62はマップIDに応じたマップ情報をマップ格納部72から取得し、記憶部12のRAMに格納する(ステップS205)。図11は、あるシート31に紐づけられたマップ情報の一例を示す図である。図12は、台車20が配置されるシート31の他の一例を示す図である。図11のマップ情報は、図12のシート31に対応している。
 マップ情報は、マス情報と、命令情報と、付加情報とを含む。マス情報は、シート31に配置される5×5のマスのそれぞれの属性を示す。命令情報は、実習プログラムに従って動作する台車20(自台車)と異なる台車20(他台車)を動作させるプログラムを示す。付加情報は、その他の情報であり、スタート向き、CPU向き、課題種別、巻数を含む。スタート向きはスタート時の自台車の向きであり、図11の例ではシート31の上側を北とした方角によりあらわされている。CPU向きは、スタート時の他台車の向きである。課題種別は、シート31において、実習プログラムを実行する際の動作の種別を表しており、例えば、他台車があるか否かなどを表している。命令情報は、他台車を動かすプログラムの命令列であり、そのプログラムは課題種別が他台車の存在を示す場合に実行される。以下では、「台車20」と記載がある場合、特に断りがない場合は自台車を指すものとする。
 マス情報に含まれる各マスの属性について説明する。通常マス33nは、自台車が移動可能なマスであり、かつ実習プログラムに基づく停止や方向転換が可能なマスである。一方、滑り床33sは氷上のような滑りやすい環境を模したマスであり、自台車は滑り床33sのマスへ移動可能であるが、いったん滑り床33sの上に移動すると、自台車は実習プログラムの命令に関わらず滑り床33sと異なる属性のマスの上へ移動するか、壁(例えば通行不能マス33i)と衝突するまで同じ方向に動き続ける。このように、マスの属性は、台車20の動作を規定する動作情報の一種であり、あらかじめ定められているマスの属性の種別(例えば通常マス33nや滑り床33s)は、動作の種別にも相当する。また、マスの属性はモーションデータとも関連付けられている。モーションデータは台車20の走行の態様を示す情報であり、モーションデータは、例えば、少し進んでは止まりながら進む(例えば通常マス33n上)、左右にふらつきながら進む、詰まらずにまっすぐ進む(例えば滑り床33s上)などの動作の詳細を定義する情報である。なお、マスの属性が、モーションデータの代わりに動作を制御する動作プログラムを特定してもよい。つまり、マスの属性に応じて複数の動作プログラムを準備しておき、マスの属性に応じた動作プログラムが実行されることで動作を規定してもよい。
 マップ特定部62がマップ情報を取得すると、スタート制御部52は、付加情報に含まれるスタート向きと、初期位置取得部50により取得された台車20の位置および向きとに基づいて、台車20のスタート位置および向きを調整する(ステップS207)。
 スタート位置および向きが調整されると、実習プログラム実行部54は、実習プログラムの実行を開始する。実習プログラム実行部54は、実習プログラムの命令(ステップ)を順に実行し、今回のステップにおける移動先を取得し、移動先まで台車を移動させる(ステップS208)。そして、今回のステップが最後のステップでない場合には(ステップS210のN)、実習プログラム実行部54は次のステップを実行対象とし、ステップS208から処理を繰り返す。一方、今回のステップが最後のステップである場合には(ステップS210のY)、実習プログラム実行部54は、実習プログラムの実行を終了し、台車20がゴールマス33bに到達したか否かに応じたメッセージを出力する(ステップS212)。より具体的には、実習プログラム実行部54は、台車20がゴールマス33bに到達した場合には、ミッションが成功したことを示す音声や画像を出力し、到達しない場合には、ユーザに再度のチャレンジを促す音声や画像を出力する。
 ここで、ステップS208の処理について図10を用いてさらに詳細に説明する。はじめに、実習プログラム実行部54に含まれる走行マス特定部65は、ユーザが作成した実習プログラムに基づいて、台車20の移動先となる次のマスを決定する(ステップS251)。より具体的には、走行マス特定部65は、実習プログラムの命令を順序にしたがって実行し、その命令が前方に1マスすすむなどの台車20の移動を伴う命令である場合や、滑り床33sにより命令による前回の移動から継続している場合には、その命令に従って次のマスを決定する。実習プログラム実行部54に含まれる動作制御部67は、次のマスが設定されない、または次のマスへ移動することが許されない場合には(ステップS252のN)、ステップS208の処理を終了し、ステップS210の処理へ遷移する。次のマスへ移動することが許されない場合とは、例えば移動先のマスの種別が通行不能マス33iである場合である。つまり、動作制御部67は、台車20が次に向かうマスの種別に応じて、台車20の移動を抑制している。
 次のマスへ移動することが許される場合には(ステップS252のY)、実習プログラム実行部54に含まれるマス属性取得部66は、現在のマスの属性と、次のマスの属性とを取得する(ステップS254)。そして、実習プログラム実行部54に含まれる動作制御部67は、現在および次のマスの属性に応じた台車20の移動態様を決定する(ステップS255)。動作制御部67は、例えば現在のマスが通常マス33nで次のマスが滑り床33sである場合には、前半では通常マス33n上を少し進んでは止まりながら進み、後半では滑り床33s上を一定の速度で進むように台車20の動くような台車20の移動態様を決定する。次に、動作制御部67は、決定された移動態様により台車20を移動させる(ステップS256)。なお、走行マス特定部65は、移動後のマス(次のマスとして決定されたマス)を現在のマスとして設定する(ステップS257)。
 このように、マスの属性を設定し、その属性に応じた移動態様を設けることで、例えばシート31ごとに専用のプログラムを作成しなくても、台車20の移動のバリエーションを増やすことが可能になる。また、バリエーションを増やしつつ、マップの追加や変更が容易になる。
 本実施形態では、追加情報取得部56は、自走する台車20を用いて印刷されたパターンを読み込むことにより、新たなシート31についてのマップを追加することができる。以下では、追加情報取得部56の処理の詳細を説明する。
 図13は、追加マップの情報が符号化された追加パターンを概略的に説明する図である。また、図14は、追加パターンとマップ情報との対応の一例を示す図である。追加パターンは、読取開始を示す領域、マップIDが符号化された領域、マス情報が符号化された領域、付加情報が符号化された領域、命令情報が符号化された領域(命令情報1から19)、および、読取終了を示す領域が所定の方向に並んで印刷されたものである。読取開始の領域は、追加マップの情報の読取を開始する前に、ユーザがいずれかの台車20を配置する領域である。マップIDが符号化された領域には、読み取られるマップを識別する情報が符号化されたパターンが配置されており、具体的には、この領域には、図7に示されるスタート割当領域に属するマスのうちいずれかの領域にあるパターンが印刷されている。
 マス情報の領域は、マス情報1から13のパターン領域からなる。付加情報の領域は、付加情報1から4のパターン領域からなる。命令情報の領域は、命令情報1から10のパターン領域からなる。マス情報1から13のパターン領域のそれぞれは、2つのマスの属性を示す情報が符号化されている。本実施形態ではマスの数は25であるため、マスの数の半分が小数点以下切り上げされた13がマス情報の数になっている。なお、マス情報1は、マス1-1,1-2の属性の情報が符号化されており、マス情報2以降も前のマス情報に続く2つのマスの属性の情報が符号化されている。命令情報1から10のパターン領域のそれぞれは、2つの命令を示す情報が符号化されている。命令情報1から10は、20の命令に復号される。
 追加パターンに含まれるパターン領域のうち、読取開始を示す領域を除くものは、パターン領域が並ぶ方向の長さが、直行する方向の長さより短くなっている。これにより、読取に必要な領域を削減しつつ、台車20が逸脱する可能性を減らすことができる。
 図14のパターンの欄に示される文字列は、座標空間内の各領域に紐づけられた一種の識別情報である。図15は、追加マス領域におけるマス属性と座標との関係の一例を示す図である。座標空間内の追加マス領域は、x軸方向に延びる境界線とy軸方向に延びる境界線とに囲まれる複数の矩形のセルに分割されており、それぞれのセルの座標領域はあるマスについて他の属性の種別と重複しないように割り当てられている。x軸の座標は、マス情報に属する2つのマスのうち先行するマスの属性を示し、y軸の座標は、あとに続くマスの属性を示している。図15の区分された領域内における文字列は、図14のパターンの欄に示される文字列に対応している。
 パターン領域のそれぞれには、データに割り当てられた領域に属する複数の座標が符号化された単位パターンが並ぶように印刷されている。1つのパターン領域に複数の情報を持たせることで、座標空間内のより大きい領域を割り当てる必要が生じるが、読取に必要なパターン領域の数を減らすことができる。
 図16は、追加付加領域における付加情報と座標との関係の一例を示す図である。y軸の座標は、課題種別、スタート向き、キャラ行動、追加マップ関連、巻情報などの付加情報の種別を表し、x軸の座標はその付加情報の種別に設定されるデータを示している。そのデータは図16の各セルに記載されている。ただし、課題種別については、y軸で課題種別のうち大種別も示しており、x軸はアクションの種類などの小種別を表している。課題種別のセルに記載される数値は、パターンの番号である。
 図17は、追加命令領域における命令と座標との関係の一例を示す図である。マス情報と同様に、x軸の座標は、先行する命令を示し、y軸の座標は、あとに続く命令を示している。図15の区分された領域内における文字列は、図14のパターンの欄に示される文字列に対応している。
 図18は、追加マップを読み取る処理の一例を示すフローチャートである。はじめに、追加情報取得部56は、カメラ24が撮影したパターンに基づいて、現在の台車20の座標および向きを取得する(ステップS101)。この処理は、初期位置取得部50の処理と同様である。
 次に、追加情報取得部56は、台車20のスタート位置および向きを調整する(ステップS302)。より具体的には、現在の台車20のスタート位置および向きが許容範囲内にない場合に、スタートとして適正な位置及び向きになるように移動させる。
 次に、追加情報取得部56は、台車20を設定された方向へ向けて走行させる(ステップS303)。設定された方向は、始めは読取方向であるが後述する処理により修正される。そして、追加情報取得部56は、カメラ24により撮影された画像から、座標が符号化されたパターンを認識し、そのパターンが示す座標から、台車20の位置する現在座標Pと台車20の向きとを取得する(ステップS303)。ステップS303の処理は現在位置取得部51の処理と同様である。ここで、現在座標Pを(x,y)とし、台車20がx軸の正方向に移動するものとする。ここで、パターンが配置されていない領域に移動したなどの理由により、現在位置が取得できなかった場合には(ステップS305のN)、追加情報取得部56はこれまでに読み取られた情報が適正であったか、読み取る量が必要より少なくなっていないか確認し(ステップS310)、適正でない場合はエラーメッセージを出力する。
 一方、現在座標が取得された場合には(ステップS305のY)、追加情報取得部56は、前回に取得された台車20の座標である前回座標PPと現在座標Pとの差が所定の閾値より大きいか否かを判定する(ステップS306)。所定の閾値は、現在座標Pの測定間隔で移動しうる最大の距離より大きく、マス情報1などのパターン領域の読取方向の最小の長さより小さい。前回座標PPと現在座標Pとの差が所定の閾値より大きい場合には(ステップS306のY)、追加情報取得部56は台車20が別のパターン領域の上へ移ったと判断し、現在座標Pが示す情報を判定し、取得された情報をマップ格納部72(具体的にはメモリ)にマスと関連付けるように追加する(ステップS307)。前回座標PPと現在座標Pとの差が所定の閾値より小さい場合には(ステップS306のN)、追加情報取得部56は台車20が前回と同じパターン領域の上にあると判定し、ステップS307をスキップする。
 ステップS307の処理が終了する、またはステップS306で位置の差が閾値以下であると判定された後に、追加情報取得部56は現在位置Pの座標から、台車20が移動の目標とする目標座標Tを算出し、目標座標Tと現在座標Pとに基づいて、走行する方向を設定する(ステップS308)。そして、ステップS303以降の処理を繰り返す。これにより、追加情報取得部56は、所定の方向に自走する台車20に備えられたカメラ24が撮影した画像に基づいて、所定の方向に並ぶパターン領域から順にパターンを読み取り、マスに関連付けられるマス属性や命令などの情報を取得することができる。また、プログラムやデータを格納するカートリッジ18が販売された後であっても、オフラインでマップなどのデータを追加することができる。

 

Claims (7)

  1.  自走するデバイスが配置されるシート上の領域が分割されてなる複数の部分領域のうち、前記デバイスが走行している部分領域を特定する特定手段と、
     前記部分領域のそれぞれと、前記デバイスの動作を規定する動作情報とを関連付けて記憶する記憶手段から、前記特定された部分領域に関連付けられた動作情報を取得し、前記取得された動作情報に基づいて前記デバイスの動作を制御する制御手段と、
     を含む移動デバイス制御システム。
  2.  請求項1に記載の移動デバイス制御システムにおいて、
     前記複数の部分領域のそれぞれに関連付けられた前記動作情報が符号化されたパターンが印刷されたシートから前記パターンを読み取ることにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得し、前記読み出された動作情報を前記部分領域と関連付けて記憶する読出手段をさらに含む、
     移動デバイス制御システム。
  3.  請求項2に記載の移動デバイス制御システムにおいて、
     前記読出手段は、前記複数の部分領域のそれぞれに関連付けられた前記動作情報が符号化されたパターンが印刷されたシートから、前記パターンを所定の順序で読み取ることにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得する、
     移動デバイス制御システム。
  4.  請求項2または3に記載の移動デバイス制御システムにおいて、
     前記読出手段は、前記複数の部分領域にそれぞれ関連付けられた前記動作情報が符号化されたパターンが所定の方向に並んで印刷されたシートの上を、カメラを有するデバイスが前記パターンを認識しながら前記所定の方向へ走行することにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得する、
     移動デバイス制御システム。
  5.  請求項4に記載の移動デバイス制御システムにおいて、
     前記動作情報は、あらかじめ定められた複数の動作の種別のいずれかであり、
     前記複数の動作の種別のそれぞれには、他の動作の種別と重複しないように割り当てられた座標領域に属する複数の座標が符号化されたパターンが対応付けられ、
     前記読出手段は、前記複数の部分領域にそれぞれ対応付けられた複数のパターンが所定の方向に並んで印刷されたシートの上を、カメラを有するデバイスが前記複数のパターンを認識しながら前記所定の方向へ走行することにより、前記部分領域のそれぞれに関連付けられた前記動作情報を取得する、
     移動デバイス制御システム。
  6.  請求項1から4のいずれかに記載の移動デバイス制御システムにおいて、
     前記動作情報は前記部分領域の種別を示す情報であり、
     前記制御手段は、前記デバイスが次に向かう部分領域の種別に基づいて、前記デバイスの動作を制御する、
     移動デバイス制御システム。
  7.  自走するデバイスが配置される領域が分割された複数の部分領域のそれぞれに関連付けられた動作情報であって、前記デバイスの動作を規定する動作情報が符号化されたパターンが所定の方向に並んで印刷された、
     シート。

     
PCT/JP2019/031680 2018-08-17 2019-08-09 移動デバイス制御システムおよびシート WO2020036145A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020537070A JP7038834B2 (ja) 2018-08-17 2019-08-09 移動デバイス制御システムおよびシート

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018153622 2018-08-17
JP2018-153622 2018-08-17

Publications (1)

Publication Number Publication Date
WO2020036145A1 true WO2020036145A1 (ja) 2020-02-20

Family

ID=69524729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/031680 WO2020036145A1 (ja) 2018-08-17 2019-08-09 移動デバイス制御システムおよびシート

Country Status (2)

Country Link
JP (1) JP7038834B2 (ja)
WO (1) WO2020036145A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020102910A1 (en) * 2001-01-29 2002-08-01 Donahue Kevin Gerard Toy vehicle and method of controlling a toy vehicle from a printed track
JP2010240345A (ja) * 2009-04-02 2010-10-28 Koto:Kk 移動体玩具
WO2018025467A1 (ja) * 2016-08-04 2018-02-08 ソニー株式会社 情報処理装置、情報処理方法、および、情報媒体
JP3215614U (ja) * 2017-12-20 2018-04-05 安譜國際股▲分▼有限公司 教育玩具

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020102910A1 (en) * 2001-01-29 2002-08-01 Donahue Kevin Gerard Toy vehicle and method of controlling a toy vehicle from a printed track
JP2010240345A (ja) * 2009-04-02 2010-10-28 Koto:Kk 移動体玩具
WO2018025467A1 (ja) * 2016-08-04 2018-02-08 ソニー株式会社 情報処理装置、情報処理方法、および、情報媒体
JP3215614U (ja) * 2017-12-20 2018-04-05 安譜國際股▲分▼有限公司 教育玩具

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"KUMIITA - Educational programming toy for 0 year olds on up", KICKSTARTER.COM, 12 September 2017 (2017-09-12), XP055681450, Retrieved from the Internet <URL:https://web.archive.org/web/20170912193658/https://www.kickstarter.com/projects/1599191780/kumiita-educational-programming-toy-for-0-year-old> [retrieved on 20190826] *

Also Published As

Publication number Publication date
JP7038834B2 (ja) 2022-03-18
JPWO2020036145A1 (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
CN103729120B (zh) 用于产生缩略图的方法及其电子设备
US9498882B2 (en) System and method for reinforcing programming education through robotic feedback
CN107985313A (zh) 用于自主车辆的基于弹簧系统的变换车道方法
US20150012168A1 (en) Semi-Autonomous Dolly
CN111309203B (zh) 一种鼠标光标的定位信息的获取方法及装置
JP2019189213A (ja) 自動運転車における車線後処理
US9086757B1 (en) Methods and systems for providing functionality of an interface to control directional orientations of a device
JP2007017175A (ja) 車載情報端末
WO2020036145A1 (ja) 移動デバイス制御システムおよびシート
WO2020059564A1 (ja) 情報処理方法、プログラム、および情報処理システム
CN107305394B (zh) 无人飞行器的控制方法、飞行控制器、终端及控制系统
WO2020036144A1 (ja) シートセットおよび移動デバイス制御システム
US11498013B2 (en) Card, card reading system, and card set
CN111854757A (zh) 导航方法、装置、电子设备及存储介质
CN111332314A (zh) 无人车服务方法及系统、存储介质、车载终端及无人车
CN115328118A (zh) 路径确定方法、装置、可读存储介质及电子设备
KR101769867B1 (ko) 사용자 단말기를 이용한 로봇 구동 시스템 및 그 방법
CN112180823A (zh) 一种基于读取dxf文件运动轨迹规划的plc控制方法
KR102595490B1 (ko) 무인 이동체 및 무인 이동체의 이동 경로 계획을 위한 코스트 결정 방법
JP7413592B2 (ja) 制御システム、シートおよび玩具システム
CN104574457A (zh) 一种具有较短路径的机器人图像绘制方法
CN115657913A (zh) 用于呈现智能驾驶仿真场景的方法、设备和介质
JPWO2020153252A1 (ja) 制御システム、制御方法、プログラムおよびシートセット
JP5316352B2 (ja) 妨害電磁波制御方法、妨害電磁波制御プログラム及びロボット
CN115540225A (zh) 移动空调控制方法、装置、移动空调及存储介质

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: 19850166

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020537070

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19850166

Country of ref document: EP

Kind code of ref document: A1