METHOD FOR GENERATING DIAGRAMMATIC REPRESENTATION OF AREA AND ELECTRONIC DEVICE THEREOF

This present disclosure provides a method for generating diagrammatic representation of an area. The method includes obtaining, by an electronic device (100), sensor data over a period of time of a plurality of locations of the area. Further, the method includes generating, by the electronic device (100), a heat map of the sensor data of each of the location of the area. Further, the method includes generating, by the electronic device (100), the diagrammatic representation of the area based on the heat map of the sensor data.

BACKGROUND

The present disclosure relates to a smart-area automation system, and more specifically related to a method and electronic device for generating diagrammatic representation of an area.

2. Description of Related Art

In general, one of the biggest challenges of internet of things (IOT) deployment inside an area (e.g., home, office, shopping mall, college campus, factory or the like) is knowledge of user's location inside the area which cannot be fulfilled without availability of a space layout of the area. While indoor positioning methods are available but they usually require extra hardware's like multiple Wireless Fidelity (WiFi)/Bluetooth (BT) access point installations and the indoor positioning methods does not serve the requirement of IOT deployment for automation.

In the existing methods, the method can be used to create a floor plan using laser and Odometer techniques. The method can be used to identify only walkable and non-walkable area but there is no mechanism to identify the various available rooms and passages between the various available rooms. In another existing methods, the method can be used to create the floor plan using Wi-Fi signal strength and physical environment sensor. The method can be used to identify walkable and non-walkable area but there is no mechanism to identify the various available rooms and passages. Further, the method requires additional hardware support and user location tracking cannot be done in no connectivity cases.

Further, in case user's device battery is discharged, the user tracking cannot be done unless the electronic device is charged again, so that the current user location is not known to others.

Thus, it is desired to address the above mentioned disadvantages or other shortcomings or at least provide a useful alternative.

SUMMARY

This disclosure provides a method and electronic device for generating diagrammatic representation of an area.

This disclosure also provides to obtain sensor data over a period of time of a plurality of locations of the area.

This disclosure also provides to determine an intensity of the sensor data based on a number of times the sensor data received of each of the locations.

This disclosure also provides to determine a time period spend by the electronic device in each of the locations.

This disclosure also provides to generate a heat map of the sensor data of each of the location of the area.

This disclosure also provides to identify an edge of a room and a passage of the room in the heat map based on the convolution using a walkable threshold.

This disclosure also provides to generate the diagrammatic representation of the area based on the heat map of the sensor data.

This disclosure also provides to receive a usage of at least one appliance in the diagrammatic representation of the area over a period of time.

This disclosure also provides to determine relation between a user defined location name and relative position of the at least one appliance.

This disclosure also provides to place the at least one appliance in the diagrammatic representation of the area.

According to the present disclosure, this disclosure provides a method for generating diagrammatic representation of an area. The method includes obtaining, by an electronic device, sensor data over a period of time of a plurality of locations of the area. Further, the method includes generating, by the electronic device, a heat map of the sensor data of each of the location of the area. Further, the method includes generating, by the electronic device, the diagrammatic representation of the area based on the heat map of the sensor data.

According to an embodiment, further, the method includes receiving a usage of at least one appliance in the diagrammatic representation of the area over a period of time. Further, the method includes determining relation between a user defined location name and relative position of the at least one appliance. Further, the method includes placing the at least one appliance in the diagrammatic representation of the area.

According to an embodiment, further, the method includes performing at least one of an action using the diagrammatic representation of the area, wherein the action comprises tracking at least one of a user in the area using the diagrammatic representation, tracking at least one electronic device in at least one location of the area using the diagrammatic representation, and controlling at least one electronic device in the at least one location of the area using the diagrammatic representation.

According to an embodiment, generating, by the electronic device, the heat map of the sensor data of each of the location of the area includes determining an intensity of the sensor data based on a number of times the sensor data received of each of the locations, determining a time period spend by the electronic device in each of the locations, and generating the heat map based on the intensity of the sensor data and the time period spend by the electronic device in each of the locations.

According to an embodiment, generating, by the electronic device, the diagrammatic representation of the area based on the heat map of the sensor data includes obtaining the heat map based on an intensity of the sensor data and time period spend by the electronic device in each of the locations, obtaining an edge detection kernel matrix in different orientation, wherein the edge detection kernel matrix is configured to identify edges of different orientation in the diagrammatic representation of the area, wherein ratio of maximum walkable value in each of the locations in the heat map and minimum walkable value in each of the locations in the heat map is determined as edge detection kernel center value for all matrices of different orientations, convoluting edge detection kernels in different orientations with the heat map to obtain various edge detection matrices, wherein each edge detection matrix is further used for identifying edges of particular orientation in the diagrammatic representation of the area, and identifying at least one edge of the different orientation of in the diagrammatic representation of the area based on the convolution using a walkable threshold in edge detection matrix.

According to an embodiment, generating, by the electronic device, the diagrammatic representation of the area based on the heat map of the sensor data includes obtaining the heat map based on an intensity of the sensor data and time period spend by the electronic device in each of the locations, obtaining passage detection kernel in different orientations for identifying passages of different orientations in the diagrammatic representation of the area, wherein ratio of maximum walkable value in each of the locations in the heat map and minimum walkable value in each of the locations in the heat map is determined as passage detection kernel center value for all matrices of different orientations, convoluting passage detection kernels in different orientations with the heat map to obtain passage detection matrices, wherein each passage detection matrix is further used for identifying passages of particular orientation in the diagrammatic representation of the area, and identifying at least one passage of different orientation in the diagrammatic representation of the area based on the convolution using a walkable threshold in the passage detection matrix.

According to an embodiment, identifying the at least one passage in the diagrammatic representation of the area based on the convolution using the walkable threshold in the passage detection matrix includes comparing indices of at least one edge determined using the edge detection matrix with same indices of the passage detection matrix to identify at least one passage, and identifying the at least one passage of the at least one room in the diagrammatic representation of the area based on the comparison.

According to an embodiment, the passage detection kernel matrix and the passage detection kernel matrix are determined from different orientations, wherein values of the edge detection kernel matrix and the passage detection kernel matrix determined from various orientations are computed to determine the at least one passage and the at least one edges in the diagrammatic representation of the area.

According to an embodiment, the walkable threshold in the edge detection matrices is determined by convoluting at least one of the edge detection kernel with the minimum walkable matrix.

According to an embodiment, the walkable threshold in the passage detection matrices is determined by convoluting at least one of the passage detection kernel with the minimum walkable matrix.

According to an embodiment, the sensor data is obtained using at least one of an accelerometer sensor, a barometer sensor, a magnetic sensor, a gyroscope sensor and a rotation vector sensor.

According to an embodiment, the accelerometer sensor is configured to estimate a step length by analysing a peak and valley data associated with a step length data, time difference between the peak and valley data associated with the step length data and accelerometer data pattern associated with the step length data by comparing them with a calibrated step peak and valley data, calibrated step time difference data and calibrated step data pattern captured during a calibration activity, while walking the user in the plurality of locations of the area.

According to an embodiment, the sensor data received from the accelerometer sensor is converted from device frame axes to world frame axis using a rotation vector sensor data providing device orientation in world frame axis for step length estimation, while walking the user in the plurality of locations of the area.

According to an embodiment, the barometer sensor is utilized to detect a change in floor by determining relative difference in atmospheric pressure from a first location from the plurality of locations to a second location from the plurality of location.

According to an embodiment, the barometer sensor is utilized to update a reference atmospheric pressure and a reference height by monitoring a variance and standard deviation in atmospheric pressure data over short time period intervals, while walking the user in the plurality of locations of the area.

According to an embodiment, the rotation vector sensor and the accelerometer sensor are utilized to determine a user heading direction relative to north direction irrespective of orientation of the electronic device by analysing the accelerometer data in north-east world axis resulting in a user moving direction vector to compare it with the vector pointing in north direction provided from rotation vector sensor data, wherein the accelerometer data is converted from device frame axis (x-y-z) to world frame axis (North-East-Up) using the rotation vector sensor data providing device orientation in world frame axis, while walking the user in the plurality of locations of the area.

According to the present disclosure, this disclosure provides an electronic device for generating diagrammatic representation of an area. The electronic device includes a processor coupled with a memory. The processor is configured to obtain sensor data over a period of time of a plurality of locations of the area. The processor is configured to generate a heat map of the sensor data of each of the location of the area. Further, the processor is configured to generate the diagrammatic representation of the area based on the heat map of the sensor data.

Advantageous Effects of Invention

This disclosure can be achieved without extra hardware & infrastructure dependency. The method can work in case of no connectivity or no electricity like basement/parking area or emergency situation. Extremely less power consumption & CPU usage due to MEMS sensors & separate sensor hub MCU.

DETAILED DESCRIPTION

Accordingly embodiments herein achieve a method for generating diagrammatic representation of an area. The method includes obtaining, by an electronic device, sensor data over a period of time of a plurality of locations of the area. Further, the method includes generating, by the electronic device, a heat map of the sensor data of each of the location of the area. Further, the method includes generating, by the electronic device, the diagrammatic representation of the area based on the heat map of the sensor data.

Unlike conventional methods and system, the proposed method can be used to classify and generate the diagrammatic representation of an area (i.e., space layout) and generate an event for an appliance without using an additional hardware element e.g., Wi-Fi/BT access point. The method can be used to generate a space layout plan (e.g., 2D space layout plan, 3D space layout plan, or the like) for the area based on sensor data over which heat-map procedure, convolution procedure and machine learning procedure is applied to identify user's location approximately and accordingly generate/report events to take actions for area automation (e.g., home automation or the like). The method can be used to improve automation in the TOT appliance in the space layout plan and provide additional use cases at low cost since the method does not require additional infrastructure (e.g., Wi-Fi/BT access point).

The method can be used to increase the intensity of heat matrix at a particular area bases on how much time user spent in that area, this can assist to easily distinguish passages which connect two rooms from room.

The method can be used to identify walkable and non-walkable area using inertial sensors, heat map matrix considering walking intensity and time factor. The method can be used to identify various spaces and passages inside the area without using any extra hardware. The method utilizes machine learning techniques to classify various available spaces (e., bedroom, lobby, Kitchen, Washroom or the like) in the area.

The method can be used to generate and report the event for home automation when user location is changed from one space to another. Based on the proposed method, in case user's device battery is discharged, user tracking can be done and tracking is possible in areas where there is no connectivity. The method can be used in the home even there is connectivity available (e.g., electricity gets cut off, signal not received from the electronic device) in a basement parking area and an emergency situation. The user can be tracked further once the electronic device is turned on based on the relative position of user from some initial reference point

In an example, an electronic device collects inertial sensor data over the plurality of locations and determines the intensity of inertial sensor data over the plurality of locations (e.g. number of times sensor data is recorded from each of the location). The electronic device calculates the time period spend over the plurality of locations (this will be used to generate the heat map). The electronic device adds the calculated values and plots them to generate a heat map in order to identify the walkable and non-walkable areas. Further, the electronic device convolutes the obtained value from the generated heat map with plurality of line detection kernels (e.g. edge detection kernel and passage detection kernel). Further, the electronic device identifies spaces and passages from the obtained convoluted values when their values crosses a threshold values of spaces and passages, respectively. Further, the electronic device generates a map by naming the identified spaces and passages by using supervised machine learning, wherein the generated map is used for tracking user and controlling IoT devices.

Referring now to the drawings, and more particularly toFIGS. 1 through 8f, there are shown preferred embodiments.

FIG. 1illustrates hardware components of an electronic device (100), according to an embodiment as disclosed herein. The electronic device (100) can be, for example, but not limited to a cellular phone, a smart phone, a Personal Digital Assistant (PDA), a tablet computer, a laptop computer, an Internet of Things (IoT), a virtual reality device, a smart watch, a server or the like.

In an embodiment, the electronic device (100) includes a processor (110), a communicator (120), a memory (130), a display (140), an accelerometer sensor (150), a barometer sensor (160), a magnetic sensor (170), a gyroscope sensor (180), a rotation vector sensor (190), and a timer (200). The processor (110) is coupled with the communicator (120), the memory (130), the display (140), the accelerometer sensor (150), the barometer sensor (160), the magnetic sensor (170), the gyroscope sensor (180), the rotation vector sensor (190), and the timer (200).

In an embodiment, the processor (110) is configured to obtain sensor data over a period of time of a plurality of locations of an area. In an example, all user movement data is collected in context of known reference point using the accelerometer sensor (150), the barometer sensor (160), the magnetic sensor (170), the gyroscope sensor (180), and the rotation vector sensor (190) as shown in theFIG. 5a. Further, the processor (110) is configured to generate a heat map of the sensor data of each of the location of the area. In an embodiment, the heat map is generated based on how many times user walks through and spends time at a specific point in the area as shown in theFIG. 5b. In an example, as the user walks, over a period of time, the heat map matrix is created with every index having some value depicting the intensity of how many times user walked through that specific point and how much time spent by the user as shown in theFIG. 6a. The intensity value will be more for areas where the user spends more time compared to areas where the user spend less time. In an embodiment, the weightage factor is more for a time factor compared a user walking in the location. In an example, if the1step of the user in the location then, the intensity will be increased by 1 value, whereas 1 minute time spent by the user in the location, the intensity will be increased by 2 value.

In an embodiment, the processor (110) is configured to determine an intensity of the sensor data based on a number of times the sensor data received of each of the locations. Further, the processor (110) is configured to determine the time period spend by the electronic device (100) in each of the locations. Further, the processor (110) is configured to generate the heat map based on the intensity of the sensor data and the time period spend by the electronic device (100) in each of the locations.

Further, the processor (110) is configured to generate the diagrammatic representation of the area based on the heat map of the sensor data. In an embodiment, the processor (110) is configured to obtain the heat map based on an intensity of the sensor data and time period spend by the electronic device (100) in each of the locations. Further, the processor (110) is configured to obtain an edge detection kernel matrix in different orientations. Further, the processor (110) is configured to obtain a passage detection kernel matrix in different orientations. Further, the processor (110) is configured to convolute the edge detection kernel with the heat map and the passage detection kernel with the heat map. Further, the processor (110) is configured to identify an edge of the room and a passage of the room in the heat map based on the convolution using a walkable threshold. In an embodiment, the walkable threshold is determined by convoluting at least one of a pre-defined minimum value of the edge detection kernel matrix and the passage detection kernel matrix with minimum walkable matrix.

Further, the processor (110) is configured to receive a usage of at least one appliance (not shown) in the diagrammatic representation of the area over a period of time. Further, the processor (110) is configured to determine relation between a user defined location name and relative position of the at least one appliance. The processor is configured to place the at least one appliance in the diagrammatic representation of the area. In an example, as shown in theFIG. 6i, the processor (110) is configured to apply the machine learning to name the spaces in accordance to user conventions. The appliance can be, for example, but not limited to a smart TV, a smart light, smart AC, a smart washing machine or the like.

In an embodiment, the processor (110) is configured to perform at least one of an action using the diagrammatic representation of the area, wherein the action comprises tracking at least one of the user in the area using the diagrammatic representation, tracking at least one appliance in at least one location of the area using the diagrammatic representation, and controlling the at least one appliance in the at least one location of the area using the diagrammatic representation.

In an embodiment, the sensor data is obtained using at least one of the accelerometer sensor (150), the barometer sensor (160), the magnetic sensor (170), the gyroscope sensor (180) and the rotation vector sensor (190).

In an embodiment, the accelerometer sensor (150) is configured to estimate a step length by analysing a peak and valley data associated with a step length data, time difference between the peak and valley data associated with the step length data and accelerometer data pattern associated with the step length data by comparing them with a calibrated step peak and valley data, calibrated step time difference data and calibrated step data pattern captured during a calibration activity, while walking the user in the plurality of locations of the area.

In an embodiment, the sensor data received from the accelerometer sensor (150) is converted from device frame axes to world frame axis using the rotation vector sensor (190) for providing device orientation in world frame axis for step length estimation, while walking the user in the plurality of locations of the area.

In an embodiment, the barometer sensor (160) is utilized to detect the change in floor by determining relative difference in atmospheric pressure from a first location from the plurality of locations to a second location from the plurality of location. In an embodiment, the barometer sensor (160) is utilized to update a reference atmospheric pressure and a reference height by monitoring a variance and standard deviation in atmospheric pressure data over short time period intervals, while walking the user in the plurality of locations of the area.

In an embodiment, the rotation vector sensor (190) and the accelerometer sensor (150) are utilized to determine a user heading direction relative to north direction irrespective of orientation of the electronic device by analysing the accelerometer data in north-east world axis resulting in a user moving direction vector to compare it with the vector pointing in north direction provided from rotation vector sensor data, wherein the accelerometer data is converted from device frame axis (x-y-z) to world frame axis (North-East-Up) using the rotation vector sensor data providing device orientation in world frame axis, while walking the user in the plurality of locations of the area.

In the gyroscope sensor (180), by measuring change in angular velocity, it can be known how much degree of turn made by user relative to its heading.

The processor (110) is configured to execute instructions stored in the memory (130) and to perform various processes. The communicator (120) is configured for communicating internally between internal hardware components and with external devices via one or more networks.

Although theFIG. 1shows various hardware components of the electronic device (100) but it is to be understood that other embodiments are not limited thereon. In other embodiments, the electronic device (100) may include less or more number of components. Further, the labels or names of the components are used only for illustrative purpose and does not limit the scope of the invention. One or more components can be combined together to perform same or substantially similar function to generate the diagrammatic representation of the area in the electronic device (100).

FIG. 2is an overview of a system (1000) for generating diagrammatic representation of the area, according to an embodiment as disclosed herein. The system (1000) includes the plurality of electronic device (100aand100b), a server (100c), and a service provider (300). The server communicates with the plurality of electronic device (100aand100b) and the service provider (300). The operations and functions of the electronic device (100aand100b) are already explained in conjunction with theFIG. 1. In an embodiment, the electronic device (100aand100b) generate the diagrammatic representation of the area and the send the diagrammatic representation to the server (100c). The server (100c) sends the event notification to the server provider (300) based on the event registration. In another embodiment, the electronic device (100aand100b) sends the senor data to the server (100c). Based on the sensor data, the server (100c) generates the diagrammatic representation of the area.

Although theFIG. 2shows various hardware components of the system (1000) but it is to be understood that other embodiments are not limited thereon. In other embodiments, the system (1000) may include less or more number of components. Further, the labels or names of the components are used only for illustrative purpose and does not limit the scope of the invention. One or more components can be combined together to perform same or substantially similar function to generate the diagrammatic representation of the area in the system (1000).

FIG. 3shows various hardware components of the processor (110), according to an embodiment as disclosed herein. In an embodiment, the processor (110) includes a sensor data obtaining engine (302), a heat map generating engine (304), an area representation engine (306), a walkable area and non-walkable area determination engine (308), a spaces and passages determination engine (310), a current height reference maintaining engine (312), a step calibration engine (314), an edge detection kernel engine (316), a passage detection kernel engine (318), a floor detector (320), device orientation detection engine (322), and a step detector module (324).

In an embodiment, the sensor data obtaining engine (302) is configured to obtain sensor data over the period of time of the plurality of locations of an area. Further, the heat map generating engine (304) is configured to generate the heat map of the sensor data of each of the location of the area. In an embodiment, the heat map generating engine (304) is configured to determine the intensity of the sensor data based on a number of times the sensor data received of each of the locations. Further, the heat map generating engine (304) is configured to determine the time period spend by the electronic device (100) in each of the locations using the timer (200). Further, the heat map generating engine (304) is configured to generate the heat map based on the intensity of the sensor data and the time period spend by the electronic device (100) in each of the locations.

Further, the area representation engine (306) is configured to generate the diagrammatic representation of the area based on the heat map of the sensor data using the walkable area and non-walkable area determination engine (308) and a spaces and passages determination engine (310). Further, the area representation engine (306) is configured to identify an edge of the room and a passage of the room in the heat map based on the convolution using a walkable threshold.

In an embodiment, the current height reference maintaining engine (312) monitors the changes in pressure every 2 minutes, converts the atmospheric pressure to height using standard known formula and updates the reference height value. Further, if variation in pressure data collected over 2 minutes is very less, the current height reference maintaining engine (312) will update the current height value. As atmospheric pressure changes minutely after short time and majorly after long time due to climate changes, the current height reference maintaining engine (312) needs to keep updating the current height reference value in short time in order to deduce change in floor correctly. Further, the floor detector (320) will monitor the change in height and if difference is more than usual floor height difference, then the floor information will be updated.

The device orientation detection engine (322) calculates the azimuth, pitch, roll values using standard formula on rotation vector values. The pitch is counter-clockwise degrees around x-axis required to align the device x-axis in world north/east frame. The roll is Counter-Clockwise Degrees around y-axis required to align the device y-axis in world north/east frame. The azimuth is Counter-Clockwise Degrees around z-axis required to point the device y-axis to north direction.

The step calibration engine (314) collects the number of steps taken by user using the step detector (324) and for each step, will collect the peak & valley acceleration value and time difference between each peak & valley value and stores them in the memory (130) after averaging them. The step calibration engine (314) will store the average step length of the user based on number of steps taken & fixed distance used for calibration. In an example, if number of steps are 60 and distance travelled is 30 meters, average/usual step length of the person is 0.5 meters.

The step detector (324) will map accelerometer value of all 3 device reference axis into world reference axis using the device orientation detection engine (322). The step detector (324) will analyze the change in acceleration values in world reference axis (North-East-Up) and if the Up-Down axis has specific pattern of peak and valley, it will be detected as a step.

In an example, one cell of the heat map matrix represent one third of step length of user. The sensor (150-190) produces sensor data at a defined clock rate say 20 mili-second. These sensor data (e.g., distance direction and timestamp) is feed in to a motion and a relative position analyzer (not shown). The heat map generating engine (304) is requested to increase cell value by 1. The timer (200) also run in loop which fetched sensor data from the sensors (150-190) with defined period say 1 minute. The timer (200) fetches value and compare the recent value with a previous sensor data value. If no motion detected, the timer (200) updates cell value by adding 2 to current value. This way cell intensity where the user spends more time will be more and cell intensity for passage will be less. The cell propagator block (not shown) will check for possible walkable point set in an up direction/down direction/left direction/right direction using the walkable area and non-walkable area determination engine (308) and the spaces and passages determination engine (310).

The edge detection kernel engine (316) is configured to obtain the heat map based on the intensity of the sensor data and time period spend by the electronic device (100) in each of the locations. Further, the edge detection kernel engine (316) is configured to obtain the edge detection kernel matrix from a horizontal orientation, a vertical orientation and a diagonal orientation. The ratio of a maximum walkable value in each of the locations to a minimum walkable value in each of the locations in the heat map is determined as an edge detection kernel center value. Further, the edge detection kernel engine (316) is configured to convolute the edge detection kernel with the heat map to obtain an edge detection matrix using the edge detection kernel center value. Further, the edge detection kernel engine (316) is configured to identify at least one edge of at least one room in the diagrammatic representation of the area based on the convolution using the walkable threshold.

The passage detection kernel engine (318) is configured to obtain the heat map based on an intensity of the sensor data and time period spend by the electronic device (100) in each of the locations. Further, the passage detection kernel engine (318) is configured to obtain the passage detection kernel matrix from the horizontal orientation, the vertical orientation and the diagonal orientation. The ratio of a maximum walkable value in each of the locations to a minimum walkable value in each of the locations in the heat map is determined as the passage detection kernel center value. Further, the passage detection kernel engine (318) is configured to convolute the passage detection kernel with the heat map using the passage detection kernel center value. Further, the passage detection kernel engine (318) is configured to identify at least one passage of at least one room in the diagrammatic representation of the area based on the convolution using a walkable threshold.

In an embodiment, the passage detection kernel engine (318) is configured to identify the at least one passage of the at least one room in the diagrammatic representation of the area by comparing indices of the at least one edge determined using the edge detection matrix with indices of the passage detection matrix to identify the at least one passage.

In an embodiment, the edge detection kernel matrix and the edge detection kernel matrix are determined from the horizontal orientation, the vertical orientation and the diagonal orientation, wherein values of the edge detection kernel matrix and the edge detection kernel matrix determined from the horizontal orientation, the vertical orientation and the diagonal orientation are computed to determine the at least one passage and the at least one edges in the diagrammatic representation of the area.

In an example, initially, user registers all IOT appliances to IOT controller, with details like device name, user defined location, device capabilities. The IOT controller sends update to the server (10c), when some appliance is operated with relative position, appliance id, user defined location name for appliance. Once sufficient data is available, the machine learning clustering procedure is applied as shown in theFIG. 6iandFIG. 6j. Now, errors points are removed from created cluster by creating histogram and learning frequency of various observation as shown in theFIG. 6iandFIG. 6j. Now for qualified points, relation is associated between the user defined location name and relative position.

Finally IOT appliance are placed on the diagrammatic representation as per learned location.

Because of time factor intensity logic, the method can be used to identify the rooms (e.g., bedroom or defining obstacles like bed o the like), understanding intensity pattern increasing at particular location at particular period of time. It can be mapped with other data like heart rate or pattern recognized out of special sensor. The method can be used to identify the passages and rooms and also adds input to define type of rooms in an accurate manner.

Although theFIG. 3shows various hardware components of the processor (110) but it is to be understood that other embodiments are not limited thereon. In other embodiments, the processor (110) may include less or more number of components. Further, the labels or names of the components are used only for illustrative purpose and does not limit the scope of the invention. One or more components can be combined together to perform same or substantially similar function to generate the diagrammatic representation of the area.

FIG. 4is a flow chart (400) illustrating a method for generating diagrammatic representation of the area, according to an embodiment as disclosed herein. The operations (402-414) are performed by the processor (110). At402, method includes obtaining the sensor data over the period of time of the plurality of locations of the area. At404, the method includes generating the heat map of the sensor data of each of the location of the area. At406, the method includes generating the diagrammatic representation of the area based on the heat map of the sensor data. At408, the method includes performing the action using the diagrammatic representation of the area. At410, the method includes updating the user location based on the sensor data. At412, the method includes determining the user enters into the room. If the user enters into the room then, at414, the method includes triggering the events to auto generate actions for home appliances.

FIG. 6ctoFIG. 6hare example scenario in which electronic device (100) identifies the various rooms and passages using the edge detection kernel and the passage detection kernel, according to an embodiment as disclosed herein. The various rooms and passages are determined using the edge detection kernel engine (316) and the passage detection kernel engine (318).

As shown in theFIG. 6c, the line detection operator consists of a convolution kernel tuned to detect the presence of lines of a particular width at a particular orientation. The different kernel can be generated to detect walls in various orientations. In order to enhance the procedure for the round corners, canny operators can be used to convolute with the found heat map. It works on the principle of constructive & destructive interference when kernel match with the image, the kernel match produces higher amplitude. Four line detection kernels which respond maximally to horizontal, vertical and oblique (+45 and −45 degree) single pixel wide lines.

Let's, consider below tuned vertical edge/passages kernel to detect edge/passages. After applying all 4 kinds of kernel, all edges/passages in different orientations will be discovered. The value 45 (450/10) is selected based on ratio of maximum step intensity (450) to minimum value to consider walkable point (10).

−11−1−145−1−11−1Edge Detection kernel

0100450010Passage Detection kernel

Consider, taking the part of heat matrix in theFIG. 6aas input. Consider Kernel as shown is theFIG. 6b. Apply it to given matrix, result will be theFIG. 6d. This define total available separate spaces in layout—5 SPACES identified and Value>200=Space, value<200=obstacles/walls.

Next step is to detect passages and consider Kernel as shown is theFIG. 6e. Apply it to given matrix, result will be theFIG. 6f. Here values greater than 400 will be walkable and values less than 200 are non-walkable area [i.e., obstacles]. Comparison will be performed between all detected edges in theFIG. 6dwithFIG. 6f.

There will be below 4 edge detection kernel and 4 passage detection kernel as shown in theFIG. 6g. Consider, the value is maximum value in the heat matrix/defined threshold for walkable value (450/10=45). The orientation module selects all orientation one by one and corresponding edge detection kernel and the passage convoluted matrix for the edges will be processed further to extract spaces. The walkable and non-walkable thresholds are defined, by convoluting with minimum walkable case. In the proposed methods, in an example, walkable threshold will be400, so anything greater than 451 is walkable else obstacle/Passage. For the passage identifier, the processor takes all edges from convoluted matrix for edge and checks corresponding value in convoluted matrix for the passage, if value is walkable, it is marked as passage. The identified passage and obstacle updated to the heat matrix.

Similarly, the processor needs to perform for horizontal, left diagonal and right diagonal kernel to increase accuracy, as it is possible few more edges and passage are defined by horizontal, vertical and diagonal kernels. Let's say there is passage which is diagonal, this passage will not be concluded with vertical space/passage kernel but with diagonal kernel, it will be identified.

FIG. 6iis an example scenario in which the electronic device (100) applies the machine learning to create mapping between the created spaces and user naming convention, according to an embodiment as disclosed herein.

Consider, initially while adding appliances to an IOT controller (not shown) (lie inside the mobile electronic device (100)), user provided the location where appliance is present as shown in the table 1.

Now, when the user takes some action on any appliance through the controller or a switchboard, an entry is created in database about user relative location, appliance and user specified location as show in the table 2 and table 3.

Over a period of time, a big data will be created then using clustering algorithm and statistics, an association can be learned between the various spaces and user convention. As shown in theFIG. 6j, each point in cluster represent that the appliance which is part of pre-defined user location is turned on/off or controlled from which room in layout. Each learnt cluster is processed using statistics like histogram etc. to remove noise.

In an example, the IOT controller controls various IOT devices and user operate any device using IOT controller, user relative position and IOT device entry in made to database along with user defined location of the IOT device. The server (100c) runs clustering algorithm on collected dataset, once sufficient amount of data is available, creating cluster of various relative points having common IOT device and spaces.

First feature scaling is performed for various IOT devices and user defined spaces. For every points P in dataset, the neighboring points are find out which are in range (*eps) of considered point P. And if N such points are found which satisfy N>=*MinPts, assign a cluster. For every points P in dataset, the neighboring points are find out which are in range (*eps) of considered point P. And if N such points are found which satisfy N>=*MinPts, assign a cluster. Eps defines the neighbourhood around a data point i.e. if the distance between two points is lower or equal to eps' then they are considered as neighbours. *MinPts: Minimum number of neighbors (data points) within eps radius.

A point a and b are said to be density connected if there exist a point c which has a sufficient number of points in its neighbours and both the points a and bare within the eps distance. Now every point is taken and its Euclidean distance is calculated from various cluster points, this way all points are assigned to one cluster. Parallel clusters are updated, as average of items categorized in that cluster so far. Once all datasets are assigned to one cluster, then histogram for various defined cluster is created to understand frequency of any appliance being operated from specific defined space. This will help to mitigate error case. The user defined names are assigned to various generated spaces.

As shown in theFIG. 7a, as home layout is generated along with rooms & passage Identification, so that the user can be located and tracked inside the different rooms in the home. The events can be generated when person enters/leaves a room through a passage to automate actions on home appliances. In an example, as shown in theFIG. 7b, once the user moves from the room1to room2, the locker in the room1is locked and the AC and the light are turned on.

In an example, as shown in theFIG. 7b, once map is created and if device battery is down, so user cannot be tracked further. After device is turned ON after charging, user location can be anywhere inside the house. As person walks, then with each step and each turn, user can only be at some certain location because other paths will break walls/obstacles so they are not valid user movements. On further user movements, possible locations will be reduced further more. Eventually, only one real location will exist which could satisfy the path pattern travelled by the user from some unknown location. Highly possible user locations are charging points in above case, so we can consider these points as initial possibilities to narrow down search.

In an example, as shown in theFIG. 7candFIG. 7d, an indoor navigation can be achieved without extra hardware & infrastructure dependency

In an example, as shown in theFIG. 8atoFIG. 8f, after device battery is down, the possibilities of real user location as shown in yellow is unknown. After device battery is charged and user moves 4 steps south, possibilities of real user location are narrowed. Next, after user moves 4 steps west, possibilities of real user locations are narrowed further down. Next, after user another 4 steps west and 4 steps south, possibilities of real user locations are narrowed further. Next, after user another 9 steps west, only one real location is possible, so user is located precisely.

In another example, an indoor navigation can be achieved without extra hardware & infrastructure dependency. The method can work in case of no connectivity or no electricity like basement/parking area or emergency situation. Extremely less power consumption & CPU usage due to MEMS sensors & separate sensor hub MCU

In another example, the electronic device (100) detects change in the appliance behavior based on quantity of users in the room. In an example, the air conditioner will be operated based on how many users are present in a space layout and mode of the air conditioner will change. This results enhancing the user experience.

In another example, the electronic device (100) changes the appliance behavior based on type of the user in the room. In an example, If only child is present in room, parental guidance channel will be blocked in the TV. If some other member enters, child lock can be removed in the TV.

In another example, the electronic device provides an appliance settings personalization. In an example, one user can prefer X degree & other user can prepare Y degree, so that air conditioner can change its settings based on user preference.

In another example, interested parties can subscribe for location based events. In an example, if the user is in the kitchen, the user can will receive the notifications from the cooking assistance apps. If the user is in a workout area, the user can will receive the notifications from health related application. If the user is in a dressing room, the user can will receive the notifications from the e-commerce application.

The method can provides a suggestions on the appliances based on Time Spent by the user. The appliance positioning can be suggested for effective usage based on where users spend most time on the appliance.

In another example, the electronic device (100) generates the events without change in actual user location. In an example, automation of change in phone settings while having breakfast/lunch/dinner which can be sensed using motion sensor data.

The embodiments disclosed herein can be implemented using at least one software program running on at least one hardware device and performing network management functions to control the elements.

According to an embodiment, this disclosure provides a method for generating diagrammatic representation of an area, comprises: obtaining, by an electronic device (100), sensor data of a plurality of locations associated with the area over a period of time; generating, by the electronic device (100), a heat map of the sensor data of each of the location of the area; and generating, by the electronic device (100), the diagrammatic representation of the area based on the heat map of the sensor data.

According to an embodiment, this disclosure provides further comprises: receiving, by the electronic device (100), a usage of at least one appliance in the diagrammatic representation of the area over a period of time; classifying, by the electronic device (100), spaces in the diagrammatic representation by determining relation between a user defined location name and relative position of the at least one appliance using a machine learning procedure; and placing, by the electronic device (100), the at least one appliance in the diagrammatic representation of the area.

According to an embodiment, this disclosure provides performing, by the electronic device (100), at least one of an action using the diagrammatic representation of the area, wherein the action comprises tracking at least one of a user in the area using the diagrammatic representation, tracking at least one appliance in at least one location of the area using the diagrammatic representation, and controlling the at least one appliance in the at least one location of the area using the diagrammatic representation.

According to an embodiment, wherein generating, by the electronic device (100), the heat map of the sensor data of each of the location of the area comprises: determining an intensity of the sensor data based on a number of times the sensor data received of each of the locations; determining a time period spend by the electronic device (100) in each of the locations; and generating the heat map based on the intensity of the sensor data and the time period spend by the electronic device (100) in each of the locations.

According to an embodiment, wherein generating, by the electronic device (100), the diagrammatic representation of the area based on the heat map of the sensor data comprises: obtaining the heat map based on an intensity of the sensor data and time period spend by the electronic device (100) in each of the locations; obtaining an edge detection kernel matrix in different orientation, wherein the edge detection kernel matrix is configured to identify edges of different orientation in the diagrammatic representation of the area, wherein ratio of maximum walkable value in each of the locations in the heat map and minimum walkable value in each of the locations in the heat map is determined as edge detection kernel center value for the edge detection kernel matrix of different orientations; convoluting edge detection kernels in different orientations with the heat map to obtain various edge detection matrices, wherein each edge detection matrix is further used for identifying the edges of particular orientation in the diagrammatic representation of the area; and identifying at least one edge of the different orientation of in the diagrammatic representation of the area based on the convolution using a walkable threshold in edge detection matrix.

According to an embodiment, wherein generating, by the electronic device (100), the diagrammatic representation of the area based on the heat map of the sensor data comprises: obtaining the heat map based on an intensity of the sensor data and time period spend by the electronic device (100) in each of the locations; obtaining passage detection kernel in different orientations for identifying passages of different orientations in the diagrammatic representation of the area, wherein ratio of maximum walkable value in each of the locations in the heat map and minimum walkable value in each of the locations in the heat map is determined as passage detection kernel center value for all matrices of different orientations; convoluting passage detection kernels in different orientations with the heat map to obtain passage detection matrices, wherein each passage detection matrix is further used for identifying passages of particular orientation in the diagrammatic representation of the area; and identifying at least one passage of different orientation in the diagrammatic representation of the area based on the convolution using a walkable threshold in the passage detection matrix.

According to an embodiment, wherein identifying the at least one passage in the diagrammatic representation of the area based on the convolution using the walkable threshold in the passage detection matrix comprises: comparing indices of at least one edge determined using the edge detection matrix with same indices of the passage detection matrix to identify at least one passage; and identifying the at least one passage of the at least one room in the diagrammatic representation of the area based on the comparison.

According to an embodiment, wherein the passage detection kernel matrix and the passage detection kernel matrix are determined from different orientations, wherein values of the edge detection kernel matrix and the passage detection kernel matrix determined from various orientations are computed to determine the at least one passage and the at least one edges in the diagrammatic representation of the area.

According to an embodiment, wherein the walkable threshold in the edge detection matrices is determined by convoluting at least one of the edge detection kernel with the minimum walkable matrix.

According to an embodiment, wherein the walkable threshold in the passage detection matrices is determined by convoluting at least one of the passage detection kernel with the minimum walkable matrix.

According to an embodiment, wherein the sensor data is obtained using at least one of an accelerometer sensor (150), a barometer sensor (160), a magnetic sensor (170), a gyroscope sensor (180) and a rotation vector sensor (190).

According to an embodiment, wherein the accelerometer sensor (150) is utilized to estimate the step length by analysing the peak and valley data associated with the step length data, time difference between the peak and valley data associated with the step length data and accelerometer data pattern associated with the step length data by comparing peak and valley data, time difference between peak and valley data, accelerometer data pattern of current step data which is generated with every new step with the calibrated step peak and valley data, calibrated step time difference data and calibrated step data pattern captured during the calibration activity, while walking the user in the plurality of locations of the area.

According to an embodiment, wherein the barometer sensor (160) is utilized to detect a change in floor by determining relative difference in atmospheric pressure from a first location from the plurality of locations to a second location from the plurality of location.

According to an embodiment, wherein the barometer sensor (170) is utilized to update a reference atmospheric pressure and a reference height by monitoring a variance and standard deviation in atmospheric pressure data over short time period intervals, while walking the user in the plurality of locations of the area.

According to an embodiment, wherein the rotation vector sensor (190) and the accelerometer sensor (150) are utilized to determine a user heading direction relative to north direction irrespective of orientation of the electronic device (100) by analysing the accelerometer data in north-east-up world axis resulting in a user moving direction vector in north-east-up axis frame with the vector pointing in north direction provided from rotation vector sensor data, wherein the accelerometer data is converted from device frame axis to world frame axis using the rotation vector sensor data providing device orientation in world frame axis, while walking the user in the plurality of locations of the area.

According to an embodiment, this disclosure provides an electronic device (100) for generating diagrammatic representation of an area, comprises: a memory (130); a processor (110), coupled with the memory (130), configured to: obtain sensor data of a plurality of locations associated with the area over a period of time; generate a heat map of the sensor data of each of the location of the area; and generate the diagrammatic representation of the area based on the heat map of the sensor data.

According to an embodiment, wherein the processor (110) is configured to: receive a usage of at least one appliance in the diagrammatic representation of the area over a period of time; classify spaces in the diagrammatic representation by determining relation between a user defined location name and relative position of the at least one appliance using a machine learning procedure; and place the at least one appliance in the diagrammatic representation of the area.

According to an embodiment, wherein the processor (110) is configured to perform at least one of an action using the diagrammatic representation of the area, wherein the action comprises tracking at least one of a user in the area using the diagrammatic representation, tracking at least one appliance in at least one location of the area using the diagrammatic representation, and controlling the at least one appliance in the at least one location of the area using the diagrammatic representation.

According to an embodiment, wherein generate the heat map of the sensor data of each of the location of the area comprises: determine an intensity of the sensor data based on a number of times the sensor data received of each of the locations; determine a time period spend by the electronic device (100) in each of the locations; and generate the heat map based on the intensity of the sensor data and the time period spend by the electronic device (100) in each of the locations.

According to an embodiment, wherein generate the diagrammatic representation of the area based on the heat map of the sensor data comprises: obtaining the heat map based on an intensity of the sensor data and time period spend by the electronic device (100) in each of the locations; obtaining an edge detection kernel matrix in different orientation, wherein the edge detection kernel matrix is configured to identify edges of different orientation in the diagrammatic representation of the area, wherein ratio of maximum walkable value in each of the locations in the heat map and minimum walkable value in each of the locations in the heat map is determined as edge detection kernel center value for all matrices of different orientations; convoluting edge detection kernels in different orientations with the heat map to obtain various edge detection matrices, wherein each edge detection matrix is further used for identifying edges of particular orientation in the diagrammatic representation of the area, identifying at least one edge of the different orientation of in the diagrammatic representation of the area based on the convolution using a walkable threshold in edge detection matrix.

According to an embodiment, wherein generate the diagrammatic representation of the area based on the heat map of the sensor data comprises: obtaining the heat map based on an intensity of the sensor data and time period spend by the electronic device (100) in each of the locations; obtaining passage detection kernel in different orientations for identifying passages of different orientations in the diagrammatic representation of the area, wherein ratio of maximum walkable value in each of the locations in the heat map and minimum walkable value in each of the locations in the heat map is determined as passage detection kernel center value for all matrices of different orientations; convoluting passage detection kernels in different orientations with the heat map to obtain passage detection matrices, wherein each passage detection matrix is further used for identifying passages of particular orientation in the diagrammatic representation of the area; and identifying at least one passage of different orientation in the diagrammatic representation of the area based on the convolution using a walkable threshold in the passage detection matrix

According to an embodiment, wherein identify the at least one passage of the at least one room in the diagrammatic representation of the area based on the convolution using the walkable threshold comprises: compare indices of at least one edge determined using the edge detection matrix with same indices of the passage detection matrix to identify at least one passage; and identify the at least one passage of the at least one room in the diagrammatic representation of the area based on the comparison.

According to an embodiment, wherein the passage detection kernel matrix and the passage detection kernel matrix are determined from different orientations, wherein values of the edge detection kernel matrix and the passage detection kernel matrix determined from various orientations are computed to determine the at least one passage and the at least one edges in the diagrammatic representation of the area.

According to an embodiment, wherein the walkable threshold in the edge detection matrices is determined by convoluting at least one of the edge detection kernel with the minimum walkable matrix.

According to an embodiment, wherein the walkable threshold in the passage detection matrices is determined by convoluting at least one of the passage detection kernel with the minimum walkable matrix.

According to an embodiment, wherein the sensor data is obtained using at least one of an accelerometer sensor (150), a barometer sensor (160), a magnetic sensor (170), a gyroscope sensor (180) and a rotation vector sensor (190).

According to an embodiment, wherein the accelerometer sensor (150) is utilized to estimate the step length by analysing the peak and valley data associated with the step length data, time difference between the peak and valley data associated with the step length data and accelerometer data pattern associated with the step length data by comparing peak and valley data, time difference between peak and valley data, accelerometer data pattern of current step data which is generated with every new step with the calibrated step peak and valley data, calibrated step time difference data and calibrated step data pattern captured during the calibration activity, while walking the user in the plurality of locations of the area.

According to an embodiment, wherein the barometer sensor (160) is utilized to detect a change in floor by determining relative difference in atmospheric pressure from a first location from the plurality of locations to a second location from the plurality of location.

According to an embodiment, wherein the barometer sensor (160) is utilized to update a reference atmospheric pressure and a reference height by monitoring a variance and standard deviation in atmospheric pressure data over short time period intervals, while walking the user in the plurality of locations of the area.

According to an embodiment, wherein the rotation vector sensor (190) and the accelerometer sensor (150) are utilized to determine a user heading direction relative to north direction irrespective of orientation of the electronic device (100) by analysing the accelerometer data in north-east-up world axis resulting in a user moving direction vector in north-east-up axis frame with the vector pointing in north direction provided from rotation vector sensor data, wherein the accelerometer data is converted from device frame axis to world frame axis using the rotation vector sensor data providing device orientation in world frame axis, while walking the user in the plurality of locations of the area.