đ Introduction â
Welcome to the RBQ simulation, command, and deploy/update manual
This manual provides a comprehensive guide on how to simulate the RBQ robot, command it, and deploy your own algorithms to the real robot.
â đĨī¸ Ready-to-use Simulator and Graphical User Interface for developers â
The RBQ robot can be simulated accurately using MuJoCo: "A fast and accurate physics engine suitable for advanced robotics simulation."
đ Developers can modify the simulation environment "playground" by editing the file:
resources/model/environment.xml
The RBQ GUI is designed to provide users with an intuitive interface for commanding and monitoring the robot.
- It provides visual feedback of the robot status, sensor states, and allows both keyboard and joystick inputs for commands.
GUI Overview â
- This section explains how to use the RBQ GUI, including its key features and interface layout.
đ Top Panel â
The top panel provides the core functionality for connecting to the robot, initializing its pose, and checking motor status. It also includes a button for emergency stops and indicators for battery voltage and IMU sensor status.
Connection Status and Buttons: Shows whether the robot is connected. You can connect or disconnect using these buttons.
Auto Start Robot button: Automatically initiates the robot [Motor Check --> Initialize Pose --> Control Start] sequentially and prepares the system for control.
Motor Check / Initialize Pose / Control Start buttons: Perform key startup actions separately. Although it's recommended to use the Auto Start Robot button instead.
đ In simulation: only Control Start shows green. Meanwhile, on the real robot: all three button indicators turn green when ready.EMERGENCY button: Immediately halts all robot actions so the robot will softly fall down.
To resume operation after an emergency stop, press the Stance button from the Gait select group box.
đ The system enters automatic RECOVERY mode (yellow light) before transitioning to stance motion (green light).
đ Central Panel â
The central panel includes tabs with buttons for sending various commands to the robot.
đ On a real robot, additional Joint, Firmware, Power tabs are available, although it is not recommended to use them.
[ Walk tab ] commands the robot's walking behavior and transitions between gaits.
â Button Action Sit Stance Walk Stairs Running â¨ī¸ Keyboard key 1 2 3 4 5
đ 3D Panel â
- This panel displays a 3D rendered digital twin of the current posture of the connected robot.
đĻ Installation â
- This section explains how to install and set up the RBQ robot simulation and development environment from scratch.
đģ Requirements â
To run the RBQ simulation and deployment environment smoothly, the following requirements are recommended:
OS: Ubuntu 22.04 (x86)
Minimum PC specs:
- CPU: Intel Core i7 - 12th Gen
- RAM: 16 GB
- Storage: 25 GB
Control Devices
- Keyboard: W, A, S, D, Q, E, [1-5] keys
- Joystick: Logitech Wireless Gamepad F710 (Recommended)
đĨ 1. Download the RBQ Repository â
- Clone the repository using the following command:
git clone https://github.com/RainbowRobotics/RBQ.git
đ ī¸ 2. Set up Environment â
- Install necessary libraries using the following command:
bash scripts/setup.bash
âļī¸ Simulation â
- Start the RBQ Control Modules, MuJoCo simulator, and GUI all together with the help of a script.
bash scripts/sim.bash
- If prompted, type your
user password
in the newly opened CLIterminals
to start the processes.
đ Initialize â Connect and Start the Simulated Robot â
In the
RBQ GUI
, click the Connect button to establish the connection.- If successful, the
connection indicator
will change to Simulator Connected text and color blue.
- If successful, the
In the
RBQ GUI
, click the Auto Start Robot button to initiate control.- If successful, the
control indicator
will change to color green.
- If successful, the
đ Stance â Command the Robot to Stand Up â
- Path:
"Walk" tab --> "Gait select" group-box --> "Stance" button
or simply press keyboard button2
- Once commanded, the robot will start moving into a standing posture. After it is done, it will respond to further commands.
- đ It might take a second to transition into a standing posture, depending on the current posture.
đšī¸ Joystick | Command | Keyboard key | Robot Action |
---|---|---|---|
L Stick | Forward / Backward | W / S | Nose up / down |
L Stick | Left / Right | Q / E | Roll Left / Right |
R Stick | Forward / Backward | Height up / down | |
R Stick | Left / Right | A / D | Turn Left / Right |
Shift | Full range of motion |
- đ If a gamepad is detected, only the number keys of the keyboard are bound.
đ Walk â Command the Robot to Walk â
- Path:
"Walk" tab --> "Gait select" group-box --> "Walk" button
or simply press keyboard button3
- Once commanded, the robot will transition to a walking gait. After it is done, it will respond to further commands.
đšī¸ Joystick | Command | Keyboard key | Robot Action |
---|---|---|---|
L Stick | Forward / Backward | W / S | Go Forward / Backward |
L Stick | Left / Right | Q / E | Go Left / Right |
R Stick | Forward / Backward | Pitch Forward / Backward | |
R Stick | Left / Right | A / D | Turn Left / Right |
Shift | Full speed of motion |
- đ If a gamepad is detected, only the number keys of the keyboard are bound.
đ Stairs â Command the Robot to Climb Stairs â
- Path:
"Walk" tab --> "Gait select" group-box --> "Stairs" button
or simply press keyboard button4
- The robot utilizes its vision capabilities to climb stairs.
đšī¸ Joystick | Command | Keyboard key | Robot Action |
---|---|---|---|
L Stick | Forward / Backward | W / S | Go Forward / Backward |
L Stick | Left / Right | Q / E | Go Left / Right |
R Stick | Forward / Backward | ||
R Stick | Left / Right | A / D | Turn Left / Right |
Shift | Full speed of motion |
- đ If a gamepad is detected, only the number keys of the keyboard are bound.
đ Running â Command the Robot to Run â
- Path:
"Walk" tab --> "Gait select" group-box --> "Run" button
or simply press keyboard button5
- The robot performs rapid and agile movements.
- đ Before transitioning into RUN, transitioning to the STANCE posture might be necessary, depending on the current posture and gait.
đšī¸ Joystick | Command | Keyboard key | Robot Action |
---|---|---|---|
L Stick | Forward / Backward | W / S | Go Forward / Backward |
L Stick | Left / Right | Q / E | Go Left / Right |
R Stick | Forward / Backward | ||
R Stick | Left / Right | A / D | Turn Left / Right |
Shift | Full speed of motion |
- đ If a gamepad is detected, only the number keys of the keyboard are bound.
đ Wave Walking â Command the Robot to Walk Smoothly â
- Path:
"Walk" tab --> "Gait select" group-box --> "Wave" button
- The robot walks smoothly with a wave gait pattern.
đšī¸ Joystick | Command | Keyboard key | Robot Action |
---|---|---|---|
L Stick | Forward / Backward | W / S | Go Forward / Backward |
L Stick | Left / Right | Q / E | Go Left / Right |
R Stick | Forward / Backward | Pitch Forward / Backward | |
R Stick | Left / Right | A / D | Turn Left / Right |
Shift | Full speed of motion |
- đ If a gamepad is detected, only the number keys of the keyboard are bound.
đ Aim â Command the Robot to Aim at a Target â
- Path:
"Walk" tab --> "Gait select" group-box --> "Aiming" button
- Use this mode to aim the robot precisely toward a specific target or direction.
đšī¸ Joystick | Command | Keyboard key | Robot Action |
---|---|---|---|
L Stick | Forward / Backward | W / S | Nose up / down |
L Stick | Left / Right | Q / E | |
R Stick | Forward / Backward | ||
R Stick | Left / Right | A / D | Turn Left / Right |
Shift | Full speed of motion |
- đ If a gamepad is detected, only the number keys of the keyboard are bound.
đ Sit â Command the Robot to Sit Down â
- Path:
"Walk" tab --> "Gait select" group-box --> "Sit" button
or simply press keyboard button1
- Command the robot to smoothly transition into a sitting posture.
- đ It might take a second to transition into a sitting posture, depending on the current posture.
đ¤ Real Robot â
This section explains how to operate the real RBQ robot.
đ For detailed operation steps, refer to the Operation Guide
1. Connect to the Robot â
Connect your PC to the robot's Wi-Fi.
đ Wi-Fi SSID:
RBQ_xxxx
.
2. Launch the GUI and Set Robot Control â
Start the GUI
in the bin
directory:
.bin/GUI
Click the Connect button.
- If successful, the
connection indicator
will change to Robot Connected text and color green.
- If successful, the
Click the Auto Start button.
- If successful, the
control indicator
will change to color green, indicating that the robot has been successfully activated and is now ready for operation.
- If successful, the
3. Commands are exactly the same as in simulation â
- đ It is strongly recommended to practice commanding the robot in the simulator first.
đ Deploy Applications (Binaries) to the Robot â
- Run the following command on your development PC to deploy binaries to the Robot:
bash scripts/deploy.bash
You will be prompted for an SSH password.
- Password: Please ask the person in charge for the SSH password.
- â ī¸ Important: Once
deploy.bash
has completed, restart the robot by turning it off and on to run with the newly deployed binaries.