How a Robot Novice Taught the Q1 Bot to Mimic Murloc Sounds
A Developer's Hand-by-Hand Guide: Teaching the Q1 Robot to Make Fish-Man "Wala Wala" Sounds
A few days ago, I saw that the Qiyuan Q1 released a custom Fish-Man edition. My first reaction was: Can this thing modify its own actions? As a developer who deals with code year-round, I decided to try the standard Q1 to see if I could replicate that addictive fish-man waving motion.
Conclusion first: It's completely feasible, and no coding is required. The visual action editor included in the official APP allows you to get it done with a few drags. The entire process takes about 15 minutes, from unboxing to making the robot wave.
Step 1: Connect the Robot to Your Phone
Prerequisite: You have a Qiyuan Q1 Explorer Edition (the standard version should work too, but the Fish-Man edition is a custom skin; the action logic is the same). Your phone is Android or iOS, ensure Bluetooth is on.
1. Power on: Long press the power button on the back of the Q1 until the eyes light up blue. First boot takes about 10 seconds.
2. Download APP: Search "Qiyuan Robot" in the app store, download, install, and register an account (using phone number, you'll receive a verification code).
3. Connect: Open the APP, click "Add Device" on the home screen. The phone will automatically scan nearby Bluetooth devices. See an ID like Q1-xxxx in the device list? Tap it. The robot's eyes will flash, indicating pairing. Note: If scanning fails, try moving the phone closer to the robot (within 10cm) or restart the robot's Bluetooth (long press the small button on the back for 5 seconds).
4. Connection Successful: The APP interface shows "Connected," and the robot's eyes stay solid blue. Now you can swipe the screen with your hand, and the robot will shake its head accordingly—this is basic debugging.
Step 2: Enter Action Editing Mode
This step is core. I searched for ages, thinking it was in settings, but it's hidden in a secondary menu.
1. On the APP home screen, click the third icon at the bottom, "Skills" (looks like a gear plus lightning).
2. Inside, you'll see three options: "Preset Actions," "Custom Actions," and "Voice Control." Click "Custom Actions."
3. A prompt pops up: "Enter action editing mode; the robot will pause all services." Click OK. The robot's eyes turn orange, indicating it's ready to follow your commands.
Step 3: Drag and Drop to Create the Fish-Man Wave
The classic fish-man action is: Right arm swings up and down quickly, body sways left and right, mouth makes "wala wala" sounds. The Q1 robot doesn't have a mouth, but it can shake its head and wave.
1. On the blank canvas, the left side is the "Action Library" list, including: Head Rotation, Arm Swing, Body Tilt, Expression Switch, Sound Playback, etc. Each is a small block.
2. Drag a "Right Arm Swing" block from the left to the center canvas. It automatically generates a timeline, default duration 1 second, amplitude 50%.
3. Drag a "Head Rotation" block, place it after the right arm swing. Default parameters are 30 degrees left/right. Since the fish-man shakes its head while waving, change the rotation angle to "20 degrees left/right," duration 0.5 seconds.
4. Drag a third "Body Tilt" block, change to left/right tilt, amplitude 15%, duration 0.5 seconds.
5. Drag a fourth "Sound Playback" block. The system has a built-in "Wala" sound effect; just select it. Note: If you want to use your own recording, you need to record and upload it first; skip this step for now.
Drag order: Right Arm Swing (0-1s) → Head Rotation (1-1.5s) → Body Tilt (1.5-2s) → Sound Playback (2-2.5s). This creates a complete loop.
Pitfall 1: Initially, I stacked the four blocks together, causing the robot to perform all actions simultaneously, looking like a twitching robot. The correct way is to connect them end-to-start; timelines shouldn't overlap. You can drag the borders of each block's top-left corner to adjust duration.
Pitfall 2: The Sound Playback block is buried deep in the action list, defaulting to the "Expression" category. Open the Expression category, scroll to the bottom, and there's a "Sound Effects" sub-category with three presets: Ding-Dong, Wala, Beep. Select "Wala."
Step 4: Fine-Tune Parameters and Save
1. Click the "Preview" button on the right. The robot will immediately execute your action sequence. If the arm swing amplitude isn't enough, click the Right Arm Swing block and pull the amplitude from 50% to 80%. Want faster movement? Shorten the duration from 1s to 0.6s.
2. Test repeatedly until satisfied. I adjusted it about 3 times to get the waving frequency to look "addictive" like the fish-man—Amplitude 80%, Duration 0.5s, Body Tilt Amplitude 10%, Duration 0.3s.
3. Click "Save" in the top right, enter an action name, e.g., "Fish-Man Wave." After saving, it appears as a small card in the "Custom Actions" list.
Step 5: Execute the Action
1. Return to the APP home screen, click the "Voice Control" button (microphone icon).
2. Say "Fish-Man Wave" to the phone, and the robot will immediately execute the action sequence you just created. If there's no response, check if Bluetooth is still connected, or manually tap the card in the "Custom Actions" list to trigger it.
Parameter Comparison Table (I tested several sets of data for your reference):
| Action Parameter | Amplitude | Duration | Effect |
|---|---|---|---|
| Initial Value | 50% | 1s | Looks like saying hello, too slow |
| After Speeding Up | 80% | 0.5s | Close to fish-man frequency, but body doesn't sway |
| Final Version | 80% + 10% Tilt | 0.5s + 0.3s | Addictive, recommended |
Pitfall Collection
- Bluetooth Disconnection: During editing, if the phone moves more than 2 meters from the robot, Bluetooth disconnects, and the APP prompts "Connection Interrupted." You must re-pair. Solution: Place the robot on the table and the phone next to it; don't walk away.
- Discontinuous Actions: If there are gaps between blocks, the robot pauses. Check the timeline to ensure each block's end time equals the next block's start time. You can drag block edges to align them.
- Sound Faster Than Action: The Sound Playback block defaults to the end of the action, but if you want the "Wala" sound to happen simultaneously with the wave, drag it to the same timeline position as the Arm Swing block (overlap). Note: When overlapping, the robot executes simultaneously; test if the overall effect is coordinated.
What to Try Next After Learning This
You've learned to create actions using visual drag-and-drop. Next, you can challenge yourself with:
1. Control with Python Scripts: Q1 supports a Python SDK. Search "Qiyuan Q1 Python" on GitHub to download examples. Write a few lines of code to make the robot perform fish-man actions based on sensor data (e.g., touching the head).
2. Custom Voice Wake Word: Record "Fish-Man" as a wake word in the APP. Later, just say "Fish-Man" without taking out your phone every time.
3. Object Recognition: Add a camera module to the Q1 (it has reserved interfaces). Write simple color-block tracking so the robot waves when it sees a fish-man sticker.
One-Sentence Summary: The barrier to editing actions on the Q1 robot is lower than imagined. Even for me, a developer who writes code daily, the key lies in dragging to align timelines and repeatedly tuning parameters.
Physix Frontier