Skip to content

Publishing the current state of the robot (Topic) ​

Publish robot state information to the /gbt_driver/feedback_states Topic. Includes connection status of the robotic arm, robot status, controller status, servo status, robotic arm soft mode status, robotic arm joint status, end-effector pose, robot alarm codes, and speed percentage. Subscribe to this topic to obtain real-time status information of the robotic arm.

Supported Robot Connections ​

This driver supports three types of robot connections:

  1. Real Robot - Physical robot connected via network IP (default: 10.27.1.254 )
  2. Virtual Controller - Simulated robot for testing (uses same default IP as real robot)
  3. AirBot Cloud Robot - Remote robot accessed through AirBot cloud service (requires registration)

Message Structure ​

gbt_interface/msg/FeedbackState.msg

The following is the message structure for robotic arm status information:

yaml
std_msgs/Header header

# Connection Status
bool is_connected                            # Whether connected to the robot

# Robot Status
string robot_type                            # Robot type
RobotStatus robot_status                     # Robot Status
ControllerStatus controller_status           # Controller Status
ServoStatus servo_status                     # Servo Status
ArmSoftModeStatus arm_soft_mode_status       # Arm Soft Mode Status

# Robot joint 
sensor_msgs/JointState joint_states          # Robot joint states
geometry_msgs/PoseStamped flange_pose        # Robot flange pose
geometry_msgs/PoseStamped tool_pose          # Robot tool pose

# alarm code 
AlarmCode[]   alarm_code_list                # Robot alarm code

float32 overall_speed                        # Overall speed (%)


# IO
IOType[] io                                  # TODO: IO status

bool is_error                                # TODO: implement error detection
uint8 error_code                             # TODO: assign proper error codes on failures


# coordinate system
int32 actived_uf_id                          # Activated user coordinate system ID
int32 actived_tf_id                          # Activated tool coordinate system ID

Known Limitation (IO) ​

  • The io field in /gbt_driver/feedback_states is not published by default.
  • The SDK currently supports batch reads for DO only; other IO types do not support batch read.
  • For IO read access, use per-port service calls via /gbt_driver/service_server/io .

User Guide ​

Configure Robot Connection ​

Modify the robot connection in the gbt_driver/config/robot_config.yaml configuration file.

For Real Robot / Virtual Controller ​

Both real robot and virtual controller use the same default IP address:

yaml
robot_ip_address: "10.27.1.254"  # Default IP for real robot and virtual controller

The system will automatically connect to the virtual controller if the real robot is unavailable at this IP.

For AirBot Cloud Robot ​

Access remote robots through the AirBot cloud service:

  1. Visit http://airbot.sh-agilebot.com/ to register and apply for a cloud robot
  2. After registration, you will receive an assigned robot IP address
  3. Configure your assigned cloud robot address:
yaml
robot_ip_address: "YOUR_ASSIGNED_IP"  # Replace with your assigned AirBot cloud robot IP

Start ROS2 Driver Node ​

Launch the gbt_driver node in the terminal:

bash
source install/setup.bash
ros2 launch gbt_driver gbt_feedback.launch.py

Obtain Robotic Arm Status Information ​

After starting the gbt_driver node, the driver will automatically connect to the robotic arm and begin publishing status information to the following Topic:

  • /gbt_driver/feedback_states

By subscribing to this topic, you can obtain the following information:

  • Robotic arm connection status
  • Robot status
  • Controller status
  • Servo status
  • Robotic arm soft mode status
  • Robotic arm joint status
  • End-effector pose
  • Robot alarm codes
  • Speed percentage
  • UF coordinate system ID
  • TF coordinate system ID

For example, you can use the following command to view the robotic arm's status information:

bash
source install/setup.bash
ros2 topic echo /gbt_driver/feedback_states