CS机器人二次开发启动流程

2025-09-08

1.简介

客户应用场景中可能会要求使用 SDK 来开发,下面介绍 SDK 启动机器人方法,过程中请保持机器人为远程模式,与示教器操作大体一致只是以代码的形式分步执行,打开电源,释放抱闸等功能,至机器人处于正常模式后运行。


以下各指令代码可参考EliRobot Dashboard手册技术资料_机器人技术-艾利特机器人

2.  操作流程

2.1 定义函数

连接函数:

#建立socket连接

def connectETController(ip, port):

   #ip, port:IP和端口号

   sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

   try:

       sock.connect((ip, port))

       return (True, sock)

   except Exception as e:

       sock.close()

       return (False)


29999端口接收和发送函数:

#29999端口使用,参考dashboard_shell手册

def dashboard_shell(content):

   #content:输入的内容

   robot_ip = "192.168.1.140"

   port = 29999

   ##连接机器人ip和端口

   conSuc, sock = connectETController(robot_ip, port)

   recvData1 = sock.recv(4096)   #清空缓存区

   if (conSuc):

       # 命令转字符串加换行

       # 发送给机器人

       sock.sendall(bytes(str(content + '\n'),"utf-8"))

       # 接受机器人该端口的返回信息

       recvData = sock.recv(4096)

       # decode()方法将一个字节序列转换成字符串

       recvData = recvData.decode()

       # 返回对应指令的字符,成功或者不成功

       return (recvData.replace('\n', '').replace('\r', ''))



2.2 机器人上电

#利用29999端口打开电源

def powering_on():

   ##电控柜上电后启动机器人上电

   Data = dashboard_shell("robotControl -on")

   # 返回Powering on上电成功,其他为失败

   print(Data)

   if Data == 'Powering on':

       print('上电成功')

   else:

       print(Data)

   time.sleep(0.5)




2.3 释放抱闸

#利用29999端口释放抱闸

def brake_releasing():

   while True:

       Data = dashboard_shell("brakeRelease")

       # 返回Brake is released.抱闸释放成功,其他为失败

       if Data == 'Brake is released':

           print('抱闸释放成功')

           break

       else:

           print(Data)

       time.sleep(0.5)



2.4 运行任务

#利用29999端口运行任务

def play():

   Data = dashboard_shell("play")

   # 返回Starting task任务运行成功,其他为失败

   if Data == 'Starting task':

       print('已启动任务')

   else:

       print('运行失败:'+Data)

   time.sleep(1)



2.5 任务状态查询

#利用29999端口查询任务状态

def task():

   Data = dashboard_shell("task -r")

   # 返回Task is running.任务正在运行,其他为失败

   if Data == 'Task is running':

       print('任务正在运行')

   else:

       print('当前运行状态为:'+Data)

   time.sleep(1)



3.  汇总

操作流程的2.1-2.4汇总在一起就可以实现SDK一键启动至运行状态(见下图)。

#打开电源

powering_on()

#释放抱闸

brake_releasing()

#运行任务

play()

#查询任务状态

task()



4.  其他

29999端口还可以打开或切换不同的任务和配置,具体使用指令可查询EliRobot Dashboard手册,手册下载可至官网或咨询艾利特技术人员技术资料_机器人技术-艾利特机器人




download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

准备好突破增长瓶颈,开启智能制造了吗?
了解我们的机器人如何帮助您的业务增长
欢迎下载艾利特机器人资料

我已阅读并同意艾利特《隐私政策》《法律声明》

我已知晓并同意艾利特通过电子邮件发送相关资料

提交