RosMessage - FCSCinCyberSpace/icra2024-unity GitHub Wiki
Messages used to interact between the robot and the customer.
[interactive_customer_service/Conversation]
string type
string detail
The type is a fixed string. One of several different strings will be set.
No | Topic Name | Direction | Description |
---|---|---|---|
1 | /interactive_customer_service/ message/customer |
Customer ⇒ Robot | Message from the customer to the robot. |
2 | /interactive_customer_service/ message/robot |
Robot ⇒ Customer | Message from the robot to the customer. |
For details on events, please refer to the following table.
No | Event | Direction | type | detail | Description |
---|---|---|---|---|---|
1 | Send Are_you_ready? | Customer ⇒ | "Are_you_ready?" | (blank) | This is sent at the start of the session and is sent periodically until I_am_ready is returned. |
2 | Send I_am_ready | Robot ⇒ | "I_am_ready" | (blank) | Send when ready. |
3 | Message from Customer | Customer ⇒ | "customer_message" | free text | Set a free speech text (e.g., "I want a canned coffee. I think it was a kind of blue color, if I remember correctly.", "Yes","No","I don't know") in the detail field. |
4 | Message from Robot | Robot ⇒ | "robot_message" | free text | Set a free speech text (e.g., "There are two products. Is it 350 ml?") in the detail field. More than 1000 characters will be truncated. Depending on the timing of the transmission, the message processing may fail and return a "Bad timing" message(see below). |
5 | Robot message succeeded | Customer ⇒ | "robot_message_succeeded" | (robot message) | Sent when the message is accepted. |
6 | Robot message failed | Customer ⇒ | "robot_message_failed" | "Bad timing:(robot message)" | Sent when the robot sent a message at a bad timing. |
7 | Take an item | Robot ⇒ | "take_item" | product name | Send when you want to take the product from shelves. The robot can also take another item off the shelf when it is holding an item. Depending on the timing of the transmission, the message processing may fail and return a "Bad timing" message(see below). |
8 | Take item succeeded | Customer ⇒ | "take_item_succeeded" | (product name) | Sent when the message is accepted. |
9 | Take item failed | Customer ⇒ | "take_item_failed" | "Bad timing:(product name)" or "Item not found:(product name)" |
Sent when the product could not be taken. |
10 | Give an item | Robot ⇒ | "give_item" | (blank) | Send when you want to give the product to the customer. Depending on the timing of the transmission, the message processing may fail and return a "Bad timing" message(see below). |
11 | Give item succeeded | Customer ⇒ | "give_item_succeeded" | (blank) | Sent when the message is accepted. |
12 | Give item failed | Customer ⇒ | "give_item_failed" | "Bad timing" or "You have nothing" |
Sent when the product could not be given. |
13 | Succeeded the task | Customer ⇒ | "Task_succeeded" | (blank) | Sent when the task is successfully completed. |
14 | Failed the task | Customer ⇒ | "Task_failed" | "Wrong product" | Sent when the wrong product is placed. |
15 | Time is up | Customer ⇒ | "Task_failed" | "Time_is_up" | Sent when the task is terminated incomplete due to time expiration. |
16 | All tasks finished | Customer ⇒ | "Mission_complete" | (blank) | Sent when all tasks have been completed. |
17 | Send Give_up | Robot ⇒ | "Give_up" | (blank) | Send when you want to give up the task. It is possible to give up after the "Are_you_ready?" is sent until the task judgment is completed. |
18 | Give up | Customer ⇒ | "Task_failed" | "Give_up" | Sent when the task is terminated incomplete due to "Give_up". |
Note: Customer ⇒: from the customer to the robot, Robot ⇒: from the robot to the customer
Note: Bad timing: "Bad timing" refers to situations such as when there are unprocessed robot messages, when either the robot or the customer is speaking, or when the robot is moving to pick up an item. Before sending "I_am_ready" is also bad timing.
Messages to send an image presented by the customer.
After task start, the image sent once, but not always.
Use [sensor_msgs/Image]. See below.
https://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/Image.html
No | Topic Name | Direction | Description |
---|---|---|---|
1 | /interactive_customer_service/ /customer_image |
Customer ⇒ Robot | Sent only once after the task starts. |
Messages used to notify the robot's state.
This message is sent at regular intervals.
[interactive_customer_service/RobotStatus]
string state
bool speaking
string grasped_item
One of three states ("standby", "in_conversation", or "moving") is set to the state.
- "standby": until the robot returns I_am_ready.
- "in_conversation": the robot is in front of the customer.
- "moving": the robot is moving.
The speaking is true when either the robot or the customer is speaking.
The name of the item grasped by the robot is set in the grasped_item.
No | Topic Name | Direction | Description |
---|---|---|---|
1 | /interactive_customer_service/ robot_status |
Customer ⇒ Robot | Sent the robot's status at regular intervals. |