更多内容请点击上方 ABB机器人实战技巧 关注
也可点击公众号下方 往期经典 浏览更多内容
转载请先后台留言,大家一起支持原创,推动机器人使用和发展
本公众号对各类ABB机器人应用,仿真,毕业设计提供技术支持,详细后台留言
本公众号诚挚希望与各机器人培训机构,机器人使用单元合作,提供技术支持,详细后台留言
点击文末的阅读原文,获取完整python代码和机器人工作站代码
def motors_on(self):
"""Turns the robot's motors on.
Operation mode has to be AUTO.
"""
payload = {'ctrl-state': 'motoron'}
resp = self.session.post(self.base_url + "/rw/panel/ctrlstate?action=setctrlstate", data=payload)
if resp.status_code == 204:
print("Robot motors turned on")
else:
print("Could not turn on motors. The controller might be in manual mode")
def set_rapid_variable(self, var, value):
"""Sets the value of any RAPID variable.
Unless the variable is of type 'num', 'value' has to be a string.
"""
payload = {'value': value}
resp = self.session.post(self.base_url + '/rw/rapid/symbol/data/RAPID/T_ROB1/' + var + '?action=set',
data=payload)
return resp
6. 将以上代码整理成类,并在python中引用,即可实现对机器人的控制
import PYRWS as RWS
class robtarget:
trans=[0,0,0]
rot = [1,0,0,0]
robot = RWS.RWS(base_url='http://127.0.0.1', username='Default User', password='robotics')
robot.reset_pp()
robot.motors_on()
robot.start_RAPID()
p1 = robtarget()
while True:
robot.wait_for_rapid1('state', '0')
p1.trans, p1.rot = robot.get_robot_position()
#获取当前位置
print('当前位置',p1.trans)
numbers = input('输入相对坐标x,y,z, 例如 100,20,300\n')
numbers = list(map(float, numbers.split(',')))
robot.set_robtarget_translation('ptmp', numbers)
robot.set_rapid_variable('state',1)
点击阅读原文,获取完整python代码和机器人工作站代码
文章评论