机器人控制相关问答记录(2022.3.24)

协作机器人阻抗控制方法研究.png

腾讯RoboticsX实验室机器人岗位面试问题记录

一、技术面专业问题

1、运动学与动力学的关系和差别
2、正向动力学和逆向动力学的差别
3、正向运动学和逆向运动学的差别
4、表示机器人状态和位姿的方法有哪些?
5、UR5e的运动控制的控制频率
6、PPO算法的输入输出是什么?PPo 算法的特点是什么?为什么选择使用PPO 算法而不用其他算法替代?
7、对于超声图像处理后输入到算法的信息是什么格式的,是什么信息?
8、 ros里边的话题通信和服务通信的差别具体是什么
9、四元数相关概念
10、简述moveit相关概念
11、SRL算法的作用是什么。输入输出分别是什么,具体的效果是什么样的
12、强化学习方式在做机器人控制方面比普通阻抗控制的优势是什么,或者说为什么选择用强化学习的方式去实现。
13、大致说说普通PID、阻抗控制、最优控制等常规控制的特点并分析一下。
14、UR5e是怎么做重力补偿的
15、UR5e能做到电流级别的控制吗?(我说不能,他说能,有学生实现)
16、比较Mujoco和ROS的Gazebo和python里的pybullet三者的差别。

二、其他问题

1、你为什么选择坚持做医疗机器人方向的研究,你觉得这个研究是有前景和意义吗。
2、你觉得在研究中,工程能力和科研能力谁更重要?
3、硬件软件你都接触过,那么你觉得你最擅长的是哪个方向或者哪个技能?

三、面试官建议

1、对于机器人学习和研究而言,很多人都只能算是入门,但是即使是入门也要有自己的想法和设计点在里边。
2、就业后别人只会在乎你解决问题的能力,当一个问题抛给你,主管不会在乎你用的什么算法去解决,只会在乎你是否做到要求,是否能实现指标(重点是:只要能解决问题就行)。
3、对于研究,基础不一定是最重要的,想法和视野才是重要的

四、技术面流程

1、在上一次面试的基础上,再介绍一下你现在研究项目的情况
2、针对研究项目的具体提问
3、课程知识的问答(围绕机器人学)
4、研究方向是怎么确定的,开题选题的过程和研究进度
5、面试官介绍研究内容
6、反问是否有问题需要了解

越疆科技公司面试记录

一、技术面专业问题

1、FDC2214芯片做手势识别的原理
2、超声扫查恒定力控制的轨迹是如何规划的
3、UR5e机械臂rtde库的实现原理里边有无末端力反馈,控制算法是自己写的还是该库内嵌的。
4、打算使用强化学习的研究意义和目的
5、强化学习算法输出的是什么?
6、对于机器人建模,获取数据了解多少?

二、总结
特点:

越疆科技更注重于项目落地,侧重解决工程实践问题,目前暂时没有模拟仿真相关研究。

经验:

从该面试过程学习到,要落实机器人的基础性、实用性的使用问题。(轨迹规划,基础控制算法,阻抗控制等应有一定了解)

参考回答(持续完善):

1、运动学与动力学

运动学:

研究的是运动本身,主要是表述物体的速度、加速度和空间位置这几个量之间的大小和方向关系。单纯的运动学研究不涉及物体的质量,也就不涉及到力;经常将物体抽象为质点或某个几何形状,研究特征点之间的速度、加速度、相对位置关系。

动力学:

考虑了物体的质量,引入了力和能量,也就是研究物体运动及运动的原因。那么什么时候用运动学,什么时候用动力学。个人总结,当我们设计某个机器初期,研究其关键零部件的运动轨迹、速度使其满足相应要求时,可以用运动学就可以;当研究如何使机器按照相应速度、加速度平稳的运行起来,涉及到控制时,就需要动力学分析

2、比较Mujoco和ROS的Gazebo和python里的pybullet三者的差别。

  • Gazebo 使用来自 Bullet的最大坐标刚体 (btRigidBody),这对于机器人来说不是最佳方式,它允许关节间隙。在轨迹规划里需要和moveit等搭配。

  • pyBullet默认使用铰接刚体 (btMultiBody),更适合机器人相关任务。此外,pyBullet 具有逆动力学、逆运动学、渲染、VR,并具有使用 OpenAI 进行强化学习的默认示例。

  • Mujoco更专注于动力学仿真,拥有自己更直观更强大的建模语言MJCF。其中的关composite是能够进行软体模型仿真。composite是针对复合对象建模的关键,是在body类下的一个,其参数中的 type包括了:

type: [particle, grid, rope, loop, cloth, box, cylinder, ellipsoid], required【粒子、网格、绳索、环、布、盒子、圆柱、椭球】

总之,Gazebo 和 PyBullet 都使用 URDF 和 SDF 文件作为输入。PyBullet 也允许导入 MuJoCo 文件。
Gazebo可以和ros很好地衔接。

3、空间机械臂运动学建模

对于空间机械臂连杆关系的描述是建立空间机械臂运动学模型的基础。

基础知识:连杆变换矩阵


1、原点建立在关节轴线Ji+1上

2、原点建立在关节轴线Ji上

(1)T矩阵法是描述连杆关系最基本的方法。

该方法将连杆坐标系间的变换关系直接使用齐次变换矩阵表示,相比其他方法,其对机械臂的描述更加直观。需要保证各连杆坐标系的Z轴与关节i轴线平行,坐标系的x轴和y轴在满足右手定则的条件下课任意指定。
优点:建系容易,简单直观。
缺点:参数不容易获得且冗余
参数数量:12n

(2)D- H法

D-H法是最为经典的机械臂运动学建模方法,该方法通过一系列规则建立机械臂连杆坐标系,采用4个变量描述机械臂连杆之间的变化关系。
优点:参数易得且无冗余
缺点:存在参数突变问题
参数数量:4n

(3)MDH法

MDH法的出现是由于利用D- H法建立连杆坐标系过程中会出现参数突变问题(常在机械臂轴平行时)。
优点:参数易得且无冗余
缺点:
参数数量:5n

(4)CPC法

优点:参数易得
缺点:参数冗余
参数数量:6n

(5)MCPC法

优点:参数易得且无冗余
缺点:
参数数量:4(n-1)+6

(6)旋量法

优点:直接建立了全局坐标,简化了对机构的分析
缺点:不容易理解
参数数量:6n

4、机器人运动姿态与位置描述

机器人姿态描述:
  • 1、欧拉角
  • 2、横俯偏角
  • 3、姿态矩阵
  • 4、转轴转角
  • 5、四元数
机器人位置描述:
  • 1、笛卡儿坐标
  • 2、柱面坐标
  • 3、球面坐标
欧拉角表示

横俯偏角

旋转变换与欧拉角转换

位置描述方式

image.png

image.png

image.png






8、ROS通信相关问题

ROS 中的基本通信机制主要有如下三种实现策略:

  • 话题通信(发布订阅模式)
  • 服务通信(请求响应模式)
  • 参数服务器(参数共享模式)
    三种通信机制中,参数服务器是一种数据共享机制,可以在不同的节点之间共享数据。话题通信与服务通信是在不同的节点之间传递数据的。


    1、话题通信(发布订阅模式)

    2、服务通信(请求响应模式)

    3、参数服务器(参数共享模式)

13、普通PID、阻抗控制、最优控制等常见控制方法的特点

  • PID控制器是目前工程领域应用最广泛的,其原因在于工程师们用起来很容易,不需要建模等数学物理方法。再加上目前优良的伺服性能,使得我们几乎可以无脑式的用PID算法,只要调调参数就行。


    PID控制理论

    PID的局限

首先都可以实现力的追踪控制,然后阻抗主要是和环境接触的时候呈现一个二阶系统特性,具有一定的柔顺性,在一些场合具有一定的优势,像什么人机交互,什么外骨骼这种,用的一般是阻抗。最优控制是针对被控对象模型已知下,控制效果根据优化目标能达到最好的效果。
而pid针对未知模型的被控对象特别简单有效。一个是黑盒,一个是白盒。一个只能观测外部输入输出,一个还能观测到内部状态量,更能精确的表征和控制模型。

14、OSC控制器配置

15、关于UR5e的通信端口

  • 1、UR5机器人作为服务器的通信端口:
端口 端口描述
502 Modbus TCP协议,机器人作为服务器
22 SSH/SFTP (安全文件传输协议)
29999 Dashboard功能
30001 第一客户端端口,自动返回机器人状态与补充消息
30002 第二客户端端口,自动返回机器人状态与消息
30003 实时反馈端口,自动返回机器人状态与消息,125Hz实时反馈接口

UR5的端口通信

对于UR5机器人:

  • 30001~30003这三个端口共同特点是,一旦客户端打开端口,就会按照一定的频率收到来自机器人的信息,30003端口是实时反馈端口,客户端每8ms(125Hz)就收到一次来自机器人的信息。而其它两个端口只能每200ms(5Hz)收到一次来自机器人的信息。
  • 客户端通过这三个端口收到的机器人信息稍有不同,通过30003端口收到的信息是最丰富的,包含了通过30001和30002收到的大部分信息。
  • 因此,通过实时反馈端口30003,客户端收到机器人的信息频率是最高的,内容也是最全的。
    按照参考文献说法:通过30003每次收到的数据包是1044个字节,以标准格式排列,极少数情况下客户端会收到小于1044个字节。
  • 2、UR5机器人作为客户端的通信端口
端口 端口描述
自定义 由UR脚本函数定义
502 Modbus TCP协议,机器人作为客户端

建立通信链接:

import socket
import struct
import math
import numpy as np
HOST = "192.168.0.100"    # The remote host
PORT = 30003        # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
  • 30003端口的参数、
    30003端口为Realtime端口,UR5达到125hz,UR5e为500hz。端口数据的定义规则可参考UR官方Excel文档,截图如下。
    image.png

    参数表

16

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容