![]() |
RMVL
2.6.0-dev
Robotic Manipulation and Vision Library
|
机器人运动学模型、状态发布、轨迹规划等功能扩展 更多...
类 | |
| class | rm::lpss::ctl::ControlLawBase |
| 【控制律组件】控制律基类,供 RobotController 组合调用 更多... | |
| class | rm::lpss::ctl::UnitTF |
| 【控制律组件】单位传递函数, \(G(s)=1\) 更多... | |
| class | rm::lpss::ctl::FeedForward |
| 【控制律组件】离散动态全补偿的前馈环节,适合在已知系统模型或有外部扰动补偿需求时使用 更多... | |
| class | rm::lpss::ctl::PID |
| 【控制律组件】单环离散比例-积分-微分控制器 更多... | |
| class | rm::lpss::RobotPlanner |
| 机器人规划模块,提供 URDF 解析、正/逆运动学求解、轨迹规划等运动学功能 更多... | |
| class | rm::lpss::RobotController |
| 机器人控制模块 更多... | |
| class | rm::lpss::RobotStatePublisher |
| 机器人状态发布者,周期性发布动态 TF、静态 TF 和 URDF 消息 更多... | |
| class | rm::lpss::async::RobotStatePublisher |
| 异步机器人状态发布者,基于定时器周期性发布动态 TF、静态 TF 和 URDF 消息 更多... | |
类型定义 | |
| using | rm::lpss::ctl::InSampleMapping = void (*)(const msg::JointState &d_in, const msg::JointState &fb_in, std::vector<double> &d_out, std::vector<double> &fb_out) noexcept |
| 输入采样映射,定义了如何从 JointState 中提取向量供控制律计算使用 | |
| using | rm::lpss::ctl::OutSampleMapping = void (*)(std::vector<double> cmd_in, msg::JointState &cmd_out) noexcept |
| 输出采样映射,定义了如何将控制律计算结果写回 JointState 输出 | |
枚举 | |
| enum class | rm::lpss::ctl::ControlStatus : uint8_t { rm::lpss::ctl::ControlStatus::Ok = 0 , rm::lpss::ctl::ControlStatus::InvalidInput , rm::lpss::ctl::ControlStatus::Diverged , rm::lpss::ctl::ControlStatus::Failed } |
| 控制律计算状态 更多... | |
函数 | |
| 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 字段 | |
机器人运动学模型、状态发布、轨迹规划等功能扩展
该模块提供了

| using rm::lpss::ctl::InSampleMapping = void (*)(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>
输入采样映射,定义了如何从 JointState 中提取向量供控制律计算使用
| [in] | d_in | msg::JointState 表示的期望值 |
| [in] | fb_in | msg::JointState 表示的反馈值 |
| [out] | d_out | std::vector 表示的期望值,供控制律计算使用 |
| [out] | fb_out | std::vector 表示的反馈值,供控制律计算使用 |
用户可自定义此类函数实现复杂的提取逻辑,如多字段融合等
| using rm::lpss::ctl::OutSampleMapping = void (*)(std::vector<double> cmd_in, msg::JointState &cmd_out) noexcept |
#include <rmvl/lpss/ctl/base.hpp>
输出采样映射,定义了如何将控制律计算结果写回 JointState 输出
| [in] | cmd_in | std::vector 表示的控制量,这是控制律的直接输出 |
| [out] | cmd_out | msg::JointState 表示的控制量,供用户使用 |
|
strong |
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础力矩采样输入映射,从 effort 字段提取
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础力矩采样输出映射,将结果写回 effort 字段
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础位置采样输入映射,从 position 字段提取
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础位置采样输出映射,将结果写回 position 字段
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础速度采样输入映射,从 velocity 字段提取
|
noexcept |
#include <rmvl/lpss/ctl/base.hpp>
基础速度采样输出映射,将结果写回 velocity 字段