CS機器人二次開(kāi)發(fā)啟動(dòng)流程
1.簡(jiǎn)介
客戶(hù)應用場(chǎng)景中可能會(huì )要求使用 SDK 來(lái)開(kāi)發(fā),下面介紹 SDK 啟動(dòng)機器人方法,過(guò)程中請保持機器人為遠程模式,與示教器操作大體一致只是以代碼的形式分步執行,打開(kāi)電源,釋放抱閘等功能,至機器人處于正常模式后運行。
以下各指令代碼可參考EliRobot Dashboard手冊技術(shù)資料_機器人技術(shù)-艾利特機器人
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端口接收和發(fā)送函數:
#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):
# 命令轉字符串加換行
# 發(fā)送給機器人
sock.sendall(bytes(str(content + '\n'),"utf-8"))
# 接受機器人該端口的返回信息
recvData = sock.recv(4096)
# decode()方法將一個(gè)字節序列轉換成字符串
recvData = recvData.decode()
# 返回對應指令的字符,成功或者不成功
return (recvData.replace('\n', '').replace('\r', ''))
2.2 機器人上電
#利用29999端口打開(kāi)電源
def powering_on():
##電控柜上電后啟動(dòng)機器人上電
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 運行任務(wù)
#利用29999端口運行任務(wù)
def play():
Data = dashboard_shell("play")
# 返回Starting task任務(wù)運行成功,其他為失敗
if Data == 'Starting task':
print('已啟動(dòng)任務(wù)')
else:
print('運行失?。?#39;+Data)
time.sleep(1)

2.5 任務(wù)狀態(tài)查詢(xún)
#利用29999端口查詢(xún)任務(wù)狀態(tài)
def task():
Data = dashboard_shell("task -r")
# 返回Task is running.任務(wù)正在運行,其他為失敗
if Data == 'Task is running':
print('任務(wù)正在運行')
else:
print('當前運行狀態(tài)為:'+Data)
time.sleep(1)
3. 匯總
操作流程的2.1-2.4匯總在一起就可以實(shí)現SDK一鍵啟動(dòng)至運行狀態(tài)(見(jiàn)下圖)。
#打開(kāi)電源
powering_on()
#釋放抱閘
brake_releasing()
#運行任務(wù)
play()
#查詢(xún)任務(wù)狀態(tài)
task()

4. 其他
29999端口還可以打開(kāi)或切換不同的任務(wù)和配置,具體使用指令可查詢(xún)EliRobot Dashboard手冊,手冊下載可至官網(wǎng)或咨詢(xún)艾利特技術(shù)人員技術(shù)資料_機器人技術(shù)-艾利特機器人