
RobWork
RoboticsLearner
机器人软件算法工程师,热爱机器人,喜欢编程。
展开
-
基于给定的起始点和目标点生成Z轴指向目标点的坐标系
#include <iostream>#include <array>#include <cstring>#include <string>#include <Eigen/Dense>using namespace std;int main() { Eigen::Vector3d translateBaseToHead(-0.0313098, -0.827213, 0.823521); Eigen::Matrix4d原创 2021-05-10 19:32:57 · 373 阅读 · 0 评论 -
基于RobWork的机器人运动学DH模型构建和求解
CMakeLists.txtcmake_minimum_required(VERSION 2.8)set(CMAKE_CXX_STANDARD 14)project(robwork_demo)#set(CMAKE_MODULE_PATH "")set(RobWork_DIR "/home/liuqiang/Documents/RobWork-master/RobWork/RobWork/cmake")find_package(RobWork)find_package(Eigen3 REQUIR原创 2020-06-11 10:24:21 · 888 阅读 · 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 评论