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]的更多相关文章

  1. Reading Notes of Acceptance Test Engineering Guide

    The Acceptance Test Engineering Guide will provide guidance for technology stakeholders (developers, ...

  2. Codeforces346D. Robot Control

    D. Robot Control time limit per test 6 seconds memory limit per test 256 megabytes input standard in ...

  3. Reading Notes : 180214 计算机的总线结构

    读书<计算机组成原理>,百度百科 基本上接触过计算机的人,都多少知道计算机的具体构成,但是真正能讲明白的却说了很多,本节将讲解一下计算机的基本硬件构成和一些基本信息,简单认识,以后再深入了 ...

  4. Reading Notes : 180215 计算机系统

    读书<计算机组成原理>,<鸟哥的Linux私房菜 基础篇>百度百科,内容摘自<计算机组成原理>,<鸟哥的Linux私房菜 基础篇> 计算机系统 在前面几 ...

  5. 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 ...

  6. Effective Objective-C 2.0 Reading Notes

    1. Literal Syntax NSString *someString = @"Effective Objective-C 2.0"; NSNumber *someNumbe ...

  7. today reading notes

    paminit manager from upstart to systemd/systemctl;Vivid Vervet  + openStack kilo;为容器开发者(OpenStack工作环 ...

  8. Azure Active Directory document ---reading notes

    微软利用本地活动目录 Windows Server Active Directory 进行身份认证管理方面具有丰富的经验,现在这一优势已延伸基于云平台的Azure Active Directory.可 ...

  9. kafka definitive guide - reading notes

    一.认识Kafka 1)什么是sub/pub模型, 发布订阅模型   Publish/subscribe messaging is a pattern that is characterized by ...

随机推荐

  1. NSMutableAttributedString 富文本删除线的用法

    #import <UIKit/UIKit.h> //价格 NSString *priceStr = @"99元 剁手价66元"; NSMutableAttributed ...

  2. 【Linux】浅谈段页式内存管理

    让我们来回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的.换句话说,就是程序在运行的过程中访问的都是物理地址.如果这个系统只运行一个程序,那么只要这个程序所需的内存不要超过该机器的物理内存 ...

  3. 原生js 实现购物车价格和总价 统计

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. HBase Java API类介绍

    几个相关类与HBase数据模型之间的对应关系 java类 HBase数据模型 HBaseAdmin 数据库(DataBase) HBaseConfiguration HTable 表(Table) H ...

  5. 基于adt-bundle-windows-x86的android开发环境搭建

    0,简介: 最近简单着手了解 android 开发.工欲善其事,必先利其器. 我本人不太喜欢使用java 开发,所以简单了解了下其 c# c++都可以进行android 开发,用c++的话要使用NDK ...

  6. [家里蹲大学数学杂志]第053期Legendre变换

    $\bf 题目$. 设 $\calX$ 是一个 $B$ 空间, $f:\calX\to \overline{\bbR}\sex{\equiv \bbR\cap\sed{\infty}}$ 是连续的凸泛 ...

  7. linux查看磁盘io的几种方法

    怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式: 第一种:用 top 命令 中的cpu 信息观察 Top可以看到的cpu信息有: Tasks: 29 total, 1 runnin ...

  8. json格式的数组长度

    var data = [{"id":"1","name":"a"},{"id":"2&qu ...

  9. 16.检查是否为BST

    题目描述 请实现一个函数,检查一棵二叉树是否为二叉查找树. 给定树的根结点指针TreeNode* root,请返回一个bool,代表该树是否为二叉查找树 import java.util.*; /* ...

  10. c++操作符重载

    一.类型转换操作符(type conversion operator)[1] 参考: [1]. C++类型转换操作符(type conversion operator): http://www.cpp ...