首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建中断(ISR)来创建平滑的机器人手臂运动

创建中断(ISR)来创建平滑的机器人手臂运动
EN

Stack Overflow用户
提问于 2018-07-03 19:40:41
回答 1查看 157关注 0票数 1

我的学校有一个机器人手臂(UR-10),它被连接到一些按钮上,我想给它编程,这样当这些按钮被点击时,手臂就可以平稳地左右移动了。

目前,我发现手臂只是移动然后停止然后移动和停止以一种抽搐的方式。

我想要实现一个中断,当按下按钮时可以感觉到,然后手臂会通过足够快的循环循环持续移动,这样手臂就会移动而不停止。直到按钮被释放。

如果有更简单的方法来实现这一点,我很想听听。

谢谢!

下面是我的密码。

代码语言:javascript
复制
import urx #UR-10 library
from threading import Thread

class UR10(object):
def __init__(self):

    # Establishes connection to UR-10 via IP address
    print("establishing connection")
    Robot = urx.Robot("192.168.100.82")
    self.r = Robot
    print("Robot object is available as robot or r")

    CheckingDigital_Inputs = Thread(target=self.ThreadChecker)
    CheckingDigital_Inputs.setDaemon(True)
    CheckingDigital_Inputs.start()

    MoveThread = Thread(target = self.MoveThread)
    MoveThread.setDaemon(True)
    MoveThread.start()

def ThreadChecker(self):
    while True:
        self.TestingInputs()

def TestingInputs(self):
    #Values = self.r.get_digital_in()

    self.In_1 = self.r.get_digital_in(1)
    self.In_2 = self.r.get_digital_in(2)

    #print("Digital Input 1 is {},  Digital Input 2 is {}".format(Values1, Values2))

def MoveThread(self):
    while True:
        self.LinearMovement()

def LinearMovement(self):
    #print("linear move")
    #need to run at 125khz
    while self.In_1:
        print("move right linear")

        l = 0.05
        v = 0.05
        a = 0.05

        pose = self.r.getl()
        print(pose)
        pose[0] += .01
        self.r.movel(pose, acc=a, vel=v)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-03 20:18:38

您所使用的库代码(在其对方法的描述中)如下:

这种方法是有用的,因为从python到机器人的任何新命令都会使机器人停止。

https://github.com/SintefRaufossManufacturing/python-urx/blob/193577c0efed8a24d00bd12b3b6e0c7ffefb9dd9/urx/urrobot.py#L356-L357

因此,可能不可能让机器人通过发出一串命令来连续移动,因为每次得到新命令时它都会停止。

您需要找出要将机器人移动到的最远位置,在第一次按下按钮时,发出命令将其移到那里(使用wait=False,这样您的代码就不会坐在那里等待机器人完成移动),然后在释放按钮时使用self.r.stop()来停止机器人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51161843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档