SYSTEM FOR PROVIDING VIRTUAL PARTICIPATION IN AN EDUCATIONAL SITUATION
20190005832 ยท 2019-01-03
Inventors
Cpc classification
H04N7/147
ELECTRICITY
G09B5/065
PHYSICS
B25J11/0015
PERFORMING OPERATIONS; TRANSPORTING
H04N7/148
ELECTRICITY
H04N7/142
ELECTRICITY
International classification
Abstract
A system is disclosed providing active participation for persons being prevented to be physically present in educational situations by means of a robot, a server and a personal device providing audio and video from a remote environment to the user, and virtual presence by means of emitting audio from the robot captured by the personal device and providing e.g. movements, mood indications and raise hand signals to the robot from the personal device by the user.
Claims
1. A system for virtual participation of a user in a remote environment, the system comprising: a robot localized in the remote environment, including at least one head part and one body part tiltably connected to each other, including at least a camera capturing video of the remote environment, a first microphone capturing audio from the remote environment, a first loudspeaker being able to emit audio captured from the user, a wireless connection means adjusted to connect the robot to a wireless network, a processing unit at least adjusted to code and stream video and audio, a Micro Controller Unit, MCU, adjusted to control one or more motor driver circuits driving one or more electrical motors being able to tilt the head part relative to the body part and to rotate the robot relative to the ground; a mobile user device including at least a second microphone being able to capture user audio, a second loudspeaker being able to emit captured audio from the remote environment and a touch screen being able to display the captured video of the remote environment; an app installed on the mobile user device at least adjusted to transmit an audio stream and control signals and movements commands to the MCU based on user input on the touch screen, characterized in one or more LEDs for displaying user status; and a server being in communication with the robot and the mobile user device, at least adjusted to provide a pairing procedure between the robot and the mobile user device, and to authenticate and initiate a direct communication between the robot and the mobile user device only if the robot and the mobile user device are paired.
2. The system of claim 1, wherein the server on request from the user to pair with the robot is adjusted to transmit a randomly generated passcode to the user, and wherein the app is adjusted to prompt the user to enter a passcode and return the entered passcode to the server which is adjusted to pair the app and the robot only if the returned passcode equals the randomly generated passcode.
3. The system of claim 1, wherein the wireless network is a mobile phone network.
4. The system of claim 1, wherein at least one of the LEDs for displaying user status also is adapted to display user mood.
5. The system of claim 1, wherein the robot further comprises a power supply circuitry.
6. The system of claim 1, wherein the robot further comprises a battery charger circuitry.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
DESCRIPTION OF EMBODIMENTS
[0017] In the embodiments herein, systems and methods providing active participation for persons being prevented to be physically present in educational situations are disclosed. A particular situation being addressed is the case where children with long term illness needs assistance to actively participate in the education taking place in a class room. However, the embodiments herein may also be used in other similar situations like remote work, virtual presence for physically disabled people etc. For exemplary purposes, we will in the following description concentrate on class room situations, where a child which is at home or at the hospital is represented by a robot standing on the child's desk at school. The robot works as the child's eyes, ears and voice in the classroom.
[0018] As illustrated in
[0019] The robot contains means for connecting to a wireless network or a mobile network, e.g. a 4G modem, and uses the mobile network to communicate with the server and the user's app. The robot may in overall be constructed by a head part and a body part which are tiltably connected. The body part could for instance be able to twist the robot 360 degrees in relation to ground. One or more electric drives should be installed providing the abovementioned rotational and tiling movements. The robot could further at least be provided with a camera, a speaker, a microphone, a computer unit and a robotic system.
[0020] The server is the glue in communication between the app and the robot. The server is in communication with the robot on a more or less continuous basis, even when the app is not open. When the user of the app opens the app, the app will contact the server and initiate a direct connection between the app and the robot (end to end communication). As will be explained in further details later, this communication will include control signals and video and audio streams.
[0021] One important aspect of the embodiments herein is that one robot is securely paired with one personal device (e.g. a mobile phone). Only the paired units are allowed to communicate with each other. This is done to ensure the privacy of the child and the teacher in the classroom.
[0022] There will never be any doubt who is logged on to the robot.
[0023] Because the robot is paired with one, and only one, mobile phone, a mobile network would be advantageously to use for communication as there would be no configuration to be done on the robot. WiFi would require the robot to be configured for each network it is to be used on.
[0024] The mobile app is the tool the children use to interact with their robots. Each robot will only accept connections from one app. Some examples of tasks being performed by the mobile app would be: [0025] Register mobile app against the robot, via a server [0026] Stream audio from the client, receive audio/video from the robot via WebRTC [0027] Send movement commands to the robot [0028] Display the state of robot within the app [0029] Send raise hand command [0030] Change volume output on the robot [0031] Express how the child is feeling today
[0032] Referring to
[0033] Register
[0034] As being illustrated with a flow chart in
[0035] Send Movement Commands
[0036] The robot may be controlled by swiping on the screen while the video stream is active, similar to panning on a large image or scrolling on a web page. The picture seen on the user's screen will follow his finger movements. An example of this is illustrated in
[0037] State of the Robot
[0038] The inventors have experienced that children need to know how their robot looks in the classroom. It is also common in functionality in different video communication applications to have a small image showing how the user virtually appears in other persons view. According to some embodiments, a representation of the robot overlaid the stream. As an example, when a raise hand command is sent, a top light starts blinking on the robot. This may be represented in the app by a blinking top light icon appearing on the screen.
[0039] Other examples of the state of the robot may be: [0040] On/off state [0041] Small movement animations [0042] Battery status [0043] Emotional colours
[0044] Robot Hardware and Software
[0045] As illustrated in
[0049] As illustrated in
[0050] The audio/video processing may be implemented in several ways, but in this example, an effective standard method referred to as WebRTC (Web Real-Time Communication) is used. WebRTC facilitates the coding/decoding and streaming of the audio and video data.
[0051] The computer unit should preferably be a small embedded computer board which runs the robot's main software connected to the camera, the microphone and the loudspeaker. It is further connected to the 4G modem which enables it to communicate with the mobile app and the server system.
[0052] It is also dispatching messages from the app and the server to the Robotics System's Micro Controller Unit (MCU).
[0053] Robotics System
[0054] Referring now to
[0055] The robot should be able to move in the horizontal and vertical plane.
[0056] For horizontal movements, the whole robot turns around. This enables full freedom of rotation, 360 degrees. This is required for the child to look around the whole classroom, even if the robot is placed on a desk in the middle of the room.
[0057] For vertical movement, the head part is enabled to tilt up and down relative to the body part. The freedom of tilting movement may be limited, e.g. to approximately 40 degrees to prevent mechanical damages. The camera should be located in the head part, making the user able to look up and down virtually look up and down.
[0058] The LEDs may be used to indicate several things: [0059] Robot eyes switched on when the user is connected to the robot [0060] Head light switched on when the user wants to raise hand. [0061] Mood lights displaying different colours based on the indicated mood of the user.
[0062] Mobile Modem Module
[0063] The mobile modem module may be a full GSM (2G), UMTS (3G) and LTE (4G) or another similar next generation mobile modem module used to transfer data between the robot and the app and server. The module may for instance be connected to the AV system via USB to enable high speed data transfer.
[0064] Server Systems
[0065] The server system communicates with both the robot and the app. When a user wants to connect to the paired robot, it will ask the server if the robot is online, and if so, request it to set up a connection. The connection is then set up between the robot and the app with no data going through the server.
[0066] WebSockets
[0067] WebSockets may be used as a communication platform between app, robot and server.
[0068] Authentication (
[0069] authenticate is transmitted from the app after connecting to the server. The event is emitted before any other events are emitted as the server will ignore them until the client is authenticated. A JSON Web Token string containing the login information is sent.
[0070] authenticated is emitted from server after client successfully authenticates. Empty payload.
[0071] unauthorized is emitted from server when client fails authentication. Can be emitted at any time, not only after client emits authenticate.
[0072] Server disconnects client after emitting.
[0073] Webrtc (
[0074] All WebRTC signalling is sent through this event. It takes only one parameter: data. Which should be an object with type and data properties.
[0075] Robotics (
[0076] Robotics commands are broadcast from App to Robot.
[0077] Specifications
[0078] App Specification
[0079] 1. WebRTC
[0080] a. Send local audio
[0081] i. User should be able to mute local audio
[0082] b. Receive and display video
[0083] i. H264
[0084] ii. Video should be displayed full screen
[0085] c. Get STUN and TURN servers from communication API
[0086] d. Gather statistics about stream quality
[0087] i. Aggregated and sent to our stats server
[0088] e. Signalling
[0089] i. Should emit and listen for signalling events
[0090] ii. Messages should be send: {type: String, data: Mixed}
[0091] 2. Register client
[0092] a. User should enter a code when client is not registered
[0093] b. Code should be sent to the communication server where the server will reply with a token if code is valid
[0094] i. Retrieved token should be stored securely on the device
[0095] c. Parents have to agree to terms to not access the stream
[0096] d. Child has to create personal code
[0097] 3. Ensure that child is the person which can access the robot
[0098] a. On opening application (after it has been registered) user has to enter personal code
[0099] b. If code is valid the user can connect to robot
[0100] 4. Connect to robot
[0101] a. Authenticate client using stored token
[0102] b. Should show a connecting screen
[0103] 5. Attention light
[0104] a. Send command to robot
[0105] b. Interface/button to send command
[0106] 6. Movement
[0107] a. Send move command with touch deltas
[0108] b. Tap to move
[0109] 7. Communicating mood
[0110] a. Interface to send mood
[0111] 8. Change audio level on robot
[0112] 9. Robot self status (representation of the current state of robot)
[0113] a. Battery status
[0114] b. Should show which lights are lit and their colour
[0115] c. Wake/sleep animations
[0116] d. Mood indicator
[0117] e. Movement
[0118] 10. Report errors and exceptions
[0119] Robot Hardware Specification [0120] Dimensions [0121] Weight: <1 kg [0122] Height: <30 cm [0123] Width: <20 cm [0124] Depth: <15 cm [0125] Battery [0126] Use: >6 h in use [0127] Standby: >18 h [0128] Size: 4 cell LiIon,
[0129] 12 Ah [0130] Voltage: 3.6 or 3.7 V [0131] Power [0132] 2 A USB charger [0133] Consumption Use: <1.5 A [0134] Standby: <500 mA [0135] Lights [0136] RGB eyes [0137] RGB top LED [0138] RGB circle of lights on neck or around speaker [0139] Media [0140] 8 ohm speaker [0141] Electret microphone [0142] >=5 Mpix camera [0143] Docking station [0144] USB power adapter connects to docking station [0145] Motors [0146] X axis stepper motor, 360 degree free movement [0147] Y axis stepper motor, 40 degree movement [0148] Y axis may need end stop(s) [0149] Real time PCB [0150] ATMEGA328P (may change to NXP or STM ARM M0) [0151] 2 motor driver [0152] Amplifier 1.5 W class D [0153] 2 step up battery>
[0154] 5V @ 1 A [0155] 1 charger (1.5 A) [0156] USB audio codec [0157] Computer System [0158] SnapDragon on a DART SD410
[0159] module [0160] Mobile System [0161] LTE module, one of: [0162] UBlox
[0163] TOBI L210 [0164] Telit LE910
[0165] The above description and illustrations are merely illustrative examples of different embodiments of the present invention, and is not limiting the scope of the invention as defined in the following independent claims and the corresponding summary of the invention as disclosed above.