
Robot
文章平均质量分 68
RoboticsLearner
机器人软件算法工程师,热爱机器人,喜欢编程。
展开
-
基于OpenRave的IkFast生成StaubliTx2-60L机械臂的封闭解
参考:https://blog.youkuaiyun.com/Kalenee/article/details/80740258先基于Ubuntu16.04环境安装kinetic版本的ros环境接着安装sudo apt-get install ros-kinetic-moveit-kinematics使用如下仓库里的脚本安装OpenRavehttps://github.com/crigroup/openrave-installation创建ros工作空间catkin_wsmkdir -p ~/catkin_w原创 2021-04-16 20:10:23 · 748 阅读 · 0 评论 -
RobWork框架编程(4):对机器人的当前状态进行碰撞检测
碰撞检测功能在机器人的运动规划技术中是必不可少的,毕竟机器人所处的真实环境是如此的复杂,而我们却要获取机器人无碰撞的运动轨迹。运动规划算法通常比较流行的有两类:一类是基于采样的运动规划算法,如大名鼎鼎的OMPL运动规划库,另外一类就是各种基于优化的运动规划算法,如伯克利开源的TrajOpt算法等。当然了,还有结合采样和优化的运动规划算法,但是通常我们主要把它归类为基于优化的运动规划算法。通过基于...原创 2020-05-05 21:01:29 · 1757 阅读 · 1 评论 -
RobWork框架编程(3):给RobWorkStudio可视化仿真平台集成通讯功能
整个RobWork机器人框架(包括RobWorkStudio模块)都不提供进程间通讯的功能,导致与机器人应用相关的算法开发和调试很麻烦,毕竟对于一个功能比较完善的仿真软件来说,每一次的编译都是比较耗时的。而我们每次对代码的修改都是少量的。此时,可以考虑将RobWorkStudio仿真平台当作一个服务器,即给它集成http通讯的功能。关于机器人软件通讯功能的,在我之前的一篇博客里有简单的介绍。进程...原创 2020-05-04 07:22:52 · 2504 阅读 · 0 评论 -
RobWork框架编程(2):使用雅可比数值迭代算法对机器人进行逆运动学求解
在上一篇博客文章中,我们介绍了如何创建一个使用RobWork机器人框架的工程,以及如何加载机器人设备文件。接下来,在本篇博客中,我们将讨论如何使用RobWork求解UR3机器人的运动学逆解,使用的方法是通用的雅可比数值迭代方法,数值迭代算法虽然没有封闭解(也叫解析解)算法计算的结果精确,求解的速度也比封闭解算法慢不少,并且在有解的情况下也可能会求解失败,但是雅可比数值迭代算法的优势也非常的明显,...原创 2020-05-03 23:47:02 · 2836 阅读 · 4 评论 -
RobWork框架编程(1):加载XML格式的UR3机器人设备文件
RobWork框架是一个非常成熟的开源机器人框架,其主要由南丹麦大学开发和维护,该框架的开发受到欧盟的经费支持,至今已有十多年历史,比大名鼎鼎的ROS的历史还要悠久。RobWork的安装方法有两种,一种是通过PPA进行二进制安装,另一种是源码安装。通常,如果你只是想简单的体验一把,可以直接进行二进制安装,但是作为机器人开发者,通常你需要下载源码进行编译,因为你很有可能要在它的基础上进行代码修改或...原创 2020-05-03 21:50:06 · 1490 阅读 · 1 评论 -
消息库zeromq的源码编译及其简单使用
作为一个致力于研究机器人仿真软件的机器人工程师,研究一下进程间通信是很有必要的。当前机器人技术在各行各业的渗透处于快速上升阶段,诸多传统行业的公司都在转型升级中,尤其是今年(2020年)的新冠疫情,让我们看到了机器人和无人工厂的另外一个优势。我们会看到地产商成立了机器人公司,卖饮料的成立了机器人公司,传统生产重型装备的开始研发机器人。中国的医患关系紧张,矛盾短期难以调和,医生们冒着被谋杀的风险给...原创 2020-04-19 23:22:12 · 1720 阅读 · 4 评论 -
关于使用CMake构建C++项目时出现Missing variable is: CMAKE_FIND_LIBRARY_SUFFIXES错误的解决方法
有一段时间没有更新自己的技术博客了,但是最近看到有更多的人关注了我的技术博客,也给了我继续更新博客的动力。最近几个月在一些杂七杂八的事情,现在终于有了更多的时间来更新自己的博客了。好了,废话少说,下面我们进入今天的正题。 众所周知,在21世纪20年代的今天,开源的热潮席卷而来。机器人领域相关的开源框架和库众多,可选的方案也让人应接不暇,比如最有知名度的ROS/ROS2,此外还有:V-R...原创 2020-01-08 14:45:20 · 2548 阅读 · 0 评论 -
解决miniconda3/lib/libpng16.so.16: undefined reference to `inflateValidate@ZLIB_1.2.9`错误
昨天晚上在编译ViSP库的过程中出现如下的错误。~/miniconda3/lib/libpng16.so.16: undefined reference to `inflateValidate@ZLIB_1.2.9'collect2: error: ld returned 1 exit statusmodules/sensor/CMakeFiles/test1394TwoGrabber.di...原创 2019-08-20 09:02:47 · 4907 阅读 · 5 评论 -
求解三维空间中两向量之间的夹角
问题描述:已知三维空间中的三个点P1P_1P1,P2P_2P2和P3P_3P3,求向量P1P2→\overrightarrow{P_1P_2}P1P2和P1P3→\overrightarrow{P_1P_3}P1P3之间的夹角,要求必须能够计算出[0, 2π\piπ)之间的数值,而不仅仅是只能求出锐角,并用C++或Python或MATLAB语言进行算法实现。问题分析:为了求解出...原创 2019-08-19 11:39:19 · 41402 阅读 · 5 评论 -
遨博Aubo-i10机器人正逆运动学公式推导及其C++编程实现
最近在项目中用到了Aubo-i10机器人,遨博机器人跟UR机器人有很多共同点,都是模块化的协作机器人,它们构形相同。但是这两家公司的机器人还是有区别的,比如Aubo机器人的第三个关节是反着转的,跟UR机器人不一样。网上有关于UR机器人的逆运动学推导过程,借鉴一番之后,自己尝试着推导Aubo-i10机器人的正逆运动学,并通过C++编程实现了该求解算法,最后通过记录示教器上的数据进行验证,实验结果表明...原创 2019-07-23 09:11:33 · 8180 阅读 · 3 评论 -
机器人逆运动学公式推导中常用的方程求解
求方程:sin(θ)=asin(\theta)=asin(θ)=a则有,cos(θ)=±1−a2cos(\theta)=\pm \sqrt{1-a^{2}}cos(θ)=±1−a2故,θ=atan2(sin(θ),cos(θ))=atan2(a,±1−a2)\theta=atan2(sin(\theta), cos(\theta))=atan2(a, \pm \sqrt{1-a^{2}})θ...原创 2019-07-22 21:05:04 · 4980 阅读 · 1 评论