当前位置：网站首页>Robot continuous path planning
Robot continuous path planning
20201207 19:20:51 【ZC_ Robot technology】
picture source ：here
1 summary
The continuous path planning of robot mainly involves the posture of the base 、 The planning of the end position or posture of a manipulator , In the process , Position can be uniquely represented by a threedimensional vector , Therefore, the planning of the end position of the manipulator is mainly for the planning of the threedimensional vector coordinates , And for posture planning , Because the method of gesture representation is not unique , Therefore, there will be a variety of attitude planning methods . But whether it's planning or interpolation for position and posture , The corresponding planning algorithm is universal .
Because the rotation of a rigid body can be expressed in many ways , Euler angle is generally used 、 Axis angle and quaternion, etc , Euler angles are due to the fact that the divisor is a sine and cosine , Therefore, in practical use, there will be strange posture , However, the quaternion based method can effectively avoid the problem of pose singularity .
The continuous path planning of robot can be divided into pointtopoint continuous path and multipoint continuous path . For space robot Cartesian continuous path , We need to plan its position or posture trajectory reasonably , Cartesian trajectories are generally parameterized functions related to time . Generally, in Cartesian continuous path, such as polynomial 、 Trigonometric functions and exponential functions as basis functions , This shows that a segment of position is continuous , Track where the speed and acceleration meet the requirements . From a mathematical point of view , In time t_0t_1 The trajectories of the inner dimension can be expressed as follows ：
In style q: Scalar value of position or attitude in a certain direction ;t_0,t_1 Start and end times ;
2 Point to point continuous path planning
If the trajectory is polynomial based , And the velocity and acceleration at the beginning and the end have initial values , The trajectory is described as follows
In style q_0,q_f The position or attitude scalar of a certain direction after planning ,v_0,v_f The velocity values at the beginning and the end of time ;a_0,a_f Acceleration values at the start and end of the time .
Under the above conditions , Definition T=t_ft_0,h=q_fq_0, Then the trajectory based on quintic polynomial can be arbitrarily expressed as follows
among
In style c_i Constants of polynomials ,T Total time ,h The difference between the end value and the initial value .
3 Continuous path planning between multiple points
The actual manipulator is in motion , It may pass through multiple intermediate nodes , Such a path can avoid obstacles , And can more smoothly complete the set tracking task . Theoretically , For the trajectory between multiple points, a polynomial can be used to connect the intermediate points , But there is a numerical stability problem in the process of solving , therefore , For multipoint trajectory planning , It is usually implemented by interpolation .
In this paper, spline curve is used to plan the trajectory between multiple points , To ensure the continuity of the trajectory , The initial and terminal velocities of the trajectory are generally specified . therefore , Given n+1 A little bit , Such as (t_k,q_k). The boundary velocity is scalar v_0 and v_n,. The desired trajectory is planned according to the spline curve described by the following equation
among ：
In style ：
q_k,\dot q_k,\ddot q_k, After the first k The scalar value of points 、 Speed value 、 Acceleration value ;
s(t) Spline function
c_{ki} Spline coefficients
v_k After the first k A point velocity value
t_k After the first k The time value of points
In the process , If the velocity in the middle is known , Then you can get
In style u_k The time interval between every two points u_k=t_{k+1}t{k}
Besides , If the velocity of the intermediate point is unknown , Then the trajectory between the points can be calculated by the acceleration continuity of the interpolation points . The acceleration can be expressed as follows
For the above , Through substitution c_{k,2},c_{k,3},c_{k+1,2} The expression of , It can be deduced that
The above expression relationship can be written as a matrix expression as follows
v^{'}=[v_0,v_1,......v_n]^T ,d^{'}=[d_0,d_1,......d_{n2}]^T ,d^{'} Is the matrix related to time interval and position .
Because in the above formula , The velocity equations of the initial and final moments of the trajectory are known , therefore , It is necessary to eliminate the terms related to the initial velocity and the terminal velocity , So that we can get
among
Original statement , This article is authorized by the author + Community publication , Unauthorized , Shall not be reproduced .
If there is any infringement , Please contact the yunjia_community@tencent.com Delete .
版权声明
本文为[ZC_ Robot technology]所创，转载请带上原文链接，感谢
https://chowdera.com/2020/11/202011152042171297.html
边栏推荐
 C++ 数字、string和char*的转换
 C++学习——centos7上部署C++开发环境
 C++学习——一步步学会写Makefile
 C++学习——临时对象的产生与优化
 C++学习——对象的引用的用法
 C++编程经验（6）：使用C++风格的类型转换
 Won the CKA + CKS certificate with the highest gold content in kubernetes in 31 days!
 C + + number, string and char * conversion
 C + + Learning  capacity() and resize() in C + +
 C + + Learning  about code performance optimization
猜你喜欢

C + + programming experience (6): using C + + style type conversion

Latest party and government work report ppt  Park ppt

在线身份证号码提取生日工具

Online ID number extraction birthday tool

️野指针？悬空指针？️ 一文带你搞懂！

Field pointer? Dangling pointer? This article will help you understand!

HCNA Routing＆Switching之GVRP

GVRP of hcna Routing & Switching

Seq2Seq实现闲聊机器人

【闲聊机器人】seq2seq模型的原理
随机推荐
 LeetCode 91. 解码方法
 Seq2seq implements chat robot
 [chat robot] principle of seq2seq model
 Leetcode 91. Decoding method
 HCNA Routing＆Switching之GVRP
 GVRP of hcna Routing & Switching
 HDU7016 Random Walk 2
 [Code+＃1]Yazid 的新生舞会
 CF1548C The Three Little Pigs
 HDU7033 Typing Contest
 HDU7016 Random Walk 2
 [code + 1] Yazid's freshman ball
 CF1548C The Three Little Pigs
 HDU7033 Typing Contest
 Qt Creator 自动补齐变慢的解决
 HALCON 20.11：如何处理标定助手品质问题
 HALCON 20.11：标定助手使用注意事项
 Solution of QT creator's automatic replenishment slowing down
 Halcon 20.11: how to deal with the quality problem of calibration assistant
 Halcon 20.11: precautions for use of calibration assistant
 “十大科学技术问题”揭晓！青年科学家50²论坛
 "Top ten scientific and technological issues" announced Young scientists 50 ² forum
 求反转链表
 Reverse linked list
 js的数据类型
 JS data type
 记一次文件读写遇到的bug
 Remember the bug encountered in reading and writing a file
 单例模式
 Singleton mode
 在这个 N 多编程语言争霸的世界，C++ 究竟还有没有未来？
 In this world of N programming languages, is there a future for C + +?
 es6模板字符
 js Promise
 js 数组方法 回顾
 ES6 template characters
 js Promise
 JS array method review
 【Golang】️走进 Go 语言️ 第一课 Hello World
 [golang] go into go language lesson 1 Hello World