首页 上一页 1 2 3 下一页 尾页

机器人控制系统设计 点击:4678 | 回复:53



touchmyjj

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 135回
  • 年度积分:0
  • 历史总积分:645
  • 注册:2007年9月19日
发表于:2010-11-13 18:19:35
楼主
小弟要设计一个机器人控制系统,是pc+pmac的组合,对任意空间曲线进行加工,首先曲线方程分成n小段,上位软件对这个小段进行逆解,然后把每个的关节坐标通过DPRAM送给pmac  然后pmac用spline的方式 进行插补  这种方法不知道可行否 对于任意空间曲线都可以加工



jamesyoung77

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 345回
  • 年度积分:0
  • 历史总积分:1565
  • 注册:2010年6月25日
发表于:2010-12-07 00:12:40
41楼
至于6R的机械手臂,反解会有多解 不知道他是怎么解决 会不会出现很复杂的
没错,是没有唯一解,靠迭代求解;

而反解说白了就是把反解程序写在pmac里面 和在VC端写是一样的
算法当然是一样的,但是在VC里写好后求出马达的控制量,再把点离散的点发送给PMAC去执行,这样的效果和用一般的卡的效果区别不大; 可行但是不鼓励这样去做。
在PMAC里求反解,PMAC内部提供的初插,精插和前瞻能更有效的工作;机械手运行的流畅和快速性会好很多。

我前面的帖子里已经解释过了。

touchmyjj

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 135回
  • 年度积分:0
  • 历史总积分:645
  • 注册:2007年9月19日
发表于:2010-12-07 11:20:20
42楼

回复内容:
对:jamesyoung77 关于至于6R的机械手臂,反解会有多解 不知道他是怎么解决 会不会出现很复杂的
没错,是没有唯一解,靠迭代求解;

而反解说白了就是把反解程序写在pmac里面 和在VC端写是一样的
算法当然是一样的,但是在VC里写好后求出马达的控制量,再把点离散的点发送给PMAC去执行,这样的效果和用一般的卡的效果区别不大; 可行但是不鼓励这样去做。
在PMAC里求反解,PMAC内部提供的初插,精插和前瞻能更有效的工作;机械手运行的流畅和快速性会好很多。

我前面的帖子里已经解释过了。
内容的回复:


对于你的说法,和我上面的方案差距就是一个是上位机做插值一个是卡内做插值 ,你的方法优势非常明显,对于把反解写入pmac后,比如我机械手末端写一个圆弧插补命令,执行命令后,PMAC卡内部会根据I13程序分段时间比如5MS对这个圆弧做3次样条精插,对每个电机用s曲线去规划运动,最终末端走出一个圆弧,现在问题来了,对于pmac 提供的模态运动模式是直线,圆弧,pvt和三次样条等方式,那对于空间的任意曲线,必须在上位端做一次粗分段去拟合,当然这个分段的大小直接决定了最终曲线的精度,太大精度太低,如果分段太小,比如3ms,比pmac的精插时间还短,PMAC内部将如何去实现精插呢?是否会因无法计算而报错?

touchmyjj

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 135回
  • 年度积分:0
  • 历史总积分:645
  • 注册:2007年9月19日
发表于:2010-12-07 11:25:41
43楼
或者为了考虑的多一点,对于自己上位的每个分段用3次样条来做,这样pmac运动前内部会多计算2位置,这样出现的情况就是 粗的分段用了3次样条曲线插值,然后pmac还要对每个曲线段再做一次3次样条插补,计算量是否会导致报警?

jamesyoung77

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 345回
  • 年度积分:0
  • 历史总积分:1565
  • 注册:2010年6月25日
发表于:2010-12-07 11:39:47
44楼
PMAC卡内部会根据I13程序分段时间比如5MS对这个圆弧做3次样条精插
PMAC本省有粗插和精插功能;I13确定的是粗插,也就是初分段和轨迹预处理,这个不需要在上位端去做,PMAC会替你做;当然要在上位机做也没有什么问题。
必须在上位端做一次粗分段去拟合,当然这个分段的大小直接决定了最终曲线的精度,太大精度太低,如果分段太小,比如3ms,比pmac的精插时间还短,PMAC内部将如何去实现精插呢?是否会因无法计算而报错?
PMAC的精插时间和伺服周期一样,用的是三次样条,不会多于0.5ms,最小可以达到0.02ms (取决于轴数).


详细信息可以参考帖子http://www.gongkong.com/webpage/forum/201001/2010010411560500001-1.shtml

touchmyjj

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 135回
  • 年度积分:0
  • 历史总积分:645
  • 注册:2007年9月19日
发表于:2010-12-07 12:35:59
45楼
回复内容:
对:jamesyoung77 关于PMAC卡内部会根据I13程序分段时间比如5MS对这个圆弧做3次样条精插
PMAC本省有粗插和精插功能;I13确定的是粗插,也就是初分段和轨迹预处理,这个不需要在上位端去做,PMAC会替你做;当然要在上位机做也没有什么问题。
必须在上位端做一次粗分段去拟合,当然这个分段的大小直接决定了最终曲线的精度,太大精度太低,如果分段太小,比如3ms,比pmac的精插时间还短,PMAC内部将如何去实现精插呢?是否会因无法计算而报错?
PMAC的精插时间和伺服周期一样,用的是三次样条,不会多于0.5ms,最小可以达到0.02ms (取决于轴数).


详细信息可以参考帖子http://www.gongkong.com/webpage/forum/201001/2010010411560500001-1.shtml
内容的回复:

你说的帖子已经仔细看了遍,算是了解了PMAC内部计算过程,PMAC有说明 伺服环的插补也就是精插补是采用直线段的,而I13设定的初插补采用的才是三次样条,在粗插过程中pmac会做很多计算包括运动轨迹规划等,按前辈的对PMAC的了解,你觉得对空间任意曲线应该如何实现呢?PMAC是没有这种指令的,是否还是要上位机分段后,再又PMAC做i13的粗插规划,再送到伺服环更新做精插补来完成?

jamesyoung77

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 345回
  • 年度积分:0
  • 历史总积分:1565
  • 注册:2010年6月25日
发表于:2010-12-07 12:55:47
46楼
PMAC是从上位机取描叙任意曲线的点,然后自己粗插分段(分段也可以在上位机运行),再做精插。
精插补可定用的是三次样条。
英文手册内容:

Isx13 Coordinate System x Segmentation Time

If Isx13 is greater than zero, Coordinate System x is in segmentation mode, and all LINEAR and CIRCLE
mode trajectories are created by computing intermediate segment points with a coarse interpolation
algorithm every Isx13 milliseconds, then executing a fine interpolation using a cubic spline algorithm
every servo cycle.

touchmyjj

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 135回
  • 年度积分:0
  • 历史总积分:645
  • 注册:2007年9月19日
发表于:2011-01-27 10:09:59
47楼

把反解程序写在PMAC里面后每个伺服周期都会自动计算出各种电机的位置,上位机只需要发送一个运动命令就可以了,但是对于机械手来说 不只有位置数据 还有姿态,也就是说上位机发送的命令不是x100.0y100.0这种类型,还必须包含姿态的数据,PMAC好像还不提供这种命令格式吧

斯恩

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 11回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2010年5月14日
发表于:2011-09-19 15:44:17
48楼

机器人的控制方案都是小线段高速联动插补! 首先在笛卡尔坐标系上进行轨迹规划,把轨迹离散成插值点在呼叫反向运动学转化为电机的位置值进行联动插补。关键问题是PMAC的伺服插补更新周期t 和求一笔插值点运算和传达命令所耗费的时间T的问题。如果T大于t,则要进行一级或者二级缓冲插补,把算法分解。这样才能保证高速平顺插补。

bossbqm

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 5回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2005年6月28日
发表于:2011-09-21 11:39:35
49楼

请问各位大侠,本人刚接触机器人。看了些理论知识之后,有点疑惑。如果我采用PC+控制卡的方案。在点位机器人的设计上,在用多项式规划了路径后,得出了多项式怎么和控制卡的控制联系起来,比如速度、加速度、时间参数怎么对应呢?

alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2011-10-27 17:53:42
50楼

看了各位的讨论,基本上我觉得有几点。

1.轨迹规划规划功能。可以在直角坐标系规划空间曲线。动作时将直角坐标运动解析成关节运动控制各轴。

2.教导模式,可通过外部教导,控制器记录行进轨迹。按照想法会逆运算转换成直角坐标系空间曲线存储。运行时参考第一点。

3.关于位置、速度、加速度的控制 应该分为多级插补,控制器将直角坐标系根据控制周期(例如2ms)将控制数据转换成关节坐标系。然后将关节坐标系的各关节的位置、速度、加速度数据传送给各轴。 这样第一级插补完成。然后驱动器每隔2ms会接收到一个控制数据。驱动器将相邻的控制数据拟合成高阶控制曲线。然后在每次控制电机时(例如125us 间隔)在高阶曲线取点。

现在我有一套运动控制产品平台,只要解决直角坐标系到关节坐标系的算法相互转换就可实现教导功能。软件空间曲线规划需要软件功能支持,这是第二步。

sanywangjun

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 118回
  • 年度积分:0
  • 历史总积分:279
  • 注册:2009年5月15日
发表于:2012-02-10 16:29:42
51楼
回复内容:
对:jamesyoung77 关于C 程序編成以G代碼 或使用 CAD CAM(程序容量更大) 所以當系統在跑程序時 指令之間會形成斷點 也就是機台處 於加減速的循環 那速度怎快得起來  现在数控系统差不多的都有前瞻功能(lookahead),指令间是可以平滑过度的

深有同感
有的时候真的搞不清楚,像PMAC这样的卡就像已经把一个房子搭好,甚至准备了很多装修材料,用户只要装修装修就可以
而很多用户非要自己一块砖一块砖的自己重新盖
如果非要pc+pmac的模式,只是用了很简单的插值功能,又何必用PMAC呢? 国内很多卡有此功能,价钱还不到十分之一
内容的回复:


用户这么做自有用户的道理,未必就是不知道这个卡具有这些功能。

JESSIE6

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 38回
  • 年度积分:0
  • 历史总积分:188
  • 注册:2005年4月07日
发表于:2012-02-15 14:08:19
52楼
不知道楼主做的怎么样了,我有问题想请教,请问PMAC卡的速度规划方式是梯形还是多项式的。(以下是引用的如过你采用PMAC提供的接口,这些计算都可以在控制卡里自动完成,用户只需要发送(100mm,200mm)这个命令给控制卡就可以了,PMAC内部提供的初插,精插和前瞻能更有效的工作;)

zzgzzw

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2014年8月21日
发表于:2014-11-21 13:29:58
53楼

我觉得可以模仿数控系统的原理去实现。用matlab软件模拟空间曲线的生成然后倒入进去。


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 3 下一页 尾页