当前位置: 首页 > news >正文

机器人C++开源库The Robotics Library (RL)使用手册(三)

进入VS工程,我们先看看这些功能函数及其依赖库的分布关系:
在这里插入图片描述
rl命名空间下,主要有八大模块。
搞定VS后将逐个拆解。

1、编译运行

根据报错提示,配置相应错误的库(根据每个人安装位置不同而不同,我的路径如下:)
在这里插入图片描述

编译所有,Release版本耗时大约10分钟。
在这里插入图片描述

以rlPlan运动轨迹为例,设该项为启动项,运行。
在这里插入图片描述

2、API解析

Robotics Library是一个层次化组件集。运动规划接口建立在基本数学函数、运动学和动力学计算、场景图抽象、硬件抽象、XML解析和实用函数之上。
在这里插入图片描述

2.1 rl::math

RL的这一部分提供了基本的数学函数。向量和矩阵代数使用特征3为指定的实数表示提供方便的类型定义(在Real.h)
因此,数学表达式是指定与Eigen相同并且可以方便地描述各种向量和矩阵运算。
涉及三维旋转、四元数、变换的操作包括通过Eigen支持.
用法:

rl::math::Matrix33 r(rl::math::AngleAxis(90.0f * rl::math::DEG2RAD, rl::math::Vector3::UnitZ()) *rl::math::AngleAxis(0.0f * rl::math::DEG2RAD, rl::math::Vector3::UnitY()) *rl::math::AngleAxis(90.0f * rl::math::DEG2RAD, rl::math::Vector3::UnitX())
);
rl::math::Transform t(r);
rl::math::Vector3 xyz = t.rotation().eulerAngles(2, 1, 0).reverse();
rl::math::Quaternion q(r);
r = q.toRotationMatrix();

2.2 rl::xml

该组件充当XML库的C抽象层 libxml2和 库xslt。它支持XPath(XPath)(XML路径语言),并提供方便的XML文件解析。有关此主题的更多信息,请参阅XPath教程.
为了处理XML文档,需要创建解析器。然后可以使用此解析器加载给定文件名或内存中字符串的文档。

rl::xml::DomParser parser;
rl::xml::Document document = parser.readFile("foo.xml");

引用此示例文件:

<?xml version="1.0" encoding="UTF-8"?>
<model><name>Foo</name><world><rotation><x unit="deg">0</x><y unit="deg">90</y><z unit="deg">0</z></rotation><translation><x>0</x><y>0</y><z>2</z></translation></world>
</model>

对结果值的访问取决于特定的XPath表达式。为了读取节点的字符串值,使用以下语法:

std::string name = path<
http://www.lryc.cn/news/510511.html

相关文章:

  • Photoshop启动错误:找不到MSVCP140.dll的多步骤解决指南
  • mac中idea菜单工具栏没有git图标了
  • 学习threejs,PerspectiveCamera透视相机和OrthographicCamera正交相机对比
  • C#数学相关开发性能优化方法
  • 【前沿 热点 顶会】AAAI 2025中与目标检测有关的论文
  • APP投放的归因框架设计
  • 职业生涯记录-1
  • 江苏捷科云:可视化平台助力制造企业智能化管理
  • 【ES6复习笔记】Promise对象详解(12)
  • 01 Oracle 基本操作
  • C语言基础:指针(数组指针与指针数组)
  • 本地部署 LLaMA-Factory
  • Web前端基础知识(三)
  • 数据库设计问题记录
  • mac_录屏
  • 【Java-tesseract】OCR图片文本识别
  • redis cluster集群
  • 解锁高效密码:适当休息,让学习状态满格
  • 代码随想录算法训练营第十一天-150.逆波兰表达式求值
  • C++ 泛编程 —— 嵌套使用模板类
  • 【WebGIS】Cesium:GLTF数据加载
  • 【面经】25届 双非本科 字节跳动 北京 四年的总结
  • 抖去推碰一碰系统技术源码/open SDK转发技术开发
  • goview——vue3+vite——数据大屏配置系统
  • 中间件xxl-job安装
  • 【第2篇】 Python与数据库基础
  • CTFHUB-web进阶-php
  • 深度学习使用Anaconda打开Jupyter Notebook编码
  • 金蝶V10中间件的使用
  • Firewalld 防火墙详解:深入理解与实践指南