机器人运动学模型、状态发布、轨迹规划等功能扩展
更多...
|
| void | rm::lpss::ctl::basic_pos_imapping (const msg::JointState &d_in, const msg::JointState &fb_in, std::vector< double > &d_out, std::vector< double > &fb_out) noexcept |
| | 基础位置采样输入映射,从 position 字段提取
|
| void | rm::lpss::ctl::basic_vel_imapping (const msg::JointState &d_in, const msg::JointState &fb_in, std::vector< double > &d_out, std::vector< double > &fb_out) noexcept |
| | 基础速度采样输入映射,从 velocity 字段提取
|
| void | rm::lpss::ctl::basic_eff_imapping (const msg::JointState &d_in, const msg::JointState &fb_in, std::vector< double > &d_out, std::vector< double > &fb_out) noexcept |
| | 基础力矩采样输入映射,从 effort 字段提取
|
| void | rm::lpss::ctl::basic_pos_omapping (std::vector< double > cmd_in, msg::JointState &cmd_out) noexcept |
| | 基础位置采样输出映射,将结果写回 position 字段
|
| void | rm::lpss::ctl::basic_vel_omapping (std::vector< double > cmd_in, msg::JointState &cmd_out) noexcept |
| | 基础速度采样输出映射,将结果写回 velocity 字段
|
| void | rm::lpss::ctl::basic_eff_omapping (std::vector< double > cmd_in, msg::JointState &cmd_out) noexcept |
| | 基础力矩采样输出映射,将结果写回 effort 字段
|
| msg::Quaternion | rm::msg::operator* (const msg::Quaternion &q1, const msg::Quaternion &q2) noexcept |
| | 四元数乘法: \(q_1\times q_2\)
|
| msg::Vector3 | rm::msg::rotate (const msg::Quaternion &q, const msg::Vector3 &v) noexcept |
| | 对向量执行旋转操作
|
| msg::Pose | rm::msg::operator* (const msg::Transform &t, const msg::Pose &p) noexcept |
| | 位姿变换
|
| msg::Transform | rm::msg::operator* (const msg::Transform &t1, const msg::Transform &t2) noexcept |
| | 合并两个 SE(3) 变换
|
机器人运动学模型、状态发布、轨迹规划等功能扩展
该模块提供了
◆ InSampleMapping
#include <rmvl/lpss/ctl/base.hpp>
输入采样映射,定义了如何从 JointState 中提取向量供控制律计算使用
- 参数
-
用户可自定义此类函数实现复杂的提取逻辑,如多字段融合等
◆ OutSampleMapping
#include <rmvl/lpss/ctl/base.hpp>
输出采样映射,定义了如何将控制律计算结果写回 JointState 输出
- 参数
-
| [in] | cmd_in | std::vector 表示的控制量,这是控制律的直接输出 |
| [out] | cmd_out | msg::JointState 表示的控制量,供用户使用 |
◆ ControlStatus
#include <rmvl/lpss/ctl/base.hpp>
控制律计算状态
| 枚举值 |
|---|
| Ok | 本周期计算成功
|
| InvalidInput | 输入维度或数据非法
|
| Diverged | 计算过程发散
|
| Failed | 其他失败
|
◆ basic_eff_imapping()
| void rm::lpss::ctl::basic_eff_imapping |
( |
const msg::JointState & | d_in, |
|
|
const msg::JointState & | fb_in, |
|
|
std::vector< double > & | d_out, |
|
|
std::vector< double > & | fb_out ) |
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础力矩采样输入映射,从 effort 字段提取
◆ basic_eff_omapping()
| void rm::lpss::ctl::basic_eff_omapping |
( |
std::vector< double > | cmd_in, |
|
|
msg::JointState & | cmd_out ) |
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础力矩采样输出映射,将结果写回 effort 字段
◆ basic_pos_imapping()
| void rm::lpss::ctl::basic_pos_imapping |
( |
const msg::JointState & | d_in, |
|
|
const msg::JointState & | fb_in, |
|
|
std::vector< double > & | d_out, |
|
|
std::vector< double > & | fb_out ) |
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础位置采样输入映射,从 position 字段提取
◆ basic_pos_omapping()
| void rm::lpss::ctl::basic_pos_omapping |
( |
std::vector< double > | cmd_in, |
|
|
msg::JointState & | cmd_out ) |
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础位置采样输出映射,将结果写回 position 字段
◆ basic_vel_imapping()
| void rm::lpss::ctl::basic_vel_imapping |
( |
const msg::JointState & | d_in, |
|
|
const msg::JointState & | fb_in, |
|
|
std::vector< double > & | d_out, |
|
|
std::vector< double > & | fb_out ) |
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础速度采样输入映射,从 velocity 字段提取
◆ basic_vel_omapping()
| void rm::lpss::ctl::basic_vel_omapping |
( |
std::vector< double > | cmd_in, |
|
|
msg::JointState & | cmd_out ) |
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础速度采样输出映射,将结果写回 velocity 字段
◆ operator*() [1/3]
#include <rmvl/lpss/robot.hpp>
四元数乘法: \(q_1\times q_2\)
- 参数
-
- 返回
- 四元数乘积
◆ operator*() [2/3]
#include <rmvl/lpss/robot.hpp>
位姿变换
将位姿 \(p\) 从坐标系 \(A\) 变换到坐标系 \(B\),变换关系由 \(T\) 定义,即 \(B\) 相对于 \(A\) 的变换。
- 参数
-
- 返回
- msg::Pose 表示的变换后的位姿
◆ operator*() [3/3]
#include <rmvl/lpss/robot.hpp>
合并两个 SE(3) 变换
具体来说符合以下规则:
- 在最初的坐标系下应用 \(T_2\) 变换,再在原来的坐标系下应用 \(T_1\) 变换,等价于在最初的坐标系下应用 \(T_1T_2\) 变换,即 “复合变换”
- 在最初的坐标系下应用 \(T_1\) 变换,再在 \(T_1\) 变换后的坐标系下应用 \(T_2\) 变换,等价于在最初的坐标系下应用 \(T_1T_2\) 变换,即 “相对于坐标系的变换”
- 参数
-
- 返回
- msg::Transform 表示的合并后的变换
◆ rotate()
#include <rmvl/lpss/robot.hpp>
对向量执行旋转操作
- 参数
-
- 返回
- msg::Vector3 表示的旋转后的向量