CS机器人 30001端口使用

2025-07-07

1.  简介

30001端口🌏,可用于获取机器人的各种状态及数⏯据【jù】🏋,机器人会以10HZ(100ms)的频率向30001端口发【duān kǒu fā】💁送机器【sòng jī qì】💳人的状态数据【tài shù jù】🎭,还可以往30001端口发【duān kǒu fā】💁送脚本命令💜,运动指【yùn dòng zhǐ】令💜,控制机【kòng zhì jī】器人运动等【dòng děng】。(FB1网口【wǎng kǒu】📴)

2.  发送脚本控制机器人

外部设🔒备可以往30001直接发送机器【sòng jī qì】👫人脚本,机器人【jī qì rén】处于远⛰程模式【chéng mó shì】💊,机器人【jī qì rén】就会运【jiù huì yùn】动。

(点击下图右上【tú yòu shàng】🕚角的Elite logo,可以进🤲入设置【rù shè zhì】界面)

远程控制选择启用


将机器人切换为远程控制模式

用户可以在🕢socket调试助【diào shì zhù】🏪手中🚚,发送以【fā sòng yǐ】下代码【xià dài mǎ】进行测试

外部发送的脚本格式如下【rú xià】:即🚪def开头🍽,end结尾(end后加入【hòu jiā rù】换行🔒)。中间内【zhōng jiān nèi】容为机【róng wéi jī】器人支👻持的脚【chí de jiǎo】😐本。

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

也可使用如下【yòng rú xià】代码🤽,发送带😂有函数🦖调用的【diào yòng de】脚本【jiǎo běn】

def test(): # 最外层【zuì wài céng】👘def必须增✈加end\n结尾【jié wěi】

# 内部是正常的python语法

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.  数据接收及解析

接收机器人状态数据

该端口🚞还会以10Hz的频率持续不断地将机器人【jī qì rén】的状态【de zhuàng tài】数据以固定格【gù dìng gé】🌲式往外🕳发送📑。数据格【shù jù gé】式大体🐬如下【rú xià】:

机器人状态报文格式



4 字节


报文长度








1 字节


报文类【bào wén lèi】型🍬 = MESSAGE_TYPE_ROBOT_STATE = 16


4 字节


子报文长度








1 字节


子报文类型


n 字节


子报文内容


4 字节


子报文长度








1 字节


子报文类型


n字节


子报文内容


4 字节


报文长度








1 字节


报文类【bào wén lèi】型🔋 = MESSAGE_TYPE_ROBOT_STATE = 16


4 字节


子报文长度








1 字节


子报文类型


n 字节


子报文内容


4 字节


子报文长度








1 字节


子报文类型


n字节


子报文内容



详细每【xiáng xì měi】一段子报文的内容请参考《CS_用户手🏎册【cè】🐚_机器人【jī qì rén】🕢状态报文.xlsx》

机器人【jī qì rén】👂状态数据报文【bào wén】👯主题结构包含报文【bào wén】👯头、机器人【jī qì rén】👂模式数据子【shù jù zǐ】🕔报文【bào wén】👯、关节数【guān jiē shù】⛺据子【jù zǐ】报🚁文【wén】👯、笛卡尔数据子【shù jù zǐ】🕔报文【bào wén】👯、机器人【jī qì rén】👂配置数【pèi zhì shù】据子【jù zǐ】🕔报文【bào wén】👯、机器人【jī qì rén】👂主板信【zhǔ bǎn xìn】🍷息子报🕷文【wén】👯、机器人【jī qì rén】👂附加信息子报🕷文【wén】👯、内部使🏚用子报文【bào wén】👯、机器人【jī qì rén】👂工具数【gōng jù shù】据子【jù zǐ】🕔报文【bào wén】👯、机器人【jī qì rén】👂安全状【ān quán zhuàng】😽态子报【tài zǐ bào】文【wén】👯、机器人【jī qì rén】👂工具通讯子报文【bào wén】👯、内部使🏚用子报文【bào wén】等内🚺容.

每一段【měi yī duàn】子报文✍内的数🍣据长度【jù zhǎng dù】、格式都🆔是严格定义的,用户读【yòng hù dú】🚢取时按😴需择取对应数【duì yīng shù】据段按照指定【zhào zhǐ dìng】格式进行数据解析。

以下使【yǐ xià shǐ】用Python对机器🤦人配置👔数据子🚁报文解析为例【xī wéi lì】说明【shuō míng】。

程序流程如下:

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("tcp_y: "+(':.2f}'.format(data.tcp_y*1000)))

#print("actual_joint : ")

print("RX、RY、RZ\x20关节单💸位【wèi】\x20°")

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

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

print("关节位【wèi】😆置【zhì】🍂\x20关节单位【wèi】\x20°")

print("一轴【yī zhóu】😿、基座\x20"':.2f}'.format(degrees(data.actual_joint0)))

print("三轴⏯、肘部【zhǒu bù】\x20"':.2f}'.format(degrees(data.actual_joint2)))

print("五轴【wǔ zhóu】🐡、手腕2\x20"':.2f}'.format(degrees(data.actual_joint4)))

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

#print(data.actual_velocity1)弧度【hú dù】🎰/秒

print("关节实🍜际速度【jì sù dù】🏃\x20角度【jiǎo dù】/秒")

print("1轴实际速度【sù dù】🔔\x20"':.2f}'.format(degrees(data.actual_velocity0)))

print("3轴实际【zhóu shí jì】🦒速度\x20"':.2f}'.format(degrees(data.actual_velocity2)))

print("5轴实际🎉速度【sù dù】\x20"':.2f}'.format(degrees(data.actual_velocity4)))

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

print("2关节力🍀矩【jǔ】\x20"':.2f}'.format(data.torques1))

print("4关节力【guān jiē lì】矩❄\x20"':.2f}'.format(data.torques3))

print("6关节力【guān jiē lì】😓矩\x20"':.2f}'.format(data.torques5))

print("模拟⭐IO0输出值【shū chū zhí】.\x2002-0.004单位A")

print(data.standard_analog_output_value0,"A")

print(data.standard_analog_output_value1,"A")

print("工具模【gōng jù mó】🥌拟IO输出配置【zhì】🏞",data.tool_analog_output_domain)

print("工具输🥊出电压【chū diàn yā】数值",data.tool_output_voltage,"V")

print("工具输【gōng jù shū】出电流💕", data.tool_current,"A")

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


sample_count -= 1

time.sleep(2)

5.  常见问题解答

5.1.问:端口连接不上,连接没反应

答【dá】:检修一下网络是不是没有连【méi yǒu lián】接上,可以在示教器网络设🥠置页面查看,或者使🌷用电脑【yòng diàn nǎo】ping一下看【yī xià kàn】🐶看能否【kàn néng fǒu】🚩ping通,网口🐻是否正【shì fǒu zhèng】常🐎连接的【lián jiē de】FB1口🐻

5.2.问【wèn】:向端口【xiàng duān kǒu】发送运🍵动指令机器人【jī qì rén】不运动或者报🌥错😅

答【dá】🏢:检查一【jiǎn chá yī】下所发送的点位数据🌿是否正【shì fǒu zhèng】常,并不是任意一组数据机器人【jī qì rén】🏕都能执行【háng】,需要该数据在🙎机器人【jī qì rén】🏕工作范围内🧜,并且有【bìng qiě yǒu】📒正常的解【jiě】。另外数【lìng wài shù】🐚据的单位为米跟弧度。


download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

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

我已阅读并同意漫蛙《隐私政策》《法律声明》

我已知晓并同【xiǎo bìng tóng】意漫蛙通过电【tōng guò diàn】🦃子邮件【zǐ yóu jiàn】✏发送相关资料💈

提交