一、简介
在使用SDK操作机器人的第一步,就是给机器人上电、释放抱闸等基础操作,这些操作都作为接口放在了dashboard类中,具体的接口可以查看 CS机器人 python SDK 接口手册 章节,这里提供一个简单的使用案例
二、操作流程
1、安装elite python sdk,确保sdk安装正确、解释器使用python版本正确
2、进入示例代码所在文件夹,打开cmd
3、执行这行代码:python example_dashboard_client.py --ip 192.168.0.1 ,请注意,这里example_dashboard_client.py是文件名,需要替换成真实文件名,--ip参数后输入的是机器人的ip地址,也需要根据实际ip输入
三、常见问题
1、Q:为什么sdk安装后,ide却提示找不到这个库呢?
A:首先请确认安装的python wheel基于什么版本编译的,和使用的版本是否有差异,其次,需要确认当前环境变量里优先级最高的python版本和pip版本,与ide中的解释器使用的是否是同一版本,如果不是可以修改环境变量后重新安装sdk,也可以修改解释器版本
2、只能通过控制台执行这个文件吗?能否通过ide直接执行?
A:这里使用了argparse解析参数,所以只需要将这里参数解析部分删除,直接指定ip, port即可
四、代码和附件
- 解析参数
--ip(必传)和--port(默认 29999) DashboardClientInterface()构造接口对象connect(ip, port)连 Dashboardversion()读控制器版本setSpeedScaling(30)设速度倍率为 30%speedScaling()回读确认当前速度倍率robotMode()查机器人模式safetyMode()查安全模式popup("-s", "Hello from Python SDK!")示教器弹窗powerOn()上电 →brakeRelease()释放抱闸 →powerOff()下电disconnect()断开
#!/usr/bin/env python3
"""
Example script for using the elite_cs_sdk DashboardClientInterface.
中文说明:
这个示例演示如何连接机器人 Dashboard 服务,
并依次读取版本、设置速度倍率、查询模式、弹窗以及上下电控制。
Usage:
python example_dashboard_client.py --ip 192.168.0.58
"""
import argparse
import sys
import elite_cs_sdk as cs
def main():
parser = argparse.ArgumentParser(
description="Connect to a robot's dashboard server and perform basic operations."
)
parser.add_argument(
"--ip",
required=True,
help="IP address of the robot's dashboard server"
)
parser.add_argument(
"--port",
type=int,
default=29999,
help="Port number of the dashboard server (default: 29999)"
)
args = parser.parse_args()
ip, port = args.ip, args.port
# Dashboard 接口主要用于机器人状态管理和系统级控制。
dashboard = cs.DashboardClientInterface()
print(f"[INFO] Connecting to dashboard at {ip}:{port}...")
dashboard.connect(ip, port)
# 读取控制器版本信息。
version = dashboard.version()
print(f"[INFO] Dashboard version: {version}")
new_scaling = 30 # percent
print(f"[INFO] Setting speed scaling to {new_scaling}%...")
# 设置全局速度倍率,单位为百分比。
dashboard.setSpeedScaling(new_scaling)
current_scaling = dashboard.speedScaling()
print(f"[INFO] Current speed scaling: {current_scaling}%")
mode = dashboard.robotMode()
safety = dashboard.safetyMode()
print(f"[INFO] Robot mode: {mode}")
print(f"[INFO] Safety mode: {safety}")
print("[INFO] Displaying popup message on dashboard...")
# 在示教器界面弹出提示信息。
dashboard.popup("-s", "Hello from Python SDK!")
print("[INFO] Powering on the robot...")
# 打开机器人电源
dashboard.powerOn()
print("[INFO] Releasing robot brakes...")
# 释放机器人抱闸
dashboard.brakeRelease()
print("[INFO] Powering off the robot...")
# 关闭机器人电源
dashboard.powerOff()
print("[INFO] Disconnecting from dashboard...")
# 断开dashboard连接
dashboard.disconnect()
if __name__ == "__main__":
try:
main()
except Exception as e:
print(f"[ERROR] {e}", file=sys.stderr)
sys.exit(1)