WO1990002983A1 - A programmable robot device - Google Patents
A programmable robot device Download PDFInfo
- Publication number
- WO1990002983A1 WO1990002983A1 PCT/GB1989/001023 GB8901023W WO9002983A1 WO 1990002983 A1 WO1990002983 A1 WO 1990002983A1 GB 8901023 W GB8901023 W GB 8901023W WO 9002983 A1 WO9002983 A1 WO 9002983A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot device
- key
- procedure
- control means
- numeral
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
Definitions
- the invention relates to programmable robot devices and in particular a programmable robot device for use in education.
- a programmable robot device comprises a housing containing control means and input means, storage means and drive means to move the robot device across a surface each coupled to the control means; the control means being capable of causing the robot device to perform a number of functions, and wherein the storage means can store one or more predetermined procedures, each procedure defining one or more of the functions, the control means enabling a user to define procedures via the input means for storage in the store, the control means also enabling a stored procedure to be selected and thereafter causing the one or more functions defined by the selected procedure to be performed.
- a programmable robot device with on board control and input means and which can store one or more predetermined procedures it is possible not only to avoid the need for an additional computer to control the robot device but also to enable the robot device to be easily and comprehensively programmed to perform a large variety of functions.
- a number of procedures would be predetermined by a user and these procedures could be combined in any order by the user to enable the robot device to perform the functions in the order chosen by the user and this order could be changed by changing the order of the procedures.
- a programmable robot device comprises a housing containing control means, and drive means to move the robot device across a surface in response to signals from the control means, the control means being adapted to control an auxiliary device, coupled to the robot device, in response to instructions entered into the control means.
- control means is adapted to control a number of auxiliary devices which are coupled to the robot device.
- the auxiliary device or devices may be contained within the housing or may be externally attached to the housing.
- the auxiliary devices could comprise a stepper motor, a sensor which responds to an external stimulus, a sound generator, a d.c. motor or a light.
- the control means is also responsive to a repeat command to cause the robot device to perform one or more functions, or predetermined procedures, a given number of times.
- the robot further comprises a housing cover which fits over the housing to change the external appearance of the robot device.
- Figure 1 shows an example of a programmable robot device
- Figure 2 shows in detail the keyboard on the programmable robot device shown in Figure 1;
- Figure 3 is a block diagram of the control system;
- Figure 4 is a plan of the robot device with the front half of the housing removed.
- Figure 5 is a sectional elevation of the robot device.
- Figure 1 shows a programmable robot device 1 which comprises a housing 2 in the form of an ellipse of revolution in which is positioned a keyboard 3.
- the robot device 1 contains a microprocessor, for example a Z80, which is programmed to respond to the keys on the keyboard 3 when the keys are pressed by a user.
- the robot device 1 also contains a drive mechanism (not shown in Figure 1) which responds to signals from the microprocessor to drive the robot device 1 across a surface, such as a floor via a drive shaft and wheels mounted to the underside of the device.
- the robot device 1 has a number of ports located on the housing 2 which are connected to the microprocessor. These ports enable auxiliary devices to be coupled to the robot device 1 and controlled via the keyboard 3 and the microprocessor. It is also possible to locate auxiliary devices within the housing 2 which would also be coupled to the microprocessor. For example, a sound generator could be located within the housing.
- the robot device 1 may also have two "eyes" 4, 5 attached, for example by suction pads, to the housing 2. This has the effect of giving the robot device 1 a personality to appeal to young children.
- the eyes 4, 5 are movable so that a user may change the expression of the robot device 1. It is also possible for a user to dress the robot device 1 so as to make it appear like, for example, a dog, a bumble bee, or a fire engine by attaching suitable accessories, e.g. via suction pads, or by fitting a shell over the housing 1.
- Figure 3 shows the main pcb 32 on which the microprocessor is mounted to which are connected a power supply 33, the keyboard 3 and a speaker 34.
- a port motor control 35 and starboard motor control 36, port and starboard motors 38, 39 and an expansion pcb 37 are also connected to the pcb 32.
- a stepper motor 40 and other outputs 41 are connected to the expansion pcb 37.
- the inputs 42 such as from sensors are also connected to the expansion pcb 37.
- An input from the keyboard 3 will send a signal to the microprocessor on the pcb 32 which will then either be stored or will set in motion some reaction to the signal such as outputing sound through the speaker 34.
- the inputs 42 to the expansion pcb 37 such as from sensors can provide information about the robot device's external environment and set off some preprogrammed reacticn in the microprocessor such as operating an auxiliary device or turning or moving in a particular direction as will be explained below. This turn or movement would be achieved by the microprocessor sending commands via the appropriate motor control 35 or 36 to the respective motor 38 or 39.
- Figure 4 shows the layout inside the robot device 1.
- the keyboard 3 Near the centre of the housing 2 is the keyboard 3 with a pen hole 43 through to the lower surface so that the robot device 1 can trace out its path or be set a path such that it will draw a particular design as programmed by the user.
- Beneath the keyboard 3 is a battery compartment 44 which takes two lantern batteries or rechargable batteries.
- a gearbox 45 To each side of the keyboard 3 is a gearbox 45 to connect the dc drive motors 35,36 to traction wheels 50.
- the main printed circuit board 32 is mounted on a base 51 of the housing and has a connector 46 on its outer end to allow it to be linked to a computer. Beside this connector is mounted an on/off switch 47 which protrudes through the outer shell or housing 2.
- the device 1 is stabilised by a stabiliser 48 on the lower surface of the base 51 on the opposite side to the on/off switch 47.
- a control box 49 which expands the activities of the robot device 1.
- External sensors can be connected to the robot device via a sense input line.
- FIG. 2 shows in detail the keys on the keyboard 3 which are connected to the microprocessor.
- the arrow key 6 instructs the robot device 1 to move forward.
- the arrow key 7 instructs the robot device 1 to move backwards.
- the arrow key 9 instructs the robot device to turn right through a specified number of degrees and the arrow key 8 instructs the robot device 1 to turn left through a specified number of degrees.
- there is a wait key 29 which instructs the robot device to stay still for a specified period of time.
- the procedure key 10 enables a procedure to be stored in a procedure memory of the microprocessor and also enables any procedure to be recalled to operate the robot device via the microprocessor.
- the repeat key 11 enables the robot device 1 to repeat an action or a series of actions a specified number of times.
- the parenthesis key 12 enables parentheses to be used when a user is programming the robot device 1.
- the music key 13 enables the microprocessor to be programmed to operate a sound generator to produce for example a tune.
- the sense key 14 enables the microprocessor to be programmed to respond in a specific manner to an external stimulus.
- the switch key 15 is used to turn on or turn off four different switches which may operate auxiliary devices, such as a light.
- the motor key 16 can be used to program the microprocessor to control the stepper motor.
- the go key 17 is used to instruct the robot device 1 to execute a list of instructions in a go memory. These instructions may have been loaded directly from the keyboard 3, from the procedure memory, or from a remote computer. There is also a clear memory key 31 which will clear all instructions from the go memory if pressed, and a clear entry key 30 so that if a key is pressed by mistake it may be erased from the microprocessor memory and another key pressed in its place. In addition, there are also ten numeral keys 19 - 28 labelled from 1 through to zero.
- the numeral keys 19 - 28 are used to instruct the robot device in combination with the other function keys so that the robot device 1 knows for example how far to go forwards or backwards or how many degrees to turn to the left or to the right.
- the numeral keys 19 - 28 are also used with the other function keys, as described below.
- the robot device 1 may be operated in a number of different ways. The simplest way is to enter a list of instructions directly into the go memory via the keyboard 3 and then press the go key 17 which will execute the list of instructions. For example, a user may wish to instruct the robot device 1 to go forward 25 units, turn left through 65°, go backward 57 units and turn right through 135 degrees.
- the arrow key 6 is first pressed and then the numeral keys 20, 23 are pressed in that order to indicate that the device 1 is to move 25 units.
- the turn left key 8 is then pressed followed by numeral key 24 and numeral key 23 to instruct the robot device to turn through 65°.
- the backwards key 7 is pressed followed by numeral key 23 and numeral key 25 to instruct the robot device to go backwards 57 units and finally the turn right key 9 is pressed followed by numeral key 19, numeral key 21 and numeral key 23 to instruct the robot device to turn through 135".
- the go key 17 is pressed and the robot device 1 carries out this series of instructions, i.e. it goes forward 25 units, turns left through 65 degrees, goes backwards 57 units and turns right through 135 degrees. If the go button 17 is now pressed again the robot device 1 will execute the same series of instructions again.
- the user first presses the forward key 6 and then numeral keys 20, 21 and then presses procedure key 10 followed by numeral key 19 and then presses the go button 17.
- This instructs the robot device 1 to go forward 23 units, go forward another 25 units, turn right through 65 degrees, go backwards 57 units and turn right through 135 degrees.
- the repeat key 11 it is also possible to instruct the robot device 1 to automatically carry out a series of instructions a given number of times. For example, to instruct the robot device 1 to carry out procedure 1 defined above five times the repeat key 11 is pressed followed by numeral key 23 and then the parenthesis key 12. The procedure key 10 is now pressed followed by numeral key 19 and then the parenthesis key 12 is pressed again. When the go key 17 is pressed the robot device 1- will repeat the series of instructions in procedure 1 five times.
- a procedure labelled 4 could be defined by a user as follows. First* the procedure key 10 is pressed followed by the numeral key 22 and then the parenthesis key 12, the repeat key 11 is then pressed followed by numeral key 23 and the parenthesis key 12. The procedure key 10 and the numeral key 19 are pressed and then the parenthesis key 12 is pressed twice. The procedure 4 is now defined. If the procedure key 10 and the numeral key 22 are pressed followed by the go key 17, the procedure 6 is repeated 5 times and the robot device 1 follows the shape of a pentagon.
- the procedure key 10 is followed by a numeral key to designate which procedure then the parenthesis key 12 twice. If a user wishes to redefine a procedure then entering the procedure definition as described before will automatically redefine the procedure. If the key is pressed by mistake for example numeral key 20 is pressed instead of numeral key 23 then the cancel entry key 30 may be pressed which deletes the last key pressed from the microprocessor's memory. The clear memory key 31 erases the contents of the go memory but does not erase any of the procedures. In addition, the wait key 29 when incorporated into a series of instructions instructs the robot device 1 to wait for a specified period of time.
- switch key 15 By using the switch key 15 it is possible to turn on and off any of four different switches to supply power to an auxiliary device.
- Numeral keys represent low 1 off and high 2 on.
- the syntax is of the form T m n where T is switch key 15, m is the number of the switch (1 to 4) and n is either 1 or 2 to designate on or off.
- numeral key 20 For example pressing the switch key 15 followed by numeral key 19 then numeral key 20 turns on switch 1 which may be connected, for example, to a light forming an auxiliary device.
- switch key 15 and numeral key 19 twice the first switch is turned off.
- the instructions to turn en and turn off the different switches may also be incorporated into procedures and repeat functions.
- the following procedure can be defined.
- the procedure key 10 followed by numeral key 20 and then the parenthesis key 12 are pressed.
- the switch key 15 is then pressed followed by numeral key 19, then 20 and then the forward key 6 followed by numeral keys 20, 28 and then the switch key 15 followed by numeral key 19 twice and parenthesis key 12.
- These instructions are then executed by pressing the procedure key 10 followed by the numeral key 20 and the go key 17.
- the robot device 1 then switches on switch 1 which in this example supplies power to a light, the robot device moves forward 20 units and the switch 1 is then turned off.
- the music key 13 may be used to generate tunes if the robot device 1 is equipped with a sound generator.
- a procedure can be defined to play a tune so that the tune can be played while the device 1 is carrying out a series of instructions and the position of the tune within these instructions can be changed by altering the position of the procedure
- the motor key 16 can be used to program the microprocessor to operate a stepper motor of an auxiliary device mounted to the housing and the sense key 14 can be used to instruct the microprocessor to respond in a specific manner to an external stimulus.
- the syntax for the stepper motor is of the form _*•_ x y where _-_ is the motor key 16, x is a number either 1 or 2 which represents the direction in which the stepper motor should turn (1 will turn the stepper motor clockwise as viewed from the motor down the motor shaft, 2 will turn the stepper motor anticlockwise) ; and y is a number between 1 and 999 to specify the number of steps the stepper motor should make.
- Switched output and stepper motor instructions can be used in procedures like any of the other commands.
- S is the sense key 14
- m is a number from 1 to 5
- m 1
- the robot device will only react to a LOW to HIGH transition (low to high interrupt)
- m • 2
- the robot device will only react to a HIGH to
- LOW transition high to low interrupt
- m 3
- the robot device will react to either a LOW to HIGH or a HIGH to LOW transition (low to high or high to low interrupt)
- An example is to activate the sensor to react to LOW to HIGH transitions, designate procedure 5 to 'jump to' on interrupt then move forward ten and turn right 90° unless interrupted.
- To do this sense key 14 is pressed followed by numeral keys 19 and 23, forward key 6 and numeral keys 19 and 28 then right key 9 and numeral keys 27 and 28.
- the processor After the designated sense procedure has run as a result of an interrupt the processor 'Returns to Go' i.e. to that point at which it jumped to the sense procedure from the main program or procedure and will continue to execute what remains of that program or procedure.
- a sensor is a proximity sensor which can be set up with a statement such as 'the wall is lm away' the answer to which is FALSE (LOW) while it is further away and an interrupt is triggered by the transition from FALSE (LOW) to TRUE (HIGH) when that distance is reached. This interrupt causes some action to be taken which is stored as a sense procedure.
- FALSE FALSE
- TRUE TRUE
- the music key 13 enables sounds to be programmed and the syntax to program this key is of the form a b where a is a number from 1 to 8 representing duration and b is a number from 1 to 13 representing pitch.
- a silent note (rest) is signified by the number 14.
- An example is given by a short low pitched note, rest, long high pitched note. This is done by pressing music key 13 followed by numeral key 19 twice, music key 13 followed by numeral key 22, then numeral key 19, numeral key 22, and music key 13, then numeral key 26, numeral key 19, numeral key 21.
- pitch 1 represents C; 2, C# and so on up a chromatic scale.
- duration 1 is a semiquaver, 2 a quaver, 3 a crochet and so on.
- Units of tempo and octave can be set by using the music key 13 followed by parenthesis key 12 then a number, x from 1 to 5 for tempo (fastest to slowest) and y from 1 to 3 for octave (lowest to highest) then parenthesis key 12 again.
- Tempo is defined as 170, 140, 100, 80 and 60 from 1 to 5 respectively.
- Units of distance and turn can be altered in a similar way to those of tempo and octave.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Toys (AREA)
Abstract
A programmable robot device (1) having a keyboard (3) on the upper surface of a housing (2). The robot device (1) having a store to store procedures entered via the keyboard (3) and to carry out instructions contained within the procedure, to repeat single commands or procedures a given number of times, to react to external stimuli with the addition of sensors and to drive auxiliary devices such as a light, speaker or stepper motor. The robot device being able to move across a surface on traction wheels (50) driven by motors (38, 39). The housing (2) of the robot device being changeable by overlaying shells or attaching features such as eyes (4, 5). The robot device (1) also being capable of receiving programs from an external computer through an on board connector (46).
Description
A Programmable Robot Device
The invention relates to programmable robot devices and in particular a programmable robot device for use in education.
Conventionally, programmable robot devices for educational purposes have been controlled remotely by means of a computer which was separate from the robot. Hence, all the programming took place on the computer and the robot device was controlled by the computer. This has the disadvantage of requiring a user to have a computer, such as an IBM PC, before the robot device can be used.
A solution to this problem was the "Eigtrak" robot device which was produced by Hasbro International, which did not require a separate computer to control it. However, this robot device performed a very limited number of functions which were mainly restricted to moving forwards, moving backwards and turning either to the right or the left. In addition, the programming capabilities of the Bigtrak robot device were extremely limited. In accordance with one aspect of the present invention, a programmable robot device comprises a housing containing control means and input means, storage means and drive means to move the robot device across a surface each coupled to the control means; the control means being capable of causing the robot device to perform a number of functions, and wherein the storage means can store one or more predetermined procedures, each procedure defining one or more of the functions, the control means enabling a user to define procedures via the input means for storage in the store, the control
means also enabling a stored procedure to be selected and thereafter causing the one or more functions defined by the selected procedure to be performed.
By providing a programmable robot device with on board control and input means and which can store one or more predetermined procedures it is possible not only to avoid the need for an additional computer to control the robot device but also to enable the robot device to be easily and comprehensively programmed to perform a large variety of functions.
Typically, a number of procedures would be predetermined by a user and these procedures could be combined in any order by the user to enable the robot device to perform the functions in the order chosen by the user and this order could be changed by changing the order of the procedures.
In accordance with a second aspect of the present invention, a programmable robot device comprises a housing containing control means, and drive means to move the robot device across a surface in response to signals from the control means, the control means being adapted to control an auxiliary device, coupled to the robot device, in response to instructions entered into the control means. This aspect of the invention enables a user to adapt the robot device to perform a variety of functions additional to its basic movement f nctions.
Preferably, the control means is adapted to control a number of auxiliary devices which are coupled to the robot device.
The auxiliary device or devices may be contained within the housing or may be externally attached to the housing. The auxiliary devices could comprise a stepper motor, a sensor which responds to an external stimulus, a sound generator, a d.c. motor or a light.
In the preferred embodiment the control means is also responsive to a repeat command to cause the robot device to perform one or more functions, or predetermined procedures, a given number of times. Preferably, the robot further comprises a housing cover which fits over the housing to change the external appearance of the robot device.
An example of a programmable robot device according to the invention will now be described with reference to the accompanying drawings, in whic :-
Figure 1 shows an example of a programmable robot device;
Figure 2 shows in detail the keyboard on the programmable robot device shown in Figure 1; Figure 3 is a block diagram of the control system;
Figure 4 is a plan of the robot device with the front half of the housing removed; and,
Figure 5 is a sectional elevation of the robot device. Figure 1 shows a programmable robot device 1 which comprises a housing 2 in the form of an ellipse of revolution in which is positioned a keyboard 3. The robot device 1 contains a microprocessor, for example a Z80, which is programmed to respond to the keys on the keyboard 3 when the keys are pressed by a user. The robot device 1 also contains a drive mechanism (not shown in Figure 1) which responds to signals from the microprocessor to drive the robot device 1 across a surface, such as a floor via a drive shaft and wheels mounted to the underside of the device.
The robot device 1 has a number of ports located on the housing 2 which are connected to the microprocessor. These ports enable auxiliary devices to be coupled to the robot device 1 and controlled via the keyboard 3 and the microprocessor. It is also possible to locate auxiliary devices within the housing 2 which would also be coupled
to the microprocessor. For example, a sound generator could be located within the housing.
The robot device 1 may also have two "eyes" 4, 5 attached, for example by suction pads, to the housing 2. This has the effect of giving the robot device 1 a personality to appeal to young children. Preferably, the eyes 4, 5 are movable so that a user may change the expression of the robot device 1. It is also possible for a user to dress the robot device 1 so as to make it appear like, for example, a dog, a bumble bee, or a fire engine by attaching suitable accessories, e.g. via suction pads, or by fitting a shell over the housing 1.
Figure 3 shows the main pcb 32 on which the microprocessor is mounted to which are connected a power supply 33, the keyboard 3 and a speaker 34. A port motor control 35 and starboard motor control 36, port and starboard motors 38, 39 and an expansion pcb 37 are also connected to the pcb 32. A stepper motor 40 and other outputs 41 (i.e. for connection to auxiliary devices) are connected to the expansion pcb 37. The inputs 42 such as from sensors are also connected to the expansion pcb 37.
An input from the keyboard 3 will send a signal to the microprocessor on the pcb 32 which will then either be stored or will set in motion some reaction to the signal such as outputing sound through the speaker 34. The inputs 42 to the expansion pcb 37 such as from sensors can provide information about the robot device's external environment and set off some preprogrammed reacticn in the microprocessor such as operating an auxiliary device or turning or moving in a particular direction as will be explained below. This turn or movement would be achieved by the microprocessor sending commands via the appropriate motor control 35 or 36 to the respective motor 38 or 39.
Figure 4 shows the layout inside the robot device 1. Near the centre of the housing 2 is the keyboard 3 with a pen hole 43 through to the lower surface so that the robot device 1 can trace out its path or be set a path such that it will draw a particular design as programmed by the user. Beneath the keyboard 3 is a battery compartment 44 which takes two lantern batteries or rechargable batteries. To each side of the keyboard 3 is a gearbox 45 to connect the dc drive motors 35,36 to traction wheels 50. The main printed circuit board 32 is mounted on a base 51 of the housing and has a connector 46 on its outer end to allow it to be linked to a computer. Beside this connector is mounted an on/off switch 47 which protrudes through the outer shell or housing 2. The device 1 is stabilised by a stabiliser 48 on the lower surface of the base 51 on the opposite side to the on/off switch 47.
In Figure 5 a control box 49 is shown which expands the activities of the robot device 1. External sensors can be connected to the robot device via a sense input line. There are also four two-state outputs and a stepper motor output in the control box.
Figure 2 shows in detail the keys on the keyboard 3 which are connected to the microprocessor. The arrow key 6 instructs the robot device 1 to move forward. The arrow key 7 instructs the robot device 1 to move backwards. The arrow key 9 instructs the robot device to turn right through a specified number of degrees and the arrow key 8 instructs the robot device 1 to turn left through a specified number of degrees. Also, there is a wait key 29 which instructs the robot device to stay still for a specified period of time.
The procedure key 10 enables a procedure to be stored in a procedure memory of the microprocessor and also enables any procedure to be recalled to operate the robot device via the microprocessor. The repeat key 11
enables the robot device 1 to repeat an action or a series of actions a specified number of times. The parenthesis key 12 enables parentheses to be used when a user is programming the robot device 1. The music key 13 enables the microprocessor to be programmed to operate a sound generator to produce for example a tune. The sense key 14 enables the microprocessor to be programmed to respond in a specific manner to an external stimulus. The switch key 15 is used to turn on or turn off four different switches which may operate auxiliary devices, such as a light. The motor key 16 can be used to program the microprocessor to control the stepper motor.
There is also a go key 17. The go key 17 is used to instruct the robot device 1 to execute a list of instructions in a go memory. These instructions may have been loaded directly from the keyboard 3, from the procedure memory, or from a remote computer. There is also a clear memory key 31 which will clear all instructions from the go memory if pressed, and a clear entry key 30 so that if a key is pressed by mistake it may be erased from the microprocessor memory and another key pressed in its place. In addition, there are also ten numeral keys 19 - 28 labelled from 1 through to zero. The numeral keys 19 - 28 are used to instruct the robot device in combination with the other function keys so that the robot device 1 knows for example how far to go forwards or backwards or how many degrees to turn to the left or to the right. The numeral keys 19 - 28 are also used with the other function keys, as described below. The robot device 1 may be operated in a number of different ways. The simplest way is to enter a list of instructions directly into the go memory via the keyboard 3 and then press the go key 17 which will execute the list of instructions. For example, a user
may wish to instruct the robot device 1 to go forward 25 units, turn left through 65°, go backward 57 units and turn right through 135 degrees. To instruct the robot device 1 to carry out this sequence of moves the arrow key 6 is first pressed and then the numeral keys 20, 23 are pressed in that order to indicate that the device 1 is to move 25 units. The turn left key 8 is then pressed followed by numeral key 24 and numeral key 23 to instruct the robot device to turn through 65°. Next the backwards key 7 is pressed followed by numeral key 23 and numeral key 25 to instruct the robot device to go backwards 57 units and finally the turn right key 9 is pressed followed by numeral key 19, numeral key 21 and numeral key 23 to instruct the robot device to turn through 135". Once these instructions have been entered by pressing the keys, the go key 17 is pressed and the robot device 1 carries out this series of instructions, i.e. it goes forward 25 units, turns left through 65 degrees, goes backwards 57 units and turns right through 135 degrees. If the go button 17 is now pressed again the robot device 1 will execute the same series of instructions again.
If a user wants to additionally make the robot device go forward 23 units after having done all the above series of instructions then it is only necessary to press the forward key 6 and the numeral key .20 and numeral key 21. This adds the instruction go forward 23 units onto the list of instructions which have already been entered. If the go key is new pressed the robot device 1 will go forward 25 units, turn left through 65°, go backward 57, units turn right through 135° and go forward 23 units.
However, with this method of programming it is not possible for a user to insert the go forward 23 units instruction at any other point during the other
instructions without completely reprogramming the go memory. To do this a user must use the procedure key 10. First of all the microprocessor must have a procedure programmed into it. The first series of instructions given above could be programmed into a procedure as follows, the procedure key 10 is pressed followed by the numeral key 19 and then the parenthesis key 12, the series of instructions are then entered as described above following which the parenthesis key 12 is pressed again to inform the microprocessor that the procedure has been defined. The series of instructions are now stored in the procedure memory as a procedure which has been labelled procedure 1. To give the procedure a different label it is only necessary to press a different numeral key 19-28. For example, to label the procedure 4, numeral key 22 would be pressed instead of numeral key 19 after the procedure key 10 has been pressed.
To instruct the robot device 1 to carry cut the procedure a user presses procedure key 10 followed by the numeral key 19 and then the go key 17. This causes the procedure instructions to be loaded into the go memory as the go program whereupon the robot device 1 then executes the instructions contained within the go program. To instruct the robot device 1 to perform the instructions in the procedure and go forward 23 units, in that order a user presses the. procedure key 10 followed by numeral key 19, and then the forward key 6 followed numeral keys 20, 21 and then presses the gc key 17. This will instruct the robot device 1 to go forward 25 units, turn left through 65 degrees, go backwards 57 units, turn right through 135 degrees and gc forward 23 units. However, the robot device can now also be instructed to go forward 23 units before carrying out the instructions in the procedure. To do this the user first presses the forward
key 6 and then numeral keys 20, 21 and then presses procedure key 10 followed by numeral key 19 and then presses the go button 17. This instructs the robot device 1 to go forward 23 units, go forward another 25 units, turn right through 65 degrees, go backwards 57 units and turn right through 135 degrees.
By using the repeat key 11 it is also possible to instruct the robot device 1 to automatically carry out a series of instructions a given number of times. For example, to instruct the robot device 1 to carry out procedure 1 defined above five times the repeat key 11 is pressed followed by numeral key 23 and then the parenthesis key 12. The procedure key 10 is now pressed followed by numeral key 19 and then the parenthesis key 12 is pressed again. When the go key 17 is pressed the robot device 1- will repeat the series of instructions in procedure 1 five times.
It is also possible for a user to incorporate a repeat function within a procedure and also to incorporate one procedure within another procedure. For example, if procedure 6 consisted of the instructions to go forward 20 and then turn right through 72°, a procedure labelled 4 could be defined by a user as follows. First* the procedure key 10 is pressed followed by the numeral key 22 and then the parenthesis key 12, the repeat key 11 is then pressed followed by numeral key 23 and the parenthesis key 12. The procedure key 10 and the numeral key 19 are pressed and then the parenthesis key 12 is pressed twice. The procedure 4 is now defined. If the procedure key 10 and the numeral key 22 are pressed followed by the go key 17, the procedure 6 is repeated 5 times and the robot device 1 follows the shape of a pentagon. To erase a procedure the procedure key 10 is followed by a numeral key to designate which procedure then the parenthesis key 12 twice.
If a user wishes to redefine a procedure then entering the procedure definition as described before will automatically redefine the procedure. If the key is pressed by mistake for example numeral key 20 is pressed instead of numeral key 23 then the cancel entry key 30 may be pressed which deletes the last key pressed from the microprocessor's memory. The clear memory key 31 erases the contents of the go memory but does not erase any of the procedures. In addition, the wait key 29 when incorporated into a series of instructions instructs the robot device 1 to wait for a specified period of time.
It should be understood that the references to go and procedure memories should not be taken to imply that these are physically separate. They could be constituted by different areas of the same memory e.g. PAK.
By using the switch key 15 it is possible to turn on and off any of four different switches to supply power to an auxiliary device. Numeral keys represent low 1 off and high 2 on. The syntax is of the form T m n where T is switch key 15, m is the number of the switch (1 to 4) and n is either 1 or 2 to designate on or off. For example pressing the switch key 15 followed by numeral key 19 then numeral key 20 turns on switch 1 which may be connected, for example, to a light forming an auxiliary device. By pressing switch key 15 and numeral key 19 twice the first switch is turned off. The instructions to turn en and turn off the different switches may also be incorporated into procedures and repeat functions. For example to instruct the robot device 1 to travel forward 20 units with a light on, the following procedure can be defined. The procedure key 10 followed by numeral key 20 and then the parenthesis key 12 are pressed. The switch key 15 is then pressed followed by numeral key 19, then 20 and then the forward key 6 followed by numeral keys 20, 28 and then the switch key 15 followed by
numeral key 19 twice and parenthesis key 12. These instructions are then executed by pressing the procedure key 10 followed by the numeral key 20 and the go key 17. The robot device 1 then switches on switch 1 which in this example supplies power to a light, the robot device moves forward 20 units and the switch 1 is then turned off.
The music key 13 may be used to generate tunes if the robot device 1 is equipped with a sound generator. As with the other functions a procedure can be defined to play a tune so that the tune can be played while the device 1 is carrying out a series of instructions and the position of the tune within these instructions can be changed by altering the position of the procedure
* defining the tune within the instructions. The procedure containing the tune could also be incorporated into other procedures. In a similar manner the motor key 16 can be used to program the microprocessor to operate a stepper motor of an auxiliary device mounted to the housing and the sense key 14 can be used to instruct the microprocessor to respond in a specific manner to an external stimulus. The syntax for the stepper motor is of the form _*•_ x y where _-_ is the motor key 16, x is a number either 1 or 2 which represents the direction in which the stepper motor should turn (1 will turn the stepper motor clockwise as viewed from the motor down the motor shaft, 2 will turn the stepper motor anticlockwise) ; and y is a number between 1 and 999 to specify the number of steps the stepper motor should make.
An example of this would be motor key 16 followed by numeral key 20, numeral key 19 then numeral key 28. This would switch on the power to the stepper motor and turn the motor through its step angle 10 times. In order to switch off the stepper motor no x or y value is put in
after operating the motor key 16. Forward key 6 is followed by numeral key 19, motor key 16, numeral keys, 20, 19 and 28 then motor key 16 left key 8 and numeral keys 27 and 28. This will move the robot device 1 forward 1 unit turn on the stepper motor and cause the motor to step through 10 steps, turn off power to the stepper motor and turn the device 1 through 90° to the left.
Switched output and stepper motor instructions can be used in procedures like any of the other commands.
The syntax of the sense key is in the form S m n where S is the sense key 14 and m is a number from 1 to 5 where m = 1 The robot device will only react to a LOW to HIGH transition (low to high interrupt) m •= 2 The robot device will only react to a HIGH to
LOW transition (high to low interrupt) m = 3 The robot device will react to either a LOW to HIGH or a HIGH to LOW transition (low to high or high to low interrupt) m = 4 If the condition is LOW initially the robot device will react, otherwise it reacts on sensing a transition, m = 5 If the condition is HIGH initially the robot device will react, otherwise it reacts on sensing a transition; and n is a number from 1 to 99 which designates the sense procedure to jump to after the interrupt occurs.
An example is to activate the sensor to react to LOW to HIGH transitions, designate procedure 5 to 'jump to' on interrupt then move forward ten and turn right 90° unless interrupted. To do this sense key 14 is pressed followed by numeral keys 19 and 23, forward key 6 and numeral keys 19 and 28 then right key 9 and numeral keys 27 and 28.
After the designated sense procedure has run as a result of an interrupt the processor 'Returns to Go' i.e. to that point at which it jumped to the sense procedure from the main program or procedure and will continue to execute what remains of that program or procedure.
To activate a sense procedure the sense key 14 is pressed to enter a sense command but no values of m and n are entered. While a sense procedure is running a new interrupt will have no effect (unless it contains a further sense procedure) , it is only after it has returned to the main program that a sense procedure can be effective. The number of valid interrupts which can operate on the main procedure is unlimited.
The 'Return to Go' at the end of the execution of a sense procedure is a default and there could b'e other options. To program in the response to an end of sense procedure the entry is S[a] where S is sense key 14 and a is a number from 1 to 3 where a = 1 Return to Go a = 2 Stop a ■= 3 Repeat the procedure until interrupted by another sense input then return to Go. Unless the S[a] command appears in a procedure the default S.l] is assumed. An example of a sensor is a proximity sensor which can be set up with a statement such as 'the wall is lm away' the answer to which is FALSE (LOW) while it is further away and an interrupt is triggered by the transition from FALSE (LOW) to TRUE (HIGH) when that distance is reached. This interrupt causes some action to be taken which is stored as a sense procedure.
The music key 13 enables sounds to be programmed and the syntax to program this key is of the form a b where a is a number from 1 to 8 representing duration and b is a number from 1 to 13 representing pitch. A silent note
(rest) is signified by the number 14. An example is given by a short low pitched note, rest, long high pitched note. This is done by pressing music key 13 followed by numeral key 19 twice, music key 13 followed by numeral key 22, then numeral key 19, numeral key 22, and music key 13, then numeral key 26, numeral key 19, numeral key 21. In defining pitch 1 represents C; 2, C# and so on up a chromatic scale. In duration 1 is a semiquaver, 2 a quaver, 3 a crochet and so on. Units of tempo and octave can be set by using the music key 13 followed by parenthesis key 12 then a number, x from 1 to 5 for tempo (fastest to slowest) and y from 1 to 3 for octave (lowest to highest) then parenthesis key 12 again. Tempo is defined as 170, 140, 100, 80 and 60 from 1 to 5 respectively.
Units of distance and turn can be altered in a similar way to those of tempo and octave.
During programming there is sound produced as each key is pressed which is positive or negative in tone according to whether the instruction is valid.
Claims
1. A programmable robot device comprising a housing, control means and input means, storage means and drive means to move the robot device across a surface, each coupled to the control means, the control means being capable of causing the robot device to perform a number of functions, and wherein the storage means can store one or more predetermined procedures each procedure defining one or more of the functions, the control means enabling a user to define procedures via the input means for storage in the store, the control means also enabling a stored procedure to be selected and thereafter causing the one or more functions defined by the selected procedure to be performed.
2. A robot device according to claim 1, in which the or each predetermined procedure can be set to repeat a specified number of times.
3. A programmable robot device comprising a housing containing control means, and drive means to move the robot device across a surface in response to signals from the control means, the control means being adapted to control an auxiliary device, coupled to the robot device, in response to- instructions entered into the control means.
4. A device according to claim 3 and claim 1 or claim 2.
5. A device according to claim 4, wherein the auxiliary device comprises a stepper motor.
6. A robot device according to any of the preceding claims, further comprising a sensor which can detect external stimulus and trigger a predetermined response procedure stored in the control means.
7. A robot device according to claim 6, in which the sensor is a light sensor.
8. A robot device according to any of the preceding claims, further comprising a housing cover which fits over the housing to change the external appearance of the robot device.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB8820780.8 | 1988-09-02 | ||
| GB888820780A GB8820780D0 (en) | 1988-09-02 | 1988-09-02 | Programmable robot device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO1990002983A1 true WO1990002983A1 (en) | 1990-03-22 |
Family
ID=10643079
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/GB1989/001023 Ceased WO1990002983A1 (en) | 1988-09-02 | 1989-09-01 | A programmable robot device |
Country Status (4)
| Country | Link |
|---|---|
| JP (1) | JPH04501668A (en) |
| AU (1) | AU4192889A (en) |
| GB (1) | GB8820780D0 (en) |
| WO (1) | WO1990002983A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2333376A (en) * | 1998-01-17 | 1999-07-21 | Mumbles Science Adventure Limited | Programmable apparatus |
| US6902461B1 (en) | 1999-02-04 | 2005-06-07 | Interlego Ag | Microprocessor controlled toy building element with visual programming |
| US6939192B1 (en) | 1999-02-04 | 2005-09-06 | Interlego Ag | Programmable toy with communication means |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1178730C (en) * | 1999-01-28 | 2004-12-08 | 英特莱格公司 | Remote control toys |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0125219A1 (en) * | 1983-04-08 | 1984-11-14 | Asea Ab | Method and control system for controlling an industrial robot |
| JPS6048507A (en) * | 1983-08-29 | 1985-03-16 | Hitachi Ltd | Operation controller for robot |
| GB2145935A (en) * | 1983-09-05 | 1985-04-11 | Tomy Kogyo Co | Voice recognition toy |
| EP0151250A2 (en) * | 1984-02-07 | 1985-08-14 | Tomy Kogyo Co. Inc. | Radio-controlled toy |
| JPS62203209A (en) * | 1986-03-03 | 1987-09-07 | Mitsubishi Electric Corp | Transport robot |
| EP0240134A2 (en) * | 1986-03-06 | 1987-10-07 | Zymark Corporation | Computerized robot control process and system with scheduling feature |
| EP0240733A2 (en) * | 1986-03-07 | 1987-10-14 | Hewlett-Packard Company | Method and controller for controlling a mechanical manipulator |
-
1988
- 1988-09-02 GB GB888820780A patent/GB8820780D0/en active Pending
-
1989
- 1989-09-01 JP JP1509216A patent/JPH04501668A/en active Pending
- 1989-09-01 WO PCT/GB1989/001023 patent/WO1990002983A1/en not_active Ceased
- 1989-09-01 AU AU41928/89A patent/AU4192889A/en not_active Abandoned
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0125219A1 (en) * | 1983-04-08 | 1984-11-14 | Asea Ab | Method and control system for controlling an industrial robot |
| JPS6048507A (en) * | 1983-08-29 | 1985-03-16 | Hitachi Ltd | Operation controller for robot |
| GB2145935A (en) * | 1983-09-05 | 1985-04-11 | Tomy Kogyo Co | Voice recognition toy |
| EP0151250A2 (en) * | 1984-02-07 | 1985-08-14 | Tomy Kogyo Co. Inc. | Radio-controlled toy |
| JPS62203209A (en) * | 1986-03-03 | 1987-09-07 | Mitsubishi Electric Corp | Transport robot |
| EP0240134A2 (en) * | 1986-03-06 | 1987-10-07 | Zymark Corporation | Computerized robot control process and system with scheduling feature |
| EP0240733A2 (en) * | 1986-03-07 | 1987-10-14 | Hewlett-Packard Company | Method and controller for controlling a mechanical manipulator |
Non-Patent Citations (2)
| Title |
|---|
| PATENT ABSTRACTS OF JAPAN vol. 12, no. 058 (P-669) 20 February 1988, & JP-A-62 203209 (MITSUBISHI ELECTRIC CORP.) 07 September 1987, see the whole document * |
| PATENT ABSTRACTS OF JAPAN vol. 9, no. 174 (P-374) 19 July 1985, & JP-A-60 048507 (HITACHI SEISAKUSHO K.K.) 16 March 1985, see the whole document * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2333376A (en) * | 1998-01-17 | 1999-07-21 | Mumbles Science Adventure Limited | Programmable apparatus |
| US6155835A (en) * | 1998-01-17 | 2000-12-05 | Mumbles Science Adventure Limited | Programmable apparatus |
| US6902461B1 (en) | 1999-02-04 | 2005-06-07 | Interlego Ag | Microprocessor controlled toy building element with visual programming |
| US6939192B1 (en) | 1999-02-04 | 2005-09-06 | Interlego Ag | Programmable toy with communication means |
Also Published As
| Publication number | Publication date |
|---|---|
| GB8820780D0 (en) | 1988-10-05 |
| JPH04501668A (en) | 1992-03-26 |
| AU4192889A (en) | 1990-04-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6939192B1 (en) | Programmable toy with communication means | |
| US6250987B1 (en) | Programmable toy | |
| US5697829A (en) | Programmable toy | |
| US6390883B1 (en) | Programmable toy with remote control | |
| US7113833B1 (en) | Selection and control of motion data | |
| US6902461B1 (en) | Microprocessor controlled toy building element with visual programming | |
| US6409636B1 (en) | Electronic jump rope | |
| JPH033360Y2 (en) | ||
| US6497604B2 (en) | Interactive talking dolls | |
| US20030130851A1 (en) | Legged robot, legged robot behavior control method, and storage medium | |
| US20050042971A1 (en) | Remote controlled toy | |
| US20030060287A1 (en) | Game machine and game system | |
| US20130019019A1 (en) | Cloud servicing system configured for servicing smart phone or touch pad circuit applications and consumer programmable articles | |
| JPWO1997032641A1 (en) | Controller and controller expansion unit | |
| US6354842B1 (en) | Rolling toy with motion recording and playback capability | |
| WO1990002983A1 (en) | A programmable robot device | |
| JPH07102255B2 (en) | Programmable controller for game consoles | |
| CN102109873A (en) | Remote-control programming handle of movable model | |
| JP2003210864A (en) | Remote control system, and transmitter and peripheral device used therefor | |
| JP2002000945A (en) | controller | |
| KR102525276B1 (en) | Robot system and smart coding method therefor | |
| US5329213A (en) | Method of turning off the receiver of a radio controlled model | |
| CN213432984U (en) | Building block assembly and remote control building block system | |
| US20100221978A1 (en) | Robotic dancing jesus doll to religious singing music, quotes bible verse with remote control movement | |
| KR200223266Y1 (en) | Dancing car |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU DK FI JP NO US |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE FR GB IT LU NL SE |