[Notes] Reading Notes on [Adaptive Robot Control – mxautomation J. Braumann 2015]
Reading sources:
1.Johannes Braumann, Sigrid Brell-Cokcan, Adaptive Robot Control (ARC )
Note:
building upon an as of yet unnamed interface from KUKA that utilizes
generic UDP packets to communicate with and control KUKA robots.
use every network-capable device to stream info to the robot and process the return data
While the problem of Windows not being a real-time capable operating system persists, the integrated buffer
give us a much larger leeway(余地) so that brief communication issues do not have an impact on the robot’s tool
path or the stability of the communication. However, the buffer also prohibits any hard-real-time applications, i.e. processes
where millisecond reaction times are needed.

kuka|PRC core solver builds its mathematical and geometric calculations upon
OpenNURBS.
ARC does not have to offer any simulation capabilities by itself, but only accepts data,
interfaces with the robot, and visualizes the position data that gets sent back from
the robot - keeping the software slim and highly performant while allowing the user
to simulate other projects in KUKA|PRC without disturbing the dataflow.
4 interaction strategies:
1.Default Mode
This is the most basic mode whose purpose is simply to transfer commands to the robot.
Once commands are connected to the ARC component they are immediately processed and
sent to the robot. While the robot is already moving, additionally commands are streamed until
the interpreter’s buffer has reached its defined capacity. From then on, executed commands are
culled(剔除) from the buffer and replaced with new commands.(溢出的水就扔掉不要了) If the data
from the ARC components is changed, it immediately wipes the robot’s buffer and starts streaming
new commands.
Adaptive Mode:
In comparison with default mode, adaptive mode users a much shallower buffer that contains only the
bare minimum of commands to cover brief lags(落后时间) in the Ethernet communication. While usually robot
programs only allow the user to set a speed override, adaptive mode attempts to keep the entire robot job
completely parametric for as long as possible.(What does it mean?) Only when a command is committed to
the robot ‘s buffer it cannot be changed anymore. This allow us to incorporate sensoric feedback to continuously
inform the fabrication process and all its parameters.
Iterative mode:
In iterative mode, the ARC behaves mostly like default mode with a similarly larger buffer, but does not accept any
new commands until the robot signals that it is ready for the next iteration, i.e. when the previous commands have
been processed and an optional timeout has passed. The main applications is therefore to switch between fabrication
and evaluation. Essentially, the user only has to define a single operation such as “pick up here and drop off there”
and a set of global rules regarding the placement. Then the robot performs an operation, sensor data – e.g. from a 3D
camera – is processed, and the next iteration adjusted according to the captured data.
Real-time mode:
Similar to the adaptive mode, real-time mode uses a shallow buffer to reduce the reaction time to a minimum within ARC’s
framework. However, while adaptive mode works with the entire parametric toolpath, real-time mode generates each command
on the fly by taking the current robot position, calculating the diff to the target position and then adjusting it according to the
preset step-values. So if the target, e.g. based on live motion capture data, were to move, with a step size set to 5mm and a
buffer to 5 positions, the robot would continue for 25 mm before reacting to the change.
Problem:
- What’s UDP communication?
[Notes] Reading Notes on [Adaptive Robot Control – mxautomation J. Braumann 2015]的更多相关文章
- Reading Notes of Acceptance Test Engineering Guide
The Acceptance Test Engineering Guide will provide guidance for technology stakeholders (developers, ...
- Codeforces346D. Robot Control
D. Robot Control time limit per test 6 seconds memory limit per test 256 megabytes input standard in ...
- Reading Notes : 180214 计算机的总线结构
读书<计算机组成原理>,百度百科 基本上接触过计算机的人,都多少知道计算机的具体构成,但是真正能讲明白的却说了很多,本节将讲解一下计算机的基本硬件构成和一些基本信息,简单认识,以后再深入了 ...
- Reading Notes : 180215 计算机系统
读书<计算机组成原理>,<鸟哥的Linux私房菜 基础篇>百度百科,内容摘自<计算机组成原理>,<鸟哥的Linux私房菜 基础篇> 计算机系统 在前面几 ...
- Evolutionary Computing: [reading notes]On the Life-Long Learning Capabilities of a NELLI*: A Hyper-Heuristic Optimisation System
resource: On the Life-Long Learning Capabilities of a NELLI*: A Hyper-Heuristic Optimisation System ...
- Effective Objective-C 2.0 Reading Notes
1. Literal Syntax NSString *someString = @"Effective Objective-C 2.0"; NSNumber *someNumbe ...
- today reading notes
paminit manager from upstart to systemd/systemctl;Vivid Vervet + openStack kilo;为容器开发者(OpenStack工作环 ...
- Azure Active Directory document ---reading notes
微软利用本地活动目录 Windows Server Active Directory 进行身份认证管理方面具有丰富的经验,现在这一优势已延伸基于云平台的Azure Active Directory.可 ...
- kafka definitive guide - reading notes
一.认识Kafka 1)什么是sub/pub模型, 发布订阅模型 Publish/subscribe messaging is a pattern that is characterized by ...
随机推荐
- linux知识
1. linux dns配置文件为 /etc/resolv.conf nameserver 114.114.114.114 国内常用(而国外常用8.8.8.8) 2. Linux 服务器名词与p ...
- Spring Boot自定义错误页面,Whitelabel Error Page处理方式
我已经是Spring Framework框架的忠实粉丝.对于企业软件开发者来说它提供了对常见问题的通用解决方案,包括那些你在未来开发中没有意识到的问题.但是,它构建的J2EE项目变得比较臃肿,需要被一 ...
- FW开发代码规范---小任性(2)
三.空行 (1)在每个函数.结构体.枚举定义结束之后都要加空行. 在一个函数体内,逻辑密切相关的语句之间不加空行,其它地方应加空行分隔. struct st1 { - }; // 空行 enum { ...
- POJ C Looooops
Description A Compiler Mystery: We are given a C-language style for loop of type for (variable = A; ...
- 纯CSS实现圆形进度条
CSS的优点在于的可以随意组合HTML元素来实现许多中效果,这儿我将使用CSS来实现一个运行进度条,效果如下: 思路是用两个div来作为进度条外观,表示进度的div和外面div宽度和高度保持一致,并是 ...
- vbs脚本总结
1. msgbox语法:msgbox "对话框","对话框标题" 例:const hw="Hello World!" msgbox(hw) ...
- APK Downgrade Method working fine on LINE latest version 6.7.1
Line is one of the most popular messaging Apps, especially in Asia. On March 3 I downgraded the app ...
- Java内各种进制的表示
不同进制的数据表现: 二进制:由0,1组成.以0b开头. 八进制:由0,1,...7组成.以0开头. 十进制:由0,1,...9组成.默认整数是十进制. 十六进制:由0,1,...9,a,b,c,d, ...
- java学习第三天
关于上次的数据转换,如果定义的是 short 是,那么s=s+1,这样是错误的,会损失精度,但如果是s+=1.确实正确的,因为它包含了一个强制转化在里面.相当于 s=(int)(s+1); 然后特地 ...
- 第五百八十一天 how can I 坚持
也是醉了,现在买个手机都特么搞饥饿营销,吹牛B就要付出吹牛B的代价,哎,好伤感. 晚上学习也没学好.感觉人和人之间的信任怎么都没了呢..但愿是我想多了,其实就是我想多了,以后说话还是要多注意. 睡觉吧 ...