Robot and method for controlling thereof
A robot and a controlling method thereof are provided. The robot includes: a camera; a driver; at least one memory storing instructions; and at least one processor operatively connected to the at least one memory. The at least one processor may be configured to execute the instructions to: recognize at least one user located around the robot based on an image acquired through the camera; identify a first rotation angle and a first rotation direction of the robot based on a location of at least one target region in which the at least one user is located among a plurality of regions within a field angle of the camera and a first gaze order for the at least one target region; and control the driver to rotate the robot based on the first rotation angle and the first rotation direction.
1 . A robot comprising:
a camera;
a driver;
at least one memory storing instructions; and
at least one processor operatively connected to the camera, the driver, and the at least one memory and configured to execute the instructions to:
recognize at least one person based on an image acquired through the camera,
identify a first rotation angle and a first rotation direction of the robot based on a location of at least one target region in which the at least one person is located among a plurality of regions within a field angle of the camera and a first gaze order for the at least one target region,
control the driver to rotate the robot based on the first rotation angle and the first rotation direction,
based on another person being recognized from the image during rotation of the robot, generate a second gaze order comprising another target region in which the other person is located among the plurality of regions within the field angle of the camera,
identify a second rotation angle and a second rotation direction of the robot based on a location of the other target region and the second gaze order, and
control the driver to rotate the robot based on the second rotation angle and the second rotation direction.
2 . The robot as claimed in claim 1 , wherein the at least one processor is further configured to execute the instructions to:
identify the plurality of regions by dividing the field angle of the camera by a predetermined angle,
identify, based on the at least one target region being a plurality of target regions, a first target region among the plurality of target regions based on the first gaze order,
identify an initial rotation angle and an initial rotation direction of the robot corresponding to the first target region based on a location of the first target region,
identify a remaining rotation angle and a remaining rotation direction of the robot corresponding to a remaining target region among the plurality of target regions based on the location of the first target region in previous order of the remaining target region and a location of the remaining target region, and
control the driver to rotate the robot according to the first gaze order based on the initial rotation angle, the initial rotation direction, the remaining rotation angle and the remaining rotation direction.
3 . The robot as claimed in claim 1 , wherein the at least one processor is further configured to execute the instructions to:
identify the plurality of regions by dividing the field angle of the camera by a predetermined angle, and
wherein the at least one target region and the other target region are among the plurality of regions.
4 . The robot as claimed in claim 3 , wherein the at least one processor is further configured to:
based on the at least one target region being a plurality of target regions, identify a next target region next in order to a current target region at which the robot is gazing based on the second gaze order, the plurality of target regions comprising an unattended target region and the other target region,
identify a next rotation angle and a next rotation direction of the robot corresponding to the next target region based on a location of the next target region, and
identify a remaining rotation angle and a remaining rotation direction of the robot corresponding to a remaining target region after the next target region based on a location of the next target region and a location of the remaining target region.
5 . The robot as claimed in claim 4 , wherein the at least one processor is further configured to execute the instructions to:
based on the next target region being the other target region, identify the second rotation angle and the second rotation direction based on the location of the other target region,
identify a third rotation angle and a third rotation direction of the robot corresponding to the unattended target region based on the location of the other target region, and
control the driver to rotate the robot based on the third rotation angle and the third rotation direction after the robot gazes at the new target region.
6 . The robot as claimed in claim 4 , wherein the at least one processor is further configured to execute the instructions to:
based on the next target region being the unattended target region, identify the second rotation angle and the second rotation direction based on the location of the other target region and a location of the unattended target region coming before the other target region, and
control the driver to rotate the robot based on the second rotation angle and the second rotation direction after gazing at the unattended target region before the other target region.
7 . The robot as claimed in claim 1 , wherein the at least one processor is further configured to execute the instructions to:
based on the rotation angle of the robot for gazing at other new target region being equal to or greater than a predetermined critical angle, maintain the first gaze order without including the other target region in the first gaze order.
8 . The robot as claimed in claim 1 , wherein the at least one processor is further configured to execute the instructions to:
identify a plurality of first people based on the image acquired through the camera; and
identify a plurality of people in a same group among the plurality of first people based on at least one of a distance between the plurality of first people, a time at which the plurality of first people are located within the field angle of the camera, and whether the plurality of first people have a conversation.
9 . The robot as claimed in claim 1 , further comprising:
a microphone configured to receive a voice,
wherein the at least one processor is further configured to execute the instructions to:
based on the at least one person being a plurality of people and the at least one target region being a plurality of target regions, identify gaze durations that the plurality of people gaze at the robot based on the image acquired through the camera,
identify a number of voice inputs of the plurality of people for the robot based on the voice acquired through the microphone,
calculate interaction scores of the plurality of people based on the gaze durations and the number of voice inputs,
identify a regional interaction score corresponding to each target region based on the interaction score of at least one person respectively located in each target region, and
determine the first gaze order for the plurality of target regions based on the regional interaction score corresponding to each target region.
10 . The robot as claimed in claim 9 , wherein the at least one processor is further configured to execute the instructions to:
determine a regional gaze duration for each target region based on the regional interaction score corresponding to each target region; and
control the driver to cause the robot to gaze at each target region during the regional gaze duration.
11 . A controlling method of a robot, the controlling method comprising:
recognizing at least one person based on an image acquired through a camera;
identifying a first rotation angle and a first rotation direction of the robot based on a location of at least one target region in which the at least one person is located among a plurality of regions within a field angle of the camera and a first gaze order for the at least one target region;
controlling a driver to rotate the robot based on the first rotation angle and the first rotation direction;
based on a another person being recognized from the image during rotation of the robot, generating a second gaze order comprising another target region in which the another person is located among the plurality of regions within the field angle of the camera;
identify a second rotation angle and a second rotation direction of the robot based on a location of the other target region and the second gaze order; and
controlling the driver to rotate the robot based on the second rotation angle and the second rotation direction.
12 . The controlling method as claimed in claim 11 , wherein the identifying of the first rotation angle and the first rotation direction comprises:
identifying the plurality of regions by dividing the field angle of the camera by a predetermined angle;
identifying, based on the at least one target region being a plurality of target regions, a first target region among the plurality of target regions based on the first gaze order;
identifying an initial rotation angle and an initial rotation direction of the robot corresponding to the first target region based on a location of the first target region; and
identifying a remaining rotation angle and a remaining rotation direction of the robot corresponding to a remaining target region among the plurality of target regions based on the location of the first target region in previous order of the remaining target region and a location of the remaining target region.
13 . The controlling method as claimed in claim 11 , wherein the identifying the second rotation angle and the second rotation direction further comprises:
identifying the plurality of regions by dividing the field angle of the camera by a predetermined angle, and
wherein the at least one target region and the other target region are among the plurality of regions.
14 . The controlling method as claimed in claim 13 , wherein the identifying the first rotation angle and the first rotation direction comprises:
based on the at least one target region being a plurality of target regions, identifying a next target region next in order to a current target region at which the robot is gazing based on the second gaze order, the plurality of target regions comprising an unattended target region and the other target region;
identifying a next rotation angle and a next rotation direction of the robot corresponding to the next target region based on a location of the next target region; and
identifying a remaining rotation angle and a remaining rotation direction of the robot corresponding to a remaining target region after the next target region based on a location of the next target region and a location of the remaining target region.
15 . The controlling method as claimed in claim 14 , wherein the identifying the next rotation angle and the next rotation direction comprises based on the next target region being the other target region, identifying the second rotation angle and the second rotation direction based on the location of the other target region,
wherein the identifying the remaining rotation angle and the remaining rotation direction comprises identifying a third rotation angle and a third rotation direction of the robot corresponding to the unattended target region based on the location of the other target region, and
wherein the controlling the driver to rotate the robot based on the third rotation angle and the third rotation direction comprises controlling the driver to rotate the robot based on the third rotation angle and the third rotation direction after the robot gazes at the other target region.
16 . The controlling method as claimed in claim 14 , further comprising:
based on the next target region being the unattended target region, identifying the second rotation angle and the second rotation direction based on the location of the other target region and a location of the unattended target region coming before the other target region; and
controlling the driver to rotate the robot based on the second rotation angle and the second rotation direction after gazing at the unattended target region before the other target region.
17 . The controlling method as claimed in claim 11 , further comprising:
based on the rotation angle of the robot for gazing at the other target region being equal to or greater than a predetermined critical angle, maintaining the first gaze order without including the other target region in the first gaze order.
18 . The controlling method as claimed in claim 11 , further comprising:
identifying a plurality of first people based on the image acquired through the camera; and
identifying a plurality of people in a same user group among the plurality of first people based on at least one of a distance between the plurality of first people, a time at which the plurality of first people are located within the field angle of the camera, and whether the plurality of first people have a conversation.
19 . The controlling method as claimed in claim 11 , further comprising:
based on the at least one user being a plurality of people and the at least one target region being a plurality of target regions, identifying gaze durations that the plurality of people gaze at the robot based on the image acquired through the camera;
identifying a number of voice inputs of the plurality of people for the robot based on a voice acquired through a microphone;
calculating interaction scores of the plurality of people based on the gaze durations and the number of voice inputs;
identifying a regional interaction score corresponding to each target region based on the interaction score of at least one person respectively located in each target region; and
determining the first gaze order for the plurality of target regions based on the regional interaction score corresponding to each target region.
20 . The controlling method as claimed in claim 19 , further comprising:
determining a regional gaze duration for each target region based on the regional interaction score corresponding to each target region; and
controlling the driver to cause the robot to gaze at each target region during the regional gaze duration.