This page explains how to create a Flow that makes ugo say hello when it sees someone passing by.
*This Flow is available for ugo Pro with ugo OS v4.4.0 or later.
*If you wish to use the object detection function on a ugo Pro manufactured between March and September 2025, in addition to updating to ugo OS v4.4.0, you will need to have the AI model for detection remotely applied to the device by our company. Customers who wish to use the object detection function on the affected models should contact us.
◆ Table of Contents
◆ About this Flow
This Flow explains how to create a flow that will make ugo greet anyone passing within 3 meters of it. We will use the following features of ugo Pro.
- Object detection
- Arm
- Face display
- Time-based voice output
- Flow repetition
◆ Flow registration
First, create a framework for Flow.
① Click [Flow Settings] from the global menu.
② Click the "Create New" button in the upper right corner of the page to register a new Flow account.
③ Here, we'll name the Flow "Automatic Greeting".
Please set the [Description], [Building/Flow Group], and [Floor] to whatever you like. After filling in the information, click "Register and Edit" in the bottom right corner to save.
◆ Creating a Flow
Now we'll actually add commands to Flow.
① To add a command, press the [New] button to open the [Command Picker].
② First, we need to detect people, so we add the "Object Detection" command in the "Recognition" tab. This time, to detect people passing within a 3m radius in front of ugo, please set the parameters as follows. After setting the parameters, click [Add].
*In this example, we will use the "Detection Distance Specification Function" mode of the "Object Detection" command.
For details on detection modes, please refer to "Object Detection Function".
| Parameters | Setting | Explanation |
| Recognition distance | 3 | You can set the distance between the target being detected and ugo. For this example, we'll set it to detect people up to 3 meters away. The range is adjustable from 0.5m to 5m, so please adjust it as needed to suit your environment. |
| Recognition width | Not entered |
Please do not enter anything. If you set the parameter without entering anything, it will automatically be set to "0", but the "Detection Distance Specification" setting will function correctly. |
| Response time [sec] | 0.4 | This is the time interval for aggregation. Analysis results from every 0.1 seconds will be aggregated and evaluated for this time period. In this case, the response time is set short because the action needs to be taken before a person passes by. |
| Target camera | Front camera / Gimbal camera | Select the camera to use for detection. This time, please select [Front Camera/Gimbal Camera]. |
| Detection accuracy threshold | 0.8 | |
| Detection rate threshold (%) | 50 | |
| Detection mode | Target detected (distance) | This time, we'll set up a flow that proceeds to the next command when a person is detected within the set distance range, so please select "[Detects Target (Distance)]". |
| Detection target | Person | Since it detects people, select "Person". |
③ Next, let's move the arm. Select the "Salute" command in the "Arm" tab and click "Add". This command will make the arm assume a saluting position.
④ Now that we've moved the arm, let's change the facial expression on the face display. Select the "Smile" command in the "Face Display" tab and click "Add".
⑤ Now that their facial expression has changed, let's have them say a greeting. This time, we will use the "Voice Speaking by Time of Day" command located in the "Voice" tab. This command allows you to change the content of the speech depending on the time of day, so enter the lines you want to be spoken at any given time.
Scrolling down the parameters allows you to enter dialogue for each time of day: morning, noon, evening, night, and late night. After entering the information, click "Add".
*The dialogue set for each time period will be randomly selected and spoken. Please change the dialogue in the parameters as needed.
(For example, remove the line "Welcome" in the morning (06-11), or add dialogue in the late night (00-06)).
⑥ Let's review the work done so far. We can now perform the following steps: [Object detection] → [Salute] → [Smile] → [Speak]. From here, we will register commands to restore the system to its original state.
⑦ First, let's return the face display to its original default expression. Select the "Default" command in the "Face Display" tab and click "Add".
⑧ Next, let's return the arm to its original position. Select the "Standby Position" command in the "Arm" tab and click "Add". This command will change ugo's arms back to their default idle position.
⑨ At this point, we have created the entire sequence of steps. Next, we'll add a command so that this flow can be executed every time someone passes by ugo. Add the "Flow Repeat" command located in the "Move" tab. This command will cause Flow to run repeatedly.
Please set the parameters as follows:
| Restart command number | This time, we will repeat from the first command, "Object Detection," so we enter [0]. |
| Waiting time (seconds) | If this parameter is set to 0 seconds, ugo will continuously repeat the greeting action if a person is standing in front of it. In this example, we set the waiting time (seconds) to [15]. This will cause it to return to the first "object detection" command after 15 seconds, resulting in a more natural greeting action. |
⑩ Finally, click "Update" in the bottom right corner of the page to save the Flow.
◆ Flow completed
The Flow is now complete. Let's review the overall process.
Object detection (person detected) → salute → smile → greet → return to original expression → return to original posture → return to the beginning after 15 seconds.
You can use this Flow as is, or you can modify it to suit your specific needs.
◆ Supplementary information and applications
Regarding the detection mode of the "Object Detection" command:
In this example of Flow creation, the "Detection Distance Specification Function" mode set in the
parameters of the "Object Detection" command operates by using both "AI-based image recognition" and
"LiDAR-based distance measurement." AI: It recognizes "people" from the video. LiDAR: Measures the distance to objects in the direction of a recognized "person". Due to this mechanism, in environments where there are fixed objects or walls near the front of ugo,
when the AI recognizes a person at a distance, the LiDAR may mistakenly identify a nearby fixed object as the object,
potentially leading to a misidentification (misjudgment of distance) that "a person is nearby."
Please be aware of this.
In that case, please consider using the "Image Range Specification Function" mode in the parameters
of the "Object Detection" command.
Please refer to the page below for details.
"Detection distance specification function" mode |
"Image Area Selection Function" mode |
Regarding the command execution interval in Flow:
In this example Flow, if you feel that the command execution interval for object detection
[(detecting a person) → salute → smile → greet → return to original expression → return to original posture]
is too slow, you can speed up the execution interval using the "Flow traversal speed: Custom" command in the [Move] tab. Change the "Command execution interval (seconds)" parameter of the "Flow traversal speed: Custom" command from the default 0.5 Please try changing it to [0.1].
Please adjust the [Command Execution Interval (seconds)] parameter as needed to suit your operational needs.
*There is no need to change any other parameter items.
Include the "Flow iteration speed: custom" command at the beginning of the Flow and
set it using the parameters of the "Flow repeat" command.
For the [Restart Command Number], since the process will repeat from command number 2,
"Object Detection," please enter [1] (subtracting 1).
Example of integration into Flow |
Using the "Detect No Object" option in the "Object Detection" command:
If you want to repeat the "object detection" command after confirming that the person has left ugo, Insert the "Object Detection" command immediately before the "Flow Repeat" command.
When you set the "Detection Mode" parameter of the "Object Detection" command
to "Detect No Object (Distance)" or "Detect No Object (Image)", it will behave as follows:
"If it confirms that there is no person in front of ugo, proceed to the next command."
Example settings for detecting that there are no people within a 3m radius in front of ugo.
| Parameters | Setting | Explanation |
| Recognition distance | 3 | You can set the distance between the target being detected and ugo. For this example, we'll set it to detect people up to 3 meters away. The range is adjustable from 0.5m to 5m, so please adjust it as needed to suit your environment. |
| Recognition width | Not filled in |
Please do not enter anything. If you set the parameter without entering anything, it will automatically be set to "0", but the "Detection Distance Specification" setting will function correctly. |
| Response time [sec] | 3 | This is the time interval for aggregation. Analysis results from every 0.1 seconds will be aggregated and evaluated for this time period. In this case, we have set a longer response time because we will only take action after confirming that no one is standing in front of ugo. |
| Target camera | Front camera / Gimbal camera | Select the camera to use for detection. This time, please select [Front Camera/Gimbal Camera]. |
| Detection accuracy threshold | 0.8 | |
| Detection rate threshold (%) | 70 | |
| Detection mode | No target detected (distance) | This time, we'll configure the flow so that it proceeds to the next command only if it doesn't detect a person within the set distance range, so please select "Detect No Target (Distance)". |
| Detection target | Person | Since we want to detect people, select "Person". |
Example of integration into Flow |