boldyoungster
算法工程师,c/c++、python程序猿
展开
-
机器人运动规划技术介绍
文章目录运动规划、路径规划和轨迹规划路径规划算法随机采样的算法梯度下降法轨迹规划算法基本思路开源算法介绍总结参考资料:运动规划、路径规划和轨迹规划机器人的运动规划可以看做是包括了路径规划和轨迹规划两个步骤,目的是根据给定的任务,计算出一条可以下发给机器人控制器去执行的轨迹。路径规划,顾名思义就是在有障碍的空间里找出一条没有碰撞的路径来,一般情况下,这些路径都由一系列的离散点来表示,相邻的点进行线性插值,确保每个离散点和中间的插值点都不会有碰撞。轨迹规划是根据路径规划生成的离散点,计算一条连续的满足机原创 2021-03-14 22:37:51 · 5038 阅读 · 2 评论 -
机器人轨迹规划——三次多项式插值轨迹
机器人轨迹这一系列轨迹教程将主要包括以下内容:点到点轨迹(P2P)五次多项式插值轨迹三次多项式插值轨迹梯形速度曲线轨迹双S形速度曲线轨迹多个自由度轨迹的时间同步在线轨迹规划多项式在线轨迹规划梯形在线轨迹规划双S形在线轨迹规划非线性实时轨迹滤波多点轨迹(Multi-point)三次样条曲线(cubic spline)贝赛尔曲线(Bezier Curve)B样条曲线(BSpline)时间最优轨迹三次样条时间最优轨迹任意路径下的时间最优轨迹时间原创 2021-02-28 18:48:45 · 8342 阅读 · 0 评论 -
机器人轨迹规划——五次多项式插值轨迹
五次多项式五次多项式表达式如下:q(t)=k0+k1t+k2t2+k3t3+k3t3+k4t4+k5t5q(t)=k_0+k_1t+k_2t^2+k_3t^3+k_3t3+k_4t^4+k_5t^5q(t)=k0+k1t+k2t2+k3t3+k3t3+k4t4+k5t5特点:加速度连续可以定义起始和结束的位置、速度、加速度(因为一共有六个约束,所以需要是五次多项式)举例:q0=0q_0=0q0=0q1=1q_1=1q1=1v0=0v_0=0v0=0v1=0v_1=原创 2021-02-27 12:00:09 · 23129 阅读 · 2 评论 -
机器人轨迹规划——多项式轨迹实战
机器人轨迹这一系列轨迹教程将主要包括以下内容:点到点轨迹(P2P)三次多项式插值轨迹五次多项式插值轨迹多项式轨迹实战梯形速度曲线轨迹双S形速度曲线轨迹多个自由度轨迹的时间同步在线轨迹规划多项式在线轨迹规划梯形在线轨迹规划双S形在线轨迹规划非线性实时轨迹滤波多点轨迹(Multi-point)三次样条曲线(cubic spline)贝赛尔曲线(Bezier Curve)B样条曲线(BSpline)时间最优轨迹三次样条时间最优轨迹任意路径下的时原创 2021-03-27 11:55:06 · 3909 阅读 · 8 评论 -
机器人轨迹规划——梯形速度轨迹(超详细)
机器人轨迹这一系列轨迹教程将主要包括以下内容:点到点轨迹(P2P)五次多项式插值轨迹三次多项式插值轨迹梯形速度曲线轨迹双S形速度曲线轨迹多个自由度轨迹的时间同步在线轨迹规划多项式在线轨迹规划梯形在线轨迹规划双S形在线轨迹规划非线性实时轨迹滤波多点轨迹(Multi-point)三次样条曲线(cubic spline)贝赛尔曲线(Bezier Curve)B样条曲线(BSpline)时间最优轨迹三次样条时间最优轨迹任意路径下的时间最优轨迹时间原创 2021-03-03 23:09:18 · 9779 阅读 · 16 评论 -
机器人轨迹规划——双S曲线轨迹(详细推导)
机器人轨迹这一系列轨迹教程将主要包括以下内容:点到点轨迹(P2P)在线轨迹规划多点轨迹(Multi-point)时间最优轨迹双S轨迹相比梯形轨迹,更加的平滑,梯形轨迹本质上是将一段点到点的轨迹分为三段(加速——匀速——减速);而双S轨迹本质上是分为了七段,中间的匀速段是不变的,但是它将梯形轨迹的加速、减速段分为三段。以加速段为例,先是以最大的加加速度达到最大的加速度,然后以恒加速度进行加速,然后以最大的加加速度将加速度减到零。上面一段话看着比较晕,中文里面加加速度指的是对加速度求导,也称为跃度,对应的是英文原创 2022-07-27 23:49:33 · 3438 阅读 · 1 评论 -
机器人轨迹规划——三次样条轨迹1(基于速度的求解方法)
三次样条轨迹是利用三次样条曲线来对给定的一系列点进行插值,从而得到一个光滑的轨迹。三次样条因为每段的多项式次数最高都是三阶的,所以可以得到2阶导数连续,也就是加速度连续的轨迹。假设给定了一系列的点q0q1q2qnq0q1q2...qn,以及每个点对应的参数t0t1t2tnt0t1t2...tn,计算一条三次样条曲线sts(t)st,该曲线通过给定的点q0q1q2qnq0q1。原创 2023-04-10 15:55:47 · 884 阅读 · 1 评论 -
机器人轨迹规划——三次样条轨迹2(手把手推导基于加速度的求解方法)
三次样条曲线的计算原创 2024-01-09 17:27:58 · 1108 阅读 · 0 评论 -
工业机器人介绍及机器人学概述
工业机器人介绍及机器人学概述文章目录工业机器人介绍及机器人学概述四大家介绍其他常见国外品牌国内品牌机器人学概述工业机器人,它和想象中的人形机器人不一样,只有一系列串联起来的连杆,因此也叫机械臂。目前世界上大多数应用在工业现场的机械臂都来自于四大家——发那科(FANUC,日本)、Motoman(安川Yaskawa,日本)、ABB(瑞士)、Kuka(德国),它们的市场占有率保持在50%以上。四大家介绍除了上面业界给出的比较,根据我个人的经验(四大家的机器人都用过),发那科的系统比较封闭,示教器很笨重,原创 2021-01-23 00:41:44 · 1205 阅读 · 0 评论 -
手把手地写一个机器人仿真环境---RobotZen
前言如果对机器人感兴趣,要么很土豪,可以买一个机器人来用用,但是也耐不住机器人型号太多,多买几个,钱不是问题,主要没地方放了。钱都是装在手机里的,机器人当然也可以是虚拟的。关于机器人的仿真环境已经有很多了,以下是一个不完全的统计:AirSim - Simulator based on Unreal Engine for autonomous vehicles [github] AR...原创 2019-12-20 23:48:44 · 1202 阅读 · 7 评论 -
Robotcis Library
Robotcis LibraryRobotics Library (简称RL) 是我最近新发现的一个机器人仿真库,感觉还不错,比Ros有更好的实时性,而且代码不多,架构挺清晰的,基于Open Inventor开发的仿真环境,包括运动学、轨迹生成、运动规划、碰撞检测等功能,值得学习一下。参考官网ubtuntu的安装教程先安装cmake 这些sudo apt-get install build-essential cmake# cmake 的 GUI,可以用来快速查看有哪些选项sudo apt-g原创 2020-07-18 21:40:48 · 1312 阅读 · 1 评论 -
Coin3D快速上手教程
Coin3D文章目录Coin3D介绍安装c++SDKpython 库 pivy例子c++python例子总结介绍Coin3D是一套免费的3D开发套件,实现了Inverntor2.1API,但是只是接口一致,在实现上没有任何代码共享。Coin3D提供了一个3D图形显示组件,同时可以很方便的和Qt进行集成,两者结合起来用,很容易开发一些需要3D显示的软件,比如freecad就用了Coin3D,如果个人开发机器人仿真软件、CAD软件也是很推荐尝试一下这个。Coin3D是包括了SceneGraph等类和接口原创 2021-09-11 17:21:55 · 2962 阅读 · 0 评论 -
Windows WSL安装ROS
1. ROS 的安装ros是一个很大的软件,现在支持windows,以前仅支持linux,没有接触之前可能觉得安装使用很繁琐,其实按照官网的步骤,几个命令复制粘贴一下,比想象中的简单多了,以下是一个简明实用的安装教程及注意事项。1.1 linux系统准备ros最好还是安装在linux系统中,建议最新版的Ubuntu18,如果使用的是windows系统,可以在应用商店中搜索Ubuntu安装最新版(这个功能需要开启windows系统相关功能,百度一下)。注意,如果是在windows系统中使用ub原创 2021-02-27 21:46:39 · 678 阅读 · 0 评论 -
ROS的话题、消息、服务与参数简介
使用以下命令开启两个节点$roscore# another terminal$ rosrun turtlesim turtlesim_node话题/Topicros的topic用于在不同节点之间传输数据,一个话题可以有发布者和订阅者,话题发布的内容为消息,消息具有特定的类型(类似c语言结构体)。而服务是一个节点对外提供的一些操作/函数接口。参数是节点提供的一些参数设置。在turtle_sim这个例子中,话题是$ rostopic list/rosout # roscore topi原创 2021-02-27 21:49:47 · 409 阅读 · 0 评论 -
ROS包与节点简介
1. ROS 包/packageros的包(package)指的是一个完整的程序功能模块,一个package可以运行在一个节点上。ros使用catkin工具包来进行包的编译等,自己建立的所有的包都包含在catkin的工作空间src文件夹下$ mkdir -p catkin_ws/src $ tree catkin_wscatkin_ws/ └── src $ cd catkin_ws/src$ catkin_create_pkg beginner_tut原创 2021-02-27 21:48:00 · 903 阅读 · 0 评论 -
python DH法计算机器人的正逆运动学
DH法计算机器人的正运动学import numpy as npfrom functools import reducenp.set_printoptions(precision=4, suppress=True)定义绕x/y/z旋转的旋转矩阵def rotate(axis, deg): AXIS = ('X', 'Y', 'Z') axis = str(axis).upper() if axis not in AXIS: print(f"{axis} is原创 2020-07-15 23:01:50 · 5086 阅读 · 7 评论 -
Webots 在win10 找不到python的问题
安装了Webots 之后,导入使用python写的控制器时,总是报错,找不到python.exe,可是在系统的cmd中输入python明明是可以运行的,也重新设置了Preference中python的路径,依然找不到。倒腾了半天,才对那句熟视无睹的“Webots require python3.7 or python2.7”起了疑心,系统里装的是python3.8,难道会是因为版本的问题?...原创 2020-03-03 21:09:28 · 2727 阅读 · 0 评论 -
向量值函数的范数求导——由笛卡尔轨迹推导TCP线速度
向量值函数的范数求导假设有函数R→RnR \rightarrow R^nR→Rn:f⃗(t)=[f1(t)f2(t)f3(t)⋯ ]T\vec f(t) = [f_1(t) \quad f_2(t) \quad f_3(t) \quad \cdots]^T\\f(t)=[f1(t)f2(t)f3(t)⋯]T想要求出该函数的范数的导数∂∣f⃗∣∂t\frac {\partial |\vec f|}{\partial t}∂t∂∣f∣ ,其中∣f⃗∣|\vec f|∣f∣表示向量值函数f原创 2021-07-18 23:20:30 · 404 阅读 · 1 评论