| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
类 | 函数
机器人功能扩展
轻量发布订阅服务

机器人运动学模型、状态发布、轨迹规划等功能扩展 更多...

机器人功能扩展 的协作图:

## 类
class | rm::lpss::RobotPlanner
| 机器人规划模块，提供 URDF 解析、正/逆运动学求解、轨迹规划等运动学功能 更多...
class | rm::lpss::RobotStatePublisher
| 机器人状态发布者，周期性发布 TF 和 URDF 消息 更多...
class | rm::lpss::async::RobotStatePublisher
| 异步机器人状态发布者，基于定时器周期性发布 TF 和 URDF 消息 更多...

## 函数
msg::Quaternion | rm::lpss::operator* (const msg::Quaternion &q1, const msg::Quaternion &q2)
| 四元数乘法：q1 * q2
msg::Vector3 | rm::lpss::rotate (const msg::Quaternion &q, const msg::Vector3 &v)
| 对向量执行旋转操作
msg::Transform | rm::lpss::operator* (const msg::Transform &t1, const msg::Transform &t2)
| 合并两个变换

## 详细描述

机器人运动学模型、状态发布、轨迹规划等功能扩展

该模块提供了

- 机器人运动学模型规划器 lpss::RobotPlanner ，支持 URDF 解析、正/逆运动学求解、轨迹规划等功能
- 机器人状态发布者，通过传入 lpss::RobotPlanner 对象和 lpss::Node （或 lpss::async::Node ）节点对象周期性发布 TF 和 URDF 消息，供其他模块订阅使用
- 相关消息类型转换函数，如四元数乘法、变换合并等
  机器人功能扩展模块示意图

## 函数说明

## ◆ operator*() [1/2]

msg::Quaternion rm::lpss::operator* | ( | const msg::Quaternion & | q1,
|  | const msg::Quaternion & | q2 )

`#include <rmvl/lpss/robot.hpp>`

四元数乘法：q1 * q2

参数

  [in] | q1 | msg::Quaternion 表示的四元数 1
  [in] | q2 | msg::Quaternion 表示的四元数 2

返回
  四元数乘积

## ◆ operator*() [2/2]

msg::Transform rm::lpss::operator* | ( | const msg::Transform & | t1,
|  | const msg::Transform & | t2 )

`#include <rmvl/lpss/robot.hpp>`

合并两个变换

具体来说符合以下规则：

- 在最初的坐标系下应用 t2 变换，再在原来的坐标系下应用 t1 变换，等价于在最初的坐标系下应用 t1 * t2 变换，即 “复合变换”
- 在最初的坐标系下应用 t1 变换，再在 t1 变换后的坐标系下应用 t2 变换，等价于在最初的坐标系下应用 t1 * t2 变换，即 “相对于坐标系的变换”

参数

  [in] | t1 | msg::Transform 表示的变换 1
  [in] | t2 | msg::Transform 表示的变换 2

返回
  msg::Transform 表示的合并后的变换

## ◆ rotate()

msg::Vector3 rm::lpss::rotate | ( | const msg::Quaternion & | q,
|  | const msg::Vector3 & | v )

`#include <rmvl/lpss/robot.hpp>`

对向量执行旋转操作

参数

  [in] | q | msg::Quaternion 表示的旋转四元数
  [in] | v | msg::Vector3 表示的向量

返回
  msg::Vector3 表示的旋转后的向量