久久综合九色综合欧美就去吻-亚洲色精品三区二区一区-国产99视频精品免费视看6-欧美性xxxx极品少妇-性无码一区二区三区在线观看

CS機(jī)器人 30001端口使用

2024-11-06

1.  簡(jiǎn)介

30001端口,可用于獲取機(jī)器人的各種狀態(tài)及數(shù)據(jù),機(jī)器人會(huì)以10HZ(100ms)的頻率向30001端口發(fā)送機(jī)器人的狀態(tài)數(shù)據(jù),還可以往30001端口發(fā)送腳本命令,運(yùn)動(dòng)指令,控制機(jī)器人運(yùn)動(dòng)等。(FB1網(wǎng)口)

2.  發(fā)送腳本控制機(jī)器人

外部設(shè)備可以往30001直接發(fā)送機(jī)器人腳本,機(jī)器人處于遠(yuǎn)程模式,機(jī)器人就會(huì)運(yùn)動(dòng)。

(點(diǎn)擊下圖右上角的Elite logo,可以進(jìn)入設(shè)置界面)

遠(yuǎn)程控制選擇啟用


將機(jī)器人切換為遠(yuǎn)程控制模式

用戶(hù)可以在socket調(diào)試助手中,發(fā)送以下代碼進(jìn)行測(cè)試

外部發(fā)送的腳本格式如下:即def開(kāi)頭,end結(jié)尾(end后加入換行)。中間內(nèi)容為機(jī)器人支持的腳本。

def a():

movej([-3.14,-1.57,-1.57,-1.57,1.57,0],a=1.4,v=0.5,t=0,r=0)

movej([-1.57,-1.57,-1.57,-1.57,1.57,0],a=1.4,v=0.5,t=0,r=0)

end

也可使用如下代碼,發(fā)送帶有函數(shù)調(diào)用的腳本

def test(): # 最外層def必須增加end\n結(jié)尾

# 內(nèi)部是正常的python語(yǔ)法

def mov():

movej([0.57636,-1.01469,-2.04816,-1.29723,1.5708,-0],a=1.4,v=1.05,t=0,r=0)

a = "hello cs"

if a == "hello cs":

mov()

end



3.  數(shù)據(jù)接收及解析

接收機(jī)器人狀態(tài)數(shù)據(jù)

該端口還會(huì)以10Hz的頻率持續(xù)不斷地將機(jī)器人的狀態(tài)數(shù)據(jù)以固定格式往外發(fā)送。數(shù)據(jù)格式大體如下:

機(jī)器人狀態(tài)報(bào)文格式

image.png


詳細(xì)每一段子報(bào)文的內(nèi)容請(qǐng)參考《CS_用戶(hù)手冊(cè)_機(jī)器人狀態(tài)報(bào)文.xlsx》

機(jī)器人狀態(tài)數(shù)據(jù)報(bào)文主題結(jié)構(gòu)包含報(bào)文頭、機(jī)器人模式數(shù)據(jù)子報(bào)文、關(guān)節(jié)數(shù)據(jù)子報(bào)文、笛卡爾數(shù)據(jù)子報(bào)文、機(jī)器人配置數(shù)據(jù)子報(bào)文、機(jī)器人主板信息子報(bào)文、機(jī)器人附加信息子報(bào)文、內(nèi)部使用子報(bào)文、機(jī)器人工具數(shù)據(jù)子報(bào)文、機(jī)器人安全狀態(tài)子報(bào)文、機(jī)器人工具通訊子報(bào)文、內(nèi)部使用子報(bào)文等內(nèi)容.

每一段子報(bào)文內(nèi)的數(shù)據(jù)長(zhǎng)度、格式都是嚴(yán)格定義的,用戶(hù)讀取時(shí)按需擇取對(duì)應(yīng)數(shù)據(jù)段按照指定格式進(jìn)行數(shù)據(jù)解析。

以下使用Python對(duì)機(jī)器人配置數(shù)據(jù)子報(bào)文解析為例說(shuō)明。

程序流程如下:

4.  示例

參考代碼:

from robot import *

import argparse

import logging

import time

import numpy as np

from math import *


parser = argparse.ArgumentParser()

#以下IP地址需要修改

parser.add_argument('--host', default='192.168.1.200', help='name of host to connect to (localhost)')

parser.add_argument('--port', type=int, default=30001, help='port number (30001)')

parser.add_argument('--samples', type=int, default=100, help='number of samples to record')


args = parser.parse_args()


robot = Robot('RobotStateMessage.xlsx', 'v2.1.0')

robot.connect(args.host, args.port)


sample_count = args.samples


while sample_count > 0:

data = robot.get_data()

if data == None:

logging.warning("Data is None")

continue

print(" {:=^50s}".format(""))

print("基坐標(biāo)X、Y、Z")

print("tcp_x: "+('{:.2f}'.format(data.tcp_x*1000)))

print("tcp_y: "+('{:.2f}'.format(data.tcp_y*1000)))

print("tcp_z: "+('{:.2f}'.format(data.tcp_z*1000)))

#print("actual_joint : ")

print("RX、RY、RZ\x20關(guān)節(jié)單位\x20°")

print("RX: " + ('{:.3f}'.format(degrees(data.rot_x))))

print("RY: " + ('{:.3f}'.format(degrees(data.rot_y))))

print("RZ: " + ('{:.3f}'.format(degrees(data.rot_z))))

print(" {:=^50s}".format(""))

print("關(guān)節(jié)位置\x20關(guān)節(jié)單位\x20°")

print("一軸、基座\x20"'{:.2f}'.format(degrees(data.actual_joint0)))

print("二軸、肩部\x20"'{:.2f}'.format(degrees(data.actual_joint1)))

print("三軸、肘部\x20"'{:.2f}'.format(degrees(data.actual_joint2)))

print("四軸、手腕1\x20"'{:.2f}'.format(degrees(data.actual_joint3)))

print("五軸、手腕2\x20"'{:.2f}'.format(degrees(data.actual_joint4)))

print("六軸、手腕3\x20"'{:.2f}'.format(degrees(data.actual_joint5)))

print(" {:=^50s}".format(""))

#機(jī)器人是否上電:上電為true,未上電為false

print("機(jī)器人是否上電",data.is_robot_power_on)

#print(data.is_robot_power_on)

print("是否處于機(jī)器人急停和系統(tǒng)急停",data.is_robot_protective_stopped)

#print(data.is_robot_protective_stopped)

print("是否處于保護(hù)停止",data.is_robot_protective_stopped)

#print(data.is_robot_protective_stopped)

print("程序是否處于運(yùn)行態(tài)",data.is_program_running)

#print(data.is_program_running)

print("程序是否暫停",data.is_program_paused)

#print(data.is_program_paused)

print("機(jī)器人模式",data.get_robot_mode)

#print(data.get_robot_mode)

print("機(jī)器人控制模式",data.get_robot_control_mode)

print("0未確認(rèn)、1確認(rèn)安全、2初始化、3下點(diǎn)、4上電、5空閑、6反向驅(qū)動(dòng)、7正在運(yùn)行、8升級(jí)固件、9等待編碼器標(biāo)定")

#print(data.get_robot_control_mode)

print("機(jī)器人速度模式",data.get_robot_speed_mode)

#print(data.get_robot_speed_mode)

print("機(jī)器人是否處于系統(tǒng)報(bào)警狀態(tài)",data.is_robot_system_in_alarm)

#print(data.is_robot_system_in_alarm)

print("主板是否在縮減模式",data.is_robot_in_reduced_mode)

print("碰撞檢測(cè)模式狀態(tài)",data.is_dynamic_collision_detect_enabled)

print("工具模擬IO輸出配置",data.tool_analog_output_domain)

#print("")

#print(data.)

print(" {:=^50s}".format(""))

#print(data.actual_velocity1)弧度/秒

print("關(guān)節(jié)實(shí)際速度\x20角度/秒")

print("1軸實(shí)際速度\x20"'{:.2f}'.format(degrees(data.actual_velocity0)))

print("2軸實(shí)際速度\x20"'{:.2f}'.format(degrees(data.actual_velocity1)))

print("3軸實(shí)際速度\x20"'{:.2f}'.format(degrees(data.actual_velocity2)))

print("4軸實(shí)際速度\x20"'{:.2f}'.format(degrees(data.actual_velocity3)))

print("5軸實(shí)際速度\x20"'{:.2f}'.format(degrees(data.actual_velocity4)))

print("6軸實(shí)際速度\x20"'{:.2f}'.format(degrees(data.actual_velocity5)))

print(" {:=^50s}".format(""))

print("關(guān)節(jié)力矩")

print("1關(guān)節(jié)力矩\x20"'{:.2f}'.format(data.torques0))

print("2關(guān)節(jié)力矩\x20"'{:.2f}'.format(data.torques1))

print("3關(guān)節(jié)力矩\x20"'{:.2f}'.format(data.torques2))

print("4關(guān)節(jié)力矩\x20"'{:.2f}'.format(data.torques3))

print("5關(guān)節(jié)力矩\x20"'{:.2f}'.format(data.torques4))

print("6關(guān)節(jié)力矩\x20"'{:.2f}'.format(data.torques5))

print(" {:=^50s}".format(""))

print("模擬IO0輸出值.\x2002-0.004單位A")

print(data.standard_analog_output_value0,"A")

print(data.standard_analog_output_value1,"A")

print("工具模擬IO輸出配置",data.tool_analog_output_domain)

print("工具輸出電壓數(shù)值",data.tool_output_voltage,"V")

print("工具輸出電流", data.tool_current,"A")

#print(" {:=^50s}".format(""))


sample_count -= 1

time.sleep(2)

5.  常見(jiàn)問(wèn)題解答

5.1.問(wèn):端口連接不上,連接沒(méi)反應(yīng)

答:檢修一下網(wǎng)絡(luò)是不是沒(méi)有連接上,可以在示教器網(wǎng)絡(luò)設(shè)置頁(yè)面查看,或者使用電腦ping一下看看能否ping通,網(wǎng)口是否正常連接的FB1口

5.2.問(wèn):向端口發(fā)送運(yùn)動(dòng)指令機(jī)器人不運(yùn)動(dòng)或者報(bào)錯(cuò)

答:檢查一下所發(fā)送的點(diǎn)位數(shù)據(jù)是否正常,并不是任意一組數(shù)據(jù)機(jī)器人都能執(zhí)行,需要該數(shù)據(jù)在機(jī)器人工作范圍內(nèi),并且有正常的解。另外數(shù)據(jù)的單位為米跟弧度。


download-669.svg comicon14.svg

電話(huà)咨詢(xún)

download-397.svg comicon15.svg

免費(fèi)試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準(zhǔn)備好突破增長(zhǎng)瓶頸,開(kāi)啟智能制造了嗎?
了解我們的機(jī)器人如何幫助您的業(yè)務(wù)增長(zhǎng)
歡迎下載艾利特機(jī)器人資料

我已閱讀并同意艾利特《隱私政策》《法律聲明》

我已知曉并同意艾利特通過(guò)電子郵件發(fā)送相關(guān)資料

提交
主站蜘蛛池模板: av无码国产精品麻豆| 国产精品色情国产三级在| 亚洲人成绝网站色www| 天天摸天天做天天爽| 中国极品少妇xxxxx| 欧美偷窥清纯综合图区| 女人被爽到高潮视频免费| 特黄 做受又硬又粗又大视频| av毛片无码中文字幕不卡| 无码人妻精品一区二区三区夜夜嗨| 日本一卡2卡3卡4卡5卡精品视频| 精品国产成人一区二区| 中文字幕v亚洲日本| 亚洲午夜国产成人av电影| 亚洲成av人在线观看成年美女 | 影音先锋男人av橹橹色| 欧美性猛交内射兽交老熟妇| 亚洲人成人无码www影院| 男人的天堂无码动漫av| 国内精品自线一区二区三区| 无码av免费一区二区三区四区| 破了亲妺妺的处免费视频国产| 国产精品xxx大片免费观看| 亚洲人成未满十八禁网站| 风流少妇又紧又爽又丰满| 西西大胆午夜人体视频妓女| 一个人在线观看免费中文www| 99久久国产综合精麻豆| 茄子视频国产在线观看| 里番本子纯肉侵犯肉全彩无码| 北条麻妃在线| 亚洲熟妇无码一区二区三区| 欧美性色黄大片手机版| 香蕉久久夜色精品国产| 国产在热线精品视频99公交 | 日日碰狠狠添天天爽五月婷| 高清国产一区二区三区在线| 乱色欧美激惰| 欧美日韩国产专区一区二区| 女人爽到高潮免费视频大全| 亚洲中文字幕无码久久2017|