CoFlorist — A Physical AI Florist That Listens and Offers a Flower
“A flower for how you feel.” A flower that reflects how you feel right now.
CoFlorist is an emotionally expressive physical AI project that talks with people, recommends flowers based on their feelings and stories, and uses a robotic arm to hand them their chosen flower.
An expressive cat agent listens to the user, responds through words and facial expressions, and helps them choose a flower. The robot then delivers it according to the user’s choice and readiness.
We aim to build a system where empathy expressed through conversation, character expressions, and robotic movement becomes the tangible experience of receiving a flower.
Inspiration — Emotionally Expressive Physical AI Inspired by the Fruit Fly Nervous System
From Survival Instincts to Emotional Interaction with Humans
This project began with a question: “Can a robot feel alive to a person without being explicitly given emotions?”
People interpret emotions and intentions by observing other living creatures. A small insect fleeing from a hand may appear afraid, while one that keeps its distance and then returns may seem curious. These interpretations arise in the person observing the behavior.
We were particularly interested in fruit flies. Despite their relatively small nervous systems, they sense their surroundings, avoid danger, approach goals, and change their behavior through experience.
Connectome research exploring fruit fly neural connections prompted us to consider the relationship between neural circuits and behavior as a design question. Inspired by this research, we envisioned an AI agent with internal states and action-selection mechanisms resembling survival instincts, expressed through physical movement.
The First Idea: A Robot That Reads the Situation
Our initial idea was a small robot that would approach or withdraw in response to a person’s presence and movement, adapting its responses based on previous experiences.
Here, “reading the situation” does not mean accurately guessing someone’s emotions. It means observing another person’s behavior and the surrounding context, then adjusting the next action based on the robot’s current state and past experience.
A robot that wants to approach a person but stops when they move suddenly. A robot that waits when someone is not ready and changes how it approaches and responds through repeated interactions. We thought these behavioral changes could become the basis for expressing personality and an evolving relationship.
From Behavioral Changes to Emotional Expression
The project did not begin as an attempt to directly give robots human emotions such as love, fear, or anger.
Instead, we aim to define internal states—such as motivation to approach, caution, curiosity, and interaction history—and explore how people interpret the resulting behavior.
- When caution increases, the robot stops moving or maintains its distance.
- When the situation is unclear, it observes or asks a question before acting.
- When the user asks it to wait, it pauses while remembering the current task.
- When the user shares a preference, it incorporates that preference into later suggestions.
- When an action fails, it chooses another approach or requests help instead of repeating the same movement.
These responses do not mean the robot actually experiences emotions. They provide a way to explore whether context-sensitive behavior and changes through experience can be perceived as consideration, curiosity, or friendliness.
Developing the Idea into a Cat Agent and an AI Florist
We connected this action-selection structure to an expressive cat agent so users could understand and relate to its behavior.
The cat listens attentively, tilts its head when curious, and maintains a calm expression while waiting for a choice. The key is to make its conversation, expressions, and the robot’s movements communicate the same situation.
We chose the role of a florist to turn this idea into a concrete experience.
Choosing flowers naturally involves feelings, preferences, personal stories, and relationships. Statements such as “I’m a little tired today,” “I want to thank a friend,” or “I like bright colors” become both conversation starters and clues for flower recommendations.
CoFlorist listens, suggests flowers, and physically delivers the user’s selection. Our original idea of a robot that reads the situation developed into an AI florist that respects a person’s choices and pace.
The Problem We Want to Address
People unfamiliar with flowers may find it difficult to choose one that suits their mood or the intention behind a gift. People who need assistance with manual tasks may also need help picking up or moving a flower after choosing it.
CoFlorist aims to help users express their circumstances and preferences in everyday language, without requiring specialist flower knowledge or complicated controls.
Users can hear the reasoning behind a recommendation, change their choice, or ask the robot to wait until they are ready. They decide which flower to choose and when to receive it.
We will initially focus on this selection and delivery experience, then expand toward assistance with flower placement and simple floral arrangements.
What We Are Building
1. A Conversational Bot That Listens to How You Feel
The cat agent asks about the user’s mood, reasons for choosing a flower, and favorite colors through conversation.
It follows up based on what the user explicitly shares, without making definitive judgments about their emotions. Users who prefer not to discuss their feelings can receive recommendations based solely on preferences such as color or flower shape.
2. A Cat Character That Responds Through Expressions
The cat character uses facial expressions and movement to convey states such as listening, curiosity, empathy, happiness, and waiting.
Its expressions make the interaction approachable while communicating the system’s current state: whether it is listening, waiting for a choice, or preparing a flower.
For example, when a user says “Hold on,” the cat acknowledges the request, switches to a waiting expression, and the robot pauses its task.
3. Flower Recommendations with Clear Reasons
The system suggests available flowers based on the user’s stated feelings, story, and color preferences.
It explains its reasoning briefly and clearly. For example: “I chose this flower because you said you wanted something bright and liked yellow.”
Rather than assigning fixed meanings to flowers, we aim to help users choose by checking and responding to their preferences.
4. Physical AI That Picks Up and Offers a Flower
Once the user chooses a flower, the OMX-AI robotic arm picks it up from a predefined tray and moves it to the delivery position.
We will first validate reliable single-flower pickup and placement at a designated receiving location, then expand toward direct handover coordinated with the user’s readiness.
The goal is also to reflect requests to wait, resume, or change the selection in the robot’s task state.
Demo Scenario
User: “I finished my presentation today, but I keep thinking about what could have gone better. I’m a little drained.”
Cat Agent: “It sounds like parts of it are still on your mind. Would you prefer a flower with a calm feel, or something bright?” → Slightly lowers its ears and adopts an attentive expression.
User: “Something bright would be nice. I like yellow.”
Cat Agent: “How about this yellow sunflower? It’s a color you like, and it fits the bright feeling you’re looking for.” → Smiles gently and displays the recommended flower with its explanation.
User: “Sounds good. But wait a moment.”
Cat Agent: “Of course. Let me know when you’re ready.” → Switches to a waiting expression while the robot pauses.
User: “I’m ready now.”
Cat Agent: “I’ll bring you the yellow sunflower you chose.” → The robotic arm picks up the flower and moves it to the delivery position.
The demo aims to show the user’s story, the cat’s expressions, the flower recommendation, and the robot’s actions working together as one continuous interaction.
System Architecture and Implementation Approach
We separate the system into conversation understanding, flower recommendation, character expression, action selection, and robot control.
Conversation Input
The user speaks or types their feelings, preferences, and requests.Conversation and Intent Interpretation
The system distinguishes information needed for recommendations from task requests such as waiting, changing a selection, or resuming.Flower Recommendation
It suggests candidates from the available flowers, explains its reasoning, and confirms the user’s choice.Action Selection
Based on the current conversation and task state, it decides whether to ask, recommend, wait, deliver, or retry.Expression and Movement
The selected action is translated into the cat’s expressions and dialogue, together with the robotic arm’s physical movements.State Tracking
The system tracks the chosen flower, pause point, user preferences, and failure history.
We plan to connect confirmed tasks to permitted robot actions rather than send conversational model outputs directly to the motors.
Action Selection Inspired by Fruit Flies
Our original concepts of approach, avoidance, exploration, and memory become concrete behaviors in flower recommendation and delivery.
- Approach: Suggest a flower and prepare to deliver it following the user’s choice.
- Avoidance and Stopping: Pause in response to a stop request or task conditions.
- Exploration: Ask questions or suggest alternatives when information is insufficient.
- Memory: Use preferences, selection changes, pause points, and failure history to inform the next action.
The initial implementation will use a state machine and experience logs to support an adaptive policy. Later, we may explore simulation and learning-based policies to respond to changing environments.
This design takes inspiration from fruit fly action selection. Directly replicating fruit fly neural circuits or reproducing human emotions is outside the scope of the initial implementation.
Initial Implementation Scope
Our first goal is an experience in which a user talks with the cat agent, chooses one flower, and receives it from the robot when they are ready.
- A cat character that expresses listening, empathy, recommendation, and waiting states
- Short conversations to establish feelings and preferences
- Recommendation and selection among three prepared artificial flower types
- Display of recommendation reasons and the selected flower
- Flower pickup and transport to a designated location using OMX-AI
- Waiting, resuming, and selection changes
- Logging of task stages and grasp failures
We plan to standardize task conditions with fixed flower positions in a tray and easy-to-grip stem sleeves. After validating the basic movements, we will expand to fresh flowers and more varied arrangements.
Dashboard Expansion Plan
We aim to expand the project into a dashboard that brings together conversation, character expressions, flower recommendations, and robot task status.
User View
- Cat Agent: Current expression and listening, responding, or waiting state
- Conversation Panel: The user’s story and the agent’s responses
- Recommendation Cards: Flower images, recommendation reasons, and alternative choices
- Selection Details: The chosen flower and explicitly stated preferences
- Delivery Progress: Preparing, waiting, delivering, and completed
- Task Requests: Change selection, wait, resume, and cancel
The user view will focus on talking with the cat and choosing flowers.
Operator View
- Available flower types and quantities
- Robot connection status and current task stage
- Camera view of the workspace
- Success and failure logs for flower pickup and delivery
- Pause points and retry history
- Manual intervention and stop controls
- Results and user feedback for each demo session
Mood information shown on the dashboard will center on what users have explicitly shared or confirmed. Inferred information will not be presented as a definitive emotional assessment.
Implementation Challenges
Coordinating Conversation with Physical Action
The moment the cat says “I’ll bring you the flower” must align with the robot’s readiness. Expressions and explanations must also reflect the actual situation when a task is delayed or fails.
Picking Up and Delivering Flowers Reliably
Differences in stem thickness and leaf placement can make flowers difficult to grasp. We will begin with consistent task conditions and design the system to avoid unnecessary repetition after a failed attempt.
Handling Requests That Change During Conversation
When a user changes their flower choice or asks the system to wait, the conversation state, interface, and robot task must update together. The system also needs to distinguish actions already completed from those still planned.
Preserving Both Empathy and User Choice
Expressions and dialogue should respond to the situation the user describes without making definitive emotional judgments or pressuring them to choose a particular flower. Users should be able to reject a recommendation or skip a conversation and still move naturally to the next step.
What We Want to Learn and Evaluate
Through this project, we want to learn how to apply context- and experience-based action selection across conversation, character expression, and robot control.
Beyond making each component work independently, we want to understand whether users feel they are interacting with one coherent agent.
We plan to evaluate:
- Whether stated preferences and choices are reflected in recommendations and delivery
- Whether recommendation reasons are clear and convincing
- Whether the cat’s expressions and dialogue fit the current situation
- Whether requests to wait, resume, or change a selection are handled correctly
- Whether the selected flower is delivered reliably
- Whether the system avoids unnecessary repetition after failure
- Whether users feel their choices and pace are respected
- How much facilitator intervention is needed to complete a demo
We also aim to compare a fixed task sequence with a context-adaptive policy to understand how adaptation changes the interaction experience.
Human-Centered Value — Humanity
CoFlorist’s purpose is not to give robots the same emotions as humans.
It is to explore whether an emotional connection can emerge through listening, asking follow-up questions, respecting requests to wait, and offering a chosen flower.
Users remain in control of their creative choices and preferences, while the cat agent and robot provide conversation and physical assistance. Through these roles, we want to explore ways to make flower selection easier and support creative participation for people who need help with manual tasks.
We will assess emotional satisfaction and participation through user feedback, without assuming therapeutic benefits as a project outcome.
What’s Next
Starting with single-flower recommendation and delivery, we aim to expand toward selecting multiple flowers, placing them at designated locations, and assisting with simple floral arrangements.
Further development may include recommendations based on preferences users agree to retain, a wider range of cat expressions and nonverbal responses, and a dashboard connected to flower availability.
We also plan to explore settings such as flower shops, interactive exhibitions, and community learning centers to understand what kinds of conversation and assistance people actually need.
The central question CoFlorist explores is:
“Can a robot that adjusts its behavior to context and experience create an emotional connection through expressions, conversation, and the physical act of offering a flower?”
We aim to develop a question inspired by fruit fly action selection into a physical AI experience that listens to people and offers them a flower.
Built With
- adaptive-behavior
- affective-computing
- ai-agents
- assistive
- bio-inspired-ai
- conversational-ai
- dashboard
- embodied-ai
- facial-animation
- flower-recommendation
- human-robot-interaction
- omx-ai
- personalization
- physical-ai
- robot-manipulation
- robotics
- social-robotics
- state-machines
- task-planning
- virtual-character