Compare commits
14 Commits
e82a90237d
...
9fb185b5a8
| Author | SHA1 | Date | |
|---|---|---|---|
| 9fb185b5a8 | |||
| b050942838 | |||
| 2807fd158f | |||
| 7148e1baf2 | |||
| d02d23a3f9 | |||
| 9faa2a3852 | |||
| 4f84994e6b | |||
| baf883bc27 | |||
| 96aca18525 | |||
| 4629de3d36 | |||
| 23fdde3730 | |||
| e537194897 | |||
| 62a90c3e64 | |||
| 17043684fe |
@ -57,15 +57,18 @@ public:
|
|||||||
ROBOT_COMMAND_FAILED // 向机器人下发控制命令失败。
|
ROBOT_COMMAND_FAILED // 向机器人下发控制命令失败。
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class TactileRegion {
|
enum class AlignMode {
|
||||||
TIP = 0,
|
POSE_AND_POSITION = 0, // 使用配置里的固定 rx/ry/rz 与位置一起对齐。
|
||||||
FINGER,
|
RX_RY_AND_POSITION, // 使用配置里的 rx/ry,保留锁定时看到的 tag 平面内 yaw,再与位置一起对齐。
|
||||||
PAD,
|
POSITION_ONLY // 保留锁定时看到的完整 tag 姿态,只按位置对齐。
|
||||||
TIP_AND_FINGER,
|
|
||||||
THUMB_MIDDLE
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Options {
|
enum class TactileCriterion {
|
||||||
|
FZ = 0,
|
||||||
|
MAGNITUDE
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Config {
|
||||||
// 是否在触控流程开始前先回到指定初始关节位姿。
|
// 是否在触控流程开始前先回到指定初始关节位姿。
|
||||||
bool move_to_init_position_before_start{false};
|
bool move_to_init_position_before_start{false};
|
||||||
// 是否在触控流程结束(DONE/FAILED)后回到指定初始关节位姿。
|
// 是否在触控流程结束(DONE/FAILED)后回到指定初始关节位姿。
|
||||||
@ -106,6 +109,8 @@ public:
|
|||||||
double target_ry{0.0};
|
double target_ry{0.0};
|
||||||
// 目标 tag 姿态旋转参数,直接传给 vpRotationMatrix::buildFrom。
|
// 目标 tag 姿态旋转参数,直接传给 vpRotationMatrix::buildFrom。
|
||||||
double target_rz{0.0};
|
double target_rz{0.0};
|
||||||
|
// 对齐模式:1) 固定姿态+位置;2) 固定 rx/ry + 锁定时 yaw + 位置;3) 仅位置。
|
||||||
|
AlignMode align_mode{AlignMode::POSE_AND_POSITION};
|
||||||
|
|
||||||
// IBVS 参数。
|
// IBVS 参数。
|
||||||
// 视觉伺服增益 lambda。
|
// 视觉伺服增益 lambda。
|
||||||
@ -116,6 +121,11 @@ public:
|
|||||||
double ibvs_qdot_max{0.15};
|
double ibvs_qdot_max{0.15};
|
||||||
// 相机 twist 六维限幅 `[vx, vy, vz, wx, wy, wz]`。
|
// 相机 twist 六维限幅 `[vx, vy, vz, wx, wy, wz]`。
|
||||||
std::array<double, 6> ibvs_vmax6{{0.15, 0.15, 0.20, 0.6, 0.6, 0.6}};
|
std::array<double, 6> ibvs_vmax6{{0.15, 0.15, 0.20, 0.6, 0.6, 0.6}};
|
||||||
|
// 相机 twist 六维加速度限幅 `[ax, ay, az, alphax, alphay, alphaz]`;
|
||||||
|
// 分量小于等于 0 表示该维度不启用加速度限幅。
|
||||||
|
std::array<double, 6> ibvs_amax6{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
|
||||||
|
// 相机 twist 一阶低通滤波系数;取值在 (0, 1) 时启用低通,默认 1.0 表示不过滤。
|
||||||
|
double ibvs_twist_filter_alpha{1.0};
|
||||||
// 是否启用关节限位回避。
|
// 是否启用关节限位回避。
|
||||||
bool enable_joint_limit_avoidance{true};
|
bool enable_joint_limit_avoidance{true};
|
||||||
// 关节限位回避增益。
|
// 关节限位回避增益。
|
||||||
@ -136,13 +146,12 @@ public:
|
|||||||
"R_SHOULDER_P", "R_SHOULDER_R", "R_SHOULDER_Y",
|
"R_SHOULDER_P", "R_SHOULDER_R", "R_SHOULDER_Y",
|
||||||
"R_ELBOW_R", "R_WRIST_P", "R_WRIST_Y", "R_WRIST_R"};
|
"R_ELBOW_R", "R_WRIST_P", "R_WRIST_Y", "R_WRIST_R"};
|
||||||
|
|
||||||
// 视觉对准收敛判据。
|
// 视觉对准收敛判据 `[x, y, z, rx, ry, rz]`。
|
||||||
// 目标点在相机坐标系 x/y 方向的允许误差,单位米。
|
// 其中位置误差单位米,旋转误差单位弧度;旋转部分使用目标姿态误差 rotvec 的三个分量分别比较。
|
||||||
double align_xy_threshold_m{0.003};
|
std::array<double, 6> align_error_threshold6{{0.003, 0.003, 0.010,
|
||||||
// 目标点在相机坐标系 z 方向的允许误差,单位米。
|
0.08726646259971647,
|
||||||
double align_z_threshold_m{0.010};
|
0.08726646259971647,
|
||||||
// tag 当前姿态与目标姿态的允许夹角误差,单位弧度。
|
0.08726646259971647}};
|
||||||
double align_rot_threshold_rad{0.08726646259971647};
|
|
||||||
// 连续多少帧都满足阈值,才认为对准完成。
|
// 连续多少帧都满足阈值,才认为对准完成。
|
||||||
int align_stable_frames{5};
|
int align_stable_frames{5};
|
||||||
// 对准阶段超时时间,单位秒。
|
// 对准阶段超时时间,单位秒。
|
||||||
@ -150,18 +159,32 @@ public:
|
|||||||
// 为 true 时对准完成后暂停,不自动进入触控阶段。
|
// 为 true 时对准完成后暂停,不自动进入触控阶段。
|
||||||
bool pause_after_align_reached{false};
|
bool pause_after_align_reached{false};
|
||||||
|
|
||||||
// 触控阶段:speedL 目标 twist。当前按末端 Tool 坐标系解释,字段名保留兼容。
|
// 触控阶段前进方向。当前按末端 Tool 坐标系解释,字段名保留兼容。
|
||||||
|
// 为 true 时,TOUCHING 阶段使用 speedL;为 false 时使用 moveL。
|
||||||
|
// 当前 moveL 路径为同步前进,执行完成后直接结束流程,并按配置决定是否回初始位姿。
|
||||||
|
bool touch_use_speedl{true};
|
||||||
// 6 维速度命令 `[vx, vy, vz, wx, wy, wz]`,单位 m/s 和 rad/s。
|
// 6 维速度命令 `[vx, vy, vz, wx, wy, wz]`,单位 m/s 和 rad/s。
|
||||||
// 当前机器人上 `[0, -0.08, 0, 0, 0, 0]` 表示沿 Tool -Y 方向向前触屏。
|
// 当前机器人上 `[0, -0.08, 0, 0, 0, 0]` 表示沿 Tool -Y 方向向前触屏。
|
||||||
|
// 当 TOUCHING 使用 moveL 时,会取其线速度方向并按 touch_forward_l 构造位移目标。
|
||||||
Eigen::Matrix<double, 6, 1> touch_twist_base{
|
Eigen::Matrix<double, 6, 1> touch_twist_base{
|
||||||
(Eigen::Matrix<double, 6, 1>() << 0.0, -0.08, 0.0, 0.0, 0.0, 0.0).finished()};
|
(Eigen::Matrix<double, 6, 1>() << 0.0, -0.08, 0.0, 0.0, 0.0, 0.0).finished()};
|
||||||
// 触控阶段 speedL 的加速度参数。
|
// 触控阶段 speedL 的加速度参数。
|
||||||
double touch_acceleration{3.0};
|
double touch_speedl_acceleration{3.0};
|
||||||
// 前进触控阶段的最大持续时间,单位秒。
|
// 触控阶段使用 moveL 时,沿 touch_twist_base 线速度方向前进的距离,单位米。
|
||||||
// 该时间由 TouchScreenApp 状态机自行计时,不直接传给 robot->speedL(time)。
|
double touch_forward_l{0.08};
|
||||||
// 大于 0 时,达到该时间后无论压力是否达阈值,都会立即进入回退阶段。
|
// 触控阶段使用 moveL 时的末端速度,单位 m/s。
|
||||||
|
double touch_movel_speed{0.25};
|
||||||
|
// 触控阶段使用 moveL 时的末端加速度,单位 m/s^2。
|
||||||
|
double touch_movel_acceleration{1.2};
|
||||||
|
// 触控阶段使用 moveL 时的末端 jerk,单位 m/s^3。
|
||||||
|
double touch_movel_jerk{5.0};
|
||||||
|
// 触控阶段使用 moveL 时的关节速度上限;为空时退回 robot->moveL 默认值。
|
||||||
|
std::vector<double> touch_movel_qd_max{2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5};
|
||||||
|
// 前进触控阶段的最大累计位移,单位米。
|
||||||
|
// 该距离仅在 TOUCHING 使用 speedL 时生效,由 TouchScreenApp 根据末端相对触控起点的累计位移判断。
|
||||||
|
// 大于 0 时,达到该距离后无论压力是否达阈值,都会立即进入回退阶段。
|
||||||
// 小于等于 0 时,表示不启用这条限制。
|
// 小于等于 0 时,表示不启用这条限制。
|
||||||
double touch_forward_duration_s{1.0};
|
double touch_speedl_forward_l{0.08};
|
||||||
|
|
||||||
// 接触后停留与回退。当前按末端 Tool 坐标系解释。
|
// 接触后停留与回退。当前按末端 Tool 坐标系解释。
|
||||||
// 检测到接触后在当前位置停留的时间,单位秒。
|
// 检测到接触后在当前位置停留的时间,单位秒。
|
||||||
@ -169,22 +192,26 @@ public:
|
|||||||
double dwell_time_s{0.05};
|
double dwell_time_s{0.05};
|
||||||
// 回退阶段的 6 维速度命令 `[vx, vy, vz, wx, wy, wz]`。
|
// 回退阶段的 6 维速度命令 `[vx, vy, vz, wx, wy, wz]`。
|
||||||
// 当前机器人上 `[0, +0.08, 0, 0, 0, 0]` 表示沿 Tool +Y 方向向后离屏。
|
// 当前机器人上 `[0, +0.08, 0, 0, 0, 0]` 表示沿 Tool +Y 方向向后离屏。
|
||||||
|
// 回退阶段统一使用 speedL。
|
||||||
Eigen::Matrix<double, 6, 1> retract_twist_base{
|
Eigen::Matrix<double, 6, 1> retract_twist_base{
|
||||||
(Eigen::Matrix<double, 6, 1>() << 0.0, 0.08,0.0, 0.0, 0.0, 0.0).finished()};
|
(Eigen::Matrix<double, 6, 1>() << 0.0, 0.08,0.0, 0.0, 0.0, 0.0).finished()};
|
||||||
// 回退阶段 speedL 的加速度参数。
|
// 回退阶段 speedL 的加速度参数。
|
||||||
double retract_acceleration{3.0};
|
double retract_acceleration{3.0};
|
||||||
// 回退阶段持续时间,单位秒。
|
// 回退阶段 speedL 持续时间,单位秒。
|
||||||
double retract_duration_s{0.8};
|
double retract_duration_s{0.8};
|
||||||
|
|
||||||
// 指尖触觉判据。
|
// 指尖触觉判据。
|
||||||
// 使用哪根手指的触觉阵列判断是否接触。
|
// 使用哪根手指的触觉阵列判断是否接触。
|
||||||
device::FingerType tactile_finger{device::FingerType::INDEX};
|
device::AbstractDexHand::FingerType tactile_finger{device::AbstractDexHand::FingerType::INDEX};
|
||||||
// 使用该手指的哪个触觉区域。
|
// 使用该手指的哪个触觉区域。
|
||||||
TactileRegion tactile_region{TactileRegion::TIP_AND_FINGER};
|
device::AbstractDexHand::TactileRegion tactile_region{
|
||||||
// 触觉压力和阈值;总和超过该值认为已经接触。
|
device::AbstractDexHand::TactileRegion::TIP};
|
||||||
|
// 三维合力标量化方式:直接使用法向 fz,或使用三维力模长。
|
||||||
|
TactileCriterion tactile_criterion{TactileCriterion::FZ};
|
||||||
|
// 触觉区域三维合力按 tactile_criterion 标量化后的阈值;超过该值认为已经接触。
|
||||||
double tactile_pressure_sum_threshold{100.0};
|
double tactile_pressure_sum_threshold{100.0};
|
||||||
// 触觉峰值阈值;为 0 时表示不使用峰值判据。
|
// 保留兼容的旧字段;当前合力判定逻辑不再使用非零点数量阈值。
|
||||||
double tactile_pressure_peak_threshold{0.0};
|
int tactile_nonzero_count_threshold{1};
|
||||||
};
|
};
|
||||||
|
|
||||||
TouchScreenApp();
|
TouchScreenApp();
|
||||||
@ -199,11 +226,12 @@ public:
|
|||||||
const std::shared_ptr<device::AbstractCamera>& camera,
|
const std::shared_ptr<device::AbstractCamera>& camera,
|
||||||
const cmvr::config::TouchScreenAppConfig& config);
|
const cmvr::config::TouchScreenAppConfig& config);
|
||||||
|
|
||||||
bool setOptionsFromConfig();
|
bool setConfigFromProto();
|
||||||
bool setOptionsFromConfig(const cmvr::config::TouchScreenAppConfig& config);
|
bool setConfigFromProto(const cmvr::config::TouchScreenAppConfig& config);
|
||||||
|
bool setTouchSpeedlForwardL(double forward_l);
|
||||||
|
|
||||||
bool startFromPixel(int u, int v);
|
bool startFromPixel(int u, int v);
|
||||||
bool step();
|
bool step(double dt);
|
||||||
void stop();
|
void stop();
|
||||||
|
|
||||||
Phase phase() const { return phase_; }
|
Phase phase() const { return phase_; }
|
||||||
@ -220,7 +248,7 @@ public:
|
|||||||
int targetU() const { return target_u_; }
|
int targetU() const { return target_u_; }
|
||||||
int targetV() const { return target_v_; }
|
int targetV() const { return target_v_; }
|
||||||
double lastTouchPressureSum() const { return last_touch_pressure_sum_; }
|
double lastTouchPressureSum() const { return last_touch_pressure_sum_; }
|
||||||
double lastTouchPressurePeak() const { return last_touch_pressure_peak_; }
|
int lastTouchNonzeroCount() const { return last_touch_nonzero_count_; }
|
||||||
int lastActiveTagId() const { return last_active_tag_id_; }
|
int lastActiveTagId() const { return last_active_tag_id_; }
|
||||||
const Eigen::Vector3d& lastAlignErrorCamera() const { return last_align_error_camera_; }
|
const Eigen::Vector3d& lastAlignErrorCamera() const { return last_align_error_camera_; }
|
||||||
|
|
||||||
@ -231,12 +259,12 @@ public:
|
|||||||
private:
|
private:
|
||||||
using Clock = std::chrono::steady_clock;
|
using Clock = std::chrono::steady_clock;
|
||||||
|
|
||||||
static bool optionsFromConfig(const cmvr::config::TouchScreenAppConfig& config,
|
static bool configFromProto(const cmvr::config::TouchScreenAppConfig& proto_config,
|
||||||
Options& options_out);
|
Config& config_out);
|
||||||
void setOptions(const Options& options);
|
void setConfig(const Config& config);
|
||||||
bool applyOptions();
|
bool applyConfig();
|
||||||
bool validateControlJointNames() const;
|
bool validateControlJointNames() const;
|
||||||
bool stepAligning();
|
bool stepAligning(double dt);
|
||||||
bool stepTouching();
|
bool stepTouching();
|
||||||
bool stepDwelling();
|
bool stepDwelling();
|
||||||
bool stepRetracting();
|
bool stepRetracting();
|
||||||
@ -244,10 +272,14 @@ private:
|
|||||||
bool readControlledJointPositions(std::vector<double>& q_out) const;
|
bool readControlledJointPositions(std::vector<double>& q_out) const;
|
||||||
bool sendJointVelocity(const std::vector<double>& qdot) const;
|
bool sendJointVelocity(const std::vector<double>& qdot) const;
|
||||||
bool sendZeroJointVelocity() const;
|
bool sendZeroJointVelocity() const;
|
||||||
|
void hardStopIbvsMotion();
|
||||||
bool holdCurrentControlledPosition() const;
|
bool holdCurrentControlledPosition() const;
|
||||||
bool moveToInitPositionIfEnabled() const;
|
bool moveToInitPositionIfEnabled() const;
|
||||||
|
bool readCurrentTouchPointPositionBase(Eigen::Vector3d& p_out) const;
|
||||||
|
void logTouchingSpeedLState() const;
|
||||||
|
|
||||||
bool startTouchPhase();
|
bool startTouchPhase();
|
||||||
|
bool handleTouchTriggered(bool stop_forward_motion);
|
||||||
bool startRetractPhase(Phase next_phase_after_retract, Status final_status_after_retract);
|
bool startRetractPhase(Phase next_phase_after_retract, Status final_status_after_retract);
|
||||||
void enterFailed(Status status);
|
void enterFailed(Status status);
|
||||||
|
|
||||||
@ -261,7 +293,7 @@ private:
|
|||||||
std::shared_ptr<perception::AprilTagPerception> perception_{nullptr};
|
std::shared_ptr<perception::AprilTagPerception> perception_{nullptr};
|
||||||
perception::TagRelativeTarget3D tracker_;
|
perception::TagRelativeTarget3D tracker_;
|
||||||
IbvsController ibvs_;
|
IbvsController ibvs_;
|
||||||
Options options_{};
|
Config config_{};
|
||||||
|
|
||||||
Phase phase_{Phase::IDLE};
|
Phase phase_{Phase::IDLE};
|
||||||
Phase phase_after_retract_{Phase::DONE};
|
Phase phase_after_retract_{Phase::DONE};
|
||||||
@ -279,8 +311,12 @@ private:
|
|||||||
int last_active_tag_id_{-1};
|
int last_active_tag_id_{-1};
|
||||||
|
|
||||||
double last_touch_pressure_sum_{0.0};
|
double last_touch_pressure_sum_{0.0};
|
||||||
double last_touch_pressure_peak_{0.0};
|
int last_touch_nonzero_count_{0};
|
||||||
Eigen::Vector3d last_align_error_camera_{Eigen::Vector3d::Zero()};
|
Eigen::Vector3d last_align_error_camera_{Eigen::Vector3d::Zero()};
|
||||||
|
bool locked_target_rotation_valid_{false};
|
||||||
|
Eigen::Matrix3d locked_target_rotation_{Eigen::Matrix3d::Identity()};
|
||||||
|
bool touch_start_position_valid_{false};
|
||||||
|
Eigen::Vector3d touch_start_position_base_{Eigen::Vector3d::Zero()};
|
||||||
|
|
||||||
Clock::time_point phase_start_time_{};
|
Clock::time_point phase_start_time_{};
|
||||||
Status final_status_after_retract_{Status::DONE};
|
Status final_status_after_retract_{Status::DONE};
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,6 @@
|
|||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
@ -20,7 +21,7 @@ void run_touch_once(int u, int v) {
|
|||||||
|
|
||||||
const XmlNode config(kConfigPath);
|
const XmlNode config(kConfigPath);
|
||||||
// auto& dm = cmvr::device::DeviceManager::getInstance();
|
// auto& dm = cmvr::device::DeviceManager::getInstance();
|
||||||
cmvr::device::DeviceManager::getInstance(config.getChild("DeviceManager"));
|
cmvr::device::DeviceManager::getInstance();
|
||||||
|
|
||||||
|
|
||||||
// cmvr::service::ServerRunner runner;
|
// cmvr::service::ServerRunner runner;
|
||||||
@ -36,8 +37,19 @@ void run_touch_once(int u, int v) {
|
|||||||
|
|
||||||
bool align_reached = false;
|
bool align_reached = false;
|
||||||
bool touch_triggered = false;
|
bool touch_triggered = false;
|
||||||
|
auto last_step_time = std::chrono::steady_clock::now();
|
||||||
|
bool first_step = true;
|
||||||
while (app.isBusy()) {
|
while (app.isBusy()) {
|
||||||
const bool step_ok = app.step();
|
const auto now = std::chrono::steady_clock::now();
|
||||||
|
double dt = 0.02;
|
||||||
|
if (!first_step) {
|
||||||
|
dt = std::chrono::duration<double>(now - last_step_time).count();
|
||||||
|
dt = std::clamp(dt, 0.005, 0.05);
|
||||||
|
}
|
||||||
|
last_step_time = now;
|
||||||
|
first_step = false;
|
||||||
|
|
||||||
|
const bool step_ok = app.step(dt);
|
||||||
const auto& p_c_target = app.tracker().lastTargetInCamera();
|
const auto& p_c_target = app.tracker().lastTargetInCamera();
|
||||||
std::cout << "phase=" << cmvr::app::TouchScreenApp::phaseToString(app.phase())
|
std::cout << "phase=" << cmvr::app::TouchScreenApp::phaseToString(app.phase())
|
||||||
<< ", status=" << cmvr::app::TouchScreenApp::statusToString(app.lastStatus())
|
<< ", status=" << cmvr::app::TouchScreenApp::statusToString(app.lastStatus())
|
||||||
@ -45,8 +57,8 @@ void run_touch_once(int u, int v) {
|
|||||||
<< ", target_c=[" << p_c_target.x() << ", "
|
<< ", target_c=[" << p_c_target.x() << ", "
|
||||||
<< p_c_target.y() << ", "
|
<< p_c_target.y() << ", "
|
||||||
<< p_c_target.z() << "]"
|
<< p_c_target.z() << "]"
|
||||||
|
<< ", nonzero_count=" << app.lastTouchNonzeroCount()
|
||||||
<< ", pressure_sum=" << app.lastTouchPressureSum()
|
<< ", pressure_sum=" << app.lastTouchPressureSum()
|
||||||
<< ", pressure_peak=" << app.lastTouchPressurePeak()
|
|
||||||
<< ", err_c=[" << app.lastAlignErrorCamera().x() << ", "
|
<< ", err_c=[" << app.lastAlignErrorCamera().x() << ", "
|
||||||
<< app.lastAlignErrorCamera().y() << ", "
|
<< app.lastAlignErrorCamera().y() << ", "
|
||||||
<< app.lastAlignErrorCamera().z() << "]\n";
|
<< app.lastAlignErrorCamera().z() << "]\n";
|
||||||
@ -58,8 +70,8 @@ void run_touch_once(int u, int v) {
|
|||||||
align_reached = true;
|
align_reached = true;
|
||||||
}
|
}
|
||||||
if (app.lastStatus() == cmvr::app::TouchScreenApp::Status::TOUCH_TRIGGERED) {
|
if (app.lastStatus() == cmvr::app::TouchScreenApp::Status::TOUCH_TRIGGERED) {
|
||||||
std::cout << "touch triggered, pressure_sum=" << app.lastTouchPressureSum()
|
std::cout << "touch triggered, nonzero_count=" << app.lastTouchNonzeroCount()
|
||||||
<< ", pressure_peak=" << app.lastTouchPressurePeak() << "\n";
|
<< ", pressure_sum=" << app.lastTouchPressureSum() << "\n";
|
||||||
touch_triggered = true;
|
touch_triggered = true;
|
||||||
}
|
}
|
||||||
if (!step_ok) {
|
if (!step_ok) {
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
file(GLOB SRC
|
file(GLOB SRC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/utils/config_helper/src/config_setting.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/utils/config_helper/src/config_setting.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/utils/ffmpeg/src/CameraCapture.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/utils/ffmpeg/src/CameraCapture.cpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/utils/ffmpeg/src/RealSenseCapture.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/utils/ffmpeg/src/VideoFrameEncoder.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/utils/ffmpeg/src/VideoFrameEncoder.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/utils/ffmpeg/src/VideoWriter.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/utils/ffmpeg/src/VideoWriter.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/curve/src/s_curve.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/curve/src/s_curve.cpp
|
||||||
@ -26,6 +27,10 @@ target_link_libraries(common PUBLIC
|
|||||||
avutil
|
avutil
|
||||||
avcodec
|
avcodec
|
||||||
swscale
|
swscale
|
||||||
|
realsense2
|
||||||
|
opencv_core
|
||||||
|
opencv_imgproc
|
||||||
|
opencv_videoio
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(cmvr_es::common ALIAS common)
|
add_library(cmvr_es::common ALIAS common)
|
||||||
|
|||||||
27
cmvr-es/common/config/biohead_config/biohead_config.pb.txt
Normal file
27
cmvr-es/common/config/biohead_config/biohead_config.pb.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
bioheads {
|
||||||
|
id: "bio_head"
|
||||||
|
serial: "/dev/ttyUSB0"
|
||||||
|
ctrlFreq: 50
|
||||||
|
enable: false
|
||||||
|
|
||||||
|
eyebrow {
|
||||||
|
serial: "64:0~3"
|
||||||
|
offest: "90 90 90 90"
|
||||||
|
jLmtUp: "90 170 155 110"
|
||||||
|
jLmtLow: "20 77 90 20"
|
||||||
|
}
|
||||||
|
|
||||||
|
eye {
|
||||||
|
serial: "64:4~9"
|
||||||
|
offest: "90 90 90 90 90 90"
|
||||||
|
jLmtUp: "90 150 165 90 120 115"
|
||||||
|
jLmtLow: "20 90 90 25 70 75"
|
||||||
|
}
|
||||||
|
|
||||||
|
mouth {
|
||||||
|
serial: "65:0~9"
|
||||||
|
offest: "90 90 90 90 90 90 90 90 90 90"
|
||||||
|
jLmtUp: "150 110 130 140 100 105 110 125 90 95"
|
||||||
|
jLmtLow: "70 30 80 80 65 55 45 80 85 90"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,152 +0,0 @@
|
|||||||
<CMVR-ES>
|
|
||||||
<Constants rootDir="/home/xtkuang/projects/cmvr-es"/>
|
|
||||||
<Logger dir="../log" level="info" bufSize="5" logSize="1024"/>
|
|
||||||
|
|
||||||
<DeviceManager name="cmvr_es" ver="0.1" description="cmvr edge system version 0.1">
|
|
||||||
<Devices>
|
|
||||||
<AGV>
|
|
||||||
</AGV>
|
|
||||||
|
|
||||||
<Battery>
|
|
||||||
</Battery>
|
|
||||||
|
|
||||||
<Camera>
|
|
||||||
<!-- <UVCCamera id="cam1" serial="/dev/video6" w="640" h="480" fps="30" mode="video" codec="H265"/>-->
|
|
||||||
<!-- <UVCCamera id="cam2" serial="/dev/video14" w="640" h="480" fps="30" mode="video" codec="H265"/>-->
|
|
||||||
<!-- <RealsenseCamera id="cam3" serial="243122072252" w="640" h="480" fps="30" mode="video" stream_mode="rgbd" align_mode="color" codec="H265"/>-->
|
|
||||||
<!-- <RealsenseCamera id="cam4" serial="243122075614" w="1280" h="720" fps="30" mode="video" stream_mode="rgbd" align_mode="color" codec="H265"/>-->
|
|
||||||
<!-- <MechMind id="cam5" ip="10.148.108.111" align="true" _2dtype="color"/>-->
|
|
||||||
<!-- <RealsenseCamera id="cam6" serial="243122075389" w="640" h="480" fps="30" mode="video" stream_mode="rgbd" align_mode="color" codec="H265"/>-->
|
|
||||||
</Camera>
|
|
||||||
|
|
||||||
<DexHand>
|
|
||||||
<!-- <RH56DFTP id="hand1" default_force="500" default_speed="500" ip_address="192.168.1.224" port="6000">-->
|
|
||||||
<!-- <Freedom order="01" default_force="500" default_speed="500" />-->
|
|
||||||
<!-- </RH56DFTP>-->
|
|
||||||
<!-- <RH56DFTP id="hand2" default_force="500" default_speed="500" ip_address="192.168.1.224" port="6000">-->
|
|
||||||
<!-- <Freedom order="01" default_force="500" default_speed="500" />-->
|
|
||||||
<!-- </RH56DFTP>-->
|
|
||||||
</DexHand>
|
|
||||||
|
|
||||||
<Robot>
|
|
||||||
<!-- <LeftArm id="left_arm" devtype="ti5Robot" />-->
|
|
||||||
<!-- <RightArm />-->
|
|
||||||
<!-- <Neck/>-->
|
|
||||||
<Humanoid id="hc01" dof="14"
|
|
||||||
urdf="/home/lgv/cmvr/cmvr-es/model/xiaoyan_description/dual_arm.urdf"
|
|
||||||
baseLink="PELVIS_S"
|
|
||||||
jointNames="L_SHOULDER_P,L_SHOULDER_R,L_SHOULDER_Y,L_ELBOW_R,L_WRIST_P,L_WRIST_Y,L_WRIST_R,R_SHOULDER_P,R_SHOULDER_R,R_SHOULDER_Y,R_ELBOW_R,R_WRIST_P,R_WRIST_Y,R_WRIST_R"
|
|
||||||
linkNames="PELVIS_S,L_SHOULDER_P_S,L_SHOULDER_R_S,L_SHOULDER_Y_S,L_ELBOW_R_S,L_WRIST_P_S,L_WRIST_Y_S,L_WRIST_R_S,R_SHOULDER_P_S,R_SHOULDER_R_S,R_SHOULDER_Y_S,R_ELBOW_R_S,R_WRIST_P_S,R_WRIST_Y_S,R_WRIST_R_S,R_FINGER_TIP,R_CAM"
|
|
||||||
bufferSize="50"
|
|
||||||
verbose="false">
|
|
||||||
<CanManger id="" devId="">
|
|
||||||
<LeftArmCan id = " " devId = " " channelId ="0" enable="false" toolFrame="L_FINGER_TIP">
|
|
||||||
<Motor id="23" jointName="L_SHOULDER_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="24" jointName="L_SHOULDER_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="25" jointName="L_SHOULDER_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="26" jointName="L_ELBOW_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="27" jointName="L_WRIST_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="28" jointName="L_WRIST_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="29" jointName="L_WRIST_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
</LeftArmCan>
|
|
||||||
<RightArmCan id = " " devId = " " channelId ="1" enable="true" toolFrame="R_FINGER_TIP">
|
|
||||||
<Motor id="16" jointName="R_SHOULDER_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="17" jointName="R_SHOULDER_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="18" jointName="R_SHOULDER_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="19" jointName="R_ELBOW_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="20" jointName="R_WRIST_P" limitQLb="-3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="21" jointName="R_WRIST_Y" limitQLb="-1.102" limitQUb="1.02" limitQd="3.0"/>
|
|
||||||
<Motor id="22" jointName="R_WRIST_R" limitQLb="-0.293" limitQUb="1.57079" limitQd="3.0"/>
|
|
||||||
</RightArmCan>
|
|
||||||
<HeadCan id = " " devId = " " channelId ="2" enable="false">
|
|
||||||
<Motor id="32" jointName="HEAD_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="30" jointName="HEAD_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="31" jointName="HEAD_R" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
</HeadCan>
|
|
||||||
<WaistCan id = " " devId = " " channelId ="3" enable="false">
|
|
||||||
<Motor id="4" jointName="WAIST_Y" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
<Motor id="15" jointName="WAIST_P" limitQLb="3.14" limitQUb="3.14" limitQd="3.0"/>
|
|
||||||
</WaistCan>
|
|
||||||
</CanManger>
|
|
||||||
|
|
||||||
</Humanoid>
|
|
||||||
</Robot>
|
|
||||||
|
|
||||||
<BioHead>
|
|
||||||
<!-- <esp32 id="bio_head" serial="/dev/ttyUSB0" ctrlFreq="50">-->
|
|
||||||
|
|
||||||
<!-- <!– 眉毛 –>-->
|
|
||||||
<!-- <EyeBrow serial="64:0~3"-->
|
|
||||||
<!-- offest="90 90 90 90"-->
|
|
||||||
<!-- jLmtUp="90 170 155 110"-->
|
|
||||||
<!-- jLmtLow="20 77 90 20"/>-->
|
|
||||||
|
|
||||||
<!-- <!– 眼睛 –>-->
|
|
||||||
<!-- <Eye serial="64:4~9"-->
|
|
||||||
<!-- offest="90 90 90 90 90 90"-->
|
|
||||||
<!-- jLmtUp="90 150 165 90 120 115"-->
|
|
||||||
<!-- jLmtLow="20 90 90 25 70 75"/>-->
|
|
||||||
|
|
||||||
<!-- <!– 嘴巴 –>-->
|
|
||||||
<!-- <Mouth serial="65:0~9"-->
|
|
||||||
<!-- offest="90 90 90 90 90 90 90 90 90 90"-->
|
|
||||||
<!-- jLmtUp="150 110 130 140 100 105 110 125 90 95"-->
|
|
||||||
<!-- jLmtLow="70 30 80 80 65 55 45 80 85 90"/>-->
|
|
||||||
|
|
||||||
<!-- </esp32>-->
|
|
||||||
</BioHead >
|
|
||||||
|
|
||||||
<Microphone>
|
|
||||||
<!-- <ffmpegMicPhone id="mic1" alsa="hw:0" channels="2" sampleRate="44100" volume="80"/>-->
|
|
||||||
<!-- <ffmpegMicPhone id="mic2" alsa="hw:1" channels="1" sampleRate="44100" volume="80"/>-->
|
|
||||||
</Microphone>
|
|
||||||
|
|
||||||
<Speaker>
|
|
||||||
<ffmpegSpeaker id="spk1" serial="" alas="default" channels="2" sampleRate="44100" softResample="1" latency="50000" volume="100"/>
|
|
||||||
</Speaker>
|
|
||||||
|
|
||||||
<Canbus>
|
|
||||||
<!-- <rightArmCan id="can1" brand="SOCKET_CAN_RAW" type="USB_CARD" channel_id="CHANNEL_ID_ZERO" interface="NATIVE" baudrate="BCAN_BAUDRATE_500K"/>-->
|
|
||||||
</Canbus>
|
|
||||||
|
|
||||||
</Devices>
|
|
||||||
|
|
||||||
<HighLevelController>
|
|
||||||
<BioHeadExpre headId="bio_head" />
|
|
||||||
<CartesianWBC urdf="" />
|
|
||||||
<ScreenTouch robotID="" DexhandID="" />
|
|
||||||
</HighLevelController>
|
|
||||||
</DeviceManager>
|
|
||||||
|
|
||||||
<MonitorManager>
|
|
||||||
<DiskMonitor id="file_monitor" freq="1">
|
|
||||||
<!-- <Folder fileDir="/home/share/assets/audio" maxVolume="1000"/>-->
|
|
||||||
<!-- <Folder fileDir="/home/share/assets/image" maxVolume="1000"/>-->
|
|
||||||
<!-- <Folder fileDir="/home/share/assets/video" maxVolume="1000"/>-->
|
|
||||||
<!-- <Folder fileDir="../log" maxVolume="1000"/>-->
|
|
||||||
</DiskMonitor>
|
|
||||||
|
|
||||||
<JointMonitor id="robot_joint_monitor" freq="200">
|
|
||||||
<RobotJoint robotID="left_arm" motorID="0" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="left_arm" motorID="1" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="left_arm" motorID="2" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="left_arm" motorID="3" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="left_arm" motorID="4" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="left_arm" motorID="6" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="left_arm" motorID="7" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="right_arm" motorID="0" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="right_arm" motorID="1" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="right_arm" motorID="2" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="right_arm" motorID="3" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="right_arm" motorID="4" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="right_arm" motorID="6" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
<RobotJoint robotID="right_arm" motorID="7" maxTemp="80" maxCurrent="5" maxVel="2"/>
|
|
||||||
</JointMonitor>
|
|
||||||
|
|
||||||
</MonitorManager>
|
|
||||||
|
|
||||||
<gRPCServer port="50052">
|
|
||||||
|
|
||||||
</gRPCServer>
|
|
||||||
|
|
||||||
</CMVR-ES>
|
|
||||||
@ -18,14 +18,16 @@ realsense_cameras {
|
|||||||
serialNumber: "243122072252"
|
serialNumber: "243122072252"
|
||||||
width: 1280
|
width: 1280
|
||||||
height: 720
|
height: 720
|
||||||
|
encode_width: 640
|
||||||
|
encode_height: 360
|
||||||
fps: 30
|
fps: 30
|
||||||
codec: "H265"
|
codec: "H264"
|
||||||
camera_mode: CAMERA_MODE_VIDEO
|
camera_mode: CAMERA_MODE_VIDEO
|
||||||
stream_mode: STREAM_MODE_RGBD
|
stream_mode: STREAM_MODE_RGB
|
||||||
align_mode: ALIGN_MODE_COLOR
|
align_mode: ALIGN_MODE_COLOR
|
||||||
buffer_size: 30
|
buffer_size: 30
|
||||||
sync: false
|
sync: false
|
||||||
enable: true
|
enable: false
|
||||||
}
|
}
|
||||||
|
|
||||||
realsense_cameras {
|
realsense_cameras {
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
rh56dftp_dexhands {
|
rh56dftp_dexhands {
|
||||||
id: "hand1"
|
id: "hand1"
|
||||||
ip: "192.168.1.213"
|
ip: "192.168.1.223"
|
||||||
port: 6000
|
port: 6000
|
||||||
|
poll_interval_ms: 10
|
||||||
enable: false
|
enable: false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9,5 +10,27 @@ rh56dftp_dexhands {
|
|||||||
id: "hand2"
|
id: "hand2"
|
||||||
ip: "192.168.1.224"
|
ip: "192.168.1.224"
|
||||||
port: 6000
|
port: 6000
|
||||||
|
poll_interval_ms: 10
|
||||||
|
enable: false
|
||||||
|
}
|
||||||
|
|
||||||
|
px_6ax_gen3 {
|
||||||
|
id: "paxini_tip_1"
|
||||||
|
serial_port: "/dev/ttyACM1"
|
||||||
|
sensor_model: "S1813_core"
|
||||||
|
module_id: 2
|
||||||
|
baud_rate: 921600
|
||||||
|
distributed_length: 153
|
||||||
|
resultant_length: 3
|
||||||
|
poll_interval_ms: 5
|
||||||
|
response_timeout_ms: 200
|
||||||
|
response_header_bytes: 14
|
||||||
|
tactile_rows: 1
|
||||||
|
tactile_cols: 51
|
||||||
|
tactile_finger: "INDEX"
|
||||||
|
tactile_region: "TIP"
|
||||||
|
sensor_name: "Paxini Gen3末端压力"
|
||||||
|
polling_read_mode: PX_6AX_GEN3_POLLING_READ_MODE_RESULTANT_FORCE
|
||||||
|
auto_calibrate: false
|
||||||
enable: true
|
enable: true
|
||||||
}
|
}
|
||||||
25
cmvr-es/common/config/monitor_config/monitor_config.pb.txt
Normal file
25
cmvr-es/common/config/monitor_config/monitor_config.pb.txt
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# 监控管理器配置
|
||||||
|
monitor_manager {
|
||||||
|
disk_monitor {
|
||||||
|
id: "file_monitor"
|
||||||
|
freq: 1
|
||||||
|
enable: false
|
||||||
|
|
||||||
|
folders {
|
||||||
|
fileDir: "/home/share/assets/audio"
|
||||||
|
maxVolume: 1000
|
||||||
|
}
|
||||||
|
folders {
|
||||||
|
fileDir: "/home/share/assets/image"
|
||||||
|
maxVolume: 1000
|
||||||
|
}
|
||||||
|
folders {
|
||||||
|
fileDir: "/home/share/assets/video"
|
||||||
|
maxVolume: 1000
|
||||||
|
}
|
||||||
|
folders {
|
||||||
|
fileDir: "../log"
|
||||||
|
maxVolume: 1000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
212
cmvr-es/common/config/robot_config/robot_config.pb.txt
Normal file
212
cmvr-es/common/config/robot_config/robot_config.pb.txt
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
# HumanRobot配置
|
||||||
|
humanrobots {
|
||||||
|
id: "hc01"
|
||||||
|
dof: 14
|
||||||
|
urdf: "/home/cmvr/Projects/cmvr-es/model/xiaoyan_description/dual_arm.urdf"
|
||||||
|
baseLink: "PELVIS_S"
|
||||||
|
jointNames: "L_SHOULDER_P,L_SHOULDER_R,L_SHOULDER_Y,L_ELBOW_R,L_WRIST_P,L_WRIST_Y,L_WRIST_R,R_SHOULDER_P,R_SHOULDER_R,R_SHOULDER_Y,R_ELBOW_R,R_WRIST_P,R_WRIST_Y,R_WRIST_R"
|
||||||
|
linkNames: "PELVIS_S,L_SHOULDER_P_S,L_SHOULDER_R_S,L_SHOULDER_Y_S,L_ELBOW_R_S,L_WRIST_P_S,L_WRIST_Y_S,L_WRIST_R_S,R_SHOULDER_P_S,R_SHOULDER_R_S,R_SHOULDER_Y_S,R_ELBOW_R_S,R_WRIST_P_S,R_WRIST_Y_S,R_WRIST_R_S,R_FINGER_TIP,R_CAM"
|
||||||
|
bufferSize: 50
|
||||||
|
verbose: false
|
||||||
|
enable: false
|
||||||
|
|
||||||
|
can_manager {
|
||||||
|
id: ""
|
||||||
|
devId: ""
|
||||||
|
|
||||||
|
left_arm {
|
||||||
|
id: ""
|
||||||
|
devId: ""
|
||||||
|
channelId: 0
|
||||||
|
enable: false
|
||||||
|
toolFrame: "L_FINGER_TIP"
|
||||||
|
motors {
|
||||||
|
id: 23
|
||||||
|
jointName: "L_SHOULDER_P"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 24
|
||||||
|
jointName: "L_SHOULDER_R"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 25
|
||||||
|
jointName: "L_SHOULDER_Y"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 26
|
||||||
|
jointName: "L_ELBOW_R"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 27
|
||||||
|
jointName: "L_WRIST_P"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 28
|
||||||
|
jointName: "L_WRIST_Y"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 29
|
||||||
|
jointName: "L_WRIST_R"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
right_arm {
|
||||||
|
id: ""
|
||||||
|
devId: ""
|
||||||
|
channelId: 1
|
||||||
|
enable: true
|
||||||
|
toolFrame: "R_FINGER_TIP"
|
||||||
|
motors {
|
||||||
|
id: 16
|
||||||
|
jointName: "R_SHOULDER_P"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 17
|
||||||
|
jointName: "R_SHOULDER_R"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 18
|
||||||
|
jointName: "R_SHOULDER_Y"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 19
|
||||||
|
jointName: "R_ELBOW_R"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 20
|
||||||
|
jointName: "R_WRIST_P"
|
||||||
|
limitQLb: -3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 21
|
||||||
|
jointName: "R_WRIST_Y"
|
||||||
|
limitQLb: -1.102
|
||||||
|
limitQUb: 1.02
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 22
|
||||||
|
jointName: "R_WRIST_R"
|
||||||
|
limitQLb: -0.293
|
||||||
|
limitQUb: 1.57079
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
head {
|
||||||
|
id: ""
|
||||||
|
devId: ""
|
||||||
|
channelId: 2
|
||||||
|
enable: true
|
||||||
|
motors {
|
||||||
|
id: 32
|
||||||
|
jointName: "HEAD_Y"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 30
|
||||||
|
jointName: "HEAD_P"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 31
|
||||||
|
jointName: "HEAD_R"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
waist {
|
||||||
|
id: ""
|
||||||
|
devId: ""
|
||||||
|
channelId: 3
|
||||||
|
enable: false
|
||||||
|
motors {
|
||||||
|
id: 4
|
||||||
|
jointName: "WAIST_Y"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
motors {
|
||||||
|
id: 15
|
||||||
|
jointName: "WAIST_P"
|
||||||
|
limitQLb: 3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# EtherCAT机器人配置
|
||||||
|
ethercat_robots {
|
||||||
|
id: "ec_robot_01"
|
||||||
|
dof: 6
|
||||||
|
urdf: "/home/cmvr/Projects/cmvr-es/model/xiaoyan_description/dual_arm.urdf"
|
||||||
|
baseLink: "PELVIS_S"
|
||||||
|
jointNames: "L_SHOULDER_P,L_SHOULDER_R,L_SHOULDER_Y,L_ELBOW_R,L_WRIST_P,L_WRIST_Y,L_WRIST_R,R_SHOULDER_P,R_SHOULDER_R,R_SHOULDER_Y,R_ELBOW_R,R_WRIST_P,R_WRIST_Y,R_WRIST_R"
|
||||||
|
linkNames: "PELVIS_S,L_SHOULDER_P_S,L_SHOULDER_R_S,L_SHOULDER_Y_S,L_ELBOW_R_S,L_WRIST_P_S,L_WRIST_Y_S,L_WRIST_R_S,R_SHOULDER_P_S,R_SHOULDER_R_S,R_SHOULDER_Y_S,R_ELBOW_R_S,R_WRIST_P_S,R_WRIST_Y_S,R_WRIST_R_S,R_FINGER_TIP,R_CAM"
|
||||||
|
bufferSize: 100
|
||||||
|
verbose: true
|
||||||
|
updFreq: 1000
|
||||||
|
enable: true
|
||||||
|
|
||||||
|
# EtherCAT主站配置
|
||||||
|
master {
|
||||||
|
interface: "enp1s0"
|
||||||
|
cycle_time_us: 1000
|
||||||
|
enable: true
|
||||||
|
}
|
||||||
|
|
||||||
|
# 电机配置列表
|
||||||
|
motors {
|
||||||
|
slave: 1
|
||||||
|
jointName: "L_SHOULDER_P"
|
||||||
|
limitQLb: -3.14
|
||||||
|
limitQUb: 3.14
|
||||||
|
limitQd: 3.0
|
||||||
|
}
|
||||||
|
}
|
||||||
3
cmvr-es/common/config/server_config/server_config.pb.txt
Normal file
3
cmvr-es/common/config/server_config/server_config.pb.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
grpc_server {
|
||||||
|
port: "50052"
|
||||||
|
}
|
||||||
@ -1,35 +1,35 @@
|
|||||||
robot_id: "hc01"
|
robot_id: "hc01"
|
||||||
dexhand_id: "hand2"
|
dexhand_id: "paxini_tip_1"
|
||||||
camera_id: "right_hand_cam"
|
camera_id: "right_hand_cam"
|
||||||
move_to_init_position_before_start: true
|
move_to_init_position_before_start: true
|
||||||
move_to_init_position: true
|
move_to_init_position: true
|
||||||
init_joint_positions {
|
init_joint_positions {
|
||||||
joint_name: "R_SHOULDER_P"
|
joint_name: "R_SHOULDER_P"
|
||||||
rad: -0.2423
|
rad: -0.3678
|
||||||
}
|
}
|
||||||
init_joint_positions {
|
init_joint_positions {
|
||||||
joint_name: "R_SHOULDER_R"
|
joint_name: "R_SHOULDER_R"
|
||||||
rad: 1.2929
|
rad: 1.1127
|
||||||
}
|
}
|
||||||
init_joint_positions {
|
init_joint_positions {
|
||||||
joint_name: "R_SHOULDER_Y"
|
joint_name: "R_SHOULDER_Y"
|
||||||
rad: 1.61
|
rad: 1.6084
|
||||||
}
|
}
|
||||||
init_joint_positions {
|
init_joint_positions {
|
||||||
joint_name: "R_ELBOW_R"
|
joint_name: "R_ELBOW_R"
|
||||||
rad: 1.58
|
rad: 1.61
|
||||||
}
|
}
|
||||||
init_joint_positions {
|
init_joint_positions {
|
||||||
joint_name: "R_WRIST_P"
|
joint_name: "R_WRIST_P"
|
||||||
rad: -2.8792
|
rad: -2.5718
|
||||||
}
|
}
|
||||||
init_joint_positions {
|
init_joint_positions {
|
||||||
joint_name: "R_WRIST_Y"
|
joint_name: "R_WRIST_Y"
|
||||||
rad: 0.1150
|
rad: 0.1276
|
||||||
}
|
}
|
||||||
init_joint_positions {
|
init_joint_positions {
|
||||||
joint_name: "R_WRIST_R"
|
joint_name: "R_WRIST_R"
|
||||||
rad: -0.08
|
rad: 0.1297
|
||||||
}
|
}
|
||||||
init_movej_vel: 1.0
|
init_movej_vel: 1.0
|
||||||
init_movej_acc: 2.0
|
init_movej_acc: 2.0
|
||||||
@ -39,30 +39,40 @@ base_link: "PELVIS_S"
|
|||||||
flange_link: "R_WRIST_R_S"
|
flange_link: "R_WRIST_R_S"
|
||||||
camera_link: "R_CAM"
|
camera_link: "R_CAM"
|
||||||
|
|
||||||
tag_size_m: 0.02
|
tag_size_m: 0.012
|
||||||
depth_policy: TOUCH_SCREEN_DEPTH_POLICY_NONE
|
depth_policy: TOUCH_SCREEN_DEPTH_POLICY_NONE
|
||||||
target_point_method: TOUCH_SCREEN_TARGET_POINT_METHOD_TAG_PLANE
|
target_point_method: TOUCH_SCREEN_TARGET_POINT_METHOD_TAG_PLANE
|
||||||
|
|
||||||
hover_target_in_camera {
|
hover_target_in_camera {
|
||||||
x: 0.0
|
x: -0.001
|
||||||
y: 0.0
|
y: 0.08
|
||||||
z: 0.20
|
z: 0.15
|
||||||
}
|
}
|
||||||
target_rx: 3.14159265358979323846
|
target_rx: 3.14159265358979323846
|
||||||
target_ry: 0.0
|
target_ry: 0.0
|
||||||
target_rz: 0.0
|
target_rz: 0.0
|
||||||
|
align_mode: TOUCH_SCREEN_ALIGN_MODE_RX_RY_AND_POSITION
|
||||||
|
|
||||||
ibvs_lambda: 0.6
|
ibvs_lambda: 0.4
|
||||||
ibvs_mu: 0.1
|
ibvs_mu: 0.1
|
||||||
ibvs_qdot_max: 0.15
|
ibvs_qdot_max: 1.0
|
||||||
ibvs_vmax6 {
|
ibvs_vmax6 {
|
||||||
vx: 0.15
|
vx: 1.0
|
||||||
vy: 0.15
|
vy: 1.0
|
||||||
vz: 0.20
|
vz: 1.0
|
||||||
wx: 0.6
|
wx: 0.6
|
||||||
wy: 0.6
|
wy: 0.6
|
||||||
wz: 0.6
|
wz: 0.6
|
||||||
}
|
}
|
||||||
|
ibvs_amax6 {
|
||||||
|
vx: 2.4
|
||||||
|
vy: 2.4
|
||||||
|
vz: 4.5
|
||||||
|
wx: 2.5
|
||||||
|
wy: 2.5
|
||||||
|
wz: 2.5
|
||||||
|
}
|
||||||
|
ibvs_twist_filter_alpha: 1.0
|
||||||
enable_joint_limit_avoidance: true
|
enable_joint_limit_avoidance: true
|
||||||
joint_limit_avoidance_gain: 0.2
|
joint_limit_avoidance_gain: 0.2
|
||||||
joint_limit_avoidance_margin_ratio: 0.15
|
joint_limit_avoidance_margin_ratio: 0.15
|
||||||
@ -87,25 +97,42 @@ control_joint_names: "R_WRIST_P"
|
|||||||
control_joint_names: "R_WRIST_Y"
|
control_joint_names: "R_WRIST_Y"
|
||||||
control_joint_names: "R_WRIST_R"
|
control_joint_names: "R_WRIST_R"
|
||||||
|
|
||||||
align_xy_threshold_m: 0.003
|
align_error_threshold6 {
|
||||||
align_z_threshold_m: 0.010
|
x: 0.005
|
||||||
align_rot_threshold_rad: 0.08726646259971647
|
y: 0.005
|
||||||
align_stable_frames: 5
|
z: 0.01
|
||||||
align_timeout_s: 100.0
|
rx: 0.1026646259971647
|
||||||
|
ry: 0.1026646259971647
|
||||||
|
rz: 0.1026646259971647
|
||||||
|
}
|
||||||
|
align_stable_frames: 2
|
||||||
|
align_timeout_s: 20.0
|
||||||
pause_after_align_reached: false
|
pause_after_align_reached: false
|
||||||
|
|
||||||
touch_twist_base {
|
touch_twist_base {
|
||||||
vx: 0.0
|
vx: 0.0
|
||||||
vy: -0.08
|
vy: -0.04
|
||||||
vz: 0.0
|
vz: 0.0
|
||||||
wx: 0.0
|
wx: 0.0
|
||||||
wy: 0.0
|
wy: 0.0
|
||||||
wz: 0.0
|
wz: 0.0
|
||||||
}
|
}
|
||||||
touch_acceleration: 3.0
|
touch_use_speedl: true
|
||||||
touch_forward_duration_s: 1.2
|
touch_speedl_acceleration: 6.0
|
||||||
|
touch_forward_l: 0.064
|
||||||
|
touch_movel_speed: 0.1
|
||||||
|
touch_movel_acceleration: 5.0
|
||||||
|
touch_movel_jerk: 5.0
|
||||||
|
touch_movel_qd_max: 2.5
|
||||||
|
touch_movel_qd_max: 2.5
|
||||||
|
touch_movel_qd_max: 2.5
|
||||||
|
touch_movel_qd_max: 2.5
|
||||||
|
touch_movel_qd_max: 2.5
|
||||||
|
touch_movel_qd_max: 2.5
|
||||||
|
touch_movel_qd_max: 2.5
|
||||||
|
touch_speedl_forward_l: 0.035
|
||||||
|
|
||||||
dwell_time_s: -1.0
|
dwell_time_s: -1
|
||||||
retract_twist_base {
|
retract_twist_base {
|
||||||
vx: 0.0
|
vx: 0.0
|
||||||
vy: 0.08
|
vy: 0.08
|
||||||
@ -114,10 +141,11 @@ retract_twist_base {
|
|||||||
wy: 0.0
|
wy: 0.0
|
||||||
wz: 0.0
|
wz: 0.0
|
||||||
}
|
}
|
||||||
retract_acceleration: 3.0
|
retract_acceleration: 8.0
|
||||||
retract_duration_s: 1.0
|
retract_duration_s: 0.45
|
||||||
|
|
||||||
tactile_finger: TOUCH_SCREEN_FINGER_TYPE_INDEX
|
tactile_finger: TOUCH_SCREEN_FINGER_TYPE_INDEX
|
||||||
tactile_region: TOUCH_SCREEN_TACTILE_REGION_TIP
|
tactile_region: TOUCH_SCREEN_TACTILE_REGION_TIP
|
||||||
tactile_pressure_sum_threshold: 300.0
|
tactile_criterion: TOUCH_SCREEN_TACTILE_CRITERION_FZ
|
||||||
tactile_pressure_peak_threshold: 0.0
|
tactile_pressure_sum_threshold: 1.0
|
||||||
|
tactile_nonzero_count_threshold: 1
|
||||||
|
|||||||
@ -10,6 +10,9 @@
|
|||||||
#include "cmvr/config/microphone_config/microphone_config.pb.h"
|
#include "cmvr/config/microphone_config/microphone_config.pb.h"
|
||||||
#include "cmvr/config/speaker_config/speaker_conifg.pb.h"
|
#include "cmvr/config/speaker_config/speaker_conifg.pb.h"
|
||||||
#include "cmvr/config/touch_screen_app_config/touch_screen_app_config.pb.h"
|
#include "cmvr/config/touch_screen_app_config/touch_screen_app_config.pb.h"
|
||||||
|
#include "cmvr/config/biohead_config/biohead_config.pb.h"
|
||||||
|
#include "cmvr/config/robot_config/robot_config.pb.h"
|
||||||
|
#include "cmvr/config/server_config/server_config.pb.h"
|
||||||
|
|
||||||
#define GET_CONFIG(file, para) \
|
#define GET_CONFIG(file, para) \
|
||||||
([&]() -> bool { \
|
([&]() -> bool { \
|
||||||
@ -82,6 +85,20 @@ namespace cmvr
|
|||||||
return SET_CONFIG(config, touch_screen_app_config_file);
|
return SET_CONFIG(config, touch_screen_app_config_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool getHeadConfig(config::HeadConfig& config)
|
||||||
|
{
|
||||||
|
return GET_CONFIG(biohead_config_file, config);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool getRobotConfig(config::RobotConfig& config)
|
||||||
|
{
|
||||||
|
return GET_CONFIG(robot_config_file, config);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool getServerConfig(config::ServerConfig& config)
|
||||||
|
{
|
||||||
|
return GET_CONFIG(server_config_file, config);
|
||||||
|
}
|
||||||
private:
|
private:
|
||||||
// Make macros able to call these (macros call ::cmvr::ConfigHelper::xxx)
|
// Make macros able to call these (macros call ::cmvr::ConfigHelper::xxx)
|
||||||
template <class T>
|
template <class T>
|
||||||
|
|||||||
@ -6,3 +6,6 @@ DECLARE_string(dexhand_config_file);
|
|||||||
DECLARE_string(microphone_config_file);
|
DECLARE_string(microphone_config_file);
|
||||||
DECLARE_string(speaker_config_file);
|
DECLARE_string(speaker_config_file);
|
||||||
DECLARE_string(touch_screen_app_config_file);
|
DECLARE_string(touch_screen_app_config_file);
|
||||||
|
DECLARE_string(biohead_config_file);
|
||||||
|
DECLARE_string(robot_config_file);
|
||||||
|
DECLARE_string(server_config_file);
|
||||||
|
|||||||
@ -1,18 +1,68 @@
|
|||||||
#include "common/utils/config_helper/include/config_setting.h"
|
#include "common/utils/config_helper/include/config_setting.h"
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <filesystem>
|
||||||
|
#include <limits.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
// static std::string basePath()
|
std::string normalizeDirectory(std::filesystem::path path) {
|
||||||
// {
|
auto text = path.lexically_normal().string();
|
||||||
// char* cwd = ::getcwd(nullptr, 0);
|
if (!text.empty() && text.back() != '/') {
|
||||||
// if (!cwd) return {};
|
text.push_back('/');
|
||||||
// std::string s(cwd);
|
}
|
||||||
// std::free(cwd);
|
return text;
|
||||||
// return s + "/config/";
|
}
|
||||||
// }
|
|
||||||
static std::string basePath()
|
std::string probeConfigDirectory(std::filesystem::path start) {
|
||||||
{
|
static const std::array<std::filesystem::path, 4> candidates = {
|
||||||
return "/home/lgv/cmvr/cmvr-es/output/bin/config/";
|
std::filesystem::path("output/bin/config"),
|
||||||
|
std::filesystem::path("cmvr-es/common/config"),
|
||||||
|
std::filesystem::path("config"),
|
||||||
|
std::filesystem::path("common/config")
|
||||||
|
};
|
||||||
|
|
||||||
|
start = start.lexically_normal();
|
||||||
|
while (!start.empty()) {
|
||||||
|
for (const auto& candidate : candidates) {
|
||||||
|
const auto path = start / candidate;
|
||||||
|
if (std::filesystem::exists(path) && std::filesystem::is_directory(path)) {
|
||||||
|
return normalizeDirectory(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto parent = start.parent_path();
|
||||||
|
if (parent == start) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
start = parent;
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
std::filesystem::path executableDirectory() {
|
||||||
|
char exe_path[PATH_MAX] = {0};
|
||||||
|
const auto count = ::readlink("/proc/self/exe", exe_path, sizeof(exe_path) - 1);
|
||||||
|
if (count <= 0) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
exe_path[count] = '\0';
|
||||||
|
return std::filesystem::path(exe_path).parent_path();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
static std::string basePath() {
|
||||||
|
if (const auto resolved = probeConfigDirectory(executableDirectory()); !resolved.empty()) {
|
||||||
|
return resolved;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (const auto resolved = probeConfigDirectory(std::filesystem::current_path()); !resolved.empty()) {
|
||||||
|
return resolved;
|
||||||
|
}
|
||||||
|
|
||||||
|
return "config/";
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_string(pinocchio_qp_ik_solver_config_file,
|
DEFINE_string(pinocchio_qp_ik_solver_config_file,
|
||||||
@ -38,3 +88,15 @@ DEFINE_string(speaker_config_file,
|
|||||||
DEFINE_string(touch_screen_app_config_file,
|
DEFINE_string(touch_screen_app_config_file,
|
||||||
basePath() + "touch_screen_app_config/touch_screen_app_config.pb.txt",
|
basePath() + "touch_screen_app_config/touch_screen_app_config.pb.txt",
|
||||||
"The configuration file for TouchScreenApp");
|
"The configuration file for TouchScreenApp");
|
||||||
|
|
||||||
|
DEFINE_string(biohead_config_file,
|
||||||
|
basePath() + "biohead_config/biohead_config.pb.txt",
|
||||||
|
"The configuration file for BioHead");
|
||||||
|
|
||||||
|
DEFINE_string(robot_config_file,
|
||||||
|
basePath() + "robot_config/robot_config.pb.txt",
|
||||||
|
"The configuration file for Robot");
|
||||||
|
|
||||||
|
DEFINE_string(server_config_file,
|
||||||
|
basePath() + "server_config/server_config.pb.txt",
|
||||||
|
"The configuration file for Server");
|
||||||
|
|||||||
@ -4,32 +4,35 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
#include <opencv2/opencv.hpp>
|
||||||
|
|
||||||
extern "C"{
|
extern "C"{
|
||||||
#include <libavformat/avformat.h>
|
#include <libavformat/avformat.h>
|
||||||
#include <libavcodec/avcodec.h>
|
#include <libavcodec/avcodec.h>
|
||||||
#include <libavdevice/avdevice.h>
|
#include <libavdevice/avdevice.h>
|
||||||
|
#include <libswscale/swscale.h>
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace ffmpeg {
|
namespace ffmpeg {
|
||||||
|
|
||||||
struct CameraConfig {
|
class CameraCapture {
|
||||||
std::string device_name = "0"; // Windows: "0" (dshow), Linux: "0" (对应 /dev/video0)
|
public:
|
||||||
|
struct Config {
|
||||||
|
std::string device_name = "0"; // Windows: "0" (dshow), Linux: "/dev/video0"
|
||||||
int width = 1280;
|
int width = 1280;
|
||||||
int height = 720;
|
int height = 720;
|
||||||
int fps = 30;
|
int fps = 30;
|
||||||
AVPixelFormat pixel_format = AV_PIX_FMT_YUV420P;
|
AVPixelFormat pixel_format = AV_PIX_FMT_YUV420P; // 保持原有的像素格式
|
||||||
};
|
};
|
||||||
|
|
||||||
class CameraCapture {
|
// 回调函数:同时返回AVFrame和cv::Mat
|
||||||
public:
|
using FrameCallback = std::function<void(AVFrame* frame, cv::Mat rgb_image, int64_t timestamp)>;
|
||||||
using FrameCallback = std::function<void(AVFrame* frame)>;
|
|
||||||
|
|
||||||
CameraCapture();
|
CameraCapture();
|
||||||
~CameraCapture();
|
~CameraCapture();
|
||||||
|
|
||||||
// 初始化摄像头
|
// 初始化摄像头
|
||||||
int initialize(const CameraConfig& config);
|
int initialize(const Config& config);
|
||||||
|
|
||||||
// 开始捕获
|
// 开始捕获
|
||||||
int start_capture(FrameCallback callback);
|
int start_capture(FrameCallback callback);
|
||||||
@ -38,7 +41,7 @@ namespace ffmpeg {
|
|||||||
void stop_capture();
|
void stop_capture();
|
||||||
|
|
||||||
// 获取当前配置
|
// 获取当前配置
|
||||||
CameraConfig get_config() const { return config_; }
|
Config get_config() const { return config_; }
|
||||||
|
|
||||||
// 获取输入格式上下文
|
// 获取输入格式上下文
|
||||||
AVFormatContext* get_format_context() { return fmt_ctx_; }
|
AVFormatContext* get_format_context() { return fmt_ctx_; }
|
||||||
@ -47,13 +50,16 @@ namespace ffmpeg {
|
|||||||
int get_video_stream_index() const { return video_stream_index_; }
|
int get_video_stream_index() const { return video_stream_index_; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CameraConfig config_;
|
Config config_;
|
||||||
AVFormatContext* fmt_ctx_ = nullptr;
|
AVFormatContext* fmt_ctx_ = nullptr;
|
||||||
AVCodecContext* decoder_ctx_ = nullptr;
|
AVCodecContext* decoder_ctx_ = nullptr;
|
||||||
int video_stream_index_ = -1;
|
int video_stream_index_ = -1;
|
||||||
bool is_capturing_ = false;
|
bool is_capturing_ = false;
|
||||||
AVPacket* packet_ = nullptr;
|
AVPacket* packet_ = nullptr;
|
||||||
AVFrame* frame_ = nullptr;
|
AVFrame* frame_ = nullptr;
|
||||||
|
AVFrame* rgb_frame_ = nullptr; // 用于转换的RGB帧
|
||||||
|
SwsContext* sws_ctx_ = nullptr; // 格式转换上下文
|
||||||
|
int64_t frame_count_ = 0;
|
||||||
|
|
||||||
// 初始化设备(平台相关)
|
// 初始化设备(平台相关)
|
||||||
int init_device();
|
int init_device();
|
||||||
@ -61,6 +67,12 @@ namespace ffmpeg {
|
|||||||
// 初始化解码器
|
// 初始化解码器
|
||||||
int init_decoder();
|
int init_decoder();
|
||||||
|
|
||||||
|
// 初始化SWS上下文
|
||||||
|
int init_sws_context();
|
||||||
|
|
||||||
|
// 将AVFrame转换为cv::Mat
|
||||||
|
cv::Mat avframe_to_cvmat(AVFrame* frame);
|
||||||
|
|
||||||
// 释放资源
|
// 释放资源
|
||||||
void cleanup();
|
void cleanup();
|
||||||
};
|
};
|
||||||
|
|||||||
94
cmvr-es/common/utils/ffmpeg/include/RealSenseCapture.h
Normal file
94
cmvr-es/common/utils/ffmpeg/include/RealSenseCapture.h
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
// RealSenseCapture.h
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <memory>
|
||||||
|
#include <functional>
|
||||||
|
#include <mutex>
|
||||||
|
#include <thread>
|
||||||
|
#include <atomic>
|
||||||
|
#include <opencv2/opencv.hpp>
|
||||||
|
|
||||||
|
#include <librealsense2/rs.hpp>
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include <libavformat/avformat.h>
|
||||||
|
#include <libavcodec/avcodec.h>
|
||||||
|
#include <libswscale/swscale.h>
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace ffmpeg {
|
||||||
|
|
||||||
|
class RealSenseCapture {
|
||||||
|
public:
|
||||||
|
struct Config {
|
||||||
|
std::string serial_number = ""; // 设备序列号,为空则使用第一个设备
|
||||||
|
int width = 1280;
|
||||||
|
int height = 720;
|
||||||
|
int fps = 30;
|
||||||
|
AVPixelFormat pixel_format = AV_PIX_FMT_BGR24; // RealSense输出BGR格式
|
||||||
|
};
|
||||||
|
|
||||||
|
// 回调函数:同时返回AVFrame和cv::Mat
|
||||||
|
using FrameCallback = std::function<void(AVFrame* frame, cv::Mat rgb_image, int64_t timestamp)>;
|
||||||
|
|
||||||
|
RealSenseCapture();
|
||||||
|
~RealSenseCapture();
|
||||||
|
|
||||||
|
// 初始化摄像头
|
||||||
|
int initialize(const Config& config);
|
||||||
|
|
||||||
|
// 开始捕获
|
||||||
|
int start_capture(FrameCallback callback);
|
||||||
|
|
||||||
|
// 停止捕获
|
||||||
|
void stop_capture();
|
||||||
|
|
||||||
|
// 获取当前配置
|
||||||
|
Config get_config() const { return config_; }
|
||||||
|
|
||||||
|
// 获取设备信息
|
||||||
|
std::string get_device_info() const;
|
||||||
|
|
||||||
|
// 获取内参
|
||||||
|
rs2_intrinsics get_intrinsics() const { return intrinsics_; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
Config config_;
|
||||||
|
|
||||||
|
// RealSense相关
|
||||||
|
rs2::context ctx_;
|
||||||
|
rs2::pipeline pipe_;
|
||||||
|
rs2::config rs_cfg_;
|
||||||
|
rs2::pipeline_profile profile_;
|
||||||
|
rs2_intrinsics intrinsics_;
|
||||||
|
|
||||||
|
// FFmpeg相关
|
||||||
|
AVFrame* frame_ = nullptr; // 用于编码的AVFrame
|
||||||
|
AVFrame* rgb_frame_ = nullptr; // 用于OpenCV的AVFrame
|
||||||
|
|
||||||
|
// 状态控制
|
||||||
|
std::atomic<bool> is_capturing_{false};
|
||||||
|
std::unique_ptr<std::thread> capture_thread_;
|
||||||
|
mutable std::mutex mutex_;
|
||||||
|
|
||||||
|
// 帧计数
|
||||||
|
int64_t frame_count_ = 0;
|
||||||
|
|
||||||
|
// 初始化设备
|
||||||
|
int init_device();
|
||||||
|
|
||||||
|
// 创建AVFrame
|
||||||
|
AVFrame* create_avframe(int width, int height, AVPixelFormat pix_fmt);
|
||||||
|
|
||||||
|
// 捕获线程函数
|
||||||
|
void capture_thread_func(FrameCallback callback);
|
||||||
|
|
||||||
|
// 将RealSense帧转换为AVFrame
|
||||||
|
AVFrame* realsense_to_avframe(rs2::frame frame);
|
||||||
|
|
||||||
|
// 将RealSense帧转换为cv::Mat
|
||||||
|
cv::Mat realsense_to_cvmat(rs2::frame frame);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace ffmpeg
|
||||||
@ -19,7 +19,9 @@ extern "C" {
|
|||||||
|
|
||||||
namespace ffmpeg {
|
namespace ffmpeg {
|
||||||
|
|
||||||
struct EncoderConfig {
|
class VideoFrameEncoder {
|
||||||
|
public:
|
||||||
|
struct Config {
|
||||||
int width = 1280;
|
int width = 1280;
|
||||||
int height = 720;
|
int height = 720;
|
||||||
int fps = 30;
|
int fps = 30;
|
||||||
@ -31,17 +33,15 @@ struct EncoderConfig {
|
|||||||
std::string tune = "zerolatency"; // 调优参数
|
std::string tune = "zerolatency"; // 调优参数
|
||||||
std::string profile = "main"; // 编码profile
|
std::string profile = "main"; // 编码profile
|
||||||
std::string codec = "libx265";
|
std::string codec = "libx265";
|
||||||
};
|
};
|
||||||
|
|
||||||
class VideoFrameEncoder {
|
|
||||||
public:
|
|
||||||
using PacketCallback = std::function<void(AVPacket* packet, int64_t pts, int64_t dts)>;
|
using PacketCallback = std::function<void(AVPacket* packet, int64_t pts, int64_t dts)>;
|
||||||
|
|
||||||
VideoFrameEncoder();
|
VideoFrameEncoder();
|
||||||
~VideoFrameEncoder();
|
~VideoFrameEncoder();
|
||||||
|
|
||||||
// 初始化编码器
|
// 初始化编码器
|
||||||
int initialize(const EncoderConfig& config);
|
int initialize(const Config& config);
|
||||||
|
|
||||||
// 编码一帧
|
// 编码一帧
|
||||||
int encode_frame(AVFrame* frame);
|
int encode_frame(AVFrame* frame);
|
||||||
@ -76,7 +76,7 @@ public:
|
|||||||
int64_t get_frame_index() const { return frame_index_; }
|
int64_t get_frame_index() const { return frame_index_; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EncoderConfig config_;
|
Config config_;
|
||||||
AVCodecContext* encoder_ctx_ = nullptr;
|
AVCodecContext* encoder_ctx_ = nullptr;
|
||||||
SwsContext* sws_ctx_ = nullptr;
|
SwsContext* sws_ctx_ = nullptr;
|
||||||
AVFrame* converted_frame_ = nullptr;
|
AVFrame* converted_frame_ = nullptr;
|
||||||
|
|||||||
@ -12,7 +12,9 @@ extern "C"{
|
|||||||
|
|
||||||
namespace ffmpeg {
|
namespace ffmpeg {
|
||||||
|
|
||||||
struct WriterConfig {
|
class VideoWriter {
|
||||||
|
public:
|
||||||
|
struct Config {
|
||||||
std::string output_file = "output.mp4";
|
std::string output_file = "output.mp4";
|
||||||
int width = 1280;
|
int width = 1280;
|
||||||
int height = 720;
|
int height = 720;
|
||||||
@ -21,13 +23,11 @@ namespace ffmpeg {
|
|||||||
AVRational time_base = {1, 90000}; // 默认时间基
|
AVRational time_base = {1, 90000}; // 默认时间基
|
||||||
};
|
};
|
||||||
|
|
||||||
class VideoWriter {
|
|
||||||
public:
|
|
||||||
VideoWriter();
|
VideoWriter();
|
||||||
~VideoWriter();
|
~VideoWriter();
|
||||||
|
|
||||||
// 初始化写入器
|
// 初始化写入器
|
||||||
int initialize(const WriterConfig& config, AVCodecContext* codec_ctx);
|
int initialize(const Config& config, AVCodecContext* codec_ctx);
|
||||||
|
|
||||||
// 写入数据包
|
// 写入数据包
|
||||||
int write_packet(AVPacket* packet, int64_t pts, int64_t dts);
|
int write_packet(AVPacket* packet, int64_t pts, int64_t dts);
|
||||||
@ -47,7 +47,7 @@ namespace ffmpeg {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
WriterConfig config_;
|
Config config_;
|
||||||
AVFormatContext* fmt_ctx_ = nullptr;
|
AVFormatContext* fmt_ctx_ = nullptr;
|
||||||
AVStream* video_stream_ = nullptr;
|
AVStream* video_stream_ = nullptr;
|
||||||
AVCodecContext* codec_ctx_ref_ = nullptr;
|
AVCodecContext* codec_ctx_ref_ = nullptr;
|
||||||
|
|||||||
@ -9,6 +9,7 @@ namespace ffmpeg {
|
|||||||
CameraCapture::CameraCapture() {
|
CameraCapture::CameraCapture() {
|
||||||
packet_ = av_packet_alloc();
|
packet_ = av_packet_alloc();
|
||||||
frame_ = av_frame_alloc();
|
frame_ = av_frame_alloc();
|
||||||
|
rgb_frame_ = av_frame_alloc();
|
||||||
}
|
}
|
||||||
|
|
||||||
CameraCapture::~CameraCapture() {
|
CameraCapture::~CameraCapture() {
|
||||||
@ -17,9 +18,11 @@ CameraCapture::~CameraCapture() {
|
|||||||
|
|
||||||
if (packet_) av_packet_free(&packet_);
|
if (packet_) av_packet_free(&packet_);
|
||||||
if (frame_) av_frame_free(&frame_);
|
if (frame_) av_frame_free(&frame_);
|
||||||
|
if (rgb_frame_) av_frame_free(&rgb_frame_);
|
||||||
|
if (sws_ctx_) sws_freeContext(sws_ctx_);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CameraCapture::initialize(const CameraConfig& config) {
|
int CameraCapture::initialize(const Config& config) {
|
||||||
config_ = config;
|
config_ = config;
|
||||||
|
|
||||||
// 初始化设备
|
// 初始化设备
|
||||||
@ -36,6 +39,25 @@ int CameraCapture::initialize(const CameraConfig& config) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 初始化SWS上下文
|
||||||
|
ret = init_sws_context();
|
||||||
|
if (ret < 0) {
|
||||||
|
std::cerr << "初始化SWS上下文失败" << std::endl;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分配RGB帧缓冲区(用于转换)
|
||||||
|
rgb_frame_->width = config_.width;
|
||||||
|
rgb_frame_->height = config_.height;
|
||||||
|
rgb_frame_->format = AV_PIX_FMT_BGR24; // OpenCV使用BGR格式
|
||||||
|
ret = av_frame_get_buffer(rgb_frame_, 0);
|
||||||
|
if (ret < 0) {
|
||||||
|
std::cerr << "分配RGB帧缓冲区失败" << std::endl;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << "摄像头初始化成功: " << config_.width << "x" << config_.height
|
||||||
|
<< "@" << config_.fps << "fps" << std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,8 +78,15 @@ int CameraCapture::init_device() {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置摄像头参数
|
||||||
|
AVDictionary* options = nullptr;
|
||||||
|
av_dict_set(&options, "framerate", std::to_string(config_.fps).c_str(), 0);
|
||||||
|
av_dict_set(&options, "video_size", (std::to_string(config_.width) + "x" + std::to_string(config_.height)).c_str(), 0);
|
||||||
|
|
||||||
// 打开摄像头
|
// 打开摄像头
|
||||||
int ret = avformat_open_input(&fmt_ctx_, device_path.c_str(), input_fmt, nullptr);
|
int ret = avformat_open_input(&fmt_ctx_, device_path.c_str(), input_fmt, &options);
|
||||||
|
av_dict_free(&options);
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
char err_buf[1024];
|
char err_buf[1024];
|
||||||
av_strerror(ret, err_buf, sizeof(err_buf));
|
av_strerror(ret, err_buf, sizeof(err_buf));
|
||||||
@ -114,6 +143,46 @@ int CameraCapture::init_decoder() {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int CameraCapture::init_sws_context() {
|
||||||
|
// 获取解码器输出的像素格式
|
||||||
|
AVPixelFormat src_format = decoder_ctx_->pix_fmt;
|
||||||
|
|
||||||
|
sws_ctx_ = sws_getContext(
|
||||||
|
decoder_ctx_->width, decoder_ctx_->height, src_format,
|
||||||
|
config_.width, config_.height, AV_PIX_FMT_BGR24, // 转换为BGR24给OpenCV
|
||||||
|
SWS_BILINEAR, nullptr, nullptr, nullptr
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!sws_ctx_) {
|
||||||
|
std::cerr << "创建SWS上下文失败" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
cv::Mat CameraCapture::avframe_to_cvmat(AVFrame* frame) {
|
||||||
|
// 确保RGB帧可写
|
||||||
|
av_frame_make_writable(rgb_frame_);
|
||||||
|
|
||||||
|
// 转换到BGR24
|
||||||
|
sws_scale(sws_ctx_,
|
||||||
|
frame->data, frame->linesize, 0, frame->height,
|
||||||
|
rgb_frame_->data, rgb_frame_->linesize);
|
||||||
|
|
||||||
|
// 创建cv::Mat(BGR格式)
|
||||||
|
cv::Mat image(config_.height, config_.width, CV_8UC3);
|
||||||
|
|
||||||
|
// 复制数据(由于linesize可能不等于width*3,需要逐行复制)
|
||||||
|
for (int i = 0; i < config_.height; i++) {
|
||||||
|
memcpy(image.data + i * image.step,
|
||||||
|
rgb_frame_->data[0] + i * rgb_frame_->linesize[0],
|
||||||
|
config_.width * 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
return image;
|
||||||
|
}
|
||||||
|
|
||||||
int CameraCapture::start_capture(FrameCallback callback) {
|
int CameraCapture::start_capture(FrameCallback callback) {
|
||||||
if (!callback || !fmt_ctx_ || !decoder_ctx_) {
|
if (!callback || !fmt_ctx_ || !decoder_ctx_) {
|
||||||
std::cerr << "参数无效或未初始化" << std::endl;
|
std::cerr << "参数无效或未初始化" << std::endl;
|
||||||
@ -121,6 +190,9 @@ int CameraCapture::start_capture(FrameCallback callback) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
is_capturing_ = true;
|
is_capturing_ = true;
|
||||||
|
frame_count_ = 0;
|
||||||
|
|
||||||
|
std::cout << "开始采集..." << std::endl;
|
||||||
|
|
||||||
while (is_capturing_) {
|
while (is_capturing_) {
|
||||||
// 读取数据包
|
// 读取数据包
|
||||||
@ -154,15 +226,18 @@ int CameraCapture::start_capture(FrameCallback callback) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 回调处理帧
|
// 设置PTS
|
||||||
callback(frame_);
|
frame_->pts = frame_count_;
|
||||||
|
|
||||||
|
// 转换为cv::Mat(用于显示或OpenCV处理)
|
||||||
|
cv::Mat rgb_image = avframe_to_cvmat(frame_);
|
||||||
|
|
||||||
|
// 回调:同时返回AVFrame和cv::Mat
|
||||||
|
callback(frame_, rgb_image, frame_count_++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
av_packet_unref(packet_);
|
av_packet_unref(packet_);
|
||||||
|
|
||||||
// 控制帧率
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(1000 / config_.fps));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
301
cmvr-es/common/utils/ffmpeg/src/RealSenseCapture.cpp
Normal file
301
cmvr-es/common/utils/ffmpeg/src/RealSenseCapture.cpp
Normal file
@ -0,0 +1,301 @@
|
|||||||
|
// RealSenseCapture.cpp
|
||||||
|
#include "../include/RealSenseCapture.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
|
namespace ffmpeg {
|
||||||
|
|
||||||
|
RealSenseCapture::RealSenseCapture() {
|
||||||
|
frame_ = av_frame_alloc();
|
||||||
|
rgb_frame_ = av_frame_alloc();
|
||||||
|
}
|
||||||
|
|
||||||
|
RealSenseCapture::~RealSenseCapture() {
|
||||||
|
stop_capture();
|
||||||
|
|
||||||
|
if (frame_) av_frame_free(&frame_);
|
||||||
|
if (rgb_frame_) av_frame_free(&rgb_frame_);
|
||||||
|
}
|
||||||
|
|
||||||
|
int RealSenseCapture::initialize(const Config& config) {
|
||||||
|
std::lock_guard<std::mutex> lock(mutex_);
|
||||||
|
|
||||||
|
config_ = config;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 初始化设备
|
||||||
|
int ret = init_device();
|
||||||
|
if (ret < 0) {
|
||||||
|
std::cerr << "初始化RealSense设备失败" << std::endl;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建AVFrame
|
||||||
|
if (frame_) av_frame_free(&frame_);
|
||||||
|
if (rgb_frame_) av_frame_free(&rgb_frame_);
|
||||||
|
|
||||||
|
frame_ = create_avframe(config_.width, config_.height, config_.pixel_format);
|
||||||
|
rgb_frame_ = create_avframe(config_.width, config_.height, AV_PIX_FMT_BGR24);
|
||||||
|
|
||||||
|
if (!frame_ || !rgb_frame_) {
|
||||||
|
std::cerr << "创建AVFrame失败" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << "RealSense摄像头初始化成功: "
|
||||||
|
<< config_.width << "x" << config_.height << "@" << config_.fps << "fps" << std::endl;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
} catch (const rs2::error& e) {
|
||||||
|
std::cerr << "RealSense错误: " << e.what() << std::endl;
|
||||||
|
return -1;
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
std::cerr << "常规错误: " << e.what() << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int RealSenseCapture::init_device() {
|
||||||
|
try {
|
||||||
|
// 查询设备
|
||||||
|
rs2::device_list devices = ctx_.query_devices();
|
||||||
|
size_t device_count = devices.size();
|
||||||
|
|
||||||
|
if (device_count == 0) {
|
||||||
|
std::cerr << "未检测到RealSense设备" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << "检测到 " << device_count << " 个RealSense设备" << std::endl;
|
||||||
|
|
||||||
|
// 如果指定了序列号,查找对应设备
|
||||||
|
if (!config_.serial_number.empty()) {
|
||||||
|
bool found = false;
|
||||||
|
for (size_t i = 0; i < device_count; i++) {
|
||||||
|
rs2::device dev = devices[i];
|
||||||
|
std::string serial = dev.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER);
|
||||||
|
|
||||||
|
if (serial == config_.serial_number) {
|
||||||
|
std::cout << "找到指定序列号的设备: " << serial << std::endl;
|
||||||
|
found = true;
|
||||||
|
rs_cfg_.enable_device(serial);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found) {
|
||||||
|
std::cerr << "未找到序列号为 " << config_.serial_number << " 的设备" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 使用第一个设备
|
||||||
|
rs2::device dev = devices[0];
|
||||||
|
std::string serial = dev.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER);
|
||||||
|
std::cout << "使用第一个设备: " << dev.get_info(RS2_CAMERA_INFO_NAME)
|
||||||
|
<< " (序列号: " << serial << ")" << std::endl;
|
||||||
|
rs_cfg_.enable_device(serial);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 配置彩色视频流
|
||||||
|
rs_cfg_.enable_stream(RS2_STREAM_COLOR,
|
||||||
|
config_.width,
|
||||||
|
config_.height,
|
||||||
|
RS2_FORMAT_BGR8, // OpenCV使用BGR格式
|
||||||
|
config_.fps);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
} catch (const rs2::error& e) {
|
||||||
|
std::cerr << "初始化设备失败: " << e.what() << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AVFrame* RealSenseCapture::create_avframe(int width, int height, AVPixelFormat pix_fmt) {
|
||||||
|
AVFrame* frame = av_frame_alloc();
|
||||||
|
if (!frame) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
frame->width = width;
|
||||||
|
frame->height = height;
|
||||||
|
frame->format = pix_fmt;
|
||||||
|
|
||||||
|
// 分配缓冲区
|
||||||
|
int ret = av_frame_get_buffer(frame, 0);
|
||||||
|
if (ret < 0) {
|
||||||
|
av_frame_free(&frame);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
|
||||||
|
AVFrame* RealSenseCapture::realsense_to_avframe(rs2::frame frame) {
|
||||||
|
auto vf = frame.as<rs2::video_frame>();
|
||||||
|
const int width = vf.get_width();
|
||||||
|
const int height = vf.get_height();
|
||||||
|
const uint8_t* data = reinterpret_cast<const uint8_t*>(vf.get_data());
|
||||||
|
|
||||||
|
// 确保帧可写
|
||||||
|
av_frame_make_writable(frame_);
|
||||||
|
|
||||||
|
// RealSense的BGR8格式,linesize = width * 3
|
||||||
|
int src_linesize = width * 3;
|
||||||
|
|
||||||
|
// 复制数据到AVFrame
|
||||||
|
for (int i = 0; i < height; i++) {
|
||||||
|
memcpy(frame_->data[0] + i * frame_->linesize[0],
|
||||||
|
data + i * src_linesize,
|
||||||
|
src_linesize);
|
||||||
|
}
|
||||||
|
|
||||||
|
return frame_;
|
||||||
|
}
|
||||||
|
|
||||||
|
cv::Mat RealSenseCapture::realsense_to_cvmat(rs2::frame frame) {
|
||||||
|
auto vf = frame.as<rs2::video_frame>();
|
||||||
|
const int width = vf.get_width();
|
||||||
|
const int height = vf.get_height();
|
||||||
|
|
||||||
|
// RealSense的BGR8格式直接对应OpenCV的CV_8UC3
|
||||||
|
cv::Mat image(cv::Size(width, height), CV_8UC3, (void*)vf.get_data(), cv::Mat::AUTO_STEP);
|
||||||
|
|
||||||
|
// 返回深拷贝,确保图像数据独立
|
||||||
|
return image.clone();
|
||||||
|
}
|
||||||
|
|
||||||
|
int RealSenseCapture::start_capture(FrameCallback callback) {
|
||||||
|
std::lock_guard<std::mutex> lock(mutex_);
|
||||||
|
|
||||||
|
if (!callback) {
|
||||||
|
std::cerr << "回调函数为空" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_capturing_) {
|
||||||
|
std::cerr << "已经在捕获中" << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 启动pipeline
|
||||||
|
profile_ = pipe_.start(rs_cfg_);
|
||||||
|
|
||||||
|
// 获取内参
|
||||||
|
auto stream = profile_.get_stream(RS2_STREAM_COLOR).as<rs2::video_stream_profile>();
|
||||||
|
intrinsics_ = stream.get_intrinsics();
|
||||||
|
|
||||||
|
// 等待第一帧,确保设备正常工作
|
||||||
|
rs2::frameset frames = pipe_.wait_for_frames(2000); // 2秒超时
|
||||||
|
if (!frames.get_color_frame()) {
|
||||||
|
std::cerr << "无法获取第一帧" << std::endl;
|
||||||
|
pipe_.stop();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
is_capturing_ = true;
|
||||||
|
frame_count_ = 0;
|
||||||
|
|
||||||
|
// 启动捕获线程
|
||||||
|
capture_thread_ = std::make_unique<std::thread>(&RealSenseCapture::capture_thread_func,
|
||||||
|
this, callback);
|
||||||
|
|
||||||
|
std::cout << "RealSense开始采集" << std::endl;
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
} catch (const rs2::error& e) {
|
||||||
|
std::cerr << "启动采集失败: " << e.what() << std::endl;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void RealSenseCapture::capture_thread_func(FrameCallback callback) {
|
||||||
|
const int frame_interval = 1000 / config_.fps; // 毫秒
|
||||||
|
|
||||||
|
while (is_capturing_) {
|
||||||
|
auto frame_start = std::chrono::steady_clock::now();
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 等待帧数据
|
||||||
|
rs2::frameset frames = pipe_.wait_for_frames(1000); // 1秒超时
|
||||||
|
rs2::frame color_frame = frames.get_color_frame();
|
||||||
|
|
||||||
|
if (!color_frame) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 转换为AVFrame(用于编码)
|
||||||
|
AVFrame* av_frame = realsense_to_avframe(color_frame);
|
||||||
|
av_frame->pts = frame_count_;
|
||||||
|
|
||||||
|
// 转换为cv::Mat(用于显示或OpenCV处理)
|
||||||
|
cv::Mat rgb_image = realsense_to_cvmat(color_frame);
|
||||||
|
|
||||||
|
// 回调:同时返回AVFrame和cv::Mat
|
||||||
|
callback(av_frame, rgb_image, frame_count_++);
|
||||||
|
|
||||||
|
} catch (const rs2::error& e) {
|
||||||
|
std::cerr << "采集错误: " << e.what() << std::endl;
|
||||||
|
if (!is_capturing_) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 控制帧率
|
||||||
|
auto frame_end = std::chrono::steady_clock::now();
|
||||||
|
auto elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||||
|
frame_end - frame_start).count();
|
||||||
|
|
||||||
|
if (elapsed < frame_interval) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(frame_interval - elapsed));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void RealSenseCapture::stop_capture() {
|
||||||
|
std::lock_guard<std::mutex> lock(mutex_);
|
||||||
|
|
||||||
|
if (!is_capturing_) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
is_capturing_ = false;
|
||||||
|
|
||||||
|
if (capture_thread_ && capture_thread_->joinable()) {
|
||||||
|
capture_thread_->join();
|
||||||
|
capture_thread_.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
pipe_.stop();
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
std::cerr << "停止pipeline时出错: " << e.what() << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << "RealSense停止采集" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string RealSenseCapture::get_device_info() const {
|
||||||
|
try {
|
||||||
|
rs2::device_list devices = ctx_.query_devices();
|
||||||
|
if (devices.size() == 0) {
|
||||||
|
return "No RealSense device found";
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string info;
|
||||||
|
for (size_t i = 0; i < devices.size(); i++) {
|
||||||
|
rs2::device dev = devices[i];
|
||||||
|
info += "Device " + std::to_string(i + 1) + ": ";
|
||||||
|
info += dev.get_info(RS2_CAMERA_INFO_NAME);
|
||||||
|
info += " (SN: " + std::string(dev.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER)) + ")";
|
||||||
|
if (i < devices.size() - 1) info += "\n";
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
return "Failed to get device info: " + std::string(e.what());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace ffmpeg
|
||||||
@ -23,7 +23,7 @@ int64_t VideoFrameEncoder::get_current_timestamp() {
|
|||||||
return av_rescale_q(elapsed, {1, 1000000}, time_base_);
|
return av_rescale_q(elapsed, {1, 1000000}, time_base_);
|
||||||
}
|
}
|
||||||
|
|
||||||
int VideoFrameEncoder::initialize(const EncoderConfig& config) {
|
int VideoFrameEncoder::initialize(const Config& config) {
|
||||||
config_ = config;
|
config_ = config;
|
||||||
|
|
||||||
// 查找编码器
|
// 查找编码器
|
||||||
|
|||||||
@ -10,7 +10,7 @@ VideoWriter::~VideoWriter() {
|
|||||||
cleanup();
|
cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
int VideoWriter::initialize(const WriterConfig& config, AVCodecContext* codec_ctx) {
|
int VideoWriter::initialize(const Config& config, AVCodecContext* codec_ctx) {
|
||||||
config_ = config;
|
config_ = config;
|
||||||
codec_ctx_ref_ = codec_ctx;
|
codec_ctx_ref_ = codec_ctx;
|
||||||
|
|
||||||
|
|||||||
@ -105,12 +105,14 @@ public:
|
|||||||
std::vector<double>& q_cmd_out);
|
std::vector<double>& q_cmd_out);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 根据当前关节状态计算关节速度命令。
|
* @brief 根据当前关节状态和控制周期计算关节速度命令。
|
||||||
* @param joints_angle 当前关节角。
|
* @param joints_angle 当前关节角。
|
||||||
|
* @param dt 控制周期,单位秒。
|
||||||
* @param qdot_out 输出的关节速度命令。
|
* @param qdot_out 输出的关节速度命令。
|
||||||
* @return 计算成功返回 `true`。
|
* @return 计算成功返回 `true`。
|
||||||
*/
|
*/
|
||||||
bool compute(const std::vector<double>& joints_angle,
|
bool computeQdot(const std::vector<double>& joints_angle,
|
||||||
|
double dt,
|
||||||
std::vector<double>& qdot_out);
|
std::vector<double>& qdot_out);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -190,6 +192,27 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setVelocityLimit6(const std::array<double, 6>& vmax6);
|
void setVelocityLimit6(const std::array<double, 6>& vmax6);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 设置相机 twist 六维加速度限幅。
|
||||||
|
* @param amax6 六维加速度限幅,前三维线加速度,后三维角加速度;
|
||||||
|
* 分量小于等于 0 时表示该维度不启用加速度限幅。
|
||||||
|
*/
|
||||||
|
void setAccelerationLimit6(const std::array<double, 6>& amax6);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 设置相机 twist 一阶低通滤波系数。
|
||||||
|
* @param alpha 滤波系数,范围 [0, 1];取值在 (0, 1) 时启用一阶低通,
|
||||||
|
* 其余情况按不过滤处理。
|
||||||
|
*/
|
||||||
|
void setTwistFilterAlpha(double alpha);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 将内部相机 twist 平滑状态同步到静止状态。
|
||||||
|
*
|
||||||
|
* 适用于上层已经执行硬停(直接发 0 速)后,避免下一次恢复控制时继续沿用旧的 twist 历史。
|
||||||
|
*/
|
||||||
|
void resetTwistCommandState();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 设置关节限位回避参数。
|
* @brief 设置关节限位回避参数。
|
||||||
* @param enable 是否启用。
|
* @param enable 是否启用。
|
||||||
@ -214,31 +237,14 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setAlignCameraToUrdf(const Eigen::Matrix3d& R_camera_urdf);
|
void setAlignCameraToUrdf(const Eigen::Matrix3d& R_camera_urdf);
|
||||||
|
|
||||||
// 最近一帧是否检测到了当前被跟踪的 tag。
|
|
||||||
bool isTagDetected() const { return last_tag_detected_; }
|
bool isTagDetected() const { return last_tag_detected_; }
|
||||||
|
|
||||||
// 最近一次 `compute()` 的状态。
|
|
||||||
ComputeStatus lastComputeStatus() const { return last_compute_status_; }
|
ComputeStatus lastComputeStatus() const { return last_compute_status_; }
|
||||||
|
|
||||||
// 计算状态转字符串。
|
|
||||||
static const char* statusToString(ComputeStatus status);
|
static const char* statusToString(ComputeStatus status);
|
||||||
|
|
||||||
// 最近一次 `compute()` 实际使用的深度来源。
|
|
||||||
DepthUsage lastDepthUsage() const { return last_depth_usage_; }
|
DepthUsage lastDepthUsage() const { return last_depth_usage_; }
|
||||||
|
|
||||||
// 深度来源转字符串。
|
|
||||||
static const char* depthUsageToString(DepthUsage usage);
|
static const char* depthUsageToString(DepthUsage usage);
|
||||||
|
|
||||||
// 最近一次使用到的 tag 原点在 ViSP 相机坐标系 `c` 中的位置。
|
|
||||||
const Eigen::Vector3d& lastTagPositionVisp() const { return last_tag_pos_visp_; }
|
const Eigen::Vector3d& lastTagPositionVisp() const { return last_tag_pos_visp_; }
|
||||||
|
|
||||||
// 当前配置要跟踪的 tag id。
|
|
||||||
int trackedTagId() const { return tracked_tag_id_; }
|
int trackedTagId() const { return tracked_tag_id_; }
|
||||||
|
|
||||||
// 最近一次成功控制时实际使用的 tag id。
|
|
||||||
int lastUsedTagId() const { return last_used_tag_id_; }
|
int lastUsedTagId() const { return last_used_tag_id_; }
|
||||||
|
|
||||||
// 最近一次输出的相机 twist,位于 ViSP 相机坐标系 `c`。
|
|
||||||
const Eigen::Matrix<double, 6, 1>& lastCameraTwistVisp() const { return last_v_camera_visp_; }
|
const Eigen::Matrix<double, 6, 1>& lastCameraTwistVisp() const { return last_v_camera_visp_; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -252,10 +258,12 @@ private:
|
|||||||
/**
|
/**
|
||||||
* @brief 核心控制链路:由感知缓存和当前关节状态计算关节速度命令。
|
* @brief 核心控制链路:由感知缓存和当前关节状态计算关节速度命令。
|
||||||
* @param joints_angle 当前关节角。
|
* @param joints_angle 当前关节角。
|
||||||
|
* @param dt 控制周期,单位秒。
|
||||||
* @param qdot_out 输出的关节速度命令。
|
* @param qdot_out 输出的关节速度命令。
|
||||||
* @return 计算成功返回 `true`。
|
* @return 计算成功返回 `true`。
|
||||||
*/
|
*/
|
||||||
bool computeInternal(const std::vector<double>& joints_angle,
|
bool computeInternal(const std::vector<double>& joints_angle,
|
||||||
|
double dt,
|
||||||
std::vector<double>& qdot_out);
|
std::vector<double>& qdot_out);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -281,128 +289,72 @@ private:
|
|||||||
void initTask();
|
void initTask();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// 控制器和 IK 求解器是否已成功初始化。
|
|
||||||
bool initialized_{false};
|
bool initialized_{false};
|
||||||
|
|
||||||
// IK 链基座 frame 名称。
|
|
||||||
std::string base_frame_name_;
|
std::string base_frame_name_;
|
||||||
|
|
||||||
// URDF 中相机 frame 名称,对应坐标系 `u`。
|
|
||||||
std::string camera_frame_name_;
|
std::string camera_frame_name_;
|
||||||
|
|
||||||
// 共享感知前端。
|
|
||||||
std::shared_ptr<cmvr::perception::AprilTagPerception> perception_{nullptr};
|
std::shared_ptr<cmvr::perception::AprilTagPerception> perception_{nullptr};
|
||||||
|
|
||||||
// ViSP 视觉伺服增益。
|
|
||||||
double lambda_{0.7};
|
double lambda_{0.7};
|
||||||
|
|
||||||
// 控制模型使用的 tag 边长,单位米。
|
|
||||||
double tag_size_m_{0.12};
|
double tag_size_m_{0.12};
|
||||||
|
|
||||||
// 控制模型使用的 tag 半边长,单位米。
|
|
||||||
double tag_half_{0.06};
|
double tag_half_{0.06};
|
||||||
|
|
||||||
// 期望 tag 原点在 ViSP 相机坐标系 `c` 中的 x 坐标,单位米。
|
|
||||||
double target_x_{0.0};
|
double target_x_{0.0};
|
||||||
|
|
||||||
// 期望 tag 原点在 ViSP 相机坐标系 `c` 中的 y 坐标,单位米。
|
|
||||||
double target_y_{0.0};
|
double target_y_{0.0};
|
||||||
|
|
||||||
// 期望 tag 原点在 ViSP 相机坐标系 `c` 中的 z 坐标,单位米。
|
|
||||||
double target_z_{0.33};
|
double target_z_{0.33};
|
||||||
|
|
||||||
// 期望位姿 `cMo_des` 的旋转参数 rx,单位弧度。
|
|
||||||
double target_rx_{3.14159265358979323846};
|
double target_rx_{3.14159265358979323846};
|
||||||
|
|
||||||
// 期望位姿 `cMo_des` 的旋转参数 ry,单位弧度。
|
|
||||||
double target_ry_{0.0};
|
double target_ry_{0.0};
|
||||||
|
|
||||||
// 期望位姿 `cMo_des` 的旋转参数 rz,单位弧度。
|
|
||||||
double target_rz_{0.0};
|
double target_rz_{0.0};
|
||||||
|
|
||||||
// DLS IK 阻尼系数。
|
|
||||||
double mu_{0.02};
|
double mu_{0.02};
|
||||||
|
|
||||||
// 关节速度上限。
|
|
||||||
double qdot_max_{0.6};
|
double qdot_max_{0.6};
|
||||||
|
|
||||||
// 深度使用模式。
|
|
||||||
DepthMode depth_mode_{DepthMode::MONOCULAR};
|
DepthMode depth_mode_{DepthMode::MONOCULAR};
|
||||||
|
|
||||||
// 深度闭环比例增益。
|
|
||||||
double depth_z_kp_{1.0};
|
double depth_z_kp_{1.0};
|
||||||
|
|
||||||
// 相机 twist 六维限幅。
|
|
||||||
std::array<double, 6> vmax6_{{0.15, 0.15, 0.20, 0.6, 0.6, 0.6}};
|
std::array<double, 6> vmax6_{{0.15, 0.15, 0.20, 0.6, 0.6, 0.6}};
|
||||||
|
|
||||||
// 是否启用关节限位回避。
|
// 相机 twist 六维加速度限幅;<=0 表示该维度默认不启用。
|
||||||
|
std::array<double, 6> amax6_{{0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
|
||||||
|
|
||||||
|
// 相机 twist 一阶低通滤波系数;默认 1.0 表示不过滤。
|
||||||
|
double twist_lpf_alpha_{1.0};
|
||||||
|
|
||||||
bool limit_avoidance_enabled_{false};
|
bool limit_avoidance_enabled_{false};
|
||||||
|
|
||||||
// 关节限位回避增益。
|
|
||||||
double limit_avoidance_gain_{0.2};
|
double limit_avoidance_gain_{0.2};
|
||||||
|
|
||||||
// 关节限位回避触发边界比例。
|
|
||||||
double limit_avoidance_margin_ratio_{0.15};
|
double limit_avoidance_margin_ratio_{0.15};
|
||||||
|
|
||||||
// 单关节最大推回速度。
|
|
||||||
double limit_avoidance_max_push_{0.25};
|
double limit_avoidance_max_push_{0.25};
|
||||||
|
|
||||||
// 用于深度闭环的 tag 平面控制点,位于 tag 坐标系 `t` 的 xy 平面,单位米。
|
|
||||||
Eigen::Vector2d depth_control_point_tag_{Eigen::Vector2d::Zero()};
|
Eigen::Vector2d depth_control_point_tag_{Eigen::Vector2d::Zero()};
|
||||||
|
|
||||||
// 从 `AbstractCamera` 相机坐标系 `cam` 到 ViSP 相机坐标系 `c` 的旋转矩阵。
|
|
||||||
Eigen::Matrix3d R_cv_{Eigen::Matrix3d::Identity()};
|
Eigen::Matrix3d R_cv_{Eigen::Matrix3d::Identity()};
|
||||||
|
|
||||||
// 从 `AbstractCamera` 相机坐标系 `cam` 到 URDF 相机坐标系 `u` 的旋转矩阵。
|
|
||||||
Eigen::Matrix3d R_camera_urdf_{Eigen::Matrix3d::Identity()};
|
Eigen::Matrix3d R_camera_urdf_{Eigen::Matrix3d::Identity()};
|
||||||
|
|
||||||
// ViSP 视觉伺服任务。
|
|
||||||
std::unique_ptr<vpServo> task_{nullptr};
|
std::unique_ptr<vpServo> task_{nullptr};
|
||||||
|
|
||||||
// tag 四个角点在 tag 坐标系 `t` 中的 3D 模型点。
|
|
||||||
vpPoint obj_pts_[4];
|
vpPoint obj_pts_[4];
|
||||||
|
|
||||||
// 当前观测特征。
|
|
||||||
vpFeaturePoint s_cur_[4];
|
vpFeaturePoint s_cur_[4];
|
||||||
|
|
||||||
// 期望特征。
|
|
||||||
vpFeaturePoint s_star_[4];
|
vpFeaturePoint s_star_[4];
|
||||||
|
|
||||||
// 当前配置要跟踪的 tag id。
|
|
||||||
int tracked_tag_id_{-1};
|
int tracked_tag_id_{-1};
|
||||||
|
|
||||||
// 速度 IK 求解器。
|
|
||||||
std::unique_ptr<PinocchioDlsIKSolver> dls_solver_{nullptr};
|
std::unique_ptr<PinocchioDlsIKSolver> dls_solver_{nullptr};
|
||||||
|
|
||||||
// 是否成功读取 URDF 中的关节位置限位。
|
|
||||||
bool has_joint_position_limits_{false};
|
bool has_joint_position_limits_{false};
|
||||||
|
|
||||||
// 关节位置下限。
|
|
||||||
Eigen::VectorXd q_lower_limits_;
|
Eigen::VectorXd q_lower_limits_;
|
||||||
|
|
||||||
// 关节位置上限。
|
|
||||||
Eigen::VectorXd q_upper_limits_;
|
Eigen::VectorXd q_upper_limits_;
|
||||||
|
|
||||||
// 最近一次成功控制时实际使用的 tag id。
|
|
||||||
int last_used_tag_id_{-1};
|
int last_used_tag_id_{-1};
|
||||||
|
|
||||||
// 内部积分得到的关节位置命令缓存。
|
|
||||||
std::vector<double> q_cmd_;
|
std::vector<double> q_cmd_;
|
||||||
|
|
||||||
// 最近一帧是否检测到了当前被跟踪的 tag。
|
|
||||||
bool last_tag_detected_{false};
|
bool last_tag_detected_{false};
|
||||||
|
|
||||||
// 最近一次 `compute()` 的状态。
|
|
||||||
ComputeStatus last_compute_status_{ComputeStatus::NOT_READY};
|
ComputeStatus last_compute_status_{ComputeStatus::NOT_READY};
|
||||||
|
|
||||||
// 最近一次 `compute()` 实际使用的深度来源。
|
|
||||||
DepthUsage last_depth_usage_{DepthUsage::NONE};
|
DepthUsage last_depth_usage_{DepthUsage::NONE};
|
||||||
|
|
||||||
// 最近一次使用到的 tag 原点在 ViSP 相机坐标系 `c` 中的位置。
|
|
||||||
Eigen::Vector3d last_tag_pos_visp_{Eigen::Vector3d::Zero()};
|
Eigen::Vector3d last_tag_pos_visp_{Eigen::Vector3d::Zero()};
|
||||||
|
|
||||||
// 最近一次输出的相机 twist,位于 ViSP 相机坐标系 `c`。
|
|
||||||
Eigen::Matrix<double, 6, 1> last_v_camera_visp_{Eigen::Matrix<double, 6, 1>::Zero()};
|
Eigen::Matrix<double, 6, 1> last_v_camera_visp_{Eigen::Matrix<double, 6, 1>::Zero()};
|
||||||
|
|
||||||
|
// 新增:上一拍实际发送给 IK 的相机 twist(ViSP 相机系)
|
||||||
|
Eigen::Matrix<double, 6, 1> v_camera_cmd_prev_{Eigen::Matrix<double, 6, 1>::Zero()};
|
||||||
|
bool has_v_camera_cmd_prev_{false};
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace cmvr
|
} // namespace cmvr
|
||||||
|
|||||||
@ -14,6 +14,65 @@
|
|||||||
|
|
||||||
namespace cmvr {
|
namespace cmvr {
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
Eigen::Vector3d rotvecFromRotationMatrix(const Eigen::Matrix3d& R) {
|
||||||
|
const Eigen::AngleAxisd aa(R);
|
||||||
|
if (!std::isfinite(aa.angle()) || !aa.axis().allFinite() || std::abs(aa.angle()) <= 1e-12) {
|
||||||
|
return Eigen::Vector3d::Zero();
|
||||||
|
}
|
||||||
|
return aa.axis() * aa.angle();
|
||||||
|
}
|
||||||
|
|
||||||
|
Eigen::Matrix<double, 6, 1> computeAdaptiveAccelScale(const double tag_size_m,
|
||||||
|
const vpHomogeneousMatrix& cMo,
|
||||||
|
const double target_x,
|
||||||
|
const double target_y,
|
||||||
|
const double target_z,
|
||||||
|
const double target_rx,
|
||||||
|
const double target_ry,
|
||||||
|
const double target_rz) {
|
||||||
|
Eigen::Matrix<double, 6, 1> scale = Eigen::Matrix<double, 6, 1>::Ones();
|
||||||
|
|
||||||
|
Eigen::Vector3d pos_err;
|
||||||
|
pos_err << cMo[0][3] - target_x, cMo[1][3] - target_y, cMo[2][3] - target_z;
|
||||||
|
|
||||||
|
vpRotationMatrix R_des_visp;
|
||||||
|
R_des_visp.buildFrom(target_rx, target_ry, target_rz);
|
||||||
|
Eigen::Matrix3d R_des = Eigen::Matrix3d::Identity();
|
||||||
|
Eigen::Matrix3d R_cur = Eigen::Matrix3d::Identity();
|
||||||
|
for (int r = 0; r < 3; ++r) {
|
||||||
|
for (int c = 0; c < 3; ++c) {
|
||||||
|
R_des(r, c) = R_des_visp[r][c];
|
||||||
|
R_cur(r, c) = cMo[r][c];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const Eigen::Vector3d rot_err = rotvecFromRotationMatrix(R_des.transpose() * R_cur);
|
||||||
|
|
||||||
|
const double xy_ref = std::max(0.5 * tag_size_m, 0.01);
|
||||||
|
const double z_ref = std::max(tag_size_m, 0.03);
|
||||||
|
const double rot_ref = 0.20; // about 11.5 deg
|
||||||
|
constexpr double kMinScale = 0.15;
|
||||||
|
|
||||||
|
const auto axisScale = [&](const double err_abs, const double ref) {
|
||||||
|
if (!std::isfinite(err_abs) || !std::isfinite(ref) || ref <= 1e-9) {
|
||||||
|
return 1.0;
|
||||||
|
}
|
||||||
|
const double ratio = std::clamp(err_abs / ref, 0.0, 1.0);
|
||||||
|
return kMinScale + (1.0 - kMinScale) * ratio;
|
||||||
|
};
|
||||||
|
|
||||||
|
scale[0] = axisScale(std::abs(pos_err.x()), xy_ref);
|
||||||
|
scale[1] = axisScale(std::abs(pos_err.y()), xy_ref);
|
||||||
|
scale[2] = axisScale(std::abs(pos_err.z()), z_ref);
|
||||||
|
scale[3] = axisScale(std::abs(rot_err.x()), rot_ref);
|
||||||
|
scale[4] = axisScale(std::abs(rot_err.y()), rot_ref);
|
||||||
|
scale[5] = axisScale(std::abs(rot_err.z()), rot_ref);
|
||||||
|
return scale;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
const char* IbvsController::statusToString(ComputeStatus status) {
|
const char* IbvsController::statusToString(ComputeStatus status) {
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case ComputeStatus::OK: return "ok";
|
case ComputeStatus::OK: return "ok";
|
||||||
@ -42,6 +101,7 @@ const char* IbvsController::depthUsageToString(DepthUsage usage) {
|
|||||||
IbvsController::IbvsController() {
|
IbvsController::IbvsController() {
|
||||||
R_cv_.setIdentity();
|
R_cv_.setIdentity();
|
||||||
R_camera_urdf_.setIdentity();
|
R_camera_urdf_.setIdentity();
|
||||||
|
resetTwistCommandState();
|
||||||
|
|
||||||
updateDepthControlPointInTag();
|
updateDepthControlPointInTag();
|
||||||
initTask();
|
initTask();
|
||||||
@ -77,7 +137,6 @@ bool IbvsController::init(const std::string& urdf_path,
|
|||||||
|
|
||||||
void IbvsController::setPerception(const std::shared_ptr<cmvr::perception::AprilTagPerception>& perception) {
|
void IbvsController::setPerception(const std::shared_ptr<cmvr::perception::AprilTagPerception>& perception) {
|
||||||
perception_ = perception;
|
perception_ = perception;
|
||||||
// 注入后立刻同步一次 tag size(用于控制模型)
|
|
||||||
syncTagSizeFromPerception(true);
|
syncTagSizeFromPerception(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,10 +151,7 @@ void IbvsController::syncTagSizeFromPerception(bool force) {
|
|||||||
tag_size_m_ = s;
|
tag_size_m_ = s;
|
||||||
tag_half_ = 0.5 * tag_size_m_;
|
tag_half_ = 0.5 * tag_size_m_;
|
||||||
|
|
||||||
// 深度控制点约束依赖 tag_half_
|
|
||||||
updateDepthControlPointInTag();
|
updateDepthControlPointInTag();
|
||||||
|
|
||||||
// 任务几何依赖 tag_half_
|
|
||||||
initTask();
|
initTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,6 +169,7 @@ void IbvsController::reset(const std::vector<double>& q_init) {
|
|||||||
last_depth_usage_ = DepthUsage::NONE;
|
last_depth_usage_ = DepthUsage::NONE;
|
||||||
last_tag_pos_visp_.setZero();
|
last_tag_pos_visp_.setZero();
|
||||||
last_v_camera_visp_.setZero();
|
last_v_camera_visp_.setZero();
|
||||||
|
resetTwistCommandState();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IbvsController::compute(const std::vector<double>& joints_angle,
|
bool IbvsController::compute(const std::vector<double>& joints_angle,
|
||||||
@ -128,7 +185,7 @@ bool IbvsController::compute(const std::vector<double>& joints_angle,
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<double> qdot;
|
std::vector<double> qdot;
|
||||||
if (!computeInternal(joints_angle, qdot)) {
|
if (!computeInternal(joints_angle, dt, qdot)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,9 +198,14 @@ bool IbvsController::compute(const std::vector<double>& joints_angle,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IbvsController::compute(const std::vector<double>& joints_angle,
|
bool IbvsController::computeQdot(const std::vector<double>& joints_angle,
|
||||||
|
double dt,
|
||||||
std::vector<double>& qdot_out) {
|
std::vector<double>& qdot_out) {
|
||||||
return computeInternal(joints_angle, qdot_out);
|
if (dt <= 0.0 || !std::isfinite(dt)) {
|
||||||
|
last_compute_status_ = ComputeStatus::INVALID_INPUT;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return computeInternal(joints_angle, dt, qdot_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IbvsController::getChainJointNames(std::vector<std::string>& joint_names) const {
|
bool IbvsController::getChainJointNames(std::vector<std::string>& joint_names) const {
|
||||||
@ -155,6 +217,7 @@ bool IbvsController::getChainJointNames(std::vector<std::string>& joint_names) c
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool IbvsController::computeInternal(const std::vector<double>& joints_angle,
|
bool IbvsController::computeInternal(const std::vector<double>& joints_angle,
|
||||||
|
double dt,
|
||||||
std::vector<double>& qdot_out) {
|
std::vector<double>& qdot_out) {
|
||||||
last_depth_usage_ = DepthUsage::NONE;
|
last_depth_usage_ = DepthUsage::NONE;
|
||||||
last_tag_detected_ = false;
|
last_tag_detected_ = false;
|
||||||
@ -170,6 +233,10 @@ bool IbvsController::computeInternal(const std::vector<double>& joints_angle,
|
|||||||
last_compute_status_ = ComputeStatus::NOT_READY;
|
last_compute_status_ = ComputeStatus::NOT_READY;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (dt <= 0.0 || !std::isfinite(dt)) {
|
||||||
|
last_compute_status_ = ComputeStatus::INVALID_INPUT;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (joints_angle.empty()) {
|
if (joints_angle.empty()) {
|
||||||
last_compute_status_ = ComputeStatus::INVALID_INPUT;
|
last_compute_status_ = ComputeStatus::INVALID_INPUT;
|
||||||
return false;
|
return false;
|
||||||
@ -179,10 +246,8 @@ bool IbvsController::computeInternal(const std::vector<double>& joints_angle,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 每帧确保 tag_size 同步(你可能运行时调 perception->setTagSize())
|
|
||||||
syncTagSizeFromPerception(false);
|
syncTagSizeFromPerception(false);
|
||||||
|
|
||||||
// perception 必须先 update(),这里以 color 是否为空作为“是否ready”的简单判据
|
|
||||||
if (perception_->color().empty()) {
|
if (perception_->color().empty()) {
|
||||||
last_compute_status_ = ComputeStatus::NO_NEW_FRAME;
|
last_compute_status_ = ComputeStatus::NO_NEW_FRAME;
|
||||||
return false;
|
return false;
|
||||||
@ -205,7 +270,6 @@ bool IbvsController::computeInternal(const std::vector<double>& joints_angle,
|
|||||||
const vpHomogeneousMatrix& cMo = tag->cMo;
|
const vpHomogeneousMatrix& cMo = tag->cMo;
|
||||||
last_tag_pos_visp_ << cMo[0][3], cMo[1][3], cMo[2][3];
|
last_tag_pos_visp_ << cMo[0][3], cMo[1][3], cMo[2][3];
|
||||||
|
|
||||||
// intrinsics
|
|
||||||
const auto& intr = perception_->intrinsics();
|
const auto& intr = perception_->intrinsics();
|
||||||
const double fx = static_cast<double>(intr.fx);
|
const double fx = static_cast<double>(intr.fx);
|
||||||
const double fy = static_cast<double>(intr.fy);
|
const double fy = static_cast<double>(intr.fy);
|
||||||
@ -250,7 +314,7 @@ bool IbvsController::computeInternal(const std::vector<double>& joints_angle,
|
|||||||
s_cur_[i].buildFrom(x, y, Z);
|
s_cur_[i].buildFrom(x, y, Z);
|
||||||
}
|
}
|
||||||
|
|
||||||
last_depth_usage_ = depth_ctrl_used ? DepthUsage::DEPTH_ONLY : DepthUsage::POSE_ONLY;
|
last_depth_usage_ = depth_ctrl_used ? DepthUsage::MIXED : DepthUsage::POSE_ONLY;
|
||||||
|
|
||||||
vpColVector v_c = task_->computeControlLaw();
|
vpColVector v_c = task_->computeControlLaw();
|
||||||
|
|
||||||
@ -259,9 +323,62 @@ bool IbvsController::computeInternal(const std::vector<double>& joints_angle,
|
|||||||
v_c[2] = depth_z_kp_ * (z_depth_ctrl - target_z_);
|
v_c[2] = depth_z_kp_ * (z_depth_ctrl - target_z_);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 限幅+缓存(ViSP camera系)
|
// ---------- 视觉速度整形:速度限幅 + 加速度限幅 + 一阶低通 ----------
|
||||||
|
Eigen::Matrix<double, 6, 1> v_raw;
|
||||||
for (int i = 0; i < 6; ++i) {
|
for (int i = 0; i < 6; ++i) {
|
||||||
v_c[i] = SupportFunctions::clamp(v_c[i], -vmax6_[i], vmax6_[i]);
|
v_raw[i] = std::isfinite(v_c[i]) ? v_c[i] : 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1) 速度限幅
|
||||||
|
for (int i = 0; i < 6; ++i) {
|
||||||
|
v_raw[i] = SupportFunctions::clamp(v_raw[i], -vmax6_[i], vmax6_[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!has_v_camera_cmd_prev_) {
|
||||||
|
resetTwistCommandState();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2) 加速度限幅:误差大时放宽,误差小时收紧;减速/刹车保持满加速度
|
||||||
|
Eigen::Matrix<double, 6, 1> v_acc_limited = v_camera_cmd_prev_;
|
||||||
|
const Eigen::Matrix<double, 6, 1> accel_scale =
|
||||||
|
computeAdaptiveAccelScale(tag_size_m_,
|
||||||
|
cMo,
|
||||||
|
target_x_,
|
||||||
|
target_y_,
|
||||||
|
target_z_,
|
||||||
|
target_rx_,
|
||||||
|
target_ry_,
|
||||||
|
target_rz_);
|
||||||
|
for (int i = 0; i < 6; ++i) {
|
||||||
|
const double amax = amax6_[i];
|
||||||
|
if (!std::isfinite(amax) || amax <= 0.0) {
|
||||||
|
v_acc_limited[i] = v_raw[i];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
double amax_eff = amax;
|
||||||
|
const bool same_direction = v_raw[i] * v_camera_cmd_prev_[i] >= 0.0;
|
||||||
|
const bool speeding_up = std::abs(v_raw[i]) > std::abs(v_camera_cmd_prev_[i]) + 1e-12;
|
||||||
|
if (same_direction && speeding_up) {
|
||||||
|
amax_eff *= accel_scale[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
const double dv_max = amax_eff * dt;
|
||||||
|
const double dv_des = v_raw[i] - v_camera_cmd_prev_[i];
|
||||||
|
const double dv = SupportFunctions::clamp(dv_des, -dv_max, dv_max);
|
||||||
|
v_acc_limited[i] = v_camera_cmd_prev_[i] + dv;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3) 一阶低通
|
||||||
|
const double alpha = std::clamp(twist_lpf_alpha_, 0.0, 1.0);
|
||||||
|
if (alpha <= 0.0 || alpha >= 1.0) {
|
||||||
|
v_camera_cmd_prev_ = v_acc_limited;
|
||||||
|
} else {
|
||||||
|
v_camera_cmd_prev_ = alpha * v_acc_limited + (1.0 - alpha) * v_camera_cmd_prev_;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 6; ++i) {
|
||||||
|
v_c[i] = v_camera_cmd_prev_[i];
|
||||||
last_v_camera_visp_[i] = v_c[i];
|
last_v_camera_visp_[i] = v_c[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -346,7 +463,7 @@ void IbvsController::setTarget(double x,
|
|||||||
initTask();
|
initTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IbvsController::setTargetFromPointInTag(const Eigen::Vector3d& p_t_target,
|
bool IbvsController::setTargetFromPointInTag(const Eigen::Vector3d& p_t_target,
|
||||||
const Eigen::Vector3d& p_c_target_des,
|
const Eigen::Vector3d& p_c_target_des,
|
||||||
double rx,
|
double rx,
|
||||||
double ry,
|
double ry,
|
||||||
@ -356,7 +473,7 @@ void IbvsController::setTarget(double x,
|
|||||||
}
|
}
|
||||||
|
|
||||||
vpRotationMatrix R_des_visp;
|
vpRotationMatrix R_des_visp;
|
||||||
R_des_visp.buildFrom(rx, ry, rz); // 注意:这是 rotvec(theta*u)
|
R_des_visp.buildFrom(rx, ry, rz);
|
||||||
|
|
||||||
Eigen::Matrix3d R_des;
|
Eigen::Matrix3d R_des;
|
||||||
for (int r = 0; r < 3; ++r) {
|
for (int r = 0; r < 3; ++r) {
|
||||||
@ -399,6 +516,20 @@ void IbvsController::setVelocityLimit6(const std::array<double, 6>& vmax6) {
|
|||||||
vmax6_ = vmax6;
|
vmax6_ = vmax6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IbvsController::setAccelerationLimit6(const std::array<double, 6>& amax6) {
|
||||||
|
amax6_ = amax6;
|
||||||
|
}
|
||||||
|
|
||||||
|
void IbvsController::setTwistFilterAlpha(double alpha) {
|
||||||
|
twist_lpf_alpha_ = std::clamp(alpha, 0.0, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void IbvsController::resetTwistCommandState() {
|
||||||
|
v_camera_cmd_prev_.setZero();
|
||||||
|
last_v_camera_visp_.setZero();
|
||||||
|
has_v_camera_cmd_prev_ = true;
|
||||||
|
}
|
||||||
|
|
||||||
void IbvsController::setJointLimitAvoidance(bool enable,
|
void IbvsController::setJointLimitAvoidance(bool enable,
|
||||||
double gain,
|
double gain,
|
||||||
double margin_ratio,
|
double margin_ratio,
|
||||||
@ -440,7 +571,6 @@ void IbvsController::updateDepthControlPointInTag() {
|
|||||||
|
|
||||||
depth_control_point_tag_ = A.fullPivLu().solve(b);
|
depth_control_point_tag_ = A.fullPivLu().solve(b);
|
||||||
|
|
||||||
// 限制在 tag 边界内
|
|
||||||
depth_control_point_tag_.x() = SupportFunctions::clamp(depth_control_point_tag_.x(), -tag_half_, tag_half_);
|
depth_control_point_tag_.x() = SupportFunctions::clamp(depth_control_point_tag_.x(), -tag_half_, tag_half_);
|
||||||
depth_control_point_tag_.y() = SupportFunctions::clamp(depth_control_point_tag_.y(), -tag_half_, tag_half_);
|
depth_control_point_tag_.y() = SupportFunctions::clamp(depth_control_point_tag_.y(), -tag_half_, tag_half_);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,7 @@ target_link_libraries(data_center PRIVATE
|
|||||||
cmvr_es::utils
|
cmvr_es::utils
|
||||||
cmvr_es::device::canbus
|
cmvr_es::device::canbus
|
||||||
cmvr_es::device::ti5motor
|
cmvr_es::device::ti5motor
|
||||||
|
cmvr_es::device::eyoumotor
|
||||||
protobuf
|
protobuf
|
||||||
glog
|
glog
|
||||||
)
|
)
|
||||||
|
|||||||
@ -23,8 +23,8 @@ namespace cmvr {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
~MotorsInfo(){};
|
~MotorsInfo(){};
|
||||||
|
void init(const cmvr::config::HumanRobotConfig& config);
|
||||||
void init(const XmlNode &cfg);
|
void init(const cmvr::config::EthercatRobotConfig& config);
|
||||||
|
|
||||||
static MotorsInfo *getInstance() {
|
static MotorsInfo *getInstance() {
|
||||||
static MotorsInfo instance;
|
static MotorsInfo instance;
|
||||||
|
|||||||
@ -3,6 +3,8 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include "data_center/include/motors_info.h"
|
#include "data_center/include/motors_info.h"
|
||||||
|
|
||||||
|
#include "motor/eyou_motor/eyou_motor.h"
|
||||||
#include "motor/ti5_motor/canopen/ti5_motor_canopen_protocol.h"
|
#include "motor/ti5_motor/canopen/ti5_motor_canopen_protocol.h"
|
||||||
#include "motor/ti5_motor/ti5_motor.h"
|
#include "motor/ti5_motor/ti5_motor.h"
|
||||||
|
|
||||||
@ -12,99 +14,95 @@ using namespace cmvr::device;
|
|||||||
MotorsInfo::MotorsInfo() {
|
MotorsInfo::MotorsInfo() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void MotorsInfo::init(const XmlNode &cfg) {
|
void MotorsInfo::init(const cmvr::config::HumanRobotConfig& config) {
|
||||||
// 定义 lambda 函数,用于读取 XML 节点 enable 属性
|
const auto& can_manager = config.can_manager();
|
||||||
auto readEnable = [](const XmlNode &node) -> bool {
|
|
||||||
std::string enable_str = node.getAttrString("enable"); // 默认 false
|
|
||||||
return (enable_str == "true" || enable_str == "1");
|
|
||||||
};
|
|
||||||
auto can_cfg = cfg.getChild("CanManger");
|
|
||||||
|
|
||||||
auto l_can_cfg = can_cfg.getChild("LeftArmCan");
|
// 读取enable状态
|
||||||
left_arm_enabled_ = readEnable(l_can_cfg);
|
left_arm_enabled_ = can_manager.left_arm().enable();
|
||||||
|
right_arm_enabled_ = can_manager.right_arm().enable();
|
||||||
|
waist_enabled_ = can_manager.waist().enable();
|
||||||
|
head_enabled_ = can_manager.head().enable();
|
||||||
|
|
||||||
|
// 局部变量存储电机配置
|
||||||
|
std::vector<cmvr::config::MotorConfig> l_motors_cfg;
|
||||||
|
std::vector<cmvr::config::MotorConfig> r_motors_cfg;
|
||||||
|
std::vector<cmvr::config::MotorConfig> waist_motors_cfg;
|
||||||
|
std::vector<cmvr::config::MotorConfig> head_motors_cfg;
|
||||||
|
|
||||||
|
// 左臂
|
||||||
if (left_arm_enabled_) {
|
if (left_arm_enabled_) {
|
||||||
l_motors_cfg_ = l_can_cfg.getChildren("Motor");
|
const auto& left_arm = can_manager.left_arm();
|
||||||
l_can_client_ = std::make_shared<SocketCanClientRaw>(l_can_cfg);
|
for (const auto& motor : left_arm.motors()) {
|
||||||
l_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail> >();
|
l_motors_cfg.push_back(motor);
|
||||||
l_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail> >();
|
}
|
||||||
l_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail> >();
|
l_can_client_ = std::make_shared<SocketCanClientRaw>(left_arm);
|
||||||
|
l_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail>>();
|
||||||
|
l_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail>>();
|
||||||
|
l_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 右臂
|
||||||
auto r_can_cfg = can_cfg.getChild("RightArmCan");
|
|
||||||
right_arm_enabled_ = readEnable(r_can_cfg);
|
|
||||||
if (right_arm_enabled_) {
|
if (right_arm_enabled_) {
|
||||||
r_motors_cfg_ = r_can_cfg.getChildren("Motor");
|
const auto& right_arm = can_manager.right_arm();
|
||||||
r_can_client_ = std::make_shared<SocketCanClientRaw>(r_can_cfg);
|
for (const auto& motor : right_arm.motors()) {
|
||||||
r_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail> >();
|
r_motors_cfg.push_back(motor);
|
||||||
r_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail> >();
|
}
|
||||||
r_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail> >();
|
r_can_client_ = std::make_shared<SocketCanClientRaw>(right_arm);
|
||||||
|
r_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail>>();
|
||||||
|
r_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail>>();
|
||||||
|
r_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 腰部
|
||||||
auto waist_can_cfg = can_cfg.getChild("WaistCan");
|
|
||||||
waist_enabled_ = readEnable(waist_can_cfg);
|
|
||||||
if (waist_enabled_) {
|
if (waist_enabled_) {
|
||||||
waist_motors_cfg_ = waist_can_cfg.getChildren("Motor");
|
const auto& waist = can_manager.waist();
|
||||||
waist_can_client_ = std::make_shared<SocketCanClientRaw>(waist_can_cfg);
|
for (const auto& motor : waist.motors()) {
|
||||||
waist_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail> >();
|
waist_motors_cfg.push_back(motor);
|
||||||
waist_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail> >();
|
}
|
||||||
waist_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail> >();
|
waist_can_client_ = std::make_shared<SocketCanClientRaw>(waist);
|
||||||
|
waist_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail>>();
|
||||||
|
waist_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail>>();
|
||||||
|
waist_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto head_can_cfg = can_cfg.getChild("HeadCan");
|
// 头部
|
||||||
head_enabled_ = readEnable(head_can_cfg);
|
|
||||||
if (head_enabled_) {
|
if (head_enabled_) {
|
||||||
head_motors_cfg_ = head_can_cfg.getChildren("Motor");
|
const auto& head = can_manager.head();
|
||||||
head_can_client_ = std::make_shared<SocketCanClientRaw>(head_can_cfg);
|
for (const auto& motor : head.motors()) {
|
||||||
head_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail> >();
|
head_motors_cfg.push_back(motor);
|
||||||
head_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail> >();
|
}
|
||||||
head_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail> >();
|
head_can_client_ = std::make_shared<SocketCanClientRaw>(head);
|
||||||
|
head_can_sender_ = std::make_shared<CanSender<msgs::RobotDetail>>();
|
||||||
|
head_can_receiver_ = std::make_shared<CanReceiver<msgs::RobotDetail>>();
|
||||||
|
head_message_manager_ = std::make_shared<MessageManager<msgs::RobotDetail>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 开始初始化
|
// 初始化 limbs
|
||||||
struct Limb {
|
struct Limb {
|
||||||
std::string name;
|
std::string name;
|
||||||
bool enabled;
|
bool enabled;
|
||||||
std::shared_ptr<AbstractCanbus> client;
|
std::shared_ptr<AbstractCanbus> client;
|
||||||
std::shared_ptr<CanSender<msgs::RobotDetail> > sender;
|
std::shared_ptr<CanSender<msgs::RobotDetail>> sender;
|
||||||
std::shared_ptr<CanReceiver<msgs::RobotDetail> > receiver;
|
std::shared_ptr<CanReceiver<msgs::RobotDetail>> receiver;
|
||||||
std::shared_ptr<MessageManager<msgs::RobotDetail> > message_manager;
|
std::shared_ptr<MessageManager<msgs::RobotDetail>> message_manager;
|
||||||
std::vector<XmlNode> motor_cfgs;
|
std::vector<cmvr::config::MotorConfig> motor_cfgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<Limb> limbs{
|
std::vector<Limb> limbs{
|
||||||
{
|
{"WAIST", waist_enabled_, waist_can_client_, waist_can_sender_, waist_can_receiver_, waist_message_manager_, waist_motors_cfg},
|
||||||
"WAIST", waist_enabled_, waist_can_client_, waist_can_sender_, waist_can_receiver_, waist_message_manager_,
|
{"LEFT_ARM", left_arm_enabled_, l_can_client_, l_can_sender_, l_can_receiver_, l_message_manager_, l_motors_cfg},
|
||||||
waist_motors_cfg_
|
{"RIGHT_ARM", right_arm_enabled_, r_can_client_, r_can_sender_, r_can_receiver_, r_message_manager_, r_motors_cfg},
|
||||||
},
|
{"HEAD", head_enabled_, head_can_client_, head_can_sender_, head_can_receiver_, head_message_manager_, head_motors_cfg}
|
||||||
{
|
|
||||||
"LEFT_ARM", left_arm_enabled_, l_can_client_, l_can_sender_, l_can_receiver_, l_message_manager_,
|
|
||||||
l_motors_cfg_
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"RIGHT_ARM", right_arm_enabled_, r_can_client_, r_can_sender_, r_can_receiver_, r_message_manager_,
|
|
||||||
r_motors_cfg_
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"HEAD", head_enabled_, head_can_client_, head_can_sender_, head_can_receiver_, head_message_manager_,
|
|
||||||
head_motors_cfg_
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 创建 MotorManager
|
|
||||||
motor_manager_ = std::make_shared<MotorManager>();
|
motor_manager_ = std::make_shared<MotorManager>();
|
||||||
|
std::vector<std::future<void>> tasks;
|
||||||
|
|
||||||
std::vector<std::future<void> > tasks;
|
for (auto &limb : limbs) {
|
||||||
|
|
||||||
for (auto &limb: limbs) {
|
|
||||||
if (!limb.enabled) continue;
|
if (!limb.enabled) continue;
|
||||||
|
|
||||||
|
|
||||||
if (limb.client) limb.client->init();
|
if (limb.client) limb.client->init();
|
||||||
|
|
||||||
// 2. 初始化 Sender / Receiver(如果有)
|
|
||||||
if (limb.sender && limb.receiver && limb.client) {
|
if (limb.sender && limb.receiver && limb.client) {
|
||||||
auto ret = limb.sender->Init(limb.client.get(), false);
|
auto ret = limb.sender->Init(limb.client.get(), false);
|
||||||
if (ret != ErrorCode::OK)
|
if (ret != ErrorCode::OK)
|
||||||
@ -124,19 +122,16 @@ void MotorsInfo::init(const XmlNode &cfg) {
|
|||||||
LOG(ERROR) << "Failed to start " << limb.name << " CAN receiver.";
|
LOG(ERROR) << "Failed to start " << limb.name << " CAN receiver.";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 创建协议(如果有CAN)
|
|
||||||
std::shared_ptr<Ti5MotorCanopenProtocol> protocol = nullptr;
|
std::shared_ptr<Ti5MotorCanopenProtocol> protocol = nullptr;
|
||||||
if (limb.sender && limb.message_manager) {
|
if (limb.sender && limb.message_manager) {
|
||||||
protocol = std::make_shared<Ti5MotorCanopenProtocol>(limb.sender, limb.message_manager);
|
protocol = std::make_shared<Ti5MotorCanopenProtocol>(limb.sender, limb.message_manager);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. 并行初始化电机
|
|
||||||
if (!limb.motor_cfgs.empty()) {
|
if (!limb.motor_cfgs.empty()) {
|
||||||
tasks.push_back(std::async(std::launch::async, [this, protocol, &limb] {
|
tasks.push_back(std::async(std::launch::async, [this, protocol, &limb] {
|
||||||
LOG(INFO) << "[Thread " << std::this_thread::get_id() << "] Start initializing " << limb.name <<
|
LOG(INFO) << "[Thread " << std::this_thread::get_id() << "] Start initializing " << limb.name << " motors...";
|
||||||
" motors...";
|
for (const auto& motor_cfg : limb.motor_cfgs) {
|
||||||
for (const auto &cfg: limb.motor_cfgs) {
|
auto motor = std::make_shared<Ti5Motor>(motor_cfg);
|
||||||
auto motor = std::make_shared<Ti5Motor>(cfg);
|
|
||||||
if (protocol) motor->setProtocol(protocol);
|
if (protocol) motor->setProtocol(protocol);
|
||||||
motor->init();
|
motor->init();
|
||||||
motor_manager_->addMotor(motor);
|
motor_manager_->addMotor(motor);
|
||||||
@ -145,12 +140,26 @@ void MotorsInfo::init(const XmlNode &cfg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 等待所有任务完成
|
for (auto& task : tasks) task.get();
|
||||||
for (auto &task: tasks) task.get();
|
|
||||||
|
|
||||||
LOG(INFO) << "All enabled motors initialized successfully.";
|
LOG(INFO) << "All enabled motors initialized successfully.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MotorsInfo::init(const cmvr::config::EthercatRobotConfig& config)
|
||||||
|
{
|
||||||
|
if (!motor_manager_)
|
||||||
|
{
|
||||||
|
motor_manager_ = std::make_shared<MotorManager>();
|
||||||
|
}
|
||||||
|
auto protocol = std::make_shared<EYouEthercatProtocol>(config.master().interface());
|
||||||
|
for (const auto& motor_cfg : config.motors()) {
|
||||||
|
auto motor = std::make_shared<EYouMotor>(motor_cfg);
|
||||||
|
if (protocol) motor->setProtocol(protocol);
|
||||||
|
motor->init();
|
||||||
|
motor_manager_->addMotor(motor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool MotorsInfo::getJointsQ(const std::vector<std::string> &joints_name,
|
bool MotorsInfo::getJointsQ(const std::vector<std::string> &joints_name,
|
||||||
std::unordered_map<std::string, double> &joint_qs) const {
|
std::unordered_map<std::string, double> &joint_qs) const {
|
||||||
auto res{true};
|
auto res{true};
|
||||||
|
|||||||
@ -13,6 +13,7 @@ target_link_libraries(device_manager PRIVATE
|
|||||||
cmvr_es::device::ffmpeg_microphone
|
cmvr_es::device::ffmpeg_microphone
|
||||||
cmvr_es::device::realsense_camera
|
cmvr_es::device::realsense_camera
|
||||||
cmvr_es::device::rh56dftp_dexhand
|
cmvr_es::device::rh56dftp_dexhand
|
||||||
|
cmvr_es::device::px_6ax_gen3
|
||||||
cmvr::device::head_esp32
|
cmvr::device::head_esp32
|
||||||
osqp
|
osqp
|
||||||
cmvr_es::device::humanoid_robot
|
cmvr_es::device::humanoid_robot
|
||||||
|
|||||||
@ -28,15 +28,7 @@ namespace cmvr::device {
|
|||||||
template <typename DeviceType, typename ConfigType>
|
template <typename DeviceType, typename ConfigType>
|
||||||
std::shared_ptr<DeviceType> createFromConfig(const ConfigType& cfg);
|
std::shared_ptr<DeviceType> createFromConfig(const ConfigType& cfg);
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<AbstractAGV> create_agv_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractBattery> create_battery_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractCamera> create_camera_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractDexHand> create_dexhand_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractGripper> create_gripper_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractMicrophone> create_mic_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractRobot> create_robot_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractSpeaker> create_speaker_(const XmlNode& cfg);
|
|
||||||
std::shared_ptr<AbstractBiohead> create_biohead_(const XmlNode& cfg);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -41,7 +41,6 @@ namespace cmvr::device {
|
|||||||
DeviceManager(const DeviceManager&) = delete;
|
DeviceManager(const DeviceManager&) = delete;
|
||||||
DeviceManager& operator=(const DeviceManager&) = delete;
|
DeviceManager& operator=(const DeviceManager&) = delete;
|
||||||
|
|
||||||
static DeviceManager& getInstance(const XmlNode &cfg);
|
|
||||||
static DeviceManager& getInstance();
|
static DeviceManager& getInstance();
|
||||||
static void destroyInstance();
|
static void destroyInstance();
|
||||||
|
|
||||||
@ -68,7 +67,7 @@ namespace cmvr::device {
|
|||||||
std::unique_ptr<DeviceFactory> dev_factory_;
|
std::unique_ptr<DeviceFactory> dev_factory_;
|
||||||
std::unique_ptr<device::SystemMonitor> sys_monitor_;
|
std::unique_ptr<device::SystemMonitor> sys_monitor_;
|
||||||
|
|
||||||
explicit DeviceManager(const XmlNode &cfg);
|
explicit DeviceManager();
|
||||||
void init_devices_();
|
void init_devices_();
|
||||||
void get_os_info_();
|
void get_os_info_();
|
||||||
};
|
};
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
#include "devices/microphone/ffmpeg_microphone/include/ffmpeg_microphone.h"
|
#include "devices/microphone/ffmpeg_microphone/include/ffmpeg_microphone.h"
|
||||||
#include "devices/camera/realsense_camera/include/realsense_camera.h"
|
#include "devices/camera/realsense_camera/include/realsense_camera.h"
|
||||||
#include "devices/dexhand/rh56dftp_dexhand/include/rh56dftp_dexhand.h"
|
#include "devices/dexhand/rh56dftp_dexhand/include/rh56dftp_dexhand.h"
|
||||||
|
#include "devices/dexhand/px_6ax_gen3/include/px_6ax_gen3.h"
|
||||||
#include "devices/robot/humanoid_robot/include/humanoid_robot.h"
|
#include "devices/robot/humanoid_robot/include/humanoid_robot.h"
|
||||||
//#include "robot/ti5_robot/ti5_robot.h"
|
//#include "robot/ti5_robot/ti5_robot.h"
|
||||||
#include "cmvr/api/system_command.pb.h"
|
#include "cmvr/api/system_command.pb.h"
|
||||||
@ -17,168 +18,16 @@
|
|||||||
//#include "devices/robot/aubo_robot/include/aubo_robot.h"
|
//#include "devices/robot/aubo_robot/include/aubo_robot.h"
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cmvr::device;
|
using namespace cmvr::device;
|
||||||
|
|
||||||
|
|
||||||
template std::shared_ptr<AbstractAGV> DeviceFactory::create<AbstractAGV>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractBattery> DeviceFactory::create<AbstractBattery>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractCamera> DeviceFactory::create<AbstractCamera>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractDexHand> DeviceFactory::create<AbstractDexHand>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractGripper> DeviceFactory::create<AbstractGripper>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractMicrophone> DeviceFactory::create<AbstractMicrophone>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractRobot> DeviceFactory::create<AbstractRobot>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractSpeaker> DeviceFactory::create<AbstractSpeaker>(const XmlNode&);
|
|
||||||
template std::shared_ptr<AbstractBiohead> DeviceFactory::create<AbstractBiohead>(const XmlNode&);
|
|
||||||
|
|
||||||
template <typename DeviceType>
|
|
||||||
std::shared_ptr<DeviceType> DeviceFactory::create(const XmlNode& cfg) {
|
|
||||||
if constexpr (std::is_same_v<DeviceType, AbstractAGV>) {
|
|
||||||
return create_agv_(cfg);
|
|
||||||
} else if constexpr (std::is_same_v<DeviceType, AbstractBattery>) {
|
|
||||||
return create_battery_(cfg);
|
|
||||||
} else if constexpr (std::is_same_v<DeviceType, AbstractCamera>) {
|
|
||||||
return create_camera_(cfg);
|
|
||||||
} else if constexpr (std::is_same_v<DeviceType, AbstractDexHand>) {
|
|
||||||
return create_dexhand_(cfg);
|
|
||||||
} else if constexpr (std::is_same_v<DeviceType, AbstractGripper>) {
|
|
||||||
return create_gripper_(cfg);
|
|
||||||
} else if constexpr (std::is_same_v<DeviceType, AbstractMicrophone>) {
|
|
||||||
return create_mic_(cfg);
|
|
||||||
} else if constexpr (std::is_same_v<DeviceType, AbstractRobot>) {
|
|
||||||
return create_robot_(cfg);
|
|
||||||
} else if constexpr (std::is_same_v<DeviceType, AbstractSpeaker>) {
|
|
||||||
return create_speaker_(cfg);
|
|
||||||
}else if constexpr (std::is_same_v<DeviceType, AbstractBiohead>){
|
|
||||||
return create_biohead_(cfg);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type";
|
|
||||||
throw runtime_error("[DeviceFactory]: Unsupported device type");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractAGV> DeviceFactory::create_agv_(const XmlNode& cfg) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractBattery> DeviceFactory::create_battery_(const XmlNode& cfg) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractCamera> DeviceFactory::create_camera_(const XmlNode& cfg) {
|
|
||||||
try {
|
|
||||||
if (cfg.getNodeName() == "UVCCamera") {
|
|
||||||
return std::make_shared<UVCCamera>(cfg);
|
|
||||||
}
|
|
||||||
else if (cfg.getNodeName() == "MechMind") {
|
|
||||||
//return std::make_shared<MechmindCamera>(cfg);
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
else if (cfg.getNodeName() == "RealsenseCamera") {
|
|
||||||
return std::make_shared<RealsenseCamera>(cfg);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (const exception &e) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractDexHand> DeviceFactory::create_dexhand_(const XmlNode& cfg) {
|
|
||||||
try {
|
|
||||||
if (cfg.getNodeName() == "RH56DFTP") {
|
|
||||||
return std::make_shared<RH56DFTPDexhand>(cfg);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (const exception &e) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractGripper> DeviceFactory::create_gripper_(const XmlNode& cfg) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractMicrophone> DeviceFactory::create_mic_(const XmlNode& cfg) {
|
|
||||||
try {
|
|
||||||
if (cfg.getNodeName() == "ffmpegMicPhone") {
|
|
||||||
return std::make_shared<ffmpegMicroPhone>(cfg);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (const exception &e) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractRobot> DeviceFactory::create_robot_(const XmlNode& cfg) {
|
|
||||||
try {
|
|
||||||
if (cfg.getNodeName() == "Humanoid") {
|
|
||||||
auto motos_info = MotorsInfo::getInstance();
|
|
||||||
motos_info->init(cfg);
|
|
||||||
return std::make_shared<HumanoidRobot<14>>(cfg);
|
|
||||||
}
|
|
||||||
else if (cfg.getNodeName() == "AuboRobot") {
|
|
||||||
//return std::make_shared<AuboRobot<6>>(cfg);
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (const exception &e) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractBiohead>DeviceFactory::create_biohead_(const XmlNode& cfg) {
|
|
||||||
try {
|
|
||||||
if (cfg.getNodeName() == "esp32") {
|
|
||||||
return std::make_shared<BioHeadRobot>(cfg);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (const exception &e) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<AbstractSpeaker> DeviceFactory::create_speaker_(const XmlNode& cfg) {
|
|
||||||
try {
|
|
||||||
if (cfg.getNodeName() == "ffmpegSpeaker") {
|
|
||||||
return std::make_shared<ffmpegSpeaker>(cfg);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type " << cfg.getNodeName();
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (const exception &e) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
template std::shared_ptr<AbstractCamera> DeviceFactory::createFromConfig<AbstractCamera>(const config::UVCCameraConfig& cfg);
|
template std::shared_ptr<AbstractCamera> DeviceFactory::createFromConfig<AbstractCamera>(const config::UVCCameraConfig& cfg);
|
||||||
template std::shared_ptr<AbstractCamera> DeviceFactory::createFromConfig<AbstractCamera>(const config::RealSenseCameraConfig& cfg);
|
template std::shared_ptr<AbstractCamera> DeviceFactory::createFromConfig<AbstractCamera>(const config::RealSenseCameraConfig& cfg);
|
||||||
template std::shared_ptr<AbstractDexHand> DeviceFactory::createFromConfig<AbstractDexHand>(const config::RH56DFTPDexHandConfig& cfg);
|
template std::shared_ptr<AbstractDexHand> DeviceFactory::createFromConfig<AbstractDexHand>(const config::RH56DFTPDexHandConfig& cfg);
|
||||||
|
template std::shared_ptr<AbstractDexHand> DeviceFactory::createFromConfig<AbstractDexHand>(const config::PX6AXGen3& cfg);
|
||||||
template std::shared_ptr<AbstractMicrophone> DeviceFactory::createFromConfig<AbstractMicrophone>(const config::FFMpegMicroPhoneConfig& cfg);
|
template std::shared_ptr<AbstractMicrophone> DeviceFactory::createFromConfig<AbstractMicrophone>(const config::FFMpegMicroPhoneConfig& cfg);
|
||||||
template std::shared_ptr<AbstractSpeaker> DeviceFactory::createFromConfig<AbstractSpeaker>(const config::FFMpegSpeakerConfig& cfg);
|
template std::shared_ptr<AbstractSpeaker> DeviceFactory::createFromConfig<AbstractSpeaker>(const config::FFMpegSpeakerConfig& cfg);
|
||||||
|
template std::shared_ptr<AbstractBiohead> DeviceFactory::createFromConfig<AbstractBiohead>(const config::BioHeadConfig& cfg);
|
||||||
|
template std::shared_ptr<AbstractRobot> DeviceFactory::createFromConfig<AbstractRobot>(const config::HumanRobotConfig& cfg);
|
||||||
|
template std::shared_ptr<AbstractRobot> DeviceFactory::createFromConfig<AbstractRobot>(const config::EthercatRobotConfig& cfg);
|
||||||
|
|
||||||
template <typename DeviceType, typename ConfigType>
|
template <typename DeviceType, typename ConfigType>
|
||||||
std::shared_ptr<DeviceType> DeviceFactory::createFromConfig(const ConfigType& cfg)
|
std::shared_ptr<DeviceType> DeviceFactory::createFromConfig(const ConfigType& cfg)
|
||||||
{
|
{
|
||||||
@ -205,6 +54,10 @@ std::shared_ptr<DeviceType> DeviceFactory::createFromConfig(const ConfigType& cf
|
|||||||
{
|
{
|
||||||
return std::make_shared<RH56DFTPDexhand>(cfg);
|
return std::make_shared<RH56DFTPDexhand>(cfg);
|
||||||
}
|
}
|
||||||
|
else if constexpr (std::is_same_v<ConfigType, config::PX6AXGen3>)
|
||||||
|
{
|
||||||
|
return std::make_shared<PX6AXGen3>(cfg);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported dexhand device type ";
|
LOG(ERROR) << "[DeviceFactory]: Unsupported dexhand device type ";
|
||||||
@ -235,6 +88,38 @@ std::shared_ptr<DeviceType> DeviceFactory::createFromConfig(const ConfigType& cf
|
|||||||
throw runtime_error("[DeviceFactory]: Unsupported microphone device type");
|
throw runtime_error("[DeviceFactory]: Unsupported microphone device type");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if constexpr (std::is_same_v<DeviceType, AbstractBiohead>)
|
||||||
|
{
|
||||||
|
if constexpr (std::is_same_v<ConfigType, config::BioHeadConfig>)
|
||||||
|
{
|
||||||
|
return std::make_shared<BioHeadRobot>(cfg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG(ERROR) << "[DeviceFactory]: Unsupported microphone device type ";
|
||||||
|
throw runtime_error("[DeviceFactory]: Unsupported microphone device type");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if constexpr (std::is_same_v<DeviceType, AbstractRobot>)
|
||||||
|
{
|
||||||
|
if constexpr (std::is_same_v<ConfigType, config::HumanRobotConfig>)
|
||||||
|
{
|
||||||
|
auto motos_info = MotorsInfo::getInstance();
|
||||||
|
motos_info->init(cfg);
|
||||||
|
return std::make_shared<HumanoidRobot<14>>(cfg);
|
||||||
|
}
|
||||||
|
else if constexpr (std::is_same_v<ConfigType, config::EthercatRobotConfig>)
|
||||||
|
{
|
||||||
|
auto motos_info = MotorsInfo::getInstance();
|
||||||
|
motos_info->init(cfg);
|
||||||
|
return std::make_shared<HumanoidRobot<14>>(cfg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG(ERROR) << "[DeviceFactory]: Unsupported microphone device type ";
|
||||||
|
throw runtime_error("[DeviceFactory]: Unsupported microphone device type");
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type";
|
LOG(ERROR) << "[DeviceFactory]: Unsupported device type";
|
||||||
throw runtime_error("[DeviceFactory]: Unsupported device type");
|
throw runtime_error("[DeviceFactory]: Unsupported device type");
|
||||||
|
|||||||
@ -24,12 +24,9 @@ std::shared_ptr<DeviceManager> DeviceManager::instance_ = nullptr;
|
|||||||
std::once_flag DeviceManager::init_flag_;
|
std::once_flag DeviceManager::init_flag_;
|
||||||
|
|
||||||
|
|
||||||
DeviceManager::DeviceManager(const XmlNode& cfg) {
|
DeviceManager::DeviceManager() {
|
||||||
try {
|
try {
|
||||||
cfg_ = cfg;
|
|
||||||
info_.version = cfg_.getAttrDefault("ver", "1.0");
|
|
||||||
info_.name = cfg_.getAttrDefault("name", "cmvr_es");
|
|
||||||
info_.description = cfg_.getAttrDefault("description", "empty");
|
|
||||||
get_os_info_();
|
get_os_info_();
|
||||||
|
|
||||||
dev_factory_ = std::make_unique<DeviceFactory>();
|
dev_factory_ = std::make_unique<DeviceFactory>();
|
||||||
@ -42,17 +39,12 @@ DeviceManager::DeviceManager(const XmlNode& cfg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DeviceManager& DeviceManager::getInstance(const XmlNode& cfg) {
|
|
||||||
std::call_once(init_flag_, [&cfg] {
|
|
||||||
instance_.reset(new DeviceManager(cfg));
|
|
||||||
});
|
|
||||||
return *instance_;
|
|
||||||
}
|
|
||||||
|
|
||||||
DeviceManager& DeviceManager::getInstance() {
|
DeviceManager& DeviceManager::getInstance() {
|
||||||
if (!instance_) {
|
if (!instance_)
|
||||||
throw std::runtime_error("[DeviceManager] (getInstance): DeviceManager not initialized. Call getInstance(const XmlNode&) first.");
|
std::call_once(init_flag_, [&] {
|
||||||
}
|
instance_.reset(new DeviceManager());
|
||||||
|
});
|
||||||
|
|
||||||
return *instance_;
|
return *instance_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,38 +191,38 @@ void DeviceManager::getSystemStatus(SystemStatus& status) const {
|
|||||||
|
|
||||||
void DeviceManager::init_devices_() {
|
void DeviceManager::init_devices_() {
|
||||||
try{
|
try{
|
||||||
auto dmgr_node = cfg_.getChild("Devices");
|
// auto dmgr_node = cfg_.getChild("Devices");
|
||||||
auto battery_node = dmgr_node.getChild("Battery");
|
// auto battery_node = dmgr_node.getChild("Battery");
|
||||||
for (auto &node: battery_node.getChildren()){
|
// for (auto &node: battery_node.getChildren()){
|
||||||
string id = node.getAttrString("id");
|
// string id = node.getAttrString("id");
|
||||||
if (devices_.count(id)) {
|
// if (devices_.count(id)) {
|
||||||
LOG(ERROR) << "[DeviceManager]: Duplicate Battery Device ID " << id;
|
// LOG(ERROR) << "[DeviceManager]: Duplicate Battery Device ID " << id;
|
||||||
throw runtime_error("[DeviceManager]: Duplicate Battery Device ID " + id);
|
// throw runtime_error("[DeviceManager]: Duplicate Battery Device ID " + id);
|
||||||
}
|
// }
|
||||||
auto device = dev_factory_->create<AbstractBattery>(node);
|
// auto device = dev_factory_->create<AbstractBattery>(node);
|
||||||
if (device == nullptr) {
|
// if (device == nullptr) {
|
||||||
throw std::runtime_error("[DeviceManager]: Factory returned nullptr for device ID: " + id);
|
// throw std::runtime_error("[DeviceManager]: Factory returned nullptr for device ID: " + id);
|
||||||
}
|
// }
|
||||||
devices_[id] = device;
|
// devices_[id] = device;
|
||||||
std::get<std::shared_ptr<AbstractBattery>>(devices_[id])->init();
|
// std::get<std::shared_ptr<AbstractBattery>>(devices_[id])->init();
|
||||||
LOG(INFO) << "[DeviceManager]: Init Battery " << id << " Success";
|
// LOG(INFO) << "[DeviceManager]: Init Battery " << id << " Success";
|
||||||
}
|
// }
|
||||||
|
|
||||||
auto agv_node = dmgr_node.getChild("AGV");
|
// auto agv_node = dmgr_node.getChild("AGV");
|
||||||
for (auto &node: agv_node.getChildren()){
|
// for (auto &node: agv_node.getChildren()){
|
||||||
string id = node.getAttrString("id");
|
// string id = node.getAttrString("id");
|
||||||
if (devices_.count(id)) {
|
// if (devices_.count(id)) {
|
||||||
LOG(ERROR) << "[DeviceManager]: Duplicate AGV Device ID" << id;
|
// LOG(ERROR) << "[DeviceManager]: Duplicate AGV Device ID" << id;
|
||||||
throw runtime_error("[DeviceManager]: Duplicate AGV Device ID" + id);
|
// throw runtime_error("[DeviceManager]: Duplicate AGV Device ID" + id);
|
||||||
}
|
// }
|
||||||
auto device = dev_factory_->create<AbstractAGV>(node);
|
// auto device = dev_factory_->create<AbstractAGV>(node);
|
||||||
if (device == nullptr) {
|
// if (device == nullptr) {
|
||||||
throw std::runtime_error("[DeviceManager]: Factory returned nullptr for device ID: " + id);
|
// throw std::runtime_error("[DeviceManager]: Factory returned nullptr for device ID: " + id);
|
||||||
}
|
// }
|
||||||
devices_[id] = device;
|
// devices_[id] = device;
|
||||||
std::get<std::shared_ptr<AbstractAGV>>(devices_[id])->init();
|
// std::get<std::shared_ptr<AbstractAGV>>(devices_[id])->init();
|
||||||
LOG(INFO) << "[DeviceManager]: Init AGV " << id << " Success";
|
// LOG(INFO) << "[DeviceManager]: Init AGV " << id << " Success";
|
||||||
}
|
// }
|
||||||
|
|
||||||
config::CameraConfig camera_config;
|
config::CameraConfig camera_config;
|
||||||
ConfigHelper::getCamerasConfig(camera_config);
|
ConfigHelper::getCamerasConfig(camera_config);
|
||||||
@ -281,20 +273,51 @@ void DeviceManager::init_devices_() {
|
|||||||
std::get<std::shared_ptr<AbstractDexHand>>(devices_[id])->init();
|
std::get<std::shared_ptr<AbstractDexHand>>(devices_[id])->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto robot_node = dmgr_node.getChild("Robot");
|
for (int i = 0; i < dexhand_cfg.px_6ax_gen3().size(); i++) {
|
||||||
for (auto &node: robot_node.getChildren()){
|
auto dexhand = dexhand_cfg.px_6ax_gen3(i);
|
||||||
string id = node.getAttrString("id");
|
if (!dexhand.enable())
|
||||||
|
continue;
|
||||||
|
auto id = dexhand.id();
|
||||||
if (devices_.count(id)) {
|
if (devices_.count(id)) {
|
||||||
LOG(ERROR) << "[DeviceManager]: Duplicate robot Device ID" << id;
|
LOG(ERROR) << "[DeviceManager]: Duplicate DexHand Device ID" << id;
|
||||||
throw runtime_error("[DeviceManager]: Duplicate robot Device ID" + id);
|
throw runtime_error("[DeviceManager]: Duplicate DexHand Device ID" + id);
|
||||||
}
|
}
|
||||||
auto device = dev_factory_->create<AbstractRobot>(node);
|
std::cout << "DexHand[" << i << "]: " << id << std::endl;
|
||||||
if (device == nullptr) {
|
auto device = dev_factory_->createFromConfig<AbstractDexHand,config::PX6AXGen3>(dexhand);
|
||||||
throw std::runtime_error("[DeviceManager]: Factory returned nullptr for device ID: " + id);
|
devices_[id] = device;
|
||||||
|
std::get<std::shared_ptr<AbstractDexHand>>(devices_[id])->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config::RobotConfig robot_config;
|
||||||
|
ConfigHelper::getRobotConfig(robot_config);
|
||||||
|
for (int i = 0; i < robot_config.humanrobots().size(); i++) {
|
||||||
|
auto robot = robot_config.humanrobots(i);
|
||||||
|
if (!robot.enable())
|
||||||
|
continue;
|
||||||
|
auto id = robot.id();
|
||||||
|
if (devices_.count(id)) {
|
||||||
|
LOG(ERROR) << "[DeviceManager]: Duplicate Robot Device ID" << id;
|
||||||
|
throw runtime_error("[DeviceManager]: Duplicate Robot Device ID" + id);
|
||||||
|
}
|
||||||
|
std::cout << "DexHand[" << i << "]: " << id << std::endl;
|
||||||
|
auto device = dev_factory_->createFromConfig<AbstractRobot,config::HumanRobotConfig>(robot);
|
||||||
|
devices_[id] = device;
|
||||||
|
std::get<std::shared_ptr<AbstractRobot>>(devices_[id])->init();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < robot_config.ethercat_robots().size(); i++) {
|
||||||
|
auto robot = robot_config.ethercat_robots(i);
|
||||||
|
if (!robot.enable())
|
||||||
|
continue;
|
||||||
|
auto id = robot.id();
|
||||||
|
if (devices_.count(id)) {
|
||||||
|
LOG(ERROR) << "[DeviceManager]: Duplicate Robot Device ID" << id;
|
||||||
|
throw runtime_error("[DeviceManager]: Duplicate Robot Device ID" + id);
|
||||||
|
}
|
||||||
|
std::cout << "DexHand[" << i << "]: " << id << std::endl;
|
||||||
|
auto device = dev_factory_->createFromConfig<AbstractRobot,config::EthercatRobotConfig>(robot);
|
||||||
devices_[id] = device;
|
devices_[id] = device;
|
||||||
std::get<std::shared_ptr<AbstractRobot>>(devices_[id])->init();
|
std::get<std::shared_ptr<AbstractRobot>>(devices_[id])->init();
|
||||||
LOG(INFO) << "[DeviceManager]: Init Robot " << id << " Success";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
config::MicroPhoneConfig micro_phone_config;
|
config::MicroPhoneConfig micro_phone_config;
|
||||||
@ -331,22 +354,21 @@ void DeviceManager::init_devices_() {
|
|||||||
std::get<std::shared_ptr<AbstractSpeaker>>(devices_[id])->init();
|
std::get<std::shared_ptr<AbstractSpeaker>>(devices_[id])->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config::HeadConfig head_cfg;
|
||||||
auto biohead_node = dmgr_node.getChild("BioHead");
|
ConfigHelper::getHeadConfig(head_cfg);
|
||||||
for (auto &node: biohead_node.getChildren()){
|
for (int i = 0; i < head_cfg.bioheads().size(); i++) {
|
||||||
string id = node.getAttrString("id");
|
auto head = head_cfg.bioheads(i);
|
||||||
if (devices_.count(id)){
|
if (!head.enable())
|
||||||
LOG(ERROR) << "[DeviceManager]: Duplicate AbstractBiohead Device ID" << id;
|
continue;
|
||||||
throw runtime_error("[DeviceManager]: Duplicate AbstractBiohead Device ID" + id);
|
auto id = head.id();
|
||||||
}
|
if (devices_.count(id)) {
|
||||||
auto device = dev_factory_->create<AbstractBiohead>(node);
|
LOG(ERROR) << "[DeviceManager]: Duplicate Biohead Device ID" << id;
|
||||||
if (device == nullptr){
|
throw runtime_error("[DeviceManager]: Duplicate Biohead Device ID" + id);
|
||||||
throw std::runtime_error("[DeviceManager]: Factory returned nullptr for device ID: " + id);
|
|
||||||
}
|
}
|
||||||
|
std::cout << "Biohead[" << i << "]: " << id << std::endl;
|
||||||
|
auto device = dev_factory_->createFromConfig<AbstractBiohead,config::BioHeadConfig>(head);
|
||||||
devices_[id] = device;
|
devices_[id] = device;
|
||||||
std::get<std::shared_ptr<AbstractBiohead>>(devices_[id])->init();
|
std::get<std::shared_ptr<AbstractBiohead>>(devices_[id])->init();
|
||||||
LOG(INFO) << "[BioHead]: Init biohead " << id << " Success";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (const exception& e) {
|
catch (const exception& e) {
|
||||||
@ -373,4 +395,3 @@ void DeviceManager::get_os_info_() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -58,6 +58,7 @@ namespace cmvr::device {
|
|||||||
// 抽象头部类
|
// 抽象头部类
|
||||||
class AbstractBiohead : public AbstractDevice {
|
class AbstractBiohead : public AbstractDevice {
|
||||||
public:
|
public:
|
||||||
|
AbstractBiohead() = default;
|
||||||
explicit AbstractBiohead(const XmlNode &config) : AbstractDevice(config) {}
|
explicit AbstractBiohead(const XmlNode &config) : AbstractDevice(config) {}
|
||||||
~AbstractBiohead() override = default;
|
~AbstractBiohead() override = default;
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,9 @@ add_library(head_esp32 SHARED src/biohead_esp32.cpp)
|
|||||||
|
|
||||||
# 设置头文件包含路径
|
# 设置头文件包含路径
|
||||||
target_include_directories(head_esp32 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(head_esp32 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
target_link_libraries(head_esp32 PRIVATE
|
||||||
|
cmvr_es::hardware
|
||||||
|
)
|
||||||
# 创建命名空间化的 ALIAS(建议使用项目命名空间)
|
# 创建命名空间化的 ALIAS(建议使用项目命名空间)
|
||||||
add_library(cmvr::device::head_esp32 ALIAS head_esp32)
|
add_library(cmvr::device::head_esp32 ALIAS head_esp32)
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
|
#include "cmvr/config/biohead_config/biohead_config.pb.h"
|
||||||
namespace cmvr::device {
|
namespace cmvr::device {
|
||||||
|
|
||||||
struct ServoChannel {
|
struct ServoChannel {
|
||||||
@ -18,6 +18,7 @@ namespace cmvr::device {
|
|||||||
class BioHeadRobot : public AbstractBiohead {
|
class BioHeadRobot : public AbstractBiohead {
|
||||||
public:
|
public:
|
||||||
explicit BioHeadRobot(const XmlNode &config);
|
explicit BioHeadRobot(const XmlNode &config);
|
||||||
|
BioHeadRobot(const cmvr::config::BioHeadConfig& config);
|
||||||
~BioHeadRobot() override = default;
|
~BioHeadRobot() override = default;
|
||||||
|
|
||||||
// 接口实现
|
// 接口实现
|
||||||
@ -66,7 +67,7 @@ namespace cmvr::device {
|
|||||||
std::shared_ptr<std::thread> speak_thread_;
|
std::shared_ptr<std::thread> speak_thread_;
|
||||||
std::atomic<bool> speak_running_{false};
|
std::atomic<bool> speak_running_{false};
|
||||||
|
|
||||||
|
cmvr::config::BioHeadConfig config_;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,219 @@ BioHeadRobot::BioHeadRobot(const XmlNode &config) : AbstractBiohead(config) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BioHeadRobot::BioHeadRobot(const cmvr::config::BioHeadConfig& config) : config_(config) {
|
||||||
|
// 从config中读取串口参数
|
||||||
|
port_name_ = config_.serial();
|
||||||
|
|
||||||
|
serial_ = std::make_shared<SerialPort>();
|
||||||
|
if (!serial_->open(port_name_, 115200)) {
|
||||||
|
LOG(ERROR) << "[BioHeadRobot] Failed to open serial port: " << port_name_;
|
||||||
|
} else {
|
||||||
|
serial_->wakeupESP32(port_name_);
|
||||||
|
LOG(INFO) << "[BioHeadRobot] Serial port opened and ESP32 woken up.";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析眉毛配置
|
||||||
|
if (config_.has_eyebrow()) {
|
||||||
|
const auto& eyebrow = config_.eyebrow();
|
||||||
|
std::string serial_str = eyebrow.serial();
|
||||||
|
std::string offset_str = eyebrow.offest();
|
||||||
|
std::string min_angles_str = eyebrow.jlmtlow();
|
||||||
|
std::string max_angles_str = eyebrow.jlmtup();
|
||||||
|
|
||||||
|
// 解析偏移角
|
||||||
|
std::vector<double> offsets;
|
||||||
|
std::istringstream oss(offset_str);
|
||||||
|
double val;
|
||||||
|
while (oss >> val) offsets.push_back(val);
|
||||||
|
|
||||||
|
// 解析角度限制
|
||||||
|
std::vector<double> min_angles;
|
||||||
|
if (!min_angles_str.empty()) {
|
||||||
|
std::istringstream min_ss(min_angles_str);
|
||||||
|
while (min_ss >> val) min_angles.push_back(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> max_angles;
|
||||||
|
if (!max_angles_str.empty()) {
|
||||||
|
std::istringstream max_ss(max_angles_str);
|
||||||
|
while (max_ss >> val) max_angles.push_back(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析 channel,如 64:0~3
|
||||||
|
size_t colon = serial_str.find(':');
|
||||||
|
if (colon != std::string::npos) {
|
||||||
|
uint8_t addr = std::stoi(serial_str.substr(0, colon));
|
||||||
|
std::string range = serial_str.substr(colon + 1);
|
||||||
|
size_t tilde = range.find('~');
|
||||||
|
if (tilde != std::string::npos) {
|
||||||
|
int ch_start = std::stoi(range.substr(0, tilde));
|
||||||
|
int ch_end = std::stoi(range.substr(tilde + 1));
|
||||||
|
int channel_count = ch_end - ch_start + 1;
|
||||||
|
|
||||||
|
// 添加舵机通道
|
||||||
|
for (int ch = ch_start; ch <= ch_end; ++ch) {
|
||||||
|
channels_.push_back({addr, static_cast<uint8_t>(ch)});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加角度限制
|
||||||
|
if (min_angles.size() == 1) {
|
||||||
|
min_angles_.insert(min_angles_.end(), channel_count, min_angles[0]);
|
||||||
|
} else if (min_angles.size() >= channel_count) {
|
||||||
|
min_angles_.insert(min_angles_.end(), min_angles.begin(), min_angles.begin() + channel_count);
|
||||||
|
} else {
|
||||||
|
min_angles_.insert(min_angles_.end(), channel_count, 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (max_angles.size() == 1) {
|
||||||
|
max_angles_.insert(max_angles_.end(), channel_count, max_angles[0]);
|
||||||
|
} else if (max_angles.size() >= channel_count) {
|
||||||
|
max_angles_.insert(max_angles_.end(), max_angles.begin(), max_angles.begin() + channel_count);
|
||||||
|
} else {
|
||||||
|
max_angles_.insert(max_angles_.end(), channel_count, 180.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析眼睛配置
|
||||||
|
if (config_.has_eye()) {
|
||||||
|
const auto& eye = config_.eye();
|
||||||
|
std::string serial_str = eye.serial();
|
||||||
|
std::string offset_str = eye.offest();
|
||||||
|
std::string min_angles_str = eye.jlmtlow();
|
||||||
|
std::string max_angles_str = eye.jlmtup();
|
||||||
|
|
||||||
|
// 解析偏移角
|
||||||
|
std::vector<double> offsets;
|
||||||
|
std::istringstream oss(offset_str);
|
||||||
|
double val;
|
||||||
|
while (oss >> val) offsets.push_back(val);
|
||||||
|
|
||||||
|
// 解析角度限制
|
||||||
|
std::vector<double> min_angles;
|
||||||
|
if (!min_angles_str.empty()) {
|
||||||
|
std::istringstream min_ss(min_angles_str);
|
||||||
|
while (min_ss >> val) min_angles.push_back(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> max_angles;
|
||||||
|
if (!max_angles_str.empty()) {
|
||||||
|
std::istringstream max_ss(max_angles_str);
|
||||||
|
while (max_ss >> val) max_angles.push_back(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析 channel,如 64:4~9
|
||||||
|
size_t colon = serial_str.find(':');
|
||||||
|
if (colon != std::string::npos) {
|
||||||
|
uint8_t addr = std::stoi(serial_str.substr(0, colon));
|
||||||
|
std::string range = serial_str.substr(colon + 1);
|
||||||
|
size_t tilde = range.find('~');
|
||||||
|
if (tilde != std::string::npos) {
|
||||||
|
int ch_start = std::stoi(range.substr(0, tilde));
|
||||||
|
int ch_end = std::stoi(range.substr(tilde + 1));
|
||||||
|
int channel_count = ch_end - ch_start + 1;
|
||||||
|
|
||||||
|
// 添加舵机通道
|
||||||
|
for (int ch = ch_start; ch <= ch_end; ++ch) {
|
||||||
|
channels_.push_back({addr, static_cast<uint8_t>(ch)});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加角度限制
|
||||||
|
if (min_angles.size() == 1) {
|
||||||
|
min_angles_.insert(min_angles_.end(), channel_count, min_angles[0]);
|
||||||
|
} else if (min_angles.size() >= channel_count) {
|
||||||
|
min_angles_.insert(min_angles_.end(), min_angles.begin(), min_angles.begin() + channel_count);
|
||||||
|
} else {
|
||||||
|
min_angles_.insert(min_angles_.end(), channel_count, 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (max_angles.size() == 1) {
|
||||||
|
max_angles_.insert(max_angles_.end(), channel_count, max_angles[0]);
|
||||||
|
} else if (max_angles.size() >= channel_count) {
|
||||||
|
max_angles_.insert(max_angles_.end(), max_angles.begin(), max_angles.begin() + channel_count);
|
||||||
|
} else {
|
||||||
|
max_angles_.insert(max_angles_.end(), channel_count, 180.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析嘴巴配置
|
||||||
|
if (config_.has_mouth()) {
|
||||||
|
const auto& mouth = config_.mouth();
|
||||||
|
std::string serial_str = mouth.serial();
|
||||||
|
std::string offset_str = mouth.offest();
|
||||||
|
std::string min_angles_str = mouth.jlmtlow();
|
||||||
|
std::string max_angles_str = mouth.jlmtup();
|
||||||
|
|
||||||
|
// 解析偏移角
|
||||||
|
std::vector<double> offsets;
|
||||||
|
std::istringstream oss(offset_str);
|
||||||
|
double val;
|
||||||
|
while (oss >> val) offsets.push_back(val);
|
||||||
|
|
||||||
|
// 解析角度限制
|
||||||
|
std::vector<double> min_angles;
|
||||||
|
if (!min_angles_str.empty()) {
|
||||||
|
std::istringstream min_ss(min_angles_str);
|
||||||
|
while (min_ss >> val) min_angles.push_back(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<double> max_angles;
|
||||||
|
if (!max_angles_str.empty()) {
|
||||||
|
std::istringstream max_ss(max_angles_str);
|
||||||
|
while (max_ss >> val) max_angles.push_back(val);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析 channel,如 65:0~9
|
||||||
|
size_t colon = serial_str.find(':');
|
||||||
|
if (colon != std::string::npos) {
|
||||||
|
uint8_t addr = std::stoi(serial_str.substr(0, colon));
|
||||||
|
std::string range = serial_str.substr(colon + 1);
|
||||||
|
size_t tilde = range.find('~');
|
||||||
|
if (tilde != std::string::npos) {
|
||||||
|
int ch_start = std::stoi(range.substr(0, tilde));
|
||||||
|
int ch_end = std::stoi(range.substr(tilde + 1));
|
||||||
|
int channel_count = ch_end - ch_start + 1;
|
||||||
|
|
||||||
|
// 添加舵机通道
|
||||||
|
for (int ch = ch_start; ch <= ch_end; ++ch) {
|
||||||
|
channels_.push_back({addr, static_cast<uint8_t>(ch)});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加角度限制
|
||||||
|
if (min_angles.size() == 1) {
|
||||||
|
min_angles_.insert(min_angles_.end(), channel_count, min_angles[0]);
|
||||||
|
} else if (min_angles.size() >= channel_count) {
|
||||||
|
min_angles_.insert(min_angles_.end(), min_angles.begin(), min_angles.begin() + channel_count);
|
||||||
|
} else {
|
||||||
|
min_angles_.insert(min_angles_.end(), channel_count, 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (max_angles.size() == 1) {
|
||||||
|
max_angles_.insert(max_angles_.end(), channel_count, max_angles[0]);
|
||||||
|
} else if (max_angles.size() >= channel_count) {
|
||||||
|
max_angles_.insert(max_angles_.end(), max_angles.begin(), max_angles.begin() + channel_count);
|
||||||
|
} else {
|
||||||
|
max_angles_.insert(max_angles_.end(), channel_count, 180.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 确保所有向量大小一致
|
||||||
|
if (min_angles_.size() != channels_.size()) {
|
||||||
|
min_angles_.resize(channels_.size(), 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (max_angles_.size() != channels_.size()) {
|
||||||
|
max_angles_.resize(channels_.size(), 180.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
current_joints_.resize(channels_.size(), 90.0);
|
||||||
|
last_joints_ = current_joints_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void BioHeadRobot::parseXmlConfig(const XmlNode &node) {
|
void BioHeadRobot::parseXmlConfig(const XmlNode &node) {
|
||||||
|
|||||||
@ -58,6 +58,9 @@ namespace cmvr::device {
|
|||||||
virtual void pauseRecording() {}
|
virtual void pauseRecording() {}
|
||||||
virtual void resumeRecording() {}
|
virtual void resumeRecording() {}
|
||||||
virtual void getEncodedFrame(StreamFrameData& frame_data, size_t& index) {}
|
virtual void getEncodedFrame(StreamFrameData& frame_data, size_t& index) {}
|
||||||
|
virtual bool getLatestEncodedFrame(StreamFrameData& frame_data, size_t& next_index) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
virtual bool startStreaming() {return true;}
|
virtual bool startStreaming() {return true;}
|
||||||
virtual void stopStreaming() {}
|
virtual void stopStreaming() {}
|
||||||
|
|||||||
@ -37,6 +37,7 @@ namespace cmvr::device{
|
|||||||
int width, int height, int fps);
|
int width, int height, int fps);
|
||||||
static bool encodeFrameWithEncoder(std::shared_ptr<FfmpegEncoderInfo>& encoder,const cv::Mat& frame,std::vector<uint8_t>& encoded_frame,bool& is_key);
|
static bool encodeFrameWithEncoder(std::shared_ptr<FfmpegEncoderInfo>& encoder,const cv::Mat& frame,std::vector<uint8_t>& encoded_frame,bool& is_key);
|
||||||
void getEncodedFrame(StreamFrameData& frame_data, size_t& index) override;
|
void getEncodedFrame(StreamFrameData& frame_data, size_t& index) override;
|
||||||
|
bool getLatestEncodedFrame(StreamFrameData& frame_data, size_t& next_index) override;
|
||||||
|
|
||||||
bool startStreaming() override;
|
bool startStreaming() override;
|
||||||
void stopStreaming() override;
|
void stopStreaming() override;
|
||||||
@ -51,6 +52,8 @@ namespace cmvr::device{
|
|||||||
int fps_;
|
int fps_;
|
||||||
int width_;
|
int width_;
|
||||||
int height_;
|
int height_;
|
||||||
|
int encode_width_;
|
||||||
|
int encode_height_;
|
||||||
std::string serial_;
|
std::string serial_;
|
||||||
std::string align_mode_;
|
std::string align_mode_;
|
||||||
cv::VideoCapture cap_;
|
cv::VideoCapture cap_;
|
||||||
|
|||||||
@ -79,6 +79,8 @@ RealsenseCamera::RealsenseCamera(const XmlNode& config) : AbstractCamera(config)
|
|||||||
fps_ = cfg_.getAttrDefault("fps", 30);
|
fps_ = cfg_.getAttrDefault("fps", 30);
|
||||||
width_ = cfg_.getAttrDefault("w", 640);
|
width_ = cfg_.getAttrDefault("w", 640);
|
||||||
height_ = cfg_.getAttrDefault("h", 480);
|
height_ = cfg_.getAttrDefault("h", 480);
|
||||||
|
encode_width_ = cfg_.getAttrDefault("encode_w", width_);
|
||||||
|
encode_height_ = cfg_.getAttrDefault("encode_h", height_);
|
||||||
buffer_size_ = cfg_.getAttrDefault("bs", 30);
|
buffer_size_ = cfg_.getAttrDefault("bs", 30);
|
||||||
|
|
||||||
max_retry_ = cfg_.getAttrDefault("max_retry", 5);
|
max_retry_ = cfg_.getAttrDefault("max_retry", 5);
|
||||||
@ -131,6 +133,8 @@ RealsenseCamera::RealsenseCamera(const config::RealSenseCameraConfig& camera):ca
|
|||||||
fps_ = camera_.fps();
|
fps_ = camera_.fps();
|
||||||
width_ = camera_.width();
|
width_ = camera_.width();
|
||||||
height_ = camera_.height();
|
height_ = camera_.height();
|
||||||
|
encode_width_ = camera_.encode_width() > 0 ? camera_.encode_width() : width_;
|
||||||
|
encode_height_ = camera_.encode_height() > 0 ? camera_.encode_height() : height_;
|
||||||
buffer_size_ = camera_.buffer_size();
|
buffer_size_ = camera_.buffer_size();
|
||||||
|
|
||||||
state_.fps = fps_;
|
state_.fps = fps_;
|
||||||
@ -212,16 +216,16 @@ void RealsenseCamera::init() {
|
|||||||
|
|
||||||
//初始化编码器
|
//初始化编码器
|
||||||
// 初始化RGB编码器(示例参数:640x480,30fps,H.264)
|
// 初始化RGB编码器(示例参数:640x480,30fps,H.264)
|
||||||
if (!initSingleEncoder(rgbEncoder_, codec_, width_, height_, fps_)) {
|
if (!initSingleEncoder(rgbEncoder_, codec_, encode_width_, encode_height_, fps_)) {
|
||||||
LOG(ERROR) << "[RealsenseCamera] (start): Failed to init RGB encoder!";
|
LOG(ERROR) << "[RealsenseCamera] (start): Failed to init RGB encoder!";
|
||||||
throw runtime_error("Failed to init RGB encoder!");
|
throw runtime_error("Failed to init RGB encoder!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 初始化深度图编码器(示例参数:640x480,15fps,H.265)
|
// 初始化深度图编码器(示例参数:640x480,15fps,H.265)
|
||||||
if (!initSingleEncoder(depthEncoder_, codec_, width_, height_, fps_)) {
|
// if (!initSingleEncoder(depthEncoder_, codec_, width_, height_, fps_)) {
|
||||||
LOG(ERROR) << "[RealsenseCamera] (start): Failed to init depth encoder!";
|
// LOG(ERROR) << "[RealsenseCamera] (start): Failed to init depth encoder!";
|
||||||
throw runtime_error("Failed to init depth encoder!");
|
// throw runtime_error("Failed to init depth encoder!");
|
||||||
}
|
// }
|
||||||
LOG(INFO) << "[RealsenseCamera] (init): realsense camera initialized at index " << serial_; // 记录初始化成功日志
|
LOG(INFO) << "[RealsenseCamera] (init): realsense camera initialized at index " << serial_; // 记录初始化成功日志
|
||||||
}
|
}
|
||||||
catch (const exception &error){
|
catch (const exception &error){
|
||||||
@ -245,7 +249,7 @@ void RealsenseCamera::start() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr int kStartMaxRetry = 3;
|
constexpr int kStartMaxRetry = 5;
|
||||||
constexpr int kRetrySleepMs = 300;
|
constexpr int kRetrySleepMs = 300;
|
||||||
constexpr unsigned int kProbeTimeoutMs = 2000;
|
constexpr unsigned int kProbeTimeoutMs = 2000;
|
||||||
std::string last_error;
|
std::string last_error;
|
||||||
@ -696,6 +700,12 @@ void RealsenseCamera::streaming_worker_() {
|
|||||||
frames = get_frameset(true);
|
frames = get_frameset(true);
|
||||||
rs2::frame color_frame = frames.get_color_frame();
|
rs2::frame color_frame = frames.get_color_frame();
|
||||||
rs2::frame depth_frame = frames.get_depth_frame();
|
rs2::frame depth_frame = frames.get_depth_frame();
|
||||||
|
if (!color_frame) {
|
||||||
|
throw std::runtime_error("[RealsenseCamera]streaming_worker_: missing color frame");
|
||||||
|
}
|
||||||
|
if (stream_mode_ == RGBD_MODE && !depth_frame) {
|
||||||
|
throw std::runtime_error("[RealsenseCamera]streaming_worker_: missing depth frame in RGBD mode");
|
||||||
|
}
|
||||||
|
|
||||||
// 以下为编码部分,用于流模式
|
// 以下为编码部分,用于流模式
|
||||||
StreamFrameData frame_data;
|
StreamFrameData frame_data;
|
||||||
@ -712,7 +722,7 @@ void RealsenseCamera::streaming_worker_() {
|
|||||||
cv::Mat temp(cv::Size(width_, height_), CV_8UC3, const_cast<void*>(color_frame.get_data()), cv::Mat::AUTO_STEP);
|
cv::Mat temp(cv::Size(width_, height_), CV_8UC3, const_cast<void*>(color_frame.get_data()), cv::Mat::AUTO_STEP);
|
||||||
temp.copyTo(frame_data.rgbImage); // 执行深拷贝
|
temp.copyTo(frame_data.rgbImage); // 执行深拷贝
|
||||||
}
|
}
|
||||||
{
|
if (depth_frame) {
|
||||||
auto temp = cv::Mat(cv::Size(width_, height_), CV_16UC1, const_cast<void*>(depth_frame.get_data()));
|
auto temp = cv::Mat(cv::Size(width_, height_), CV_16UC1, const_cast<void*>(depth_frame.get_data()));
|
||||||
temp.copyTo(frame_data.depthImage); // 执行深拷贝
|
temp.copyTo(frame_data.depthImage); // 执行深拷贝
|
||||||
}
|
}
|
||||||
@ -721,13 +731,23 @@ void RealsenseCamera::streaming_worker_() {
|
|||||||
auto encode_start_time = std::chrono::high_resolution_clock::now();
|
auto encode_start_time = std::chrono::high_resolution_clock::now();
|
||||||
|
|
||||||
// rgb图像编码
|
// rgb图像编码
|
||||||
success = encodeFrameWithEncoder(rgbEncoder_, frame_data.rgbImage, frame_data.rgbFrame, frame_data.bKey);
|
cv::Mat rgb_to_encode = frame_data.rgbImage;
|
||||||
|
if (encode_width_ > 0 && encode_height_ > 0 &&
|
||||||
|
(frame_data.rgbImage.cols != encode_width_ || frame_data.rgbImage.rows != encode_height_)) {
|
||||||
|
cv::resize(frame_data.rgbImage,
|
||||||
|
rgb_to_encode,
|
||||||
|
cv::Size(encode_width_, encode_height_),
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
cv::INTER_LINEAR);
|
||||||
|
}
|
||||||
|
success = encodeFrameWithEncoder(rgbEncoder_, rgb_to_encode, frame_data.rgbFrame, frame_data.bKey);
|
||||||
// 深度图编码
|
// 深度图编码
|
||||||
// success = encodeFrameWithEncoder(depthEncoder_, frame_data.depthImage, frame_data.depthFrame, frame_data.depthKey);
|
// success = encodeFrameWithEncoder(depthEncoder_, frame_data.depthImage, frame_data.depthFrame, frame_data.depthKey);
|
||||||
if (success) {
|
if (success) {
|
||||||
frame_data.fps = fps_;
|
frame_data.fps = fps_;
|
||||||
frame_data.width = width_;
|
frame_data.width = encode_width_;
|
||||||
frame_data.height = height_;
|
frame_data.height = encode_height_;
|
||||||
frame_data.codec = codec_;
|
frame_data.codec = codec_;
|
||||||
stream_frame_buffer_->push(frame_data);
|
stream_frame_buffer_->push(frame_data);
|
||||||
}
|
}
|
||||||
@ -884,7 +904,7 @@ bool RealsenseCamera::initSingleEncoder(std::shared_ptr<FfmpegEncoderInfo>& enco
|
|||||||
ctx->time_base = {1, fps}; // 时间基(1/fps)
|
ctx->time_base = {1, fps}; // 时间基(1/fps)
|
||||||
ctx->framerate = {fps, 1}; // 帧率
|
ctx->framerate = {fps, 1}; // 帧率
|
||||||
ctx->max_b_frames = 0; // 禁用B帧(降低延迟)
|
ctx->max_b_frames = 0; // 禁用B帧(降低延迟)
|
||||||
ctx->gop_size = 10;//I帧间隔1,每一帧都是I帧
|
ctx->gop_size = 10;//I帧间隔
|
||||||
// 5. 设置编码器私有参数
|
// 5. 设置编码器私有参数
|
||||||
if (codec->id == AV_CODEC_ID_H264) {
|
if (codec->id == AV_CODEC_ID_H264) {
|
||||||
av_opt_set(ctx->priv_data, "preset", "ultrafast", 0);
|
av_opt_set(ctx->priv_data, "preset", "ultrafast", 0);
|
||||||
@ -895,6 +915,24 @@ bool RealsenseCamera::initSingleEncoder(std::shared_ptr<FfmpegEncoderInfo>& enco
|
|||||||
} else if (codec->id == AV_CODEC_ID_HEVC) {
|
} else if (codec->id == AV_CODEC_ID_HEVC) {
|
||||||
// 降低 x265 控制台日志噪声(如 "encoded 0 frames")。
|
// 降低 x265 控制台日志噪声(如 "encoded 0 frames")。
|
||||||
av_opt_set(ctx->priv_data, "x265-params", "log-level=none", 0);
|
av_opt_set(ctx->priv_data, "x265-params", "log-level=none", 0);
|
||||||
|
// H.265 的强制设置
|
||||||
|
// 使用 x265-params 字符串设置所有参数
|
||||||
|
char x265_params[256];
|
||||||
|
snprintf(x265_params, sizeof(x265_params),
|
||||||
|
"keyint=%d:" // 关键帧间隔
|
||||||
|
"min-keyint=%d:" // 最小关键帧间隔
|
||||||
|
"no-open-gop=1:" // 禁用开放GOP
|
||||||
|
"bframes=0:" // 禁用B帧
|
||||||
|
"rc-lookahead=0:"
|
||||||
|
"log-level=none", // 日志级别
|
||||||
|
10, 10); // 设置keyint和min-keyint为10
|
||||||
|
|
||||||
|
av_opt_set(ctx->priv_data, "x265-params", x265_params, 0);
|
||||||
|
|
||||||
|
// 或者分开设置(如果支持)
|
||||||
|
av_opt_set_int(ctx->priv_data, "keyint", 10, 0);
|
||||||
|
av_opt_set_int(ctx->priv_data, "min-keyint", 10, 0);
|
||||||
|
av_opt_set(ctx->priv_data, "no-open-gop", "1", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 6. 设置像素格式(不变)
|
// 6. 设置像素格式(不变)
|
||||||
@ -938,6 +976,17 @@ bool RealsenseCamera::initSingleEncoder(std::shared_ptr<FfmpegEncoderInfo>& enco
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 添加调试信息,确认设置生效
|
||||||
|
std::cout << "Encoder settings:" << std::endl;
|
||||||
|
std::cout << " GOP size: " << ctx->gop_size << std::endl;
|
||||||
|
if (codec->id == AV_CODEC_ID_HEVC) {
|
||||||
|
char* params = nullptr;
|
||||||
|
if (av_opt_get(ctx->priv_data, "x265-params", 0, (uint8_t**)¶ms) >= 0) {
|
||||||
|
std::cout << " x265-params: " << params << std::endl;
|
||||||
|
av_free(params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
std::cout << "Successfully initialized " << codec_name << " encoder ( "
|
std::cout << "Successfully initialized " << codec_name << " encoder ( "
|
||||||
<< width << "x" << height << "@" << fps << "fps )" << std::endl;
|
<< width << "x" << height << "@" << fps << "fps )" << std::endl;
|
||||||
return true;
|
return true;
|
||||||
@ -1114,6 +1163,27 @@ void RealsenseCamera::getEncodedFrame(StreamFrameData& frame_data, size_t& index
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RealsenseCamera::getLatestEncodedFrame(StreamFrameData& frame_data, size_t& next_index) {
|
||||||
|
if (!stream_frame_buffer_) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const size_t head = stream_frame_buffer_->getHead();
|
||||||
|
if (head == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t latest_index = head - 1;
|
||||||
|
auto frame = stream_frame_buffer_->pop(latest_index);
|
||||||
|
if (!frame.has_value()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
frame_data = frame.value();
|
||||||
|
next_index = latest_index;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool RealsenseCamera::startStreaming()
|
bool RealsenseCamera::startStreaming()
|
||||||
{
|
{
|
||||||
std::lock_guard lock(ctrl_mtx_);
|
std::lock_guard lock(ctrl_mtx_);
|
||||||
|
|||||||
@ -21,7 +21,7 @@ TEST(RealsenseCameraRealDeviceTest, SaveFrames) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto dmgr_cfg = config.getChild("DeviceManager");
|
auto dmgr_cfg = config.getChild("DeviceManager");
|
||||||
auto &dmgr = DeviceManager::getInstance(dmgr_cfg);
|
auto &dmgr = DeviceManager::getInstance();
|
||||||
|
|
||||||
auto cam = dmgr.getDevice<AbstractCamera>("cam4");
|
auto cam = dmgr.getDevice<AbstractCamera>("cam4");
|
||||||
cam->start();
|
cam->start();
|
||||||
|
|||||||
@ -90,6 +90,7 @@ namespace cmvr::device {
|
|||||||
int width, int height, int fps);
|
int width, int height, int fps);
|
||||||
static bool encodeFrameWithEncoder(std::shared_ptr<FfmpegEncoderInfo>& encoder,const cv::Mat& frame,std::vector<uint8_t>& encoded_frame,bool& is_key);
|
static bool encodeFrameWithEncoder(std::shared_ptr<FfmpegEncoderInfo>& encoder,const cv::Mat& frame,std::vector<uint8_t>& encoded_frame,bool& is_key);
|
||||||
void getEncodedFrame(StreamFrameData& frame_data, size_t& index) override;
|
void getEncodedFrame(StreamFrameData& frame_data, size_t& index) override;
|
||||||
|
bool getLatestEncodedFrame(StreamFrameData& frame_data, size_t& next_index) override;
|
||||||
|
|
||||||
bool startStreaming() override;
|
bool startStreaming() override;
|
||||||
void stopStreaming() override;
|
void stopStreaming() override;
|
||||||
@ -100,6 +101,8 @@ namespace cmvr::device {
|
|||||||
int fps_;
|
int fps_;
|
||||||
int width_;
|
int width_;
|
||||||
int height_;
|
int height_;
|
||||||
|
int encode_width_;
|
||||||
|
int encode_height_;
|
||||||
std::string serial_;
|
std::string serial_;
|
||||||
cv::VideoCapture cap_;
|
cv::VideoCapture cap_;
|
||||||
size_t buffer_size_;
|
size_t buffer_size_;
|
||||||
|
|||||||
@ -19,6 +19,8 @@ UVCCamera::UVCCamera(const XmlNode& config) : AbstractCamera(config) {
|
|||||||
fps_ = cfg_.getAttrDefault("fps", 30);
|
fps_ = cfg_.getAttrDefault("fps", 30);
|
||||||
width_ = cfg_.getAttrDefault("w", 640);
|
width_ = cfg_.getAttrDefault("w", 640);
|
||||||
height_ = cfg_.getAttrDefault("h", 480);
|
height_ = cfg_.getAttrDefault("h", 480);
|
||||||
|
encode_width_ = cfg_.getAttrDefault("encode_w", width_);
|
||||||
|
encode_height_ = cfg_.getAttrDefault("encode_h", height_);
|
||||||
buffer_size_ = cfg_.getAttrDefault("bs", 30);
|
buffer_size_ = cfg_.getAttrDefault("bs", 30);
|
||||||
|
|
||||||
state_.fps = fps_;
|
state_.fps = fps_;
|
||||||
@ -54,6 +56,8 @@ UVCCamera::UVCCamera(const config::UVCCameraConfig& camera):camera_(camera)
|
|||||||
fps_ = camera_.fps();
|
fps_ = camera_.fps();
|
||||||
width_ = camera_.width();
|
width_ = camera_.width();
|
||||||
height_ = camera_.height();
|
height_ = camera_.height();
|
||||||
|
encode_width_ = camera_.encode_width() > 0 ? camera_.encode_width() : width_;
|
||||||
|
encode_height_ = camera_.encode_height() > 0 ? camera_.encode_height() : height_;
|
||||||
buffer_size_ = camera_.buffer_size();
|
buffer_size_ = camera_.buffer_size();
|
||||||
|
|
||||||
state_.fps = fps_;
|
state_.fps = fps_;
|
||||||
@ -127,7 +131,7 @@ void UVCCamera::init() {
|
|||||||
}
|
}
|
||||||
//初始化编码器
|
//初始化编码器
|
||||||
// 初始化RGB编码器(示例参数:640x480,30fps,H.264)
|
// 初始化RGB编码器(示例参数:640x480,30fps,H.264)
|
||||||
if (!initSingleEncoder(rgbEncoder_, codec_, width_, height_, fps_)) {
|
if (!initSingleEncoder(rgbEncoder_, codec_, encode_width_, encode_height_, fps_)) {
|
||||||
LOG(ERROR) << "[UVCCamera] (start): Failed to init RGB encoder!";
|
LOG(ERROR) << "[UVCCamera] (start): Failed to init RGB encoder!";
|
||||||
throw runtime_error("Failed to init RGB encoder!");
|
throw runtime_error("Failed to init RGB encoder!");
|
||||||
}
|
}
|
||||||
@ -461,11 +465,21 @@ void UVCCamera::streaming_worker_() {
|
|||||||
frame.copyTo(frame_data.rgbImage); // 执行深拷贝
|
frame.copyTo(frame_data.rgbImage); // 执行深拷贝
|
||||||
}
|
}
|
||||||
// rgb图像编码
|
// rgb图像编码
|
||||||
success = encodeFrameWithEncoder(rgbEncoder_, frame_data.rgbImage, frame_data.rgbFrame, frame_data.bKey);
|
cv::Mat rgb_to_encode = frame_data.rgbImage;
|
||||||
|
if (encode_width_ > 0 && encode_height_ > 0 &&
|
||||||
|
(frame_data.rgbImage.cols != encode_width_ || frame_data.rgbImage.rows != encode_height_)) {
|
||||||
|
cv::resize(frame_data.rgbImage,
|
||||||
|
rgb_to_encode,
|
||||||
|
cv::Size(encode_width_, encode_height_),
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
cv::INTER_LINEAR);
|
||||||
|
}
|
||||||
|
success = encodeFrameWithEncoder(rgbEncoder_, rgb_to_encode, frame_data.rgbFrame, frame_data.bKey);
|
||||||
if (success) {
|
if (success) {
|
||||||
frame_data.fps = fps_;
|
frame_data.fps = fps_;
|
||||||
frame_data.width = width_;
|
frame_data.width = encode_width_;
|
||||||
frame_data.height = height_;
|
frame_data.height = encode_height_;
|
||||||
frame_data.codec = codec_;
|
frame_data.codec = codec_;
|
||||||
stream_frame_buffer_->push(frame_data);
|
stream_frame_buffer_->push(frame_data);
|
||||||
}
|
}
|
||||||
@ -801,6 +815,27 @@ void UVCCamera::getEncodedFrame(StreamFrameData& frame_data, size_t& index) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool UVCCamera::getLatestEncodedFrame(StreamFrameData& frame_data, size_t& next_index) {
|
||||||
|
if (!stream_frame_buffer_) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const size_t head = stream_frame_buffer_->getHead();
|
||||||
|
if (head == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t latest_index = head - 1;
|
||||||
|
auto frame = stream_frame_buffer_->pop(latest_index);
|
||||||
|
if (!frame.has_value()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
frame_data = frame.value();
|
||||||
|
next_index = latest_index;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool UVCCamera::startStreaming()
|
bool UVCCamera::startStreaming()
|
||||||
{
|
{
|
||||||
std::lock_guard lock(ctrl_mtx_);
|
std::lock_guard lock(ctrl_mtx_);
|
||||||
|
|||||||
@ -54,6 +54,7 @@ namespace cmvr::device {
|
|||||||
|
|
||||||
class AbstractCanbus : public AbstractDevice {
|
class AbstractCanbus : public AbstractDevice {
|
||||||
public:
|
public:
|
||||||
|
AbstractCanbus() = default;
|
||||||
AbstractCanbus(const XmlNode &cfg) : AbstractDevice(cfg) {}
|
AbstractCanbus(const XmlNode &cfg) : AbstractDevice(cfg) {}
|
||||||
~AbstractCanbus() {}
|
~AbstractCanbus() {}
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -35,6 +35,17 @@ namespace cmvr {
|
|||||||
// LOG(ERROR) << "[SocketCanClientRaw] ([SocketCanClientRaw]): Failed to parse XML: " << e.what();
|
// LOG(ERROR) << "[SocketCanClientRaw] ([SocketCanClientRaw]): Failed to parse XML: " << e.what();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SocketCanClientRaw::SocketCanClientRaw(const cmvr::config::CanDeviceConfig& config):config_(config)
|
||||||
|
{
|
||||||
|
auto channel_id = config_.channelid();
|
||||||
|
port_ = static_cast<CANCardParameter::CANChannelId>(channel_id);
|
||||||
|
interface_ = CANCardParameter::NATIVE;
|
||||||
|
|
||||||
|
enable_can_err_check_ = false;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void SocketCanClientRaw::init() {
|
void SocketCanClientRaw::init() {
|
||||||
// if (!parameter.has_channel_id()) {
|
// if (!parameter.has_channel_id()) {
|
||||||
|
|||||||
@ -26,6 +26,7 @@
|
|||||||
#include "gflags/gflags.h"
|
#include "gflags/gflags.h"
|
||||||
#include "../../abstract_canbus.h"
|
#include "../../abstract_canbus.h"
|
||||||
#include "canbus/common/canbus_consts.h"
|
#include "canbus/common/canbus_consts.h"
|
||||||
|
#include "cmvr/config/robot_config/robot_config.pb.h"
|
||||||
|
|
||||||
namespace cmvr {
|
namespace cmvr {
|
||||||
namespace device {
|
namespace device {
|
||||||
@ -36,6 +37,7 @@ namespace cmvr {
|
|||||||
class SocketCanClientRaw final : public AbstractCanbus {
|
class SocketCanClientRaw final : public AbstractCanbus {
|
||||||
public:
|
public:
|
||||||
explicit SocketCanClientRaw(const XmlNode &cfg);
|
explicit SocketCanClientRaw(const XmlNode &cfg);
|
||||||
|
SocketCanClientRaw(const cmvr::config::CanDeviceConfig& config);
|
||||||
~SocketCanClientRaw();
|
~SocketCanClientRaw();
|
||||||
void init() override;
|
void init() override;
|
||||||
void start() override;
|
void start() override;
|
||||||
@ -73,6 +75,8 @@ namespace cmvr {
|
|||||||
|
|
||||||
//
|
//
|
||||||
bool enable_can_err_check_{false};
|
bool enable_can_err_check_{false};
|
||||||
|
|
||||||
|
cmvr::config::CanDeviceConfig config_;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1 +1,2 @@
|
|||||||
add_subdirectory(rh56dftp_dexhand)
|
add_subdirectory(rh56dftp_dexhand)
|
||||||
|
add_subdirectory(px_6ax_gen3)
|
||||||
|
|||||||
@ -6,236 +6,166 @@
|
|||||||
#define CMVR_ES_ABSTRACT_DEXHAND_H
|
#define CMVR_ES_ABSTRACT_DEXHAND_H
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <memory>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <string>
|
||||||
|
#include <utility>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include "devices/abstract_device.h"
|
#include "devices/abstract_device.h"
|
||||||
#include "cmvr/config/dexhand_config/dexhand_config.pb.h"
|
|
||||||
namespace cmvr::device{
|
|
||||||
// 单个触觉点数据(16位无符号整数)
|
|
||||||
using TactilePoint = uint16_t;
|
|
||||||
|
|
||||||
// 手指触觉数据结构体(支持从数组任意位置解析)
|
namespace cmvr::device {
|
||||||
struct FingerTactileData {
|
class AbstractDexHand : public AbstractDevice {
|
||||||
std::vector<std::vector<TactilePoint>> data; // 触觉数据二维数组
|
public:
|
||||||
int rows; // 行数
|
struct TactilePoint {
|
||||||
int cols; // 列数
|
int32_t fx{0};
|
||||||
int byteSize; // 总字节数(rows * cols * 2字节/点)
|
int32_t fy{0};
|
||||||
std::string name; // 部位名称
|
int32_t fz{0};
|
||||||
|
|
||||||
// 初始化数据数组
|
static TactilePoint fromFz(const int32_t value) {
|
||||||
void init() {
|
return TactilePoint{0, 0, value};
|
||||||
data.resize(rows, std::vector<TactilePoint>(cols, 0));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 从 std::vector<uint16_t> 中赋值数据
|
double magnitude() const {
|
||||||
void assignFromVector(const std::vector<uint16_t>& values, int startIndex = 0) {
|
return std::sqrt(static_cast<double>(fx) * static_cast<double>(fx) +
|
||||||
int index = startIndex;
|
static_cast<double>(fy) * static_cast<double>(fy) +
|
||||||
for (int i = 0; i < rows; ++i) {
|
static_cast<double>(fz) * static_cast<double>(fz));
|
||||||
for (int j = 0; j < cols; ++j) {
|
|
||||||
if (index < values.size()) {
|
|
||||||
data[i][j] = values[index];
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isZero() const {
|
||||||
|
return fx == 0 && fy == 0 && fz == 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 手掌触觉数据结构体(支持从数组任意位置解析)
|
using ResultantForce = TactilePoint;
|
||||||
struct PalmTactileData {
|
|
||||||
std::vector<std::vector<TactilePoint>> data; // 触觉数据二维数组
|
|
||||||
int rows = 8; // 行数(掌心固定为8行)
|
|
||||||
int cols = 14; // 列数(掌心固定为14列)
|
|
||||||
int byteSize = 224; // 总字节数(8*14*2=224)
|
|
||||||
std::string name = "掌心"; // 部位名称
|
|
||||||
|
|
||||||
// 初始化数据数组
|
enum class FingerType {
|
||||||
void init() {
|
PINKY,
|
||||||
data.resize(rows, std::vector<TactilePoint>(cols, 0));
|
RING,
|
||||||
}
|
MIDDLE,
|
||||||
|
INDEX,
|
||||||
// 从 std::vector<uint16_t> 中赋值数据
|
THUMB,
|
||||||
void assignFromVector(const std::vector<uint16_t>& values, int startIndex = 0) {
|
PALM
|
||||||
int index = startIndex;
|
|
||||||
for (int j = 0; j < cols; ++j) {
|
|
||||||
for (int i = rows - 1; i >= 0; --i) {
|
|
||||||
if (index < values.size()) {
|
|
||||||
data[i][j] = values[index];
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 手指枚举(方便按手指类型解析)
|
|
||||||
enum FingerType {
|
|
||||||
PINKY, // 小拇指
|
|
||||||
RING, // 无名指
|
|
||||||
MIDDLE, // 中指
|
|
||||||
INDEX, // 食指
|
|
||||||
THUMB // 大拇指
|
|
||||||
};
|
|
||||||
|
|
||||||
// 触觉区域枚举(设备层)。
|
|
||||||
enum class TactileRegion {
|
enum class TactileRegion {
|
||||||
TIP = 0,
|
TIP,
|
||||||
FINGER,
|
FINGER,
|
||||||
PAD,
|
PAD,
|
||||||
TIP_AND_FINGER,
|
THUMB_MIDDLE,
|
||||||
THUMB_MIDDLE
|
PALM_PAD
|
||||||
};
|
};
|
||||||
|
|
||||||
// 整只手的触觉传感器数据
|
using TactileRegionKey = std::pair<FingerType, TactileRegion>;
|
||||||
struct HandTactileSensors {
|
|
||||||
// 五指的触觉数据(每根手指包含指端、指尖、指腹)
|
|
||||||
struct {
|
|
||||||
FingerTactileData tip; // 指端
|
|
||||||
FingerTactileData finger; // 指尖
|
|
||||||
FingerTactileData pad; // 指腹
|
|
||||||
} pinky, ring, middle, index; // 小拇指、无名指、中指、食指
|
|
||||||
|
|
||||||
// 大拇指(特殊:多一个指中)
|
struct TactileMatrixView {
|
||||||
struct {
|
const TactilePoint* data{nullptr};
|
||||||
FingerTactileData tip; // 指端
|
int rows{0};
|
||||||
FingerTactileData finger; // 指尖
|
int cols{0};
|
||||||
FingerTactileData middle; // 指中
|
|
||||||
FingerTactileData pad; // 指腹
|
|
||||||
} thumb;
|
|
||||||
|
|
||||||
// 掌心触觉数据
|
bool valid() const {
|
||||||
PalmTactileData palm;
|
return data != nullptr && rows > 0 && cols > 0;
|
||||||
|
|
||||||
// 初始化所有传感器数据(设置相对偏移量)
|
|
||||||
void init() {
|
|
||||||
// 小拇指(总370byte)
|
|
||||||
pinky.tip = {.rows = 3, .cols = 3, .byteSize = 18, .name = "小拇指指端"};
|
|
||||||
pinky.finger = {.rows = 12, .cols = 8, .byteSize = 192, .name = "小拇指指尖"};
|
|
||||||
pinky.pad = {.rows = 10, .cols = 8, .byteSize = 160, .name = "小拇指指腹"};
|
|
||||||
|
|
||||||
// 无名指(总370byte)
|
|
||||||
ring.tip = {.rows = 3, .cols = 3, .byteSize = 18, .name = "无名指指端"};
|
|
||||||
ring.finger = {.rows = 12, .cols = 8, .byteSize = 192, .name = "无名指指尖"};
|
|
||||||
ring.pad = {.rows = 10, .cols = 8, .byteSize = 160, .name = "无名指指腹"};
|
|
||||||
|
|
||||||
// 中指(总370byte)
|
|
||||||
middle.tip = {.rows = 3, .cols = 3, .byteSize = 18, .name = "中指指端"};
|
|
||||||
middle.finger = {.rows = 12, .cols = 8, .byteSize = 192, .name = "中指指尖"};
|
|
||||||
middle.pad = {.rows = 10, .cols = 8, .byteSize = 160, .name = "中指指腹"};
|
|
||||||
|
|
||||||
// 食指(总370byte)
|
|
||||||
index.tip = {.rows = 3, .cols = 3, .byteSize = 18, .name = "食指指端"};
|
|
||||||
index.finger = {.rows = 12, .cols = 8, .byteSize = 192, .name = "食指指尖"};
|
|
||||||
index.pad = {.rows = 10, .cols = 8, .byteSize = 160, .name = "食指指腹"};
|
|
||||||
|
|
||||||
// 大拇指(总420byte)
|
|
||||||
thumb.tip = {.rows = 3, .cols = 3, .byteSize = 18, .name = "大拇指指端"};
|
|
||||||
thumb.finger = {.rows = 12, .cols = 8, .byteSize = 192, .name = "大拇指尖"};
|
|
||||||
thumb.middle = {.rows = 3, .cols = 3, .byteSize = 18, .name = "大拇指指中"};
|
|
||||||
thumb.pad = {.rows = 12, .cols = 8, .byteSize = 192, .name = "大拇指指腹"};
|
|
||||||
|
|
||||||
// 掌心(总224byte)
|
|
||||||
palm = { .name = "掌心"};
|
|
||||||
|
|
||||||
// 初始化所有数据数组
|
|
||||||
pinky.tip.init();
|
|
||||||
pinky.finger.init();
|
|
||||||
pinky.pad.init();
|
|
||||||
|
|
||||||
ring.tip.init();
|
|
||||||
ring.finger.init();
|
|
||||||
ring.pad.init();
|
|
||||||
|
|
||||||
middle.tip.init();
|
|
||||||
middle.finger.init();
|
|
||||||
middle.pad.init();
|
|
||||||
|
|
||||||
index.tip.init();
|
|
||||||
index.finger.init();
|
|
||||||
index.pad.init();
|
|
||||||
|
|
||||||
thumb.tip.init();
|
|
||||||
thumb.finger.init();
|
|
||||||
thumb.middle.init();
|
|
||||||
thumb.pad.init();
|
|
||||||
|
|
||||||
palm.init();
|
|
||||||
}
|
|
||||||
// 按手指类型解析整个手指的数据
|
|
||||||
void parseFinger(FingerType fingerType, const std::vector<uint16_t>& values) {
|
|
||||||
switch (fingerType) {
|
|
||||||
case PINKY:
|
|
||||||
pinky.tip.assignFromVector(values);
|
|
||||||
pinky.finger.assignFromVector(values, 9);
|
|
||||||
pinky.pad.assignFromVector(values, 9 + 96);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RING:
|
|
||||||
ring.tip.assignFromVector(values);
|
|
||||||
ring.finger.assignFromVector(values, 9);
|
|
||||||
ring.pad.assignFromVector(values, 9 + 96);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MIDDLE:
|
|
||||||
middle.tip.assignFromVector(values);
|
|
||||||
middle.finger.assignFromVector(values, 9);
|
|
||||||
middle.pad.assignFromVector(values, 9 + 96);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case INDEX:
|
|
||||||
index.tip.assignFromVector(values);
|
|
||||||
index.finger.assignFromVector(values, 9);
|
|
||||||
index.pad.assignFromVector(values, 9 + 96);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case THUMB:
|
|
||||||
thumb.tip.assignFromVector(values);
|
|
||||||
thumb.finger.assignFromVector(values, 9);
|
|
||||||
thumb.middle.assignFromVector(values, 9 + 96);
|
|
||||||
thumb.pad.assignFromVector(values, 9 + 96 + 9);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 解析手心(掌心)数据
|
int pointCount() const {
|
||||||
void parsePalm(const std::vector<uint16_t>& values) {
|
return rows * cols;
|
||||||
palm.assignFromVector(values);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取手指名称(用于调试)
|
const TactilePoint* rowData(int row) const {
|
||||||
std::string getFingerName(FingerType fingerType) {
|
return data + row * cols;
|
||||||
switch (fingerType) {
|
|
||||||
case PINKY: return "小拇指";
|
|
||||||
case RING: return "无名指";
|
|
||||||
case MIDDLE: return "中指";
|
|
||||||
case INDEX: return "食指";
|
|
||||||
case THUMB: return "大拇指";
|
|
||||||
default: return "未知";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TactilePoint at(int row, int col) const {
|
||||||
|
return data[row * cols + col];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
class AbstractDexHand: public AbstractDevice{
|
|
||||||
|
class TactileRegionData {
|
||||||
public:
|
public:
|
||||||
|
TactileRegionData() = default;
|
||||||
|
|
||||||
|
TactileRegionData(FingerType finger_in,
|
||||||
|
TactileRegion region_in,
|
||||||
|
TactileMatrixView view_in,
|
||||||
|
const char* name_in,
|
||||||
|
std::shared_ptr<const void> lifetime = {})
|
||||||
|
: finger(finger_in),
|
||||||
|
region(region_in),
|
||||||
|
view(view_in),
|
||||||
|
name(name_in),
|
||||||
|
lifetime_(std::move(lifetime)) {}
|
||||||
|
|
||||||
|
bool valid() const {
|
||||||
|
return view.valid();
|
||||||
|
}
|
||||||
|
|
||||||
|
int byteSize() const {
|
||||||
|
return view.pointCount() * static_cast<int>(sizeof(TactilePoint));
|
||||||
|
}
|
||||||
|
|
||||||
|
FingerType finger{FingerType::PINKY};
|
||||||
|
TactileRegion region{TactileRegion::TIP};
|
||||||
|
TactileMatrixView view{};
|
||||||
|
const char* name{nullptr};
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::shared_ptr<const void> lifetime_;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum class Status {
|
||||||
|
CREATED,
|
||||||
|
INITIALIZED,
|
||||||
|
STREAMING,
|
||||||
|
STOPPED,
|
||||||
|
FAULT
|
||||||
|
};
|
||||||
|
|
||||||
AbstractDexHand() = default;
|
AbstractDexHand() = default;
|
||||||
explicit AbstractDexHand(const XmlNode& cfg): AbstractDevice(cfg) {}
|
explicit AbstractDexHand(const XmlNode& cfg) : AbstractDevice(cfg) {}
|
||||||
~AbstractDexHand() override = default;
|
~AbstractDexHand() override = default;
|
||||||
|
|
||||||
virtual void getState(DexHandState &state) {}
|
virtual Status state() const = 0;
|
||||||
|
virtual std::string lastError() const = 0;
|
||||||
|
|
||||||
// control
|
virtual void getState(DexHandState& state) {
|
||||||
virtual void setPositions(const std::vector<int>& finger_joint_targets) {}
|
state = DexHandState{};
|
||||||
virtual void setAngles(const std::vector<int>& finger_joint_angles) {}
|
const auto lifecycle = this->state();
|
||||||
virtual void setVelocities(const std::vector<int>& finger_joint_velocities) {}
|
state.is_initialized =
|
||||||
virtual void setPresetAct(int action_id) {}
|
lifecycle == Status::INITIALIZED ||
|
||||||
virtual void execPresetAct(int action_id) {}
|
lifecycle == Status::STREAMING;
|
||||||
virtual void setForce(const std::vector<int>& finger_joint_force) {}
|
}
|
||||||
virtual HandTactileSensors& getSensorData() { return hand_tactile_sensors_;}
|
|
||||||
virtual HandTactileSensors& getSensorData(FingerType finger_type, TactileRegion tactile_region) {
|
virtual void setAngles(const std::vector<int>& finger_joint_angles) = 0;
|
||||||
(void)finger_type;
|
virtual void setTactilePollingRegion(FingerType finger, TactileRegion region) {
|
||||||
(void)tactile_region;
|
setTactilePollingRegions({TactileRegionKey{finger, region}});
|
||||||
return getSensorData();
|
}
|
||||||
|
|
||||||
|
virtual void setTactilePollingRegions(const std::vector<TactileRegionKey>& regions) = 0;
|
||||||
|
virtual std::vector<TactileRegionData> getSensorData() = 0;
|
||||||
|
virtual TactileRegionData getSensorData(FingerType finger, TactileRegion region) = 0;
|
||||||
|
virtual ResultantForce getResultantForce(FingerType finger, TactileRegion region) = 0;
|
||||||
|
|
||||||
|
virtual void setPositions(const std::vector<int>&) {
|
||||||
|
throw std::logic_error("setPositions is not supported by this dexhand abstraction.");
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void setVelocities(const std::vector<int>&) {
|
||||||
|
throw std::logic_error("setVelocities is not supported by this dexhand abstraction.");
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void setPresetAct(int) {
|
||||||
|
throw std::logic_error("setPresetAct is not supported by this dexhand abstraction.");
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void execPresetAct(int) {
|
||||||
|
throw std::logic_error("execPresetAct is not supported by this dexhand abstraction.");
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void setForce(const std::vector<int>&) {
|
||||||
|
throw std::logic_error("setForce is not supported by this dexhand abstraction.");
|
||||||
}
|
}
|
||||||
protected:
|
|
||||||
DexHandState status_;
|
|
||||||
HandTactileSensors hand_tactile_sensors_;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
28
cmvr-es/devices/dexhand/px_6ax_gen3/CMakeLists.txt
Normal file
28
cmvr-es/devices/dexhand/px_6ax_gen3/CMakeLists.txt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
add_library(px_6ax_gen3 SHARED src/px_6ax_gen3.cpp)
|
||||||
|
|
||||||
|
target_include_directories(px_6ax_gen3 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
add_library(cmvr_es::device::px_6ax_gen3 ALIAS px_6ax_gen3)
|
||||||
|
|
||||||
|
target_link_libraries(px_6ax_gen3
|
||||||
|
PUBLIC cmvr_es::hardware
|
||||||
|
PRIVATE
|
||||||
|
cmvr_es::proto
|
||||||
|
glog
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS px_6ax_gen3 LIBRARY DESTINATION lib)
|
||||||
|
|
||||||
|
add_executable(px_6ax_gen3_test
|
||||||
|
src/px_6ax_gen3_test.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(px_6ax_gen3_test PRIVATE
|
||||||
|
cmvr_es::device::px_6ax_gen3
|
||||||
|
cmvr_es::common
|
||||||
|
cmvr_es::proto
|
||||||
|
glog
|
||||||
|
gtest
|
||||||
|
gtest_main
|
||||||
|
pthread
|
||||||
|
)
|
||||||
132
cmvr-es/devices/dexhand/px_6ax_gen3/include/px_6ax_gen3.h
Normal file
132
cmvr-es/devices/dexhand/px_6ax_gen3/include/px_6ax_gen3.h
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
//
|
||||||
|
// Created by Codex on 2026/4/3.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef PX_6AX_GEN3_DEXHAND_H
|
||||||
|
#define PX_6AX_GEN3_DEXHAND_H
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <atomic>
|
||||||
|
#include <chrono>
|
||||||
|
#include <condition_variable>
|
||||||
|
#include <memory>
|
||||||
|
#include <mutex>
|
||||||
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
#include <utility>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "cmvr/config/dexhand_config/dexhand_config.pb.h"
|
||||||
|
#include "hardware/include/abstract_serial_transport.h"
|
||||||
|
#include "../../abstract_dexhand.h"
|
||||||
|
|
||||||
|
namespace cmvr::device {
|
||||||
|
|
||||||
|
class PX6AXGen3 final : public AbstractDexHand {
|
||||||
|
public:
|
||||||
|
using FingerType = AbstractDexHand::FingerType;
|
||||||
|
using ResultantForce = AbstractDexHand::ResultantForce;
|
||||||
|
using TactilePoint = AbstractDexHand::TactilePoint;
|
||||||
|
using TactileRegion = AbstractDexHand::TactileRegion;
|
||||||
|
using TactileRegionKey = AbstractDexHand::TactileRegionKey;
|
||||||
|
using TactileRegionData = AbstractDexHand::TactileRegionData;
|
||||||
|
using Status = AbstractDexHand::Status;
|
||||||
|
|
||||||
|
enum class PollingReadMode {
|
||||||
|
DISTRIBUTED_FORCE,
|
||||||
|
RESULTANT_FORCE,
|
||||||
|
DISTRIBUTED_AND_RESULTANT_FORCE
|
||||||
|
};
|
||||||
|
|
||||||
|
explicit PX6AXGen3(const XmlNode& cfg);
|
||||||
|
explicit PX6AXGen3(const config::PX6AXGen3& cfg);
|
||||||
|
~PX6AXGen3() override;
|
||||||
|
|
||||||
|
void init() override;
|
||||||
|
void start() override;
|
||||||
|
void stop() override;
|
||||||
|
|
||||||
|
Status state() const override;
|
||||||
|
std::string lastError() const override;
|
||||||
|
void getState(DexHandState& state) override;
|
||||||
|
|
||||||
|
void setAngles(const std::vector<int>& finger_joint_angles) override;
|
||||||
|
void setTactilePollingRegions(const std::vector<TactileRegionKey>& regions) override;
|
||||||
|
std::vector<TactileRegionData> getSensorData() override;
|
||||||
|
TactileRegionData getSensorData(FingerType finger, TactileRegion region) override;
|
||||||
|
ResultantForce getResultantForce(FingerType finger, TactileRegion region) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
struct SensorSnapshot {
|
||||||
|
std::vector<TactilePoint> tactile_points;
|
||||||
|
std::array<int, 3> resultant_force_tenths{};
|
||||||
|
int rows{0};
|
||||||
|
int cols{0};
|
||||||
|
bool tactile_valid{false};
|
||||||
|
bool resultant_valid{false};
|
||||||
|
};
|
||||||
|
|
||||||
|
static PollingReadMode parsePollingReadMode(config::PX6AXGen3PollingReadMode mode);
|
||||||
|
static PollingReadMode parsePollingReadModeName(std::string value);
|
||||||
|
|
||||||
|
void parseXmlConfig();
|
||||||
|
void initializeSnapshot();
|
||||||
|
void ensureConnected();
|
||||||
|
void closeConnection();
|
||||||
|
void calibrateIfRequested();
|
||||||
|
void refreshSensorData();
|
||||||
|
void refreshSensorData(bool read_distributed, bool read_resultant);
|
||||||
|
void refreshSensorDataWithRetry(int max_attempts, std::chrono::milliseconds retry_interval);
|
||||||
|
void pollingLoop();
|
||||||
|
void ensureSensorReady(bool allow_background, bool require_tactile, bool require_resultant);
|
||||||
|
|
||||||
|
bool isSupportedRegion(FingerType finger, TactileRegion region) const;
|
||||||
|
bool isSnapshotReady(bool require_tactile, bool require_resultant) const;
|
||||||
|
TactileRegionData buildSupportedRegionSnapshot() const;
|
||||||
|
std::pair<bool, bool> resolvePollingReadSelection() const;
|
||||||
|
|
||||||
|
void clearOperationalError();
|
||||||
|
void handleRefreshFailure(const std::string& error, bool had_valid_snapshot);
|
||||||
|
void transitionTo(Status next_state);
|
||||||
|
void enterFault(const std::string& error);
|
||||||
|
bool isOperationalState(Status lifecycle) const;
|
||||||
|
|
||||||
|
std::unique_ptr<::cmvr::AbstractSerialTransport> serial_;
|
||||||
|
config::PX6AXGen3 config_;
|
||||||
|
|
||||||
|
mutable std::mutex lifecycle_mutex_;
|
||||||
|
Status lifecycle_state_{Status::CREATED};
|
||||||
|
std::string last_error_;
|
||||||
|
|
||||||
|
std::string port_name_;
|
||||||
|
std::string sensor_model_{"S1813_elite"};
|
||||||
|
std::string sensor_name_{"PX-6AX GEN3末端压力"};
|
||||||
|
int module_id_{0};
|
||||||
|
int device_address_{1};
|
||||||
|
int baud_rate_{921600};
|
||||||
|
int distributed_length_{0};
|
||||||
|
int resultant_length_{3};
|
||||||
|
int response_header_bytes_{14};
|
||||||
|
int tactile_rows_{1};
|
||||||
|
int tactile_cols_{0};
|
||||||
|
int response_timeout_ms_{200};
|
||||||
|
FingerType tactile_finger_{FingerType::INDEX};
|
||||||
|
TactileRegion tactile_region_{TactileRegion::TIP};
|
||||||
|
PollingReadMode polling_read_mode_{PollingReadMode::DISTRIBUTED_AND_RESULTANT_FORCE};
|
||||||
|
bool auto_calibrate_{false};
|
||||||
|
bool calibration_performed_{false};
|
||||||
|
|
||||||
|
mutable std::mutex refresh_mutex_;
|
||||||
|
mutable std::mutex snapshot_mutex_;
|
||||||
|
SensorSnapshot latest_snapshot_;
|
||||||
|
|
||||||
|
mutable std::mutex polling_mutex_;
|
||||||
|
std::condition_variable polling_cv_;
|
||||||
|
bool requested_polling_{true};
|
||||||
|
std::thread polling_thread_;
|
||||||
|
std::atomic<bool> polling_thread_running_{false};
|
||||||
|
std::chrono::milliseconds poll_interval_{10};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //PX_6AX_GEN3_DEXHAND_H
|
||||||
864
cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3.cpp
Normal file
864
cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3.cpp
Normal file
@ -0,0 +1,864 @@
|
|||||||
|
//
|
||||||
|
// Created by Codex on 2026/4/3.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "../include/px_6ax_gen3.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
#include <sstream>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <tuple>
|
||||||
|
|
||||||
|
#include "hardware/include/posix_serial_transport.h"
|
||||||
|
|
||||||
|
using namespace cmvr::device;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
using FingerType = AbstractDexHand::FingerType;
|
||||||
|
using TactilePoint = AbstractDexHand::TactilePoint;
|
||||||
|
using TactileRegion = AbstractDexHand::TactileRegion;
|
||||||
|
using TactileRegionKey = AbstractDexHand::TactileRegionKey;
|
||||||
|
using TactileRegionData = AbstractDexHand::TactileRegionData;
|
||||||
|
using Status = AbstractDexHand::Status;
|
||||||
|
|
||||||
|
enum class CommandType {
|
||||||
|
CALIBRATION,
|
||||||
|
RESULTANT_FORCE,
|
||||||
|
DISTRIBUTED_FORCE
|
||||||
|
};
|
||||||
|
|
||||||
|
uint8_t calculateLrc(const std::vector<uint8_t>& data) {
|
||||||
|
uint8_t lrc = 0;
|
||||||
|
for (const uint8_t byte : data) {
|
||||||
|
lrc = static_cast<uint8_t>((lrc + byte) & 0xFFU);
|
||||||
|
}
|
||||||
|
return static_cast<uint8_t>((~lrc + 1U) & 0xFFU);
|
||||||
|
}
|
||||||
|
|
||||||
|
FingerType parseFingerTypeName(std::string value) {
|
||||||
|
std::transform(value.begin(), value.end(), value.begin(), [](unsigned char ch) {
|
||||||
|
return static_cast<char>(std::toupper(ch));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (value == "PINKY") {
|
||||||
|
return FingerType::PINKY;
|
||||||
|
}
|
||||||
|
if (value == "RING") {
|
||||||
|
return FingerType::RING;
|
||||||
|
}
|
||||||
|
if (value == "MIDDLE" || value == "MIDDLE_FINGER") {
|
||||||
|
return FingerType::MIDDLE;
|
||||||
|
}
|
||||||
|
if (value == "INDEX") {
|
||||||
|
return FingerType::INDEX;
|
||||||
|
}
|
||||||
|
if (value == "THUMB") {
|
||||||
|
return FingerType::THUMB;
|
||||||
|
}
|
||||||
|
if (value == "PALM") {
|
||||||
|
return FingerType::PALM;
|
||||||
|
}
|
||||||
|
throw std::invalid_argument("Unsupported tactile finger type: " + value);
|
||||||
|
}
|
||||||
|
|
||||||
|
TactileRegion parseTactileRegionName(std::string value) {
|
||||||
|
std::transform(value.begin(), value.end(), value.begin(), [](unsigned char ch) {
|
||||||
|
return static_cast<char>(std::toupper(ch));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (value == "TIP") {
|
||||||
|
return TactileRegion::TIP;
|
||||||
|
}
|
||||||
|
if (value == "FINGER") {
|
||||||
|
return TactileRegion::FINGER;
|
||||||
|
}
|
||||||
|
if (value == "PAD") {
|
||||||
|
return TactileRegion::PAD;
|
||||||
|
}
|
||||||
|
if (value == "THUMB_MIDDLE") {
|
||||||
|
return TactileRegion::THUMB_MIDDLE;
|
||||||
|
}
|
||||||
|
if (value == "PALM_PAD") {
|
||||||
|
return TactileRegion::PALM_PAD;
|
||||||
|
}
|
||||||
|
throw std::invalid_argument("Unsupported tactile region type: " + value);
|
||||||
|
}
|
||||||
|
|
||||||
|
int parseSignedByte(const uint8_t byte) {
|
||||||
|
return byte <= 127U ? static_cast<int>(byte) : static_cast<int>(byte) - 256;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<uint8_t> buildCommandFrame(const CommandType command,
|
||||||
|
const int device_address,
|
||||||
|
const int distributed_length) {
|
||||||
|
std::vector<uint8_t> frame;
|
||||||
|
switch (command) {
|
||||||
|
case CommandType::CALIBRATION:
|
||||||
|
frame = {
|
||||||
|
0x55, 0xAA, 0x0A, 0x00,
|
||||||
|
static_cast<uint8_t>(device_address),
|
||||||
|
0x00, 0x79, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01
|
||||||
|
};
|
||||||
|
break;
|
||||||
|
case CommandType::RESULTANT_FORCE:
|
||||||
|
frame = {
|
||||||
|
0x55, 0xAA, 0x09, 0x00,
|
||||||
|
static_cast<uint8_t>(device_address),
|
||||||
|
0x00, 0xFB, 0xF0, 0x03, 0x00, 0x00, 0x03, 0x00
|
||||||
|
};
|
||||||
|
break;
|
||||||
|
case CommandType::DISTRIBUTED_FORCE:
|
||||||
|
frame = {
|
||||||
|
0x55, 0xAA, 0x09, 0x00,
|
||||||
|
static_cast<uint8_t>(device_address),
|
||||||
|
0x00, 0xFB, 0x0E, 0x04, 0x00, 0x00,
|
||||||
|
static_cast<uint8_t>(distributed_length & 0xFF),
|
||||||
|
static_cast<uint8_t>((distributed_length >> 8) & 0xFF)
|
||||||
|
};
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
frame.push_back(calculateLrc(frame));
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<uint8_t> extractPayload(const std::vector<uint8_t>& response,
|
||||||
|
const size_t frame_offset,
|
||||||
|
const size_t response_header_bytes,
|
||||||
|
const size_t payload_length) {
|
||||||
|
if (response.size() < frame_offset + response_header_bytes + payload_length) {
|
||||||
|
throw std::runtime_error("PX-6AX GEN3 response shorter than expected payload window.");
|
||||||
|
}
|
||||||
|
return std::vector<uint8_t>(
|
||||||
|
response.begin() + static_cast<std::ptrdiff_t>(frame_offset + response_header_bytes),
|
||||||
|
response.begin() + static_cast<std::ptrdiff_t>(frame_offset + response_header_bytes + payload_length));
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t findResponseFrameOffset(const std::vector<uint8_t>& response,
|
||||||
|
const size_t expected_frame_bytes) {
|
||||||
|
if (response.size() < expected_frame_bytes) {
|
||||||
|
return std::string::npos;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (size_t offset = 0; offset + expected_frame_bytes <= response.size(); ++offset) {
|
||||||
|
if (response[offset] == 0xAA && response[offset + 1] == 0x55) {
|
||||||
|
return offset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::string::npos;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string previewBytesHex(const std::vector<uint8_t>& data, const size_t max_bytes = 32U) {
|
||||||
|
std::ostringstream stream;
|
||||||
|
const size_t preview_size = std::min(max_bytes, data.size());
|
||||||
|
for (size_t i = 0; i < preview_size; ++i) {
|
||||||
|
if (i > 0) {
|
||||||
|
stream << ' ';
|
||||||
|
}
|
||||||
|
stream << std::hex << std::uppercase;
|
||||||
|
stream.width(2);
|
||||||
|
stream.fill('0');
|
||||||
|
stream << static_cast<int>(data[i]);
|
||||||
|
}
|
||||||
|
if (data.size() > preview_size) {
|
||||||
|
stream << " ...";
|
||||||
|
}
|
||||||
|
return stream.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<uint8_t> readFramedResponse(cmvr::AbstractSerialTransport& serial,
|
||||||
|
const size_t expected_frame_bytes,
|
||||||
|
const size_t max_prefix_bytes,
|
||||||
|
const std::chrono::milliseconds timeout,
|
||||||
|
const std::string& response_name) {
|
||||||
|
const auto deadline = std::chrono::steady_clock::now() + timeout;
|
||||||
|
std::vector<uint8_t> response;
|
||||||
|
const bool read_ok = serial.read(expected_frame_bytes, timeout, response);
|
||||||
|
auto frame_offset = findResponseFrameOffset(response, expected_frame_bytes);
|
||||||
|
|
||||||
|
while (frame_offset == std::string::npos &&
|
||||||
|
response.size() < expected_frame_bytes + max_prefix_bytes) {
|
||||||
|
const auto now = std::chrono::steady_clock::now();
|
||||||
|
if (now >= deadline) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<uint8_t> extra_bytes;
|
||||||
|
const auto remaining_timeout = std::chrono::duration_cast<std::chrono::milliseconds>(deadline - now);
|
||||||
|
if (!serial.read(1U, remaining_timeout, extra_bytes)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
response.insert(response.end(), extra_bytes.begin(), extra_bytes.end());
|
||||||
|
frame_offset = findResponseFrameOffset(response, expected_frame_bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!read_ok && frame_offset == std::string::npos) {
|
||||||
|
throw std::runtime_error(
|
||||||
|
"Failed to read " + response_name + ": " + serial.lastError() +
|
||||||
|
", raw=" + previewBytesHex(response));
|
||||||
|
}
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::array<int, 3> parseResultantPayload(const std::vector<uint8_t>& payload) {
|
||||||
|
if (payload.size() < 3) {
|
||||||
|
throw std::runtime_error("PX-6AX GEN3 resultant payload must contain at least 3 bytes.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
parseSignedByte(payload[0]),
|
||||||
|
parseSignedByte(payload[1]),
|
||||||
|
static_cast<int>(payload[2])
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<TactilePoint> parseDistributedPayload(const std::vector<uint8_t>& payload) {
|
||||||
|
const size_t point_count = payload.size() / 3;
|
||||||
|
std::vector<TactilePoint> points;
|
||||||
|
points.reserve(point_count);
|
||||||
|
|
||||||
|
for (size_t i = 0; i < point_count; ++i) {
|
||||||
|
points.push_back(TactilePoint{
|
||||||
|
parseSignedByte(payload[i * 3]),
|
||||||
|
parseSignedByte(payload[i * 3 + 1]),
|
||||||
|
static_cast<int>(payload[i * 3 + 2])
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return points;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::pair<int, int> resolveMatrixShape(const int configured_rows,
|
||||||
|
const int configured_cols,
|
||||||
|
const size_t point_count) {
|
||||||
|
if (point_count == 0U) {
|
||||||
|
return {0, 0};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (configured_rows > 0 && configured_cols > 0 &&
|
||||||
|
static_cast<size_t>(configured_rows * configured_cols) == point_count) {
|
||||||
|
return {configured_rows, configured_cols};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (configured_rows > 0 && configured_cols <= 0 &&
|
||||||
|
point_count % static_cast<size_t>(configured_rows) == 0U) {
|
||||||
|
return {configured_rows, static_cast<int>(point_count / static_cast<size_t>(configured_rows))};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (configured_cols > 0 && configured_rows <= 0 &&
|
||||||
|
point_count % static_cast<size_t>(configured_cols) == 0U) {
|
||||||
|
return {static_cast<int>(point_count / static_cast<size_t>(configured_cols)), configured_cols};
|
||||||
|
}
|
||||||
|
|
||||||
|
return {1, static_cast<int>(point_count)};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PX6AXGen3::PollingReadMode PX6AXGen3::parsePollingReadMode(const config::PX6AXGen3PollingReadMode mode) {
|
||||||
|
switch (mode) {
|
||||||
|
case config::PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_FORCE:
|
||||||
|
return PollingReadMode::DISTRIBUTED_FORCE;
|
||||||
|
case config::PX_6AX_GEN3_POLLING_READ_MODE_RESULTANT_FORCE:
|
||||||
|
return PollingReadMode::RESULTANT_FORCE;
|
||||||
|
case config::PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_AND_RESULTANT_FORCE:
|
||||||
|
return PollingReadMode::DISTRIBUTED_AND_RESULTANT_FORCE;
|
||||||
|
default:
|
||||||
|
throw std::invalid_argument(
|
||||||
|
"Unsupported PX6AXGen3 polling_read_mode enum value: " +
|
||||||
|
std::to_string(static_cast<int>(mode)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PX6AXGen3::PollingReadMode PX6AXGen3::parsePollingReadModeName(std::string value) {
|
||||||
|
std::transform(value.begin(), value.end(), value.begin(), [](unsigned char ch) {
|
||||||
|
if (ch == '-' || ch == ' ' || ch == '+') {
|
||||||
|
return '_';
|
||||||
|
}
|
||||||
|
return static_cast<char>(std::toupper(ch));
|
||||||
|
});
|
||||||
|
|
||||||
|
if (value == "DISTRIBUTED_FORCE" ||
|
||||||
|
value == "PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_FORCE") {
|
||||||
|
return PollingReadMode::DISTRIBUTED_FORCE;
|
||||||
|
}
|
||||||
|
if (value == "RESULTANT_FORCE" ||
|
||||||
|
value == "PX_6AX_GEN3_POLLING_READ_MODE_RESULTANT_FORCE") {
|
||||||
|
return PollingReadMode::RESULTANT_FORCE;
|
||||||
|
}
|
||||||
|
if (value == "DISTRIBUTED_AND_RESULTANT_FORCE" ||
|
||||||
|
value == "RESULTANT_AND_DISTRIBUTED_FORCE" ||
|
||||||
|
value == "BOTH" ||
|
||||||
|
value == "PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_AND_RESULTANT_FORCE") {
|
||||||
|
return PollingReadMode::DISTRIBUTED_AND_RESULTANT_FORCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
throw std::invalid_argument("Unsupported PX6AXGen3 polling_read_mode: " + value);
|
||||||
|
}
|
||||||
|
|
||||||
|
PX6AXGen3::PX6AXGen3(const XmlNode& cfg)
|
||||||
|
: AbstractDexHand(cfg),
|
||||||
|
serial_(std::make_unique<::cmvr::PosixSerialTransport>()) {
|
||||||
|
parseXmlConfig();
|
||||||
|
initializeSnapshot();
|
||||||
|
}
|
||||||
|
|
||||||
|
PX6AXGen3::PX6AXGen3(const config::PX6AXGen3& cfg)
|
||||||
|
: serial_(std::make_unique<::cmvr::PosixSerialTransport>()),
|
||||||
|
config_(cfg) {
|
||||||
|
id_ = config_.id();
|
||||||
|
port_name_ = config_.serial_port();
|
||||||
|
if (!config_.sensor_model().empty()) {
|
||||||
|
sensor_model_ = config_.sensor_model();
|
||||||
|
}
|
||||||
|
module_id_ = std::max(0, config_.module_id());
|
||||||
|
device_address_ = module_id_ + 1;
|
||||||
|
if (config_.baud_rate() > 0) {
|
||||||
|
baud_rate_ = config_.baud_rate();
|
||||||
|
}
|
||||||
|
distributed_length_ = config_.distributed_length();
|
||||||
|
if (distributed_length_ <= 0) {
|
||||||
|
throw std::invalid_argument("PX6AXGen3 requires config.distributed_length to be explicitly configured.");
|
||||||
|
}
|
||||||
|
if (config_.resultant_length() > 0) {
|
||||||
|
resultant_length_ = config_.resultant_length();
|
||||||
|
}
|
||||||
|
if (config_.response_header_bytes() > 0) {
|
||||||
|
response_header_bytes_ = config_.response_header_bytes();
|
||||||
|
}
|
||||||
|
if (config_.tactile_rows() > 0) {
|
||||||
|
tactile_rows_ = config_.tactile_rows();
|
||||||
|
}
|
||||||
|
if (config_.tactile_cols() > 0) {
|
||||||
|
tactile_cols_ = config_.tactile_cols();
|
||||||
|
}
|
||||||
|
if (config_.response_timeout_ms() > 0) {
|
||||||
|
response_timeout_ms_ = config_.response_timeout_ms();
|
||||||
|
}
|
||||||
|
if (!config_.tactile_finger().empty()) {
|
||||||
|
tactile_finger_ = parseFingerTypeName(config_.tactile_finger());
|
||||||
|
}
|
||||||
|
if (!config_.tactile_region().empty()) {
|
||||||
|
tactile_region_ = parseTactileRegionName(config_.tactile_region());
|
||||||
|
}
|
||||||
|
if (!config_.sensor_name().empty()) {
|
||||||
|
sensor_name_ = config_.sensor_name();
|
||||||
|
}
|
||||||
|
polling_read_mode_ = parsePollingReadMode(config_.polling_read_mode());
|
||||||
|
auto_calibrate_ = config_.auto_calibrate();
|
||||||
|
if (config_.poll_interval_ms() > 0) {
|
||||||
|
poll_interval_ = std::chrono::milliseconds(config_.poll_interval_ms());
|
||||||
|
}
|
||||||
|
initializeSnapshot();
|
||||||
|
}
|
||||||
|
|
||||||
|
PX6AXGen3::~PX6AXGen3() {
|
||||||
|
stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::init() {
|
||||||
|
try {
|
||||||
|
ensureConnected();
|
||||||
|
refreshSensorDataWithRetry(
|
||||||
|
5,
|
||||||
|
std::chrono::milliseconds(std::max(10, response_timeout_ms_ / 2)));
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
enterFault("[PX6AXGen3](init): " + std::string(e.what()));
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::start() {
|
||||||
|
if (polling_thread_running_.exchange(true, std::memory_order_acq_rel)) {
|
||||||
|
transitionTo(Status::STREAMING);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (polling_thread_.joinable()) {
|
||||||
|
polling_thread_.join();
|
||||||
|
}
|
||||||
|
|
||||||
|
ensureConnected();
|
||||||
|
if (requested_polling_) {
|
||||||
|
refreshSensorDataWithRetry(
|
||||||
|
5,
|
||||||
|
std::chrono::milliseconds(std::max(10, response_timeout_ms_ / 2)));
|
||||||
|
}
|
||||||
|
|
||||||
|
polling_thread_ = std::thread(&PX6AXGen3::pollingLoop, this);
|
||||||
|
transitionTo(Status::STREAMING);
|
||||||
|
polling_cv_.notify_all();
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
polling_thread_running_.store(false, std::memory_order_release);
|
||||||
|
enterFault("[PX6AXGen3](start): " + std::string(e.what()));
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::stop() {
|
||||||
|
polling_thread_running_.store(false, std::memory_order_release);
|
||||||
|
polling_cv_.notify_all();
|
||||||
|
|
||||||
|
if (polling_thread_.joinable() && polling_thread_.get_id() != std::this_thread::get_id()) {
|
||||||
|
polling_thread_.join();
|
||||||
|
}
|
||||||
|
|
||||||
|
closeConnection();
|
||||||
|
|
||||||
|
if (state() != Status::FAULT) {
|
||||||
|
transitionTo(Status::STOPPED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PX6AXGen3::Status PX6AXGen3::state() const {
|
||||||
|
std::lock_guard<std::mutex> lock(lifecycle_mutex_);
|
||||||
|
return lifecycle_state_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string PX6AXGen3::lastError() const {
|
||||||
|
std::lock_guard<std::mutex> lock(lifecycle_mutex_);
|
||||||
|
return last_error_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::getState(DexHandState& state_out) {
|
||||||
|
DexHandState next_state{};
|
||||||
|
next_state.is_initialized = isOperationalState(state());
|
||||||
|
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(snapshot_mutex_);
|
||||||
|
if (latest_snapshot_.resultant_valid) {
|
||||||
|
next_state.hands[0].force = latest_snapshot_.resultant_force_tenths[2];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto error = lastError();
|
||||||
|
if (!error.empty()) {
|
||||||
|
next_state.hands[0].error_message.push_back(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
state_out = std::move(next_state);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::setAngles(const std::vector<int>&) {
|
||||||
|
throw std::logic_error("PX6AXGen3 is a tactile sensor only and does not support setAngles.");
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::setTactilePollingRegions(const std::vector<TactileRegionKey>& regions) {
|
||||||
|
for (const auto& region : regions) {
|
||||||
|
if (!isSupportedRegion(region.first, region.second)) {
|
||||||
|
throw std::invalid_argument("PX6AXGen3 only exposes INDEX/TIP tactile data.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(polling_mutex_);
|
||||||
|
requested_polling_ = !regions.empty();
|
||||||
|
}
|
||||||
|
polling_cv_.notify_all();
|
||||||
|
|
||||||
|
if (!regions.empty() && isOperationalState(state())) {
|
||||||
|
refreshSensorData();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<TactileRegionData> PX6AXGen3::getSensorData() {
|
||||||
|
ensureSensorReady(true, true, false);
|
||||||
|
std::vector<TactileRegionData> regions;
|
||||||
|
regions.push_back(buildSupportedRegionSnapshot());
|
||||||
|
return regions;
|
||||||
|
}
|
||||||
|
|
||||||
|
TactileRegionData PX6AXGen3::getSensorData(FingerType finger, TactileRegion region) {
|
||||||
|
if (!isSupportedRegion(finger, region)) {
|
||||||
|
throw std::invalid_argument("PX6AXGen3 only supports INDEX/TIP tactile data.");
|
||||||
|
}
|
||||||
|
|
||||||
|
ensureSensorReady(true, true, false);
|
||||||
|
return buildSupportedRegionSnapshot();
|
||||||
|
}
|
||||||
|
|
||||||
|
PX6AXGen3::ResultantForce PX6AXGen3::getResultantForce(FingerType finger, TactileRegion region) {
|
||||||
|
if (!isSupportedRegion(finger, region)) {
|
||||||
|
throw std::invalid_argument("PX6AXGen3 only supports INDEX/TIP tactile data.");
|
||||||
|
}
|
||||||
|
|
||||||
|
ensureSensorReady(true, false, true);
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(snapshot_mutex_);
|
||||||
|
if (!latest_snapshot_.resultant_valid) {
|
||||||
|
throw std::runtime_error("PX6AXGen3 resultant-force snapshot is not ready.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultantForce{
|
||||||
|
latest_snapshot_.resultant_force_tenths[0],
|
||||||
|
latest_snapshot_.resultant_force_tenths[1],
|
||||||
|
latest_snapshot_.resultant_force_tenths[2]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::parseXmlConfig() {
|
||||||
|
id_ = cfg_.getAttrString("id");
|
||||||
|
port_name_ = cfg_.getAttrString("serial");
|
||||||
|
sensor_model_ = cfg_.getAttrDefault("sensor_model", sensor_model_);
|
||||||
|
sensor_name_ = cfg_.getAttrDefault("sensor_name", sensor_name_);
|
||||||
|
module_id_ = std::max(0, cfg_.getAttrDefault("module_id", module_id_));
|
||||||
|
device_address_ = module_id_ + 1;
|
||||||
|
baud_rate_ = cfg_.getAttrDefault("baud_rate", baud_rate_);
|
||||||
|
distributed_length_ = cfg_.getAttrDefault("distributed_length", 0);
|
||||||
|
if (distributed_length_ <= 0) {
|
||||||
|
throw std::invalid_argument("PX6AXGen3 requires XML attribute distributed_length to be explicitly configured.");
|
||||||
|
}
|
||||||
|
resultant_length_ = cfg_.getAttrDefault("resultant_length", resultant_length_);
|
||||||
|
response_header_bytes_ = cfg_.getAttrDefault("response_header_bytes", response_header_bytes_);
|
||||||
|
tactile_rows_ = cfg_.getAttrDefault("tactile_rows", tactile_rows_);
|
||||||
|
tactile_cols_ = cfg_.getAttrDefault("tactile_cols", tactile_cols_);
|
||||||
|
response_timeout_ms_ = cfg_.getAttrDefault("response_timeout_ms", response_timeout_ms_);
|
||||||
|
tactile_finger_ = parseFingerTypeName(cfg_.getAttrDefault("tactile_finger", "INDEX"));
|
||||||
|
tactile_region_ = parseTactileRegionName(cfg_.getAttrDefault("tactile_region", "TIP"));
|
||||||
|
polling_read_mode_ = parsePollingReadModeName(
|
||||||
|
cfg_.getAttrDefault("polling_read_mode", "DISTRIBUTED_AND_RESULTANT_FORCE"));
|
||||||
|
auto_calibrate_ = cfg_.getAttrDefault("auto_calibrate", false);
|
||||||
|
poll_interval_ = std::chrono::milliseconds(std::max(1, cfg_.getAttrDefault("poll_interval_ms", static_cast<int>(poll_interval_.count()))));
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::initializeSnapshot() {
|
||||||
|
std::lock_guard<std::mutex> lock(snapshot_mutex_);
|
||||||
|
latest_snapshot_ = SensorSnapshot{};
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::ensureConnected() {
|
||||||
|
if (port_name_.empty()) {
|
||||||
|
throw std::runtime_error("PX6AXGen3 serial port is not configured.");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!serial_) {
|
||||||
|
serial_ = std::make_unique<::cmvr::PosixSerialTransport>();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!serial_->isOpen()) {
|
||||||
|
if (!serial_->open(::cmvr::AbstractSerialTransport::Config{port_name_, baud_rate_})) {
|
||||||
|
throw std::runtime_error("Failed to open PX-6AX GEN3 serial transport: " + serial_->lastError());
|
||||||
|
}
|
||||||
|
calibration_performed_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
calibrateIfRequested();
|
||||||
|
if (!isOperationalState(state())) {
|
||||||
|
transitionTo(Status::INITIALIZED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::closeConnection() {
|
||||||
|
if (serial_) {
|
||||||
|
if (!serial_->close()) {
|
||||||
|
LOG(WARNING) << "[PX6AXGen3] Failed to close serial transport: " << serial_->lastError();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
calibration_performed_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::calibrateIfRequested() {
|
||||||
|
if (!auto_calibrate_ || calibration_performed_) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto frame = buildCommandFrame(CommandType::CALIBRATION, device_address_, distributed_length_);
|
||||||
|
if (!serial_->flushInput()) {
|
||||||
|
throw std::runtime_error("Failed to flush serial input before calibration: " + serial_->lastError());
|
||||||
|
}
|
||||||
|
if (!serial_->write(frame)) {
|
||||||
|
throw std::runtime_error("Failed to send calibration command: " + serial_->lastError());
|
||||||
|
}
|
||||||
|
const auto response = readFramedResponse(
|
||||||
|
*serial_,
|
||||||
|
2U,
|
||||||
|
frame.size(),
|
||||||
|
std::chrono::milliseconds(response_timeout_ms_),
|
||||||
|
"calibration response");
|
||||||
|
if (findResponseFrameOffset(response, 2U) == std::string::npos) {
|
||||||
|
throw std::runtime_error(
|
||||||
|
"PX-6AX GEN3 calibration command did not receive a valid acknowledgment. raw=" +
|
||||||
|
previewBytesHex(response));
|
||||||
|
}
|
||||||
|
calibration_performed_ = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::refreshSensorData() {
|
||||||
|
const auto [read_distributed, read_resultant] = resolvePollingReadSelection();
|
||||||
|
refreshSensorData(read_distributed, read_resultant);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::refreshSensorData(const bool read_distributed, const bool read_resultant) {
|
||||||
|
if (!read_distributed && !read_resultant) {
|
||||||
|
throw std::invalid_argument("PX6AXGen3 refreshSensorData requires at least one data type to read.");
|
||||||
|
}
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> refresh_lock(refresh_mutex_);
|
||||||
|
const bool had_valid_snapshot = isSnapshotReady(read_distributed, read_resultant);
|
||||||
|
|
||||||
|
try {
|
||||||
|
ensureConnected();
|
||||||
|
|
||||||
|
std::vector<TactilePoint> tactile_points;
|
||||||
|
int rows = 0;
|
||||||
|
int cols = 0;
|
||||||
|
bool tactile_valid = false;
|
||||||
|
|
||||||
|
if (read_distributed) {
|
||||||
|
const auto distributed_frame = buildCommandFrame(CommandType::DISTRIBUTED_FORCE, device_address_, distributed_length_);
|
||||||
|
if (!serial_->flushInput()) {
|
||||||
|
throw std::runtime_error("Failed to flush serial input before distributed-force read: " + serial_->lastError());
|
||||||
|
}
|
||||||
|
if (!serial_->write(distributed_frame)) {
|
||||||
|
throw std::runtime_error("Failed to send distributed-force command: " + serial_->lastError());
|
||||||
|
}
|
||||||
|
const size_t distributed_frame_bytes =
|
||||||
|
static_cast<size_t>(response_header_bytes_) + static_cast<size_t>(distributed_length_);
|
||||||
|
const auto distributed_response = readFramedResponse(
|
||||||
|
*serial_,
|
||||||
|
distributed_frame_bytes,
|
||||||
|
distributed_frame.size(),
|
||||||
|
std::chrono::milliseconds(response_timeout_ms_),
|
||||||
|
"distributed tactile response");
|
||||||
|
const auto distributed_frame_offset =
|
||||||
|
findResponseFrameOffset(distributed_response, distributed_frame_bytes);
|
||||||
|
if (distributed_frame_offset == std::string::npos) {
|
||||||
|
throw std::runtime_error(
|
||||||
|
"Invalid distributed tactile response header. raw=" + previewBytesHex(distributed_response));
|
||||||
|
}
|
||||||
|
|
||||||
|
tactile_points = parseDistributedPayload(extractPayload(
|
||||||
|
distributed_response,
|
||||||
|
distributed_frame_offset,
|
||||||
|
static_cast<size_t>(response_header_bytes_),
|
||||||
|
static_cast<size_t>(distributed_length_)));
|
||||||
|
std::tie(rows, cols) = resolveMatrixShape(tactile_rows_, tactile_cols_, tactile_points.size());
|
||||||
|
tactile_valid = !tactile_points.empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::array<int, 3> resultant_force_tenths{};
|
||||||
|
bool resultant_valid = false;
|
||||||
|
if (read_resultant) {
|
||||||
|
try {
|
||||||
|
const auto resultant_frame = buildCommandFrame(CommandType::RESULTANT_FORCE, device_address_, distributed_length_);
|
||||||
|
if (!serial_->flushInput()) {
|
||||||
|
throw std::runtime_error("Failed to flush serial input before resultant-force read: " + serial_->lastError());
|
||||||
|
}
|
||||||
|
if (!serial_->write(resultant_frame)) {
|
||||||
|
throw std::runtime_error("Failed to send resultant-force command: " + serial_->lastError());
|
||||||
|
}
|
||||||
|
const size_t resultant_frame_bytes =
|
||||||
|
static_cast<size_t>(response_header_bytes_) + static_cast<size_t>(resultant_length_);
|
||||||
|
const auto resultant_response = readFramedResponse(
|
||||||
|
*serial_,
|
||||||
|
resultant_frame_bytes,
|
||||||
|
resultant_frame.size(),
|
||||||
|
std::chrono::milliseconds(response_timeout_ms_),
|
||||||
|
"resultant-force response");
|
||||||
|
const auto resultant_frame_offset =
|
||||||
|
findResponseFrameOffset(resultant_response, resultant_frame_bytes);
|
||||||
|
if (resultant_frame_offset != std::string::npos) {
|
||||||
|
resultant_force_tenths = parseResultantPayload(extractPayload(
|
||||||
|
resultant_response,
|
||||||
|
resultant_frame_offset,
|
||||||
|
static_cast<size_t>(response_header_bytes_),
|
||||||
|
static_cast<size_t>(resultant_length_)));
|
||||||
|
resultant_valid = true;
|
||||||
|
} else {
|
||||||
|
throw std::runtime_error(
|
||||||
|
"Invalid resultant-force response header. raw=" + previewBytesHex(resultant_response));
|
||||||
|
}
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
if (!read_distributed) {
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
LOG(WARNING) << "[PX6AXGen3] Failed to refresh resultant force: " << e.what();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(snapshot_mutex_);
|
||||||
|
if (read_distributed) {
|
||||||
|
latest_snapshot_.tactile_points = std::move(tactile_points);
|
||||||
|
latest_snapshot_.rows = rows;
|
||||||
|
latest_snapshot_.cols = cols;
|
||||||
|
latest_snapshot_.tactile_valid = tactile_valid;
|
||||||
|
}
|
||||||
|
if (read_resultant) {
|
||||||
|
latest_snapshot_.resultant_force_tenths = resultant_force_tenths;
|
||||||
|
latest_snapshot_.resultant_valid = resultant_valid;
|
||||||
|
}
|
||||||
|
|
||||||
|
clearOperationalError();
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
handleRefreshFailure("[PX6AXGen3](refreshSensorData): " + std::string(e.what()), had_valid_snapshot);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::refreshSensorDataWithRetry(const int max_attempts,
|
||||||
|
const std::chrono::milliseconds retry_interval) {
|
||||||
|
std::string last_error;
|
||||||
|
|
||||||
|
for (int attempt = 0; attempt < max_attempts; ++attempt) {
|
||||||
|
try {
|
||||||
|
refreshSensorData();
|
||||||
|
return;
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
last_error = e.what();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (attempt + 1 < max_attempts) {
|
||||||
|
std::this_thread::sleep_for(retry_interval);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw std::runtime_error(last_error.empty() ? "PX6AXGen3 refresh retries exhausted." : last_error);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::pollingLoop() {
|
||||||
|
auto next_poll_deadline = std::chrono::steady_clock::now();
|
||||||
|
std::unique_lock<std::mutex> lock(polling_mutex_);
|
||||||
|
while (polling_thread_running_.load(std::memory_order_acquire)) {
|
||||||
|
if (!requested_polling_) {
|
||||||
|
polling_cv_.wait(lock, [this]() {
|
||||||
|
return !polling_thread_running_.load(std::memory_order_acquire) || requested_polling_;
|
||||||
|
});
|
||||||
|
next_poll_deadline = std::chrono::steady_clock::now();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
lock.unlock();
|
||||||
|
try {
|
||||||
|
refreshSensorData();
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
LOG(ERROR) << e.what();
|
||||||
|
}
|
||||||
|
lock.lock();
|
||||||
|
|
||||||
|
next_poll_deadline += poll_interval_;
|
||||||
|
const auto now = std::chrono::steady_clock::now();
|
||||||
|
if (next_poll_deadline <= now) {
|
||||||
|
next_poll_deadline = now;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
polling_cv_.wait_until(lock, next_poll_deadline, [this]() {
|
||||||
|
return !polling_thread_running_.load(std::memory_order_acquire);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::ensureSensorReady(const bool allow_background,
|
||||||
|
const bool require_tactile,
|
||||||
|
const bool require_resultant) {
|
||||||
|
const auto [polls_tactile, polls_resultant] = resolvePollingReadSelection();
|
||||||
|
const bool background_covers_request =
|
||||||
|
(!require_tactile || polls_tactile) &&
|
||||||
|
(!require_resultant || polls_resultant);
|
||||||
|
const bool background_ready = allow_background &&
|
||||||
|
background_covers_request &&
|
||||||
|
polling_thread_running_.load(std::memory_order_acquire) &&
|
||||||
|
isSnapshotReady(require_tactile, require_resultant);
|
||||||
|
|
||||||
|
if (!background_ready) {
|
||||||
|
refreshSensorData(require_tactile, require_resultant);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PX6AXGen3::isSupportedRegion(const FingerType finger, const TactileRegion region) const {
|
||||||
|
return finger == tactile_finger_ && region == tactile_region_;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PX6AXGen3::isSnapshotReady(const bool require_tactile, const bool require_resultant) const {
|
||||||
|
std::lock_guard<std::mutex> lock(snapshot_mutex_);
|
||||||
|
return (!require_tactile || latest_snapshot_.tactile_valid) &&
|
||||||
|
(!require_resultant || latest_snapshot_.resultant_valid);
|
||||||
|
}
|
||||||
|
|
||||||
|
TactileRegionData PX6AXGen3::buildSupportedRegionSnapshot() const {
|
||||||
|
auto snapshot = std::make_shared<std::vector<TactilePoint>>();
|
||||||
|
int rows = 0;
|
||||||
|
int cols = 0;
|
||||||
|
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(snapshot_mutex_);
|
||||||
|
if (!latest_snapshot_.tactile_valid) {
|
||||||
|
throw std::runtime_error("PX6AXGen3 tactile snapshot is not ready.");
|
||||||
|
}
|
||||||
|
*snapshot = latest_snapshot_.tactile_points;
|
||||||
|
rows = latest_snapshot_.rows;
|
||||||
|
cols = latest_snapshot_.cols;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TactileRegionData(
|
||||||
|
tactile_finger_,
|
||||||
|
tactile_region_,
|
||||||
|
AbstractDexHand::TactileMatrixView{snapshot->data(), rows, cols},
|
||||||
|
sensor_name_.c_str(),
|
||||||
|
snapshot);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::pair<bool, bool> PX6AXGen3::resolvePollingReadSelection() const {
|
||||||
|
switch (polling_read_mode_) {
|
||||||
|
case PollingReadMode::DISTRIBUTED_FORCE:
|
||||||
|
return {true, false};
|
||||||
|
case PollingReadMode::RESULTANT_FORCE:
|
||||||
|
return {false, true};
|
||||||
|
case PollingReadMode::DISTRIBUTED_AND_RESULTANT_FORCE:
|
||||||
|
return {true, true};
|
||||||
|
}
|
||||||
|
|
||||||
|
throw std::logic_error("Unsupported PX6AXGen3 polling read mode.");
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::clearOperationalError() {
|
||||||
|
std::lock_guard<std::mutex> lock(lifecycle_mutex_);
|
||||||
|
if (lifecycle_state_ == Status::INITIALIZED || lifecycle_state_ == Status::STREAMING) {
|
||||||
|
last_error_.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::handleRefreshFailure(const std::string& error, const bool had_valid_snapshot) {
|
||||||
|
closeConnection();
|
||||||
|
|
||||||
|
if (had_valid_snapshot) {
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(lifecycle_mutex_);
|
||||||
|
if (lifecycle_state_ == Status::INITIALIZED || lifecycle_state_ == Status::STREAMING) {
|
||||||
|
last_error_ = error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LOG(WARNING) << error;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
enterFault(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::transitionTo(const Status next_state) {
|
||||||
|
std::lock_guard<std::mutex> lock(lifecycle_mutex_);
|
||||||
|
lifecycle_state_ = next_state;
|
||||||
|
if (next_state == Status::INITIALIZED || next_state == Status::STREAMING) {
|
||||||
|
last_error_.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PX6AXGen3::enterFault(const std::string& error) {
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(lifecycle_mutex_);
|
||||||
|
lifecycle_state_ = Status::FAULT;
|
||||||
|
last_error_ = error;
|
||||||
|
}
|
||||||
|
|
||||||
|
polling_thread_running_.store(false, std::memory_order_release);
|
||||||
|
polling_cv_.notify_all();
|
||||||
|
closeConnection();
|
||||||
|
|
||||||
|
LOG(ERROR) << error;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PX6AXGen3::isOperationalState(const Status lifecycle) const {
|
||||||
|
return lifecycle == Status::INITIALIZED || lifecycle == Status::STREAMING;
|
||||||
|
}
|
||||||
170
cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3_test.cpp
Normal file
170
cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3_test.cpp
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
|
#include "../include/px_6ax_gen3.h"
|
||||||
|
#include "cmvr/config/dexhand_config/dexhand_config.pb.h"
|
||||||
|
#include "common/utils/config_helper/include/config_helper.h"
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <iostream>
|
||||||
|
#include <memory>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
using DexHand = cmvr::device::AbstractDexHand;
|
||||||
|
using PX6AXGen3 = cmvr::device::PX6AXGen3;
|
||||||
|
|
||||||
|
DexHand::FingerType parseFingerType(const std::string& value) {
|
||||||
|
if (value == "PINKY") {
|
||||||
|
return DexHand::FingerType::PINKY;
|
||||||
|
}
|
||||||
|
if (value == "RING") {
|
||||||
|
return DexHand::FingerType::RING;
|
||||||
|
}
|
||||||
|
if (value == "MIDDLE" || value == "MIDDLE_FINGER") {
|
||||||
|
return DexHand::FingerType::MIDDLE;
|
||||||
|
}
|
||||||
|
if (value == "THUMB") {
|
||||||
|
return DexHand::FingerType::THUMB;
|
||||||
|
}
|
||||||
|
if (value == "PALM") {
|
||||||
|
return DexHand::FingerType::PALM;
|
||||||
|
}
|
||||||
|
return DexHand::FingerType::INDEX;
|
||||||
|
}
|
||||||
|
|
||||||
|
DexHand::TactileRegion parseTactileRegion(const std::string& value) {
|
||||||
|
if (value == "FINGER") {
|
||||||
|
return DexHand::TactileRegion::FINGER;
|
||||||
|
}
|
||||||
|
if (value == "PAD") {
|
||||||
|
return DexHand::TactileRegion::PAD;
|
||||||
|
}
|
||||||
|
if (value == "THUMB_MIDDLE") {
|
||||||
|
return DexHand::TactileRegion::THUMB_MIDDLE;
|
||||||
|
}
|
||||||
|
if (value == "PALM_PAD") {
|
||||||
|
return DexHand::TactileRegion::PALM_PAD;
|
||||||
|
}
|
||||||
|
return DexHand::TactileRegion::TIP;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct StopGuard {
|
||||||
|
std::shared_ptr<PX6AXGen3> hand;
|
||||||
|
|
||||||
|
~StopGuard() {
|
||||||
|
if (!hand) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
hand->stop();
|
||||||
|
} catch (...) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const cmvr::config::PX6AXGen3* findTestConfig(const cmvr::config::DexHandConfig& dexhand_config) {
|
||||||
|
const cmvr::config::PX6AXGen3* candidate = nullptr;
|
||||||
|
for (const auto& config : dexhand_config.px_6ax_gen3()) {
|
||||||
|
if (config.enable() && !config.serial_port().empty()) {
|
||||||
|
return &config;
|
||||||
|
}
|
||||||
|
if (candidate == nullptr && !config.serial_port().empty()) {
|
||||||
|
candidate = &config;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return candidate;
|
||||||
|
}
|
||||||
|
|
||||||
|
DexHand::ResultantForce readFirstValidResultantForce(PX6AXGen3& hand,
|
||||||
|
const DexHand::FingerType finger,
|
||||||
|
const DexHand::TactileRegion region,
|
||||||
|
const int max_attempts,
|
||||||
|
const std::chrono::milliseconds retry_interval) {
|
||||||
|
std::string last_error;
|
||||||
|
|
||||||
|
for (int attempt = 0; attempt < max_attempts; ++attempt) {
|
||||||
|
try {
|
||||||
|
return hand.getResultantForce(finger, region);
|
||||||
|
} catch (const std::exception& ex) {
|
||||||
|
last_error = ex.what();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (attempt + 1 < max_attempts) {
|
||||||
|
std::this_thread::sleep_for(retry_interval);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw std::runtime_error("Failed to read PX6AXGen3 resultant force: " + last_error);
|
||||||
|
}
|
||||||
|
|
||||||
|
DexHand::ResultantForce readStateResultantForce(PX6AXGen3& hand) {
|
||||||
|
cmvr::device::DexHandState state;
|
||||||
|
hand.getState(state);
|
||||||
|
return DexHand::ResultantForce{0, 0, state.hands[0].force};
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
TEST(PX6AXGen3Test, PrintResultantForceOnly) {
|
||||||
|
cmvr::config::DexHandConfig dexhand_config;
|
||||||
|
ASSERT_TRUE(cmvr::ConfigHelper::getDexHandsConfig(dexhand_config));
|
||||||
|
|
||||||
|
const cmvr::config::PX6AXGen3* hand_config = findTestConfig(dexhand_config);
|
||||||
|
ASSERT_NE(hand_config, nullptr);
|
||||||
|
|
||||||
|
const auto& test_config = *hand_config;
|
||||||
|
|
||||||
|
auto hand = std::make_shared<PX6AXGen3>(test_config);
|
||||||
|
ASSERT_NO_THROW(hand->init());
|
||||||
|
ASSERT_NO_THROW(hand->start());
|
||||||
|
StopGuard stop_guard{hand};
|
||||||
|
|
||||||
|
EXPECT_EQ(hand->state(), DexHand::Status::STREAMING);
|
||||||
|
|
||||||
|
const DexHand::FingerType finger = parseFingerType(test_config.tactile_finger());
|
||||||
|
const DexHand::TactileRegion region = parseTactileRegion(test_config.tactile_region());
|
||||||
|
const int warmup_ms = test_config.poll_interval_ms() > 0
|
||||||
|
? test_config.poll_interval_ms() * 5
|
||||||
|
: 200;
|
||||||
|
const int iterations = 1000000;
|
||||||
|
const int read_interval_ms = test_config.poll_interval_ms() > 0
|
||||||
|
? test_config.poll_interval_ms()
|
||||||
|
: 10;
|
||||||
|
if (warmup_ms > 0) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(warmup_ms));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool read_once = false;
|
||||||
|
for (int iteration = 0; iteration < iterations; ++iteration) {
|
||||||
|
DexHand::ResultantForce resultant_force{};
|
||||||
|
ASSERT_NO_THROW(resultant_force = readFirstValidResultantForce(
|
||||||
|
*hand,
|
||||||
|
finger,
|
||||||
|
region,
|
||||||
|
10,
|
||||||
|
std::chrono::milliseconds(100)));
|
||||||
|
|
||||||
|
DexHand::ResultantForce state_force{};
|
||||||
|
ASSERT_NO_THROW(state_force = readStateResultantForce(*hand));
|
||||||
|
|
||||||
|
std::cout << "[PX6AXGen3Test] iter=" << (iteration + 1)
|
||||||
|
<< " resultant_fx=" << resultant_force.fx
|
||||||
|
<< " resultant_fy=" << resultant_force.fy
|
||||||
|
<< " resultant_fz=" << resultant_force.fz
|
||||||
|
<< " state_resultant_fz=" << state_force.fz
|
||||||
|
<< std::endl;
|
||||||
|
|
||||||
|
read_once = true;
|
||||||
|
|
||||||
|
if (read_interval_ms > 0 && iteration + 1 < iterations) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(read_interval_ms));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPECT_TRUE(read_once);
|
||||||
|
}
|
||||||
@ -7,3 +7,17 @@ add_library(cmvr_es::device::rh56dftp_dexhand ALIAS rh56dftp_dexhand)
|
|||||||
target_link_libraries(rh56dftp_dexhand PRIVATE cmvr_es::hardware -lmodbus)
|
target_link_libraries(rh56dftp_dexhand PRIVATE cmvr_es::hardware -lmodbus)
|
||||||
|
|
||||||
install(TARGETS rh56dftp_dexhand LIBRARY DESTINATION lib)
|
install(TARGETS rh56dftp_dexhand LIBRARY DESTINATION lib)
|
||||||
|
|
||||||
|
add_executable(rh56dftp_dexhand_test
|
||||||
|
src/rh56dftp_dexhand_test.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(rh56dftp_dexhand_test PRIVATE
|
||||||
|
cmvr_es::device::rh56dftp_dexhand
|
||||||
|
cmvr_es::common
|
||||||
|
cmvr_es::proto
|
||||||
|
glog
|
||||||
|
gtest
|
||||||
|
gtest_main
|
||||||
|
pthread
|
||||||
|
)
|
||||||
|
|||||||
@ -5,78 +5,126 @@
|
|||||||
#ifndef RH56DFTP_DEXHAND_H
|
#ifndef RH56DFTP_DEXHAND_H
|
||||||
#define RH56DFTP_DEXHAND_H
|
#define RH56DFTP_DEXHAND_H
|
||||||
|
|
||||||
#include <thread>
|
#include <array>
|
||||||
#include <mutex>
|
#include <atomic>
|
||||||
#include <queue>
|
#include <bitset>
|
||||||
|
#include <chrono>
|
||||||
#include <condition_variable>
|
#include <condition_variable>
|
||||||
|
#include <memory>
|
||||||
|
#include <mutex>
|
||||||
|
#include <shared_mutex>
|
||||||
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include <modbus/modbus.h>
|
#include <modbus/modbus.h>
|
||||||
#include <boost/lockfree/spsc_queue.hpp>
|
|
||||||
#include "../../../../utils/base/include/os.h"
|
#include "cmvr/config/dexhand_config/dexhand_config.pb.h"
|
||||||
#include "../../abstract_dexhand.h"
|
#include "../../abstract_dexhand.h"
|
||||||
#include "../../../../hardware/include/serial_interface.h"
|
#include "rh56dftp_tactile_buffer.h"
|
||||||
|
|
||||||
namespace cmvr::device {
|
namespace cmvr::device {
|
||||||
|
|
||||||
class ModbusController {
|
class ModbusController {
|
||||||
private:
|
|
||||||
modbus_t *ctx;
|
|
||||||
std::map<std::string, int> regdict;
|
|
||||||
static constexpr int MAX_REGISTERS_PER_READ = 64; // 根据Modbus协议限制设置
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ModbusController();
|
ModbusController() = default;
|
||||||
~ModbusController();
|
~ModbusController();
|
||||||
|
|
||||||
bool open(const std::string& ip, int port);
|
void open(const std::string& ip, int port);
|
||||||
void close();
|
void close();
|
||||||
|
bool isOpen() const;
|
||||||
|
|
||||||
bool writeRegisters(int address, const std::vector<uint16_t>& values);
|
void writeRegisters(int address, const uint16_t* values, int count);
|
||||||
std::vector<uint16_t> readRegisters(int address, int count);
|
void readRegisterBlock(int start_address, int count, std::vector<uint16_t>& values);
|
||||||
std::vector<uint16_t> readRegisterRange(int start_addr, int end_addr);
|
|
||||||
|
|
||||||
bool write6(const std::string& reg_name, const std::vector<int>& val);
|
private:
|
||||||
bool read6(const std::string& reg_name, std::vector<int>& result);
|
void closeUnlocked();
|
||||||
|
|
||||||
static void sleep(float seconds);
|
modbus_t* ctx_{nullptr};
|
||||||
|
mutable std::mutex io_mutex_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RH56DFTPDexhand final : public AbstractDexHand{
|
class RH56DFTPDexhand final : public AbstractDexHand {
|
||||||
public:
|
public:
|
||||||
|
using FingerType = AbstractDexHand::FingerType;
|
||||||
|
using ResultantForce = AbstractDexHand::ResultantForce;
|
||||||
|
using TactileRegion = AbstractDexHand::TactileRegion;
|
||||||
|
using TactileRegionKey = AbstractDexHand::TactileRegionKey;
|
||||||
|
using TactileRegionData = AbstractDexHand::TactileRegionData;
|
||||||
|
using Status = AbstractDexHand::Status;
|
||||||
|
|
||||||
|
static constexpr size_t ANGLE_COMMAND_COUNT = 6;
|
||||||
|
static constexpr size_t TACTILE_REGION_SLOT_COUNT = RH56TactileBuffer::REGION_COUNT;
|
||||||
|
using RegionMask = std::bitset<TACTILE_REGION_SLOT_COUNT>;
|
||||||
|
|
||||||
explicit RH56DFTPDexhand(const XmlNode& cfg);
|
explicit RH56DFTPDexhand(const XmlNode& cfg);
|
||||||
RH56DFTPDexhand(const config::RH56DFTPDexHandConfig& cfg);
|
explicit RH56DFTPDexhand(const config::RH56DFTPDexHandConfig& cfg);
|
||||||
~RH56DFTPDexhand() override;
|
~RH56DFTPDexhand() override;
|
||||||
|
|
||||||
void init() override;
|
void init() override;
|
||||||
void start() override;
|
void start() override;
|
||||||
void stop() override;
|
void stop() override;
|
||||||
|
|
||||||
|
Status state() const override;
|
||||||
|
std::string lastError() const override;
|
||||||
|
void getState(DexHandState& state) override;
|
||||||
|
|
||||||
void getState(DexHandState &state) override;
|
|
||||||
|
|
||||||
// control
|
|
||||||
void setPositions(const std::vector<int>& finger_joint_targets) override;
|
|
||||||
void setAngles(const std::vector<int>& finger_joint_angles) override;
|
void setAngles(const std::vector<int>& finger_joint_angles) override;
|
||||||
void setVelocities(const std::vector<int>& finger_joint_velocities) override;
|
void setTactilePollingRegions(const std::vector<TactileRegionKey>& regions) override;
|
||||||
void setPresetAct(int action_id) override;//这个接口暂时不可用,未开放寄存器设置预设
|
std::vector<TactileRegionData> getSensorData() override;
|
||||||
void execPresetAct(int action_id) override;//这个无用
|
TactileRegionData getSensorData(FingerType finger, TactileRegion region) override;
|
||||||
void setForce(const std::vector<int>& finger_joint_force) override;
|
ResultantForce getResultantForce(FingerType finger, TactileRegion region) override;
|
||||||
HandTactileSensors& getSensorData() override;
|
|
||||||
HandTactileSensors& getSensorData(FingerType finger_type, TactileRegion tactile_region) override;
|
|
||||||
private:
|
|
||||||
void updateState();
|
|
||||||
void updateSensorData();
|
|
||||||
|
|
||||||
int default_force_;//上电的力控阈值
|
private:
|
||||||
int default_speed_;//上电的自由角转动速度
|
struct TactileBufferLease {
|
||||||
|
std::shared_lock<std::shared_mutex> lock;
|
||||||
|
const RH56TactileBuffer* buffer{nullptr};
|
||||||
|
};
|
||||||
|
|
||||||
|
void parseXmlConfig();
|
||||||
|
void initializeTactileBuffers();
|
||||||
|
void ensureConnected();
|
||||||
|
void refreshTactileData(const RegionMask& mask);
|
||||||
|
void tactilePollingLoop();
|
||||||
|
|
||||||
|
std::shared_ptr<const TactileBufferLease> acquireActiveBufferLease() const;
|
||||||
|
std::vector<TactileRegionData> acquireAllRegionData() const;
|
||||||
|
TactileRegionData acquireRegionData(FingerType finger, TactileRegion region) const;
|
||||||
|
|
||||||
|
bool isRequestedMaskCovered(const RegionMask& mask) const;
|
||||||
|
bool isActiveBufferReady(const RegionMask& mask) const;
|
||||||
|
void ensureTactileMaskReady(const RegionMask& mask, bool allow_background);
|
||||||
|
|
||||||
|
void transitionTo(Status next_state);
|
||||||
|
void enterFault(const std::string& error);
|
||||||
|
bool isOperationalState(Status lifecycle) const;
|
||||||
|
|
||||||
std::string ip_address_;
|
std::string ip_address_;
|
||||||
int port_;
|
int port_{6000};
|
||||||
std::shared_ptr<ModbusController> controller_;
|
|
||||||
|
|
||||||
|
std::unique_ptr<ModbusController> controller_;
|
||||||
config::RH56DFTPDexHandConfig dexhandCfg_;
|
config::RH56DFTPDexHandConfig dexhandCfg_;
|
||||||
|
|
||||||
|
mutable std::mutex lifecycle_mutex_;
|
||||||
|
Status lifecycle_state_{Status::CREATED};
|
||||||
|
std::string last_error_;
|
||||||
|
|
||||||
|
mutable std::mutex command_mutex_;
|
||||||
|
std::array<int, ANGLE_COMMAND_COUNT> last_commanded_angles_{};
|
||||||
|
|
||||||
|
std::array<RH56TactileBuffer, 2> tactile_buffers_;
|
||||||
|
std::array<RegionMask, 2> tactile_buffer_masks_{};
|
||||||
|
mutable std::shared_mutex tactile_buffer_mutex_;
|
||||||
|
mutable std::mutex tactile_refresh_mutex_;
|
||||||
|
|
||||||
|
mutable std::mutex polling_mutex_;
|
||||||
|
std::condition_variable polling_cv_;
|
||||||
|
RegionMask requested_polling_mask_{};
|
||||||
|
std::thread tactile_thread_;
|
||||||
|
std::atomic<bool> tactile_thread_running_{false};
|
||||||
|
std::atomic<int> active_buffer_index_{0};
|
||||||
|
std::chrono::milliseconds tactile_poll_interval_{10};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif //RH56DFTP_DEXHAND_H
|
#endif //RH56DFTP_DEXHAND_H
|
||||||
|
|||||||
@ -0,0 +1,140 @@
|
|||||||
|
#ifndef RH56DFTP_TACTILE_BUFFER_H
|
||||||
|
#define RH56DFTP_TACTILE_BUFFER_H
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <stdexcept>
|
||||||
|
|
||||||
|
#include "../../abstract_dexhand.h"
|
||||||
|
|
||||||
|
namespace cmvr::device {
|
||||||
|
|
||||||
|
enum class RH56TactileFillOrder {
|
||||||
|
ROW_MAJOR,
|
||||||
|
COLUMN_MAJOR_TOP_TO_BOTTOM,
|
||||||
|
COLUMN_MAJOR_BOTTOM_TO_TOP
|
||||||
|
};
|
||||||
|
|
||||||
|
struct RH56TactileRegionLayout {
|
||||||
|
AbstractDexHand::FingerType finger{AbstractDexHand::FingerType::PINKY};
|
||||||
|
AbstractDexHand::TactileRegion region{AbstractDexHand::TactileRegion::TIP};
|
||||||
|
const char* name{nullptr};
|
||||||
|
int rows{0};
|
||||||
|
int cols{0};
|
||||||
|
size_t offset{0};
|
||||||
|
size_t point_count{0};
|
||||||
|
RH56TactileFillOrder fill_order{RH56TactileFillOrder::ROW_MAJOR};
|
||||||
|
|
||||||
|
AbstractDexHand::TactileMatrixView view(const AbstractDexHand::TactilePoint* buffer) const {
|
||||||
|
return AbstractDexHand::TactileMatrixView{buffer + offset, rows, cols};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class RH56TactileBuffer {
|
||||||
|
public:
|
||||||
|
static constexpr size_t REGION_COUNT = 17;
|
||||||
|
static constexpr size_t POINT_COUNT = 1062;
|
||||||
|
|
||||||
|
void clear() {
|
||||||
|
values_.fill(AbstractDexHand::TactilePoint{});
|
||||||
|
}
|
||||||
|
|
||||||
|
void assignRegionData(AbstractDexHand::FingerType finger,
|
||||||
|
AbstractDexHand::TactileRegion region,
|
||||||
|
const uint16_t* input,
|
||||||
|
int valueCount) {
|
||||||
|
const auto& layout = regionLayout(finger, region);
|
||||||
|
auto* destination = values_.data() + layout.offset;
|
||||||
|
const auto sanitize_point = [](const uint16_t value) {
|
||||||
|
return AbstractDexHand::TactilePoint::fromFz(value > 4096U ? 0 : static_cast<int32_t>(value));
|
||||||
|
};
|
||||||
|
int input_index = 0;
|
||||||
|
|
||||||
|
if (layout.fill_order == RH56TactileFillOrder::ROW_MAJOR) {
|
||||||
|
for (size_t point = 0; point < layout.point_count && input_index < valueCount; ++point, ++input_index) {
|
||||||
|
destination[point] = sanitize_point(input[input_index]);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const bool reverse_rows = layout.fill_order == RH56TactileFillOrder::COLUMN_MAJOR_BOTTOM_TO_TOP;
|
||||||
|
for (int col = 0; col < layout.cols; ++col) {
|
||||||
|
for (int row_index = 0; row_index < layout.rows && input_index < valueCount; ++row_index, ++input_index) {
|
||||||
|
const int row = reverse_rows ? (layout.rows - 1 - row_index) : row_index;
|
||||||
|
destination[static_cast<size_t>(row * layout.cols + col)] = sanitize_point(input[input_index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const RH56TactileRegionLayout& regionLayout(AbstractDexHand::FingerType finger,
|
||||||
|
AbstractDexHand::TactileRegion region) const {
|
||||||
|
return layouts()[findRegionIndex(finger, region)];
|
||||||
|
}
|
||||||
|
|
||||||
|
AbstractDexHand::TactileMatrixView regionView(AbstractDexHand::FingerType finger,
|
||||||
|
AbstractDexHand::TactileRegion region) const {
|
||||||
|
const auto& layout = regionLayout(finger, region);
|
||||||
|
return layout.view(values_.data());
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::array<RH56TactileRegionLayout, REGION_COUNT>& layouts() const {
|
||||||
|
return staticLayouts();
|
||||||
|
}
|
||||||
|
|
||||||
|
const AbstractDexHand::TactilePoint* data() const {
|
||||||
|
return values_.data();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static const std::array<RH56TactileRegionLayout, REGION_COUNT>& staticLayouts() {
|
||||||
|
static const std::array<RH56TactileRegionLayout, REGION_COUNT> layouts = {{
|
||||||
|
{AbstractDexHand::FingerType::PINKY, AbstractDexHand::TactileRegion::TIP, "小拇指指端", 3, 3, 0, 9, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::PINKY, AbstractDexHand::TactileRegion::FINGER, "小拇指指尖", 12, 8, 9, 96, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::PINKY, AbstractDexHand::TactileRegion::PAD, "小拇指指腹", 10, 8, 105, 80, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
|
||||||
|
{AbstractDexHand::FingerType::RING, AbstractDexHand::TactileRegion::TIP, "无名指指端", 3, 3, 185, 9, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::RING, AbstractDexHand::TactileRegion::FINGER, "无名指指尖", 12, 8, 194, 96, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::RING, AbstractDexHand::TactileRegion::PAD, "无名指指腹", 10, 8, 290, 80, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
|
||||||
|
{AbstractDexHand::FingerType::MIDDLE, AbstractDexHand::TactileRegion::TIP, "中指指端", 3, 3, 370, 9, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::MIDDLE, AbstractDexHand::TactileRegion::FINGER, "中指指尖", 12, 8, 379, 96, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::MIDDLE, AbstractDexHand::TactileRegion::PAD, "中指指腹", 10, 8, 475, 80, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
|
||||||
|
{AbstractDexHand::FingerType::INDEX, AbstractDexHand::TactileRegion::TIP, "食指指端", 3, 3, 555, 9, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::INDEX, AbstractDexHand::TactileRegion::FINGER, "食指指尖", 12, 8, 564, 96, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::INDEX, AbstractDexHand::TactileRegion::PAD, "食指指腹", 10, 8, 660, 80, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
|
||||||
|
{AbstractDexHand::FingerType::THUMB, AbstractDexHand::TactileRegion::TIP, "大拇指指端", 3, 3, 740, 9, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::THUMB, AbstractDexHand::TactileRegion::FINGER, "大拇指尖", 12, 8, 749, 96, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::THUMB, AbstractDexHand::TactileRegion::THUMB_MIDDLE, "大拇指指中", 3, 3, 845, 9, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
{AbstractDexHand::FingerType::THUMB, AbstractDexHand::TactileRegion::PAD, "大拇指指腹", 12, 8, 854, 96, RH56TactileFillOrder::ROW_MAJOR},
|
||||||
|
|
||||||
|
{AbstractDexHand::FingerType::PALM,
|
||||||
|
AbstractDexHand::TactileRegion::PALM_PAD,
|
||||||
|
"掌心",
|
||||||
|
8,
|
||||||
|
14,
|
||||||
|
950,
|
||||||
|
112,
|
||||||
|
RH56TactileFillOrder::COLUMN_MAJOR_TOP_TO_BOTTOM}
|
||||||
|
}};
|
||||||
|
return layouts;
|
||||||
|
}
|
||||||
|
|
||||||
|
static size_t findRegionIndex(AbstractDexHand::FingerType finger, AbstractDexHand::TactileRegion region) {
|
||||||
|
const auto& region_layouts = staticLayouts();
|
||||||
|
for (size_t index = 0; index < region_layouts.size(); ++index) {
|
||||||
|
if (region_layouts[index].finger == finger && region_layouts[index].region == region) {
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw std::invalid_argument("Invalid tactile region for selected finger.");
|
||||||
|
}
|
||||||
|
|
||||||
|
std::array<AbstractDexHand::TactilePoint, POINT_COUNT> values_{};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //RH56DFTP_TACTILE_BUFFER_H
|
||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,137 @@
|
|||||||
|
#include "gtest/gtest.h"
|
||||||
|
|
||||||
|
#include "../include/rh56dftp_dexhand.h"
|
||||||
|
#include "cmvr/config/dexhand_config/dexhand_config.pb.h"
|
||||||
|
#include "common/utils/config_helper/include/config_helper.h"
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <iostream>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <string>
|
||||||
|
#include <thread>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
using DexHand = cmvr::device::AbstractDexHand;
|
||||||
|
using RH56DexHand = cmvr::device::RH56DFTPDexhand;
|
||||||
|
|
||||||
|
const char* tactileRegionToString(const DexHand::TactileRegion region) {
|
||||||
|
switch (region) {
|
||||||
|
case DexHand::TactileRegion::TIP: return "TIP";
|
||||||
|
case DexHand::TactileRegion::FINGER: return "FINGER";
|
||||||
|
case DexHand::TactileRegion::PAD: return "PAD";
|
||||||
|
case DexHand::TactileRegion::THUMB_MIDDLE: return "THUMB_MIDDLE";
|
||||||
|
case DexHand::TactileRegion::PALM_PAD: return "PALM_PAD";
|
||||||
|
}
|
||||||
|
return "UNKNOWN";
|
||||||
|
}
|
||||||
|
|
||||||
|
struct StopGuard {
|
||||||
|
std::shared_ptr<RH56DexHand> hand;
|
||||||
|
|
||||||
|
~StopGuard() {
|
||||||
|
if (!hand) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
hand->stop();
|
||||||
|
} catch (...) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
TEST(RH56DFTPDexhandLatencyTest, ReadConfiguredRegionAndMeasureLatency) {
|
||||||
|
cmvr::config::DexHandConfig dexhand_config;
|
||||||
|
ASSERT_TRUE(cmvr::ConfigHelper::getDexHandsConfig(dexhand_config));
|
||||||
|
|
||||||
|
const cmvr::config::RH56DFTPDexHandConfig* hand_config = nullptr;
|
||||||
|
for (const auto& config : dexhand_config.rh56dftp_dexhands()) {
|
||||||
|
if (config.enable() && !config.ip().empty()) {
|
||||||
|
hand_config = &config;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (hand_config == nullptr && !config.ip().empty()) {
|
||||||
|
hand_config = &config;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ASSERT_NE(hand_config, nullptr);
|
||||||
|
|
||||||
|
const auto finger = DexHand::FingerType::RING;
|
||||||
|
const auto region = DexHand::TactileRegion::TIP;
|
||||||
|
const int iterations = 20000;
|
||||||
|
const int warmup_ms = 200;
|
||||||
|
const int read_interval_ms = 10;
|
||||||
|
|
||||||
|
auto hand = std::make_shared<RH56DexHand>(*hand_config);
|
||||||
|
ASSERT_NO_THROW(hand->init());
|
||||||
|
ASSERT_NO_THROW(hand->start());
|
||||||
|
StopGuard stop_guard{hand};
|
||||||
|
|
||||||
|
EXPECT_EQ(hand->state(), DexHand::Status::STREAMING);
|
||||||
|
ASSERT_NO_THROW(hand->setTactilePollingRegion(finger, region));
|
||||||
|
|
||||||
|
if (warmup_ms > 0) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(warmup_ms));
|
||||||
|
}
|
||||||
|
|
||||||
|
double last_pressure_sum = 0.0;
|
||||||
|
double last_pressure_peak = 0.0;
|
||||||
|
int point_count = 0;
|
||||||
|
std::string sensor_name;
|
||||||
|
|
||||||
|
for (int i = 0; i < iterations; ++i) {
|
||||||
|
const auto region_data = hand->getSensorData(finger, region);
|
||||||
|
|
||||||
|
ASSERT_TRUE(region_data.valid());
|
||||||
|
EXPECT_EQ(region_data.finger, finger);
|
||||||
|
EXPECT_EQ(region_data.region, region);
|
||||||
|
|
||||||
|
if (point_count == 0) {
|
||||||
|
point_count = region_data.view.pointCount();
|
||||||
|
sensor_name = region_data.name == nullptr ? "" : region_data.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
last_pressure_sum = 0.0;
|
||||||
|
last_pressure_peak = 0.0;
|
||||||
|
for (int index = 0; index < region_data.view.pointCount(); ++index) {
|
||||||
|
const double pressure = static_cast<double>(region_data.view.data[index].fz);
|
||||||
|
last_pressure_sum += pressure;
|
||||||
|
if (pressure > last_pressure_peak) {
|
||||||
|
last_pressure_peak = pressure;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << std::fixed << std::setprecision(3)
|
||||||
|
<< "[RH56DFTPDexhandLatencyTest] iter=" << (i + 1)
|
||||||
|
<< "/" << iterations
|
||||||
|
<< " sensor=" << sensor_name
|
||||||
|
<< " pressure_sum=" << last_pressure_sum
|
||||||
|
<< " pressure_peak=" << last_pressure_peak
|
||||||
|
<< std::endl;
|
||||||
|
|
||||||
|
if (read_interval_ms > 0) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(read_interval_ms));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << std::fixed << std::setprecision(3)
|
||||||
|
<< "[RH56DFTPDexhandLatencyTest] id=" << hand_config->id()
|
||||||
|
<< " ip=" << hand_config->ip()
|
||||||
|
<< " port=" << hand_config->port()
|
||||||
|
<< " finger=INDEX"
|
||||||
|
<< " region=" << tactileRegionToString(region)
|
||||||
|
<< " sensor=" << sensor_name
|
||||||
|
<< " iterations=" << iterations
|
||||||
|
<< " points=" << point_count
|
||||||
|
<< " last_pressure_sum=" << last_pressure_sum
|
||||||
|
<< " last_pressure_peak=" << last_pressure_peak
|
||||||
|
<< " read_interval_ms=" << read_interval_ms
|
||||||
|
<< "\n";
|
||||||
|
|
||||||
|
EXPECT_GT(point_count, 0);
|
||||||
|
}
|
||||||
@ -1,5 +1,5 @@
|
|||||||
add_subdirectory(ti5_motor)
|
add_subdirectory(ti5_motor)
|
||||||
|
add_subdirectory(eyou_motor)
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# Unit test
|
# Unit test
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
|
|||||||
@ -41,6 +41,7 @@ namespace cmvr::device{
|
|||||||
} JointStatus;
|
} JointStatus;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
AbstractMotor() = default;
|
||||||
explicit AbstractMotor(const XmlNode &config): AbstractDevice(config) {}
|
explicit AbstractMotor(const XmlNode &config): AbstractDevice(config) {}
|
||||||
AbstractMotor(const XmlNode &config,uint8_t node_id): AbstractDevice(config) ,node_id_(node_id) {}
|
AbstractMotor(const XmlNode &config,uint8_t node_id): AbstractDevice(config) ,node_id_(node_id) {}
|
||||||
~AbstractMotor() override = default;
|
~AbstractMotor() override = default;
|
||||||
|
|||||||
19
cmvr-es/devices/motor/eyou_motor/CMakeLists.txt
Normal file
19
cmvr-es/devices/motor/eyou_motor/CMakeLists.txt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
add_library(eyoumotor SHARED
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/ethercat/eyou_motor_ethercat_protocol.cpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/eyou_motor.cpp
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
target_include_directories(eyoumotor PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
add_library(cmvr_es::device::eyoumotor ALIAS eyoumotor)
|
||||||
|
|
||||||
|
target_link_libraries(eyoumotor
|
||||||
|
PRIVATE
|
||||||
|
eu_ethercat
|
||||||
|
protobuf
|
||||||
|
glog
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS eyoumotor LIBRARY DESTINATION lib)
|
||||||
@ -0,0 +1,652 @@
|
|||||||
|
//
|
||||||
|
// Created by cmvr on 2026/3/30.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "eyou_motor_ethercat_protocol.h"
|
||||||
|
#include "canbus/canopen/register.h"
|
||||||
|
#include "motor/ti5_motor/canopen/protocol/ti5_motor_tpdo1.h"
|
||||||
|
#include "motor/ti5_motor/canopen/protocol/ti5_motor_tpdo2.h"
|
||||||
|
#include "motor/ti5_motor/canopen/protocol/ti5_motor_sdo_response.h"
|
||||||
|
#include "canbus/canopen/nmt_response_protocol.h"
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
#include <thread>
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
|
using namespace cmvr::device;
|
||||||
|
using namespace cmvr::msgs;
|
||||||
|
|
||||||
|
// 构造函数
|
||||||
|
EYouEthercatProtocol::EYouEthercatProtocol(std::string ifName)
|
||||||
|
: interface_name_(ifName), initialized_(false), slave_count_(0) {
|
||||||
|
comm_proto = CommProto::ETHERCAT;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 初始化message_manager
|
||||||
|
message_manager_ = std::make_shared<device::MessageManager<msgs::RobotDetail>>();
|
||||||
|
|
||||||
|
// 初始化eu sdk
|
||||||
|
int ms = 1;
|
||||||
|
if (ETH_SUCCESS != eth_initDLL(interface_name_.c_str(), ms, &slave_count_)) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] eth_initDLL failed for interface: " << interface_name_;
|
||||||
|
eth_freeDLL();
|
||||||
|
throw std::runtime_error("[EYouEthercatProtocol] eth_initDLL failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
initialized_ = true;
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Initialized successfully, found " << slave_count_ << " slaves";
|
||||||
|
|
||||||
|
// 初始化从站状态
|
||||||
|
for (int i = 0; i < slave_count_; i++) {
|
||||||
|
eth_State state;
|
||||||
|
if (eth_getSlaveState(i, &state) == ETH_SUCCESS) {
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Slave " << i << " state: " << state;
|
||||||
|
}
|
||||||
|
node_states_[i] = NodeState();
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Constructor failed: " << e.what();
|
||||||
|
throw std::runtime_error(e.what());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 析构函数
|
||||||
|
EYouEthercatProtocol::~EYouEthercatProtocol() {
|
||||||
|
// 失能所有电机
|
||||||
|
// for (auto& node : node_states_) {
|
||||||
|
// if (node.second.enabled) {
|
||||||
|
// eth_disable(node.first);
|
||||||
|
// LOG(INFO) << "[EYouEthercatProtocol] Disabled motor " << node.first;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (initialized_) {
|
||||||
|
eth_freeDLL();
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] SDK freed successfully";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化节点
|
||||||
|
bool EYouEthercatProtocol::initNode(uint8_t node_id) {
|
||||||
|
try {
|
||||||
|
int ret = 0;
|
||||||
|
if (node_id > slave_count_) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Node " << node_id << " out of range (max: " << slave_count_ - 1 << ")";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化节点状态
|
||||||
|
node_states_[node_id].initialized = true;
|
||||||
|
|
||||||
|
// 设置初始操作模式为轮廓位置模式
|
||||||
|
if (eth_setOperateMode(node_id, eth_OperateMode_ProfilePosition) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set operate mode for node " << node_id;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 等待模式切换完成
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(50));
|
||||||
|
|
||||||
|
// 使能电机
|
||||||
|
ret = eth_enable(node_id);
|
||||||
|
if (ret != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to enable motor " << node_id << ",error: " << ret;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
node_states_[node_id].enabled = true;
|
||||||
|
node_states_[node_id].current_mode = RUN_MODE_PROFILE_POSITION;
|
||||||
|
|
||||||
|
// 添加NMT响应协议
|
||||||
|
message_manager_->AddRecvProtocolData<NmtResponseProtocol<RobotDetail>, false>(node_id);
|
||||||
|
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Node " << node_id << " initialized successfully";
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to init node " << node_id << ": " << e.what();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置运行模式
|
||||||
|
void EYouEthercatProtocol::setMode(uint8_t node_id, RunMode mode) {
|
||||||
|
eth_OperateMode eth_mode;
|
||||||
|
|
||||||
|
switch (mode) {
|
||||||
|
case RUN_MODE_PROFILE_POSITION:
|
||||||
|
eth_mode = eth_OperateMode_ProfilePosition;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_VELOCITY:
|
||||||
|
eth_mode = eth_OperateMode_Velocity;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_PROFILE_VELOCITY:
|
||||||
|
eth_mode = eth_OperateMode_ProfileVelocity;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_TORQUE:
|
||||||
|
eth_mode = eth_OperateMode_ProfileTorque;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_HOMING:
|
||||||
|
eth_mode = eth_OperateMode_Homing;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_INTERPOLATED_POSITION:
|
||||||
|
eth_mode = eth_OperateMode_InterpolatedPosition;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_POSITION:
|
||||||
|
eth_mode = eth_OperateMode_CyclicSyncPosition;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_VELOCITY:
|
||||||
|
eth_mode = eth_OperateMode_CyclicSyncVelocity;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_CURRENT:
|
||||||
|
eth_mode = eth_OperateMode_CyclicSyncTorque;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Unknown mode " << mode << " for node " << node_id;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eth_setOperateMode(node_id, eth_mode) == ETH_SUCCESS) {
|
||||||
|
node_states_[node_id].current_mode = mode;
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Node " << node_id << " mode set to " << mode;
|
||||||
|
} else {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set mode for node " << node_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置目标位置和速度
|
||||||
|
void EYouEthercatProtocol::setTarget(uint8_t node_id, double angle_rad, double vel) {
|
||||||
|
auto pos_cmd = angleToPos(angle_rad);
|
||||||
|
auto speed = static_cast<uint32_t>(std::abs(velToSpeed(vel)));
|
||||||
|
|
||||||
|
msgs::RunMode current_mode = getMode(node_id);
|
||||||
|
|
||||||
|
switch (current_mode) {
|
||||||
|
case RUN_MODE_PROFILE_POSITION: {
|
||||||
|
// 先设置轮廓速度
|
||||||
|
eth_setProfileVelocity(node_id, speed);
|
||||||
|
// 设置目标位置
|
||||||
|
eth_setTargetPosition(node_id, pos_cmd);
|
||||||
|
|
||||||
|
// 构建控制字:使能状态 + 立即更新标志
|
||||||
|
uint16_t ctlword = 0x0F | 0x20; // 0x0F使能, 0x20立即更新
|
||||||
|
|
||||||
|
// 触发位置更新
|
||||||
|
eth_setControlWord(node_id, ctlword);
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
|
|
||||||
|
// 启动新位置命令
|
||||||
|
eth_setControlWord(node_id, ctlword | 0x10);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_POSITION:
|
||||||
|
eth_setTargetPosition(node_id, pos_cmd);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LOG(WARNING) << "[EYouEthercatProtocol] setTarget(pos,vel) called in unsupported mode for node " << node_id;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置目标速度
|
||||||
|
void EYouEthercatProtocol::setTarget(uint8_t node_id, double vel) {
|
||||||
|
auto speed = static_cast<int32_t>(velToSpeed(vel));
|
||||||
|
|
||||||
|
msgs::RunMode current_mode = getMode(node_id);
|
||||||
|
|
||||||
|
switch (current_mode) {
|
||||||
|
case RUN_MODE_VELOCITY:
|
||||||
|
case RUN_MODE_PROFILE_VELOCITY:
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_VELOCITY:
|
||||||
|
eth_setTargetVelocity(node_id, speed);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LOG(WARNING) << "[EYouEthercatProtocol] setTarget(vel) called in unsupported mode for node " << node_id;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置目标位置(修改的部分)
|
||||||
|
void EYouEthercatProtocol::setQ(uint8_t node_id, double angle_rad) {
|
||||||
|
auto pos_cmd = angleToPos(angle_rad);
|
||||||
|
|
||||||
|
msgs::RunMode current_mode = getMode(node_id);
|
||||||
|
|
||||||
|
switch (current_mode) {
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_POSITION:
|
||||||
|
{
|
||||||
|
eth_setTargetPosition(node_id, pos_cmd);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case RUN_MODE_PROFILE_POSITION:
|
||||||
|
{
|
||||||
|
// 1. 设置目标位置
|
||||||
|
eth_setTargetPosition(node_id, pos_cmd);
|
||||||
|
|
||||||
|
// 2. 构建控制字:使能状态 + 立即更新标志
|
||||||
|
uint16_t ctlword = 0x0F | 0x20; // 0x0F使能, 0x20立即更新
|
||||||
|
|
||||||
|
// 3. 触发位置更新
|
||||||
|
eth_setControlWord(node_id, ctlword);
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
|
|
||||||
|
// 4. 启动新位置命令
|
||||||
|
eth_setControlWord(node_id, ctlword | 0x10);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
LOG(WARNING) << "[EYouEthercatProtocol] setQ called in unsupported mode for node " << node_id;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置位置限制
|
||||||
|
void EYouEthercatProtocol::setLimitQ(uint8_t node_id, double ub, double lb) {
|
||||||
|
int32_t lb_val = angleToPos(lb);
|
||||||
|
int32_t ub_val = angleToPos(ub);
|
||||||
|
// 开启软件位置限制
|
||||||
|
hint32 limitEnable = 0x4c494d54;
|
||||||
|
if (eth_writeSDO(node_id, 0x2003, 0x00, &limitEnable, eth_DataType_int32, 100) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to enable software position limit for node " << node_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置软件位置限制
|
||||||
|
if (eth_writeSDO(node_id, 0x607D, 0x01, &lb_val, eth_DataType_int32, 100) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set lower position limit for node " << node_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eth_writeSDO(node_id, 0x607D, 0x02, &ub_val, eth_DataType_int32, 100) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set upper position limit for node " << node_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置速度限制
|
||||||
|
void EYouEthercatProtocol::setLimitQd(uint8_t node_id, double qd) {
|
||||||
|
auto speed = static_cast<uint32_t>(std::abs(velToSpeed(qd)));
|
||||||
|
|
||||||
|
// 设置最大速度限制
|
||||||
|
if (eth_writeSDO(node_id, 0x607F, 0x00, &speed, eth_DataType_uint32, 100) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set max speed limit for node " << node_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eth_writeSDO(node_id, 0x6081, 0x00, &speed, eth_DataType_uint32, 100) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set profile speed for node " << node_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置加速度限制
|
||||||
|
void EYouEthercatProtocol::setLimitQdd(uint8_t node_id, double u_qdd, double l_qdd) {
|
||||||
|
// u_qdd: rad/s² (最大加速度)
|
||||||
|
// l_qdd: rad/s² (最大减速度)
|
||||||
|
// 转换为电机加速度(脉冲/秒²)
|
||||||
|
// 圈数/秒² = 弧度/秒² / 2π
|
||||||
|
// 脉冲/秒² = 圈数/秒² * GearRatio * PULSE_PER_REV
|
||||||
|
auto accel = static_cast<uint32_t>((std::abs(u_qdd) / (2.0 * M_PI)) * GearRatio * PULSE_PER_REV);
|
||||||
|
auto decel = static_cast<uint32_t>((std::abs(l_qdd) / (2.0 * M_PI)) * GearRatio * PULSE_PER_REV);
|
||||||
|
|
||||||
|
// 通过SDO写入加速度和减速度限制
|
||||||
|
if (eth_writeSDO(node_id, 0x6083, 0x00, &accel, eth_DataType_uint32, 100) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set acceleration limit for node " << node_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (eth_writeSDO(node_id, 0x6084, 0x00, &decel, eth_DataType_uint32, 100) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to set deceleration limit for node " << node_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 零位校准
|
||||||
|
bool EYouEthercatProtocol::calibrateZeroQ(uint8_t node_id) {
|
||||||
|
try {
|
||||||
|
hint32 pos;
|
||||||
|
hint32 offset = 0;
|
||||||
|
hint32 rev = 0;
|
||||||
|
|
||||||
|
//读取当前位置
|
||||||
|
int iRet = eth_readSDO(node_id,0x6064,0x00,&pos,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"read actualPos last failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"actualPos last: "<<pos << std::endl;
|
||||||
|
|
||||||
|
// if (0 == pos)
|
||||||
|
// {
|
||||||
|
// std::cout << "actualPos is alary 0, quit" << std::endl;
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
|
||||||
|
iRet = eth_readSDO(node_id,0x607c,0x00,&offset,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"read home offset failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"home offset before: " << offset << std::endl;
|
||||||
|
|
||||||
|
//先将home offset设为0
|
||||||
|
offset = 0;
|
||||||
|
iRet = eth_writeSDO(node_id,0x607c,0x00,&offset,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"writeSdo offset 0 failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"writeSdo offset 0 successed" << std::endl;
|
||||||
|
//std::this_thread::sleep_for(std::chrono::milliseconds(ms));
|
||||||
|
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(500)); //等待home offset设置生效
|
||||||
|
|
||||||
|
//读取实际位置
|
||||||
|
iRet = eth_readSDO(node_id,0x6064,0x00,&pos,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"eth_getActualPosition failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"actualPos before: "<< pos << std::endl;
|
||||||
|
|
||||||
|
//获取轴转数,超圈处理
|
||||||
|
iRet = eth_readSDO(node_id,0x6091,0x02,&rev,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"gearRationShaftRevolution failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"gearRationShaftRevolution: "<<rev << std::endl;
|
||||||
|
|
||||||
|
long long r = rev;
|
||||||
|
int temp = r/2;
|
||||||
|
if(pos > temp || pos < -temp)
|
||||||
|
{
|
||||||
|
pos = pos % r;
|
||||||
|
if (pos > temp || pos < -temp)
|
||||||
|
{
|
||||||
|
if (pos > temp)
|
||||||
|
{
|
||||||
|
pos = pos -r;
|
||||||
|
}
|
||||||
|
else if(pos < -temp)
|
||||||
|
{
|
||||||
|
pos = pos + r;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::cout <<"分辨率超过编码器范围,电机重新上电后变为零点" << std::endl;
|
||||||
|
|
||||||
|
}
|
||||||
|
////
|
||||||
|
|
||||||
|
//写home offset偏移
|
||||||
|
offset = -pos;
|
||||||
|
iRet = eth_writeSDO(node_id,0x607c,0x00,&offset,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"writeSdo offset -pos failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"writeSdo offset -pos: "<<offset << std::endl;
|
||||||
|
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(500)); //等待home offset设置生效
|
||||||
|
|
||||||
|
//读取实际位置
|
||||||
|
iRet = eth_readSDO(node_id,0x6064,0x00,&pos,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"eth_getActualPosition failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"actualPos after: "<< pos << std::endl;
|
||||||
|
|
||||||
|
//set storeParameters 保存
|
||||||
|
huint32 value = 0x65766173;
|
||||||
|
iRet = eth_writeSDO(node_id,0x1010,0x01,&value,eth_DataType_uint32,20000);
|
||||||
|
if (iRet != ETH_SUCCESS)
|
||||||
|
{
|
||||||
|
std::cout <<"storeParameters set failed: "<<iRet << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::cout <<"storeParameters set: "<<value << std::endl;
|
||||||
|
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Motor " << node_id << " calibrated successfully";
|
||||||
|
return true;
|
||||||
|
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Calibration failed for node " << node_id << ": " << e.what();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 刹车
|
||||||
|
void EYouEthercatProtocol::brake(uint8_t node_id) {
|
||||||
|
|
||||||
|
// 直接调用失能还是快速停机呢?
|
||||||
|
eth_quickStop(node_id);
|
||||||
|
// eth_enable(node_id);
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Brake applied to motor " << node_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查是否到达目标位置
|
||||||
|
bool EYouEthercatProtocol::reachedTargetQ(uint8_t node_id) {
|
||||||
|
uint16_t status_word = 0;
|
||||||
|
if (eth_getStatusWord(node_id, &status_word) != ETH_SUCCESS) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查状态字的bit 10(目标到达位)
|
||||||
|
return (status_word & 0x0400) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取当前位置
|
||||||
|
double EYouEthercatProtocol::getQ(uint8_t node_id) {
|
||||||
|
int32_t position = 0;
|
||||||
|
if (eth_getActualPosition(node_id, &position) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to read position for node " << node_id;
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return posToAngle(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取当前速度
|
||||||
|
double EYouEthercatProtocol::getQd(uint8_t node_id) {
|
||||||
|
int32_t velocity = 0;
|
||||||
|
if (eth_getActualVelocity(node_id, &velocity) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to read velocity for node " << node_id;
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return speedToVel(velocity);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置速度
|
||||||
|
void EYouEthercatProtocol::setQd(uint8_t node_id, double qd) {
|
||||||
|
auto speed = static_cast<uint32_t>(std::abs(velToSpeed(qd)));
|
||||||
|
|
||||||
|
msgs::RunMode current_mode = getMode(node_id);
|
||||||
|
|
||||||
|
switch (current_mode) {
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_POSITION:
|
||||||
|
case RUN_MODE_PROFILE_POSITION:
|
||||||
|
eth_setProfileVelocity(node_id, speed);
|
||||||
|
last_Qd_[node_id] = speed;
|
||||||
|
break;
|
||||||
|
case RUN_MODE_PROFILE_VELOCITY:
|
||||||
|
case RUN_MODE_CYCLIC_SYNC_VELOCITY:
|
||||||
|
eth_setTargetVelocity(node_id, static_cast<int32_t>(speed));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LOG(WARNING) << "[EYouEthercatProtocol] setQd called in unsupported mode for node " << node_id;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置加速度
|
||||||
|
void EYouEthercatProtocol::setQdd(uint8_t node_id, double qdd) {
|
||||||
|
// qdd: rad/s² (加速度)
|
||||||
|
// 转换为电机加速度(脉冲/秒²)
|
||||||
|
// 圈数/秒² = qdd / 2π
|
||||||
|
// 脉冲/秒² = 圈数/秒² * GearRatio * PULSE_PER_REV
|
||||||
|
uint32_t accel = static_cast<uint32_t>((std::abs(qdd) / (2.0 * M_PI)) * GearRatio * PULSE_PER_REV);
|
||||||
|
|
||||||
|
if (last_Qdd_[node_id] != accel) {
|
||||||
|
eth_setProfileAcceleration(node_id, accel);
|
||||||
|
eth_setProfileDeceleration(node_id, accel);
|
||||||
|
last_Qdd_[node_id] = accel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 力矩关闭
|
||||||
|
void EYouEthercatProtocol::torqueOff(uint8_t node_id) {
|
||||||
|
auto ret = eth_disable(node_id);
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Torque off for motor " << node_id << ", ret = " << ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取运行模式
|
||||||
|
RunMode EYouEthercatProtocol::getMode(uint8_t node_id) {
|
||||||
|
eth_OperateMode mode;
|
||||||
|
if (eth_getOperateMode(node_id, &mode) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to read mode for node " << node_id;
|
||||||
|
return node_states_[node_id].current_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将SDK的操作模式转换为内部运行模式
|
||||||
|
switch (mode) {
|
||||||
|
case eth_OperateMode_ProfilePosition:
|
||||||
|
return RUN_MODE_PROFILE_POSITION;
|
||||||
|
case eth_OperateMode_Velocity:
|
||||||
|
return RUN_MODE_VELOCITY;
|
||||||
|
case eth_OperateMode_ProfileVelocity:
|
||||||
|
return RUN_MODE_PROFILE_VELOCITY;
|
||||||
|
case eth_OperateMode_ProfileTorque:
|
||||||
|
return RUN_MODE_TORQUE;
|
||||||
|
case eth_OperateMode_Homing:
|
||||||
|
return RUN_MODE_HOMING;
|
||||||
|
case eth_OperateMode_InterpolatedPosition:
|
||||||
|
return RUN_MODE_INTERPOLATED_POSITION;
|
||||||
|
case eth_OperateMode_CyclicSyncPosition:
|
||||||
|
return RUN_MODE_CYCLIC_SYNC_POSITION;
|
||||||
|
case eth_OperateMode_CyclicSyncVelocity:
|
||||||
|
return RUN_MODE_CYCLIC_SYNC_VELOCITY;
|
||||||
|
case eth_OperateMode_CyclicSyncTorque:
|
||||||
|
return RUN_MODE_CYCLIC_SYNC_CURRENT;
|
||||||
|
default:
|
||||||
|
return RUN_MODE_UNSPECIFIED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 配置轮廓参数
|
||||||
|
void EYouEthercatProtocol::configProfile(uint8_t node_id, uint32_t speed, uint32_t accel, uint32_t decel) {
|
||||||
|
eth_setProfileVelocity(node_id, speed);
|
||||||
|
eth_setProfileAcceleration(node_id, accel);
|
||||||
|
eth_setProfileDeceleration(node_id, decel);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取力矩
|
||||||
|
double EYouEthercatProtocol::getTorque(uint8_t node_id) {
|
||||||
|
int16_t torque = 0;
|
||||||
|
if (eth_getActualTorque(node_id, &torque) != ETH_SUCCESS) {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to read torque for node " << node_id;
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
return torque / 1000.0; // 转换为实际力矩值(额定力矩的倍数)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取状态字
|
||||||
|
uint16_t EYouEthercatProtocol::getStatusWord(uint8_t node_id) {
|
||||||
|
uint16_t status_word = 0;
|
||||||
|
if (eth_getStatusWord(node_id, &status_word) == ETH_SUCCESS) {
|
||||||
|
node_states_[node_id].status_word = status_word;
|
||||||
|
}
|
||||||
|
return status_word;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查电机是否使能
|
||||||
|
bool EYouEthercatProtocol::isEnabled(uint8_t node_id) {
|
||||||
|
uint16_t status_word = getStatusWord(node_id);
|
||||||
|
// 检查状态字的bit 2(操作使能)和bit 3(故障)
|
||||||
|
return (status_word & 0x000C) == 0x0008; // 使能状态且无故障
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查是否有故障
|
||||||
|
bool EYouEthercatProtocol::isFault(uint8_t node_id) {
|
||||||
|
uint16_t status_word = getStatusWord(node_id);
|
||||||
|
return (status_word & 0x0008) != 0; // bit 3 为1表示故障
|
||||||
|
}
|
||||||
|
|
||||||
|
// 故障复位
|
||||||
|
void EYouEthercatProtocol::faultReset(uint8_t node_id) {
|
||||||
|
if (isFault(node_id)) {
|
||||||
|
if (eth_faultReset(node_id) == ETH_SUCCESS) {
|
||||||
|
LOG(INFO) << "[EYouEthercatProtocol] Fault reset for motor " << node_id;
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||||
|
} else {
|
||||||
|
LOG(ERROR) << "[EYouEthercatProtocol] Failed to reset fault for motor " << node_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 等待目标到达
|
||||||
|
bool EYouEthercatProtocol::waitForTargetReached(uint8_t node_id, int timeout_ms) {
|
||||||
|
return waitUntil([this, node_id]() { return reachedTargetQ(node_id); }, timeout_ms);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取RobotDetail数据
|
||||||
|
std::unique_ptr<RobotDetail> EYouEthercatProtocol::GetRobotDetail() {
|
||||||
|
if (message_manager_) {
|
||||||
|
auto data_ptr = std::make_unique<msgs::RobotDetail>();
|
||||||
|
message_manager_->GetSensorData(data_ptr.get());
|
||||||
|
return data_ptr;
|
||||||
|
}
|
||||||
|
return std::make_unique<msgs::RobotDetail>();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 辅助函数实现(弧度制版本)
|
||||||
|
double EYouEthercatProtocol::posToAngle(int32_t pos) const {
|
||||||
|
// 脉冲数 -> 弧度
|
||||||
|
// 圈数 = 脉冲数 / (GearRatio * PULSE_PER_REV)
|
||||||
|
// 弧度 = 圈数 * 2π
|
||||||
|
return (pos * 2.0 * M_PI) / (GearRatio * PULSE_PER_REV);
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t EYouEthercatProtocol::angleToPos(double angle) const {
|
||||||
|
// 弧度 -> 脉冲数
|
||||||
|
// 圈数 = 弧度 / 2π
|
||||||
|
// 脉冲数 = 圈数 * GearRatio * PULSE_PER_REV
|
||||||
|
return static_cast<int32_t>((angle / (2.0 * M_PI)) * GearRatio * PULSE_PER_REV);
|
||||||
|
}
|
||||||
|
|
||||||
|
double EYouEthercatProtocol::velToSpeed(double vel) const {
|
||||||
|
// vel: rad/s (角速度)
|
||||||
|
// 输出:电机速度(脉冲/秒)
|
||||||
|
// 圈数/秒 = vel / 2π
|
||||||
|
// 脉冲/秒 = 圈数/秒 * GearRatio * PULSE_PER_REV
|
||||||
|
return (vel / (2.0 * M_PI)) * GearRatio * PULSE_PER_REV;
|
||||||
|
}
|
||||||
|
|
||||||
|
double EYouEthercatProtocol::speedToVel(int32_t speed) const {
|
||||||
|
// speed: 电机速度(脉冲/秒)
|
||||||
|
// 输出:rad/s
|
||||||
|
// 圈数/秒 = speed / (GearRatio * PULSE_PER_REV)
|
||||||
|
// 弧度/秒 = 圈数/秒 * 2π
|
||||||
|
return (speed * 2.0 * M_PI) / (GearRatio * PULSE_PER_REV);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool EYouEthercatProtocol::waitUntil(std::function<bool()> condition, int timeout_ms) {
|
||||||
|
auto start = std::chrono::steady_clock::now();
|
||||||
|
while (!condition()) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||||
|
if (std::chrono::steady_clock::now() - start > std::chrono::milliseconds(timeout_ms)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EYouEthercatProtocol::updateNodeState(uint8_t node_id) {
|
||||||
|
// 更新状态字
|
||||||
|
eth_getStatusWord(node_id, &node_states_[node_id].status_word);
|
||||||
|
// 可以根据需要更新其他状态信息
|
||||||
|
}
|
||||||
@ -0,0 +1,106 @@
|
|||||||
|
//
|
||||||
|
// Created by cmvr on 2026/3/30.
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#include "cmvr/msgs/motor.pb.h"
|
||||||
|
#include "motor/motor_protocol_interface.h"
|
||||||
|
#include "../../../canbus/abstract_canbus.h"
|
||||||
|
#include "canbus/can_comm/can_receiver.h"
|
||||||
|
#include "canbus/can_comm/can_sender.h"
|
||||||
|
#include "canbus/can_comm/message_manager.h"
|
||||||
|
#include "cmvr/msgs/error_code.pb.h"
|
||||||
|
#include "cmvr/msgs/robot_detail.pb.h"
|
||||||
|
|
||||||
|
#include "eyou_ethercat/include/eu_ethercat.h"
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <functional>
|
||||||
|
#include <memory>
|
||||||
|
#include <chrono>
|
||||||
|
#include <thread>
|
||||||
|
|
||||||
|
namespace cmvr {
|
||||||
|
namespace device {
|
||||||
|
|
||||||
|
// 节点状态结构体
|
||||||
|
struct NodeState {
|
||||||
|
bool enabled = false; // 是否使能
|
||||||
|
bool initialized = false; // 是否已初始化
|
||||||
|
msgs::RunMode current_mode = msgs::RUN_MODE_UNSPECIFIED; // 当前运行模式
|
||||||
|
uint16_t status_word = 0; // 状态字缓存
|
||||||
|
int32_t position_offset = 0; // 位置偏置值
|
||||||
|
};
|
||||||
|
|
||||||
|
class EYouEthercatProtocol : public MotorProtocolInterface {
|
||||||
|
public:
|
||||||
|
explicit EYouEthercatProtocol(std::string ifName);
|
||||||
|
~EYouEthercatProtocol() override;
|
||||||
|
|
||||||
|
// 基础接口实现
|
||||||
|
bool initNode(uint8_t node_id) override;
|
||||||
|
void setMode(uint8_t node_id, msgs::RunMode mode) override;
|
||||||
|
void setTarget(uint8_t node_id, double angle_rad, double vel) override;
|
||||||
|
void setTarget(uint8_t node_id, double vel) override;
|
||||||
|
void setQ(uint8_t node_id, double angle_rad) override;
|
||||||
|
void setLimitQ(uint8_t node_id, double ub, double lb) override;
|
||||||
|
void setLimitQd(uint8_t node_id, double qd) override;
|
||||||
|
void setLimitQdd(uint8_t node_id, double u_qdd, double l_qdd) override;
|
||||||
|
bool calibrateZeroQ(uint8_t node_id) override;
|
||||||
|
void brake(uint8_t node_id) override;
|
||||||
|
bool reachedTargetQ(uint8_t node_id) override;
|
||||||
|
|
||||||
|
double getQ(uint8_t node_id) override;
|
||||||
|
double getQd(uint8_t node_id) override;
|
||||||
|
|
||||||
|
void setQd(uint8_t node_id, double qd) override;
|
||||||
|
void setQdd(uint8_t node_id, double qdd) override;
|
||||||
|
|
||||||
|
void torqueOff(uint8_t node_id) override;
|
||||||
|
msgs::RunMode getMode(uint8_t node_id) override;
|
||||||
|
|
||||||
|
// 配置接口
|
||||||
|
void configProfile(uint8_t node_id, uint32_t speed, uint32_t accel, uint32_t decel);
|
||||||
|
|
||||||
|
// 扩展功能接口
|
||||||
|
double getTorque(uint8_t node_id); // 获取力矩
|
||||||
|
uint16_t getStatusWord(uint8_t node_id); // 获取状态字
|
||||||
|
bool isEnabled(uint8_t node_id); // 检查电机是否使能
|
||||||
|
bool isFault(uint8_t node_id); // 检查是否有故障
|
||||||
|
void faultReset(uint8_t node_id); // 故障复位
|
||||||
|
bool waitForTargetReached(uint8_t node_id, int timeout_ms); // 等待目标到达
|
||||||
|
|
||||||
|
// 数据获取接口
|
||||||
|
std::unique_ptr<msgs::RobotDetail> GetRobotDetail();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// 常量定义
|
||||||
|
static constexpr double GearRatio = 101.0; // 电机减速比
|
||||||
|
static constexpr double RADTODEG = 180.0 / M_PI; // 弧度转角度
|
||||||
|
static constexpr double PULSE_PER_REV = 65536.0; // 每转脉冲数
|
||||||
|
|
||||||
|
// 辅助函数
|
||||||
|
double posToAngle(int32_t pos) const; // 脉冲转角度
|
||||||
|
int32_t angleToPos(double angle) const; // 角度转脉冲
|
||||||
|
double velToSpeed(double vel) const; // 角速度转电机速度
|
||||||
|
double speedToVel(int32_t speed) const; // 电机速度转角速度
|
||||||
|
|
||||||
|
bool waitUntil(std::function<bool()> condition, int timeout_ms);
|
||||||
|
void updateNodeState(uint8_t node_id); // 更新节点状态
|
||||||
|
|
||||||
|
// 成员变量
|
||||||
|
std::unordered_map<uint8_t, NodeState> node_states_; // 节点状态映射
|
||||||
|
std::unordered_map<uint8_t, double> last_Qd_; // 上次设置的速度
|
||||||
|
std::unordered_map<uint8_t, uint32_t> last_Qdd_; // 上次设置的加速度
|
||||||
|
|
||||||
|
std::shared_ptr<device::CanSender<msgs::RobotDetail>> can_sender_;
|
||||||
|
std::shared_ptr<device::MessageManager<msgs::RobotDetail>> message_manager_;
|
||||||
|
|
||||||
|
std::string interface_name_; // 网卡接口名
|
||||||
|
bool initialized_; // 是否已初始化SDK
|
||||||
|
int slave_count_; // 从站数量
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace device
|
||||||
|
} // namespace cmvr
|
||||||
5
cmvr-es/devices/motor/eyou_motor/eyou_motor.cpp
Normal file
5
cmvr-es/devices/motor/eyou_motor/eyou_motor.cpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
//
|
||||||
|
// Created by cmvr on 2026/3/30.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "eyou_motor.h"
|
||||||
51
cmvr-es/devices/motor/eyou_motor/eyou_motor.h
Normal file
51
cmvr-es/devices/motor/eyou_motor/eyou_motor.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
//
|
||||||
|
// Created by cmvr on 2026/3/30.
|
||||||
|
//
|
||||||
|
#pragma once
|
||||||
|
#include "../abstract_motor.h"
|
||||||
|
#include "motor/motor_protocol_interface.h"
|
||||||
|
#include "motor/eyou_motor/ethercat/eyou_motor_ethercat_protocol.h"
|
||||||
|
|
||||||
|
namespace cmvr {
|
||||||
|
namespace device {
|
||||||
|
class EYouMotor : public AbstractMotor {
|
||||||
|
public:
|
||||||
|
EYouMotor(const XmlNode &config,uint8_t node_id):AbstractMotor(config,node_id){}
|
||||||
|
EYouMotor(const XmlNode &config):AbstractMotor(config) {
|
||||||
|
info_.id = config.getAttrDefault("slave", -1);
|
||||||
|
info_.joint_name = config.getAttrString("jointName");
|
||||||
|
info_.limitQ = config.getAttrDefault("limitQ", 3.14f);
|
||||||
|
info_.limitQd = config.getAttrDefault("limitQd", 0.5f);
|
||||||
|
node_id_ = info_.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
EYouMotor(const cmvr::config::EthercatMotorConfig& config) : AbstractMotor() {
|
||||||
|
info_.id = config.slave();
|
||||||
|
info_.joint_name = config.jointname();
|
||||||
|
info_.limitQ = config.limitqlb();
|
||||||
|
info_.limitQd = config.limitqd();
|
||||||
|
node_id_ = info_.id;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 电机初始化在具体的类中完成
|
||||||
|
*/
|
||||||
|
void init() override {
|
||||||
|
if (!protocol_) {
|
||||||
|
throw std::runtime_error("Protocol not set for motor");
|
||||||
|
}
|
||||||
|
if (protocol_->comm_proto == MotorProtocolInterface::CommProto::ETHERCAT ) {
|
||||||
|
auto canopen_protocol = std::dynamic_pointer_cast<EYouEthercatProtocol>(protocol_);
|
||||||
|
// canopen_protocol->setMode(node_id_,msgs::RUN_MODE_CYCLIC_SYNC_POSITION);
|
||||||
|
// canopen_protocol->seedSdoRequest(node_id_, msgs::CS_WRITE_TWO_BYTES, msgs::CONTROL_WORD_6040, msgs::SUB_INDEX_0, 0x06,15);
|
||||||
|
// canopen_protocol->seedSdoRequest(node_id_, msgs::CS_WRITE_TWO_BYTES, msgs::CONTROL_WORD_6040, msgs::SUB_INDEX_0, 0x0F,15);
|
||||||
|
// canopen_protocol->setLimitQd(node_id_,5.0);
|
||||||
|
// canopen_protocol->setLimitQdd(node_id_,10.0,-10.0);
|
||||||
|
|
||||||
|
// canopen_protocol->torqueOff(node_id_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,7 +15,8 @@ namespace cmvr {
|
|||||||
public:
|
public:
|
||||||
enum class CommProto : uint8_t {
|
enum class CommProto : uint8_t {
|
||||||
CANOPEN = 1,
|
CANOPEN = 1,
|
||||||
CUSTOM = 2
|
ETHERCAT = 2,
|
||||||
|
CUSTOM = 3
|
||||||
};
|
};
|
||||||
virtual ~MotorProtocolInterface() = default;
|
virtual ~MotorProtocolInterface() = default;
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
//
|
//
|
||||||
// Created by lgv on 2025/8/1.
|
// Created by lgv on 2025/8/1.
|
||||||
//
|
//
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "../abstract_motor.h"
|
#include "../abstract_motor.h"
|
||||||
#include "motor/motor_protocol_interface.h"
|
#include "motor/motor_protocol_interface.h"
|
||||||
#include "motor/ti5_motor/canopen/ti5_motor_canopen_protocol.h"
|
#include "motor/ti5_motor/canopen/ti5_motor_canopen_protocol.h"
|
||||||
|
#include "cmvr/config/robot_config/robot_config.pb.h"
|
||||||
/**
|
/**
|
||||||
* class: Ti5Motor 完成电机硬件的相关工作,软件相关的在protocol 中完成
|
* class: Ti5Motor 完成电机硬件的相关工作,软件相关的在protocol 中完成
|
||||||
*/
|
*/
|
||||||
@ -22,6 +23,15 @@ namespace cmvr {
|
|||||||
node_id_ = info_.id;
|
node_id_ = info_.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Ti5Motor(const cmvr::config::MotorConfig& config) : AbstractMotor() {
|
||||||
|
info_.id = config.id();
|
||||||
|
info_.joint_name = config.jointname();
|
||||||
|
info_.limitQ = config.limitqlb();
|
||||||
|
info_.limitQd = config.limitqd();
|
||||||
|
node_id_ = info_.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电机初始化在具体的类中完成
|
* 电机初始化在具体的类中完成
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
#include "planner/cartesian_space_planner/include/cartesian_twist_limiter.h"
|
#include "planner/cartesian_space_planner/include/cartesian_twist_limiter.h"
|
||||||
#include "cmvr/msgs/geometry.pb.h"
|
#include "cmvr/msgs/geometry.pb.h"
|
||||||
#include "cmvr/msgs/motor.pb.h"
|
#include "cmvr/msgs/motor.pb.h"
|
||||||
|
#include <Eigen/Dense>
|
||||||
|
|
||||||
namespace cmvr::device{
|
namespace cmvr::device{
|
||||||
|
|
||||||
@ -40,6 +41,7 @@ namespace cmvr::device{
|
|||||||
|
|
||||||
class AbstractRobot: public AbstractDevice {
|
class AbstractRobot: public AbstractDevice {
|
||||||
public:
|
public:
|
||||||
|
AbstractRobot() = default;
|
||||||
explicit AbstractRobot(const XmlNode &config): AbstractDevice(config) {}
|
explicit AbstractRobot(const XmlNode &config): AbstractDevice(config) {}
|
||||||
~AbstractRobot() override=default;
|
~AbstractRobot() override=default;
|
||||||
|
|
||||||
@ -103,18 +105,23 @@ namespace cmvr::device{
|
|||||||
|
|
||||||
virtual void moveJ_IK(const std::string &base_link, const std::vector<cmvr::ctrl::PoseTarget> &targets, double vel=0.5, double acc=0.1) { throw std::runtime_error("Not implemented"); }
|
virtual void moveJ_IK(const std::string &base_link, const std::vector<cmvr::ctrl::PoseTarget> &targets, double vel=0.5, double acc=0.1) { throw std::runtime_error("Not implemented"); }
|
||||||
|
|
||||||
virtual void moveL(math::Pose3d &pose, double vel=0.5, double acc=0.1) { throw std::runtime_error("Not implemented"); }
|
virtual bool moveL(const std::vector<double> &pose,
|
||||||
|
double speed = 0.25,
|
||||||
virtual void moveL(std::string &base_link, std::vector<cmvr::ctrl::PoseTarget> &targets, double vel=0.5, double acc=0.1) { throw std::runtime_error("Not implemented"); }
|
double acceleration = 1.2,
|
||||||
|
double jerk = 5.0,
|
||||||
virtual void moveL(const std::string &base_link, const std::string &ee_link,msgs::Pose3d target_pose, double vel, double acc) { throw std::runtime_error("Not implemented"); }
|
const std::vector<double> &qd_max = std::vector<double>(7, 2.5),
|
||||||
virtual void moveDeltaL(const std::string &base_link, const std::string &ee_link,msgs::Pose3d delta_pose, double vel, double acc) { throw std::runtime_error("Not implemented"); }
|
bool asynchronous = false) {
|
||||||
|
throw std::runtime_error("Not implemented");
|
||||||
|
}
|
||||||
virtual bool speedL(const std::vector<double> &xd,
|
virtual bool speedL(const std::vector<double> &xd,
|
||||||
double acceleration = 0.25,
|
double acceleration = 0.25,
|
||||||
double time = 0.0,
|
double time = 0.0,
|
||||||
cmvr::CartesianFrame frame = cmvr::CartesianFrame::Base) {
|
cmvr::CartesianFrame frame = cmvr::CartesianFrame::Base) {
|
||||||
throw std::runtime_error("Not implemented");
|
throw std::runtime_error("Not implemented");
|
||||||
}
|
}
|
||||||
|
virtual Eigen::Matrix<double, 6, 1> getSpeedLCommandTwistBase() {
|
||||||
|
return Eigen::Matrix<double, 6, 1>::Zero();
|
||||||
|
}
|
||||||
virtual void stopSpeedL() { throw std::runtime_error("Not implemented"); }
|
virtual void stopSpeedL() { throw std::runtime_error("Not implemented"); }
|
||||||
|
|
||||||
virtual void speedJ(std::string &joint_name, RobotJointIndexDirection dir, double vel, double acc=0.5) { throw std::runtime_error("Not implemented"); }
|
virtual void speedJ(std::string &joint_name, RobotJointIndexDirection dir, double vel, double acc=0.5) { throw std::runtime_error("Not implemented"); }
|
||||||
@ -173,8 +180,10 @@ namespace cmvr::device{
|
|||||||
{
|
{
|
||||||
toolFrame_ = toolFrame;
|
toolFrame_ = toolFrame;
|
||||||
}
|
}
|
||||||
|
virtual std::string getToolFrame() const { return toolFrame_; }
|
||||||
|
|
||||||
virtual msgs::Pose3d fk(const std::string &base_link, const std::string &ee_link) = 0;
|
virtual msgs::Pose3d fk(const std::string &base_link, const std::string &ee_link) = 0;
|
||||||
|
virtual msgs::Pose3d fk(bool is_tcp = true) = 0;
|
||||||
virtual std::vector<double> ik(const std::string &base_link, const std::string &ee_link,msgs::Pose3d pose) = 0;
|
virtual std::vector<double> ik(const std::string &base_link, const std::string &ee_link,msgs::Pose3d pose) = 0;
|
||||||
protected:
|
protected:
|
||||||
int dof_{};
|
int dof_{};
|
||||||
|
|||||||
@ -35,6 +35,8 @@
|
|||||||
#include "planner/joint_space_planner/include/joint_space_planner_creator.h"
|
#include "planner/joint_space_planner/include/joint_space_planner_creator.h"
|
||||||
#include "planner/joint_space_planner/include/joint_space_planner.h"
|
#include "planner/joint_space_planner/include/joint_space_planner.h"
|
||||||
#include "ik_solver/include/pinocchio_dls_ik_solver.h"
|
#include "ik_solver/include/pinocchio_dls_ik_solver.h"
|
||||||
|
#include "cmvr/config/robot_config/robot_config.pb.h"
|
||||||
|
|
||||||
|
|
||||||
namespace cmvr::device{
|
namespace cmvr::device{
|
||||||
|
|
||||||
@ -49,12 +51,10 @@ namespace cmvr::device{
|
|||||||
ROBOT_ERROR
|
ROBOT_ERROR
|
||||||
} RobotStateMachine;
|
} RobotStateMachine;
|
||||||
|
|
||||||
// typedef enum {
|
|
||||||
// PPM_MODE, PVM_MODE, PTM_MODE, CSP_MODE, CSV_MODE, CSC_MODE
|
|
||||||
// } RobotRunningMode;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit HumanoidRobot(const XmlNode& cfg);
|
explicit HumanoidRobot(const XmlNode& cfg);
|
||||||
|
HumanoidRobot(const cmvr::config::HumanRobotConfig& config);
|
||||||
|
HumanoidRobot(const cmvr::config::EthercatRobotConfig& config);
|
||||||
~HumanoidRobot();
|
~HumanoidRobot();
|
||||||
|
|
||||||
void init() override;
|
void init() override;
|
||||||
@ -86,10 +86,12 @@ namespace cmvr::device{
|
|||||||
void moveJ(const std::string &base_link, const std::string &ee_link, msgs::Pose3d pose,double vel, double acc) override;
|
void moveJ(const std::string &base_link, const std::string &ee_link, msgs::Pose3d pose,double vel, double acc) override;
|
||||||
void moveJ_IK(const std::string &base_link, const std::vector<cmvr::ctrl::PoseTarget> &targets, double vel, double acc) override ;
|
void moveJ_IK(const std::string &base_link, const std::vector<cmvr::ctrl::PoseTarget> &targets, double vel, double acc) override ;
|
||||||
void moveDeltaJ(const std::string &base_link, const std::string &ee_link, msgs::Pose3d delta_pose, double vel, double acc) override;
|
void moveDeltaJ(const std::string &base_link, const std::string &ee_link, msgs::Pose3d delta_pose, double vel, double acc) override;
|
||||||
|
bool moveL(const std::vector<double> &pose,
|
||||||
void moveL(std::string &base_link, std::vector<cmvr::ctrl::PoseTarget> &targets, double vel, double acc) override;
|
double speed = 0.25,
|
||||||
void moveL(const std::string &base_link, const std::string &ee_link,msgs::Pose3d target_pose, double vel, double acc) override;
|
double acceleration = 1.2,
|
||||||
void moveDeltaL(const std::string &base_link, const std::string &ee_link,msgs::Pose3d delta_pose, double vel, double acc) override;
|
double jerk = 5.0,
|
||||||
|
const std::vector<double> &qd_max = std::vector<double>(7, 2.5),
|
||||||
|
bool asynchronous = false) override;
|
||||||
|
|
||||||
|
|
||||||
void speedJ(std::string &joint_name, RobotJointIndexDirection dir, double vel, double acc) override;
|
void speedJ(std::string &joint_name, RobotJointIndexDirection dir, double vel, double acc) override;
|
||||||
@ -99,7 +101,7 @@ namespace cmvr::device{
|
|||||||
double time = 0.0,
|
double time = 0.0,
|
||||||
cmvr::CartesianFrame frame = cmvr::CartesianFrame::Base) override;
|
cmvr::CartesianFrame frame = cmvr::CartesianFrame::Base) override;
|
||||||
void stopSpeedL() override;
|
void stopSpeedL() override;
|
||||||
Eigen::Matrix<double, 6, 1> getSpeedLCommandTwistBase();
|
Eigen::Matrix<double, 6, 1> getSpeedLCommandTwistBase() override;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -124,6 +126,14 @@ namespace cmvr::device{
|
|||||||
void ensureSpeedLWorkerStarted_();
|
void ensureSpeedLWorkerStarted_();
|
||||||
void stopSpeedLWorker_();
|
void stopSpeedLWorker_();
|
||||||
void speedLWorkerLoop_();
|
void speedLWorkerLoop_();
|
||||||
|
bool executeMoveLScurve_(const Eigen::Matrix4d& target_pose_input,
|
||||||
|
double v_tcp_max,
|
||||||
|
double a_tcp_max,
|
||||||
|
double j_tcp_max,
|
||||||
|
const std::vector<double>& qd_max,
|
||||||
|
double dt_real,
|
||||||
|
bool is_tcp,
|
||||||
|
cmvr::CartesianFrame input_frame);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -148,16 +158,10 @@ namespace cmvr::device{
|
|||||||
static Eigen::Matrix3d eulerZYXToRotationMatrix(double rx, double ry, double rz);
|
static Eigen::Matrix3d eulerZYXToRotationMatrix(double rx, double ry, double rz);
|
||||||
static Eigen::Vector3d rotationMatrixToEulerZYX(const Eigen::Matrix3d &R);
|
static Eigen::Vector3d rotationMatrixToEulerZYX(const Eigen::Matrix3d &R);
|
||||||
msgs::Pose3d fk(const std::string &base_link, const std::string &ee_link) override;
|
msgs::Pose3d fk(const std::string &base_link, const std::string &ee_link) override;
|
||||||
|
msgs::Pose3d fk(bool is_tcp) override;
|
||||||
std::vector<double> ik(const std::string &base_link, const std::string &ee_link,msgs::Pose3d pose) override;
|
std::vector<double> ik(const std::string &base_link, const std::string &ee_link,msgs::Pose3d pose) override;
|
||||||
|
|
||||||
|
|
||||||
double calculateMoveTime(double distance, double vel, double acc);
|
|
||||||
void generateSTrapezoidalProfile(double total_distance, double max_vel, double max_acc,
|
|
||||||
double total_time, size_t num_points,
|
|
||||||
std::vector<double>& time_points,
|
|
||||||
std::vector<double>& distance_ratios);
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string id_;
|
std::string id_;
|
||||||
int upd_freq_;
|
int upd_freq_;
|
||||||
@ -228,6 +232,7 @@ namespace cmvr::device{
|
|||||||
std::atomic<bool> is_head_busy_{false}, is_waist_busy_{false};
|
std::atomic<bool> is_head_busy_{false}, is_waist_busy_{false};
|
||||||
|
|
||||||
|
|
||||||
|
std::string urdf_path_ = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ template<int DOF>
|
|||||||
HumanoidRobot<DOF>::HumanoidRobot(const XmlNode &cfg) : AbstractRobot(cfg) {
|
HumanoidRobot<DOF>::HumanoidRobot(const XmlNode &cfg) : AbstractRobot(cfg) {
|
||||||
try {
|
try {
|
||||||
id_ = cfg.getAttrString("id");
|
id_ = cfg.getAttrString("id");
|
||||||
|
urdf_path_ = cfg.getAttrString("urdf");
|
||||||
dof_ = DOF;
|
dof_ = DOF;
|
||||||
if (!pathExists(cfg.getAttrString("urdf"))) {
|
if (!pathExists(cfg.getAttrString("urdf"))) {
|
||||||
throw runtime_error("urdf file does not exist");
|
throw runtime_error("urdf file does not exist");
|
||||||
@ -49,6 +49,87 @@ HumanoidRobot<DOF>::HumanoidRobot(const XmlNode &cfg) : AbstractRobot(cfg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<int DOF>
|
||||||
|
HumanoidRobot<DOF>::HumanoidRobot(const cmvr::config::HumanRobotConfig& config) {
|
||||||
|
try {
|
||||||
|
id_ = config.id();
|
||||||
|
urdf_path_ = config.urdf();
|
||||||
|
dof_ = DOF;
|
||||||
|
if (!pathExists(config.urdf())) {
|
||||||
|
throw runtime_error("urdf file does not exist");
|
||||||
|
}
|
||||||
|
auto rcfg = cmvr::dyn::LoadRobotFromURDF(
|
||||||
|
config.urdf(), config.baselink());
|
||||||
|
m_robot_ = std::make_shared<cmvr::dyn::Robot<DOF> >(rcfg);
|
||||||
|
|
||||||
|
// 解析jointNames字符串,按逗号分隔
|
||||||
|
joint_names_ = splitString(config.jointnames(), ",");
|
||||||
|
// 解析linkNames字符串,按逗号分隔
|
||||||
|
link_names_ = splitString(config.linknames(), ",");
|
||||||
|
|
||||||
|
if (joint_names_.size() != dof_) {
|
||||||
|
throw runtime_error("joint names size mismatched with dof");
|
||||||
|
}
|
||||||
|
|
||||||
|
m_state_ = m_robot_->MakeState(link_names_, joint_names_);
|
||||||
|
m_cctrl_ = make_shared<ctrl::CartesianController<DOF> >(m_robot_);
|
||||||
|
upd_freq_ = config.updfreq();
|
||||||
|
CSP_buffer_ = make_shared<SPMCRingBuffer<JointPoint> >(config.buffersize());
|
||||||
|
CSV_buffer_ = make_shared<SPMCRingBuffer<JointVelocityCommand> >(config.buffersize());
|
||||||
|
CSC_buffer_ = make_shared<SPMCRingBuffer<JointCurrentCommand> >(config.buffersize());
|
||||||
|
|
||||||
|
upd_freq_ = 1000;
|
||||||
|
upd_timer_ = make_shared<FDTimer>();
|
||||||
|
upd_timer_->start(chrono::nanoseconds(1000 / upd_freq_ * 1000),
|
||||||
|
[this] { update_state_(); });
|
||||||
|
rsm_.store(ROBOT_READY);
|
||||||
|
} catch (exception &e) {
|
||||||
|
LOG(ERROR) << "HumanoidRobot init failed, id=" << id_;
|
||||||
|
throw runtime_error(e.what());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template<int DOF>
|
||||||
|
HumanoidRobot<DOF>::HumanoidRobot(const cmvr::config::EthercatRobotConfig& config) {
|
||||||
|
try {
|
||||||
|
id_ = config.id();
|
||||||
|
urdf_path_ = config.urdf();
|
||||||
|
dof_ = DOF;
|
||||||
|
if (!pathExists(config.urdf())) {
|
||||||
|
throw runtime_error("urdf file does not exist");
|
||||||
|
}
|
||||||
|
auto rcfg = cmvr::dyn::LoadRobotFromURDF(
|
||||||
|
config.urdf(), config.baselink());
|
||||||
|
m_robot_ = std::make_shared<cmvr::dyn::Robot<DOF> >(rcfg);
|
||||||
|
|
||||||
|
// 解析jointNames字符串,按逗号分隔
|
||||||
|
joint_names_ = splitString(config.jointnames(), ",");
|
||||||
|
// 解析linkNames字符串,按逗号分隔
|
||||||
|
link_names_ = splitString(config.linknames(), ",");
|
||||||
|
|
||||||
|
if (joint_names_.size() != dof_) {
|
||||||
|
throw runtime_error("joint names size mismatched with dof");
|
||||||
|
}
|
||||||
|
|
||||||
|
m_state_ = m_robot_->MakeState(link_names_, joint_names_);
|
||||||
|
m_cctrl_ = make_shared<ctrl::CartesianController<DOF> >(m_robot_);
|
||||||
|
upd_freq_ = config.updfreq();
|
||||||
|
CSP_buffer_ = make_shared<SPMCRingBuffer<JointPoint> >(config.buffersize());
|
||||||
|
CSV_buffer_ = make_shared<SPMCRingBuffer<JointVelocityCommand> >(config.buffersize());
|
||||||
|
CSC_buffer_ = make_shared<SPMCRingBuffer<JointCurrentCommand> >(config.buffersize());
|
||||||
|
|
||||||
|
upd_freq_ = 1000;
|
||||||
|
upd_timer_ = make_shared<FDTimer>();
|
||||||
|
upd_timer_->start(chrono::nanoseconds(1000 / upd_freq_ * 1000),
|
||||||
|
[this] { update_state_(); });
|
||||||
|
rsm_.store(ROBOT_READY);
|
||||||
|
} catch (exception &e) {
|
||||||
|
LOG(ERROR) << "HumanoidRobot init failed, id=" << id_;
|
||||||
|
throw runtime_error(e.what());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
template<int DOF>
|
template<int DOF>
|
||||||
void HumanoidRobot<DOF>::init() {
|
void HumanoidRobot<DOF>::init() {
|
||||||
motor_manager_ = MotorsInfo::getInstance()->getMotorManager();
|
motor_manager_ = MotorsInfo::getInstance()->getMotorManager();
|
||||||
@ -59,7 +140,7 @@ void HumanoidRobot<DOF>::init() {
|
|||||||
std::vector<double>(7, 1.0));
|
std::vector<double>(7, 1.0));
|
||||||
|
|
||||||
|
|
||||||
ik_solver_ = std::make_shared<PinocchioDlsIKSolver>("/home/lgv/cmvr/cmvr-es/model/xiaoyan_description/dual_arm.urdf",
|
ik_solver_ = std::make_shared<PinocchioDlsIKSolver>(urdf_path_,
|
||||||
"PELVIS_S",
|
"PELVIS_S",
|
||||||
"R_WRIST_R_S",
|
"R_WRIST_R_S",
|
||||||
"R_FINGER_TIP_FIXED");
|
"R_FINGER_TIP_FIXED");
|
||||||
@ -899,181 +980,6 @@ void HumanoidRobot<DOF>::moveJ_IK(const std::string &base_link, const std::vecto
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int DOF>
|
|
||||||
void HumanoidRobot<DOF>::moveL(std::string &base_link, std::vector<cmvr::ctrl::PoseTarget> &targets, double vel,
|
|
||||||
double acc) {
|
|
||||||
try {
|
|
||||||
stopSpeedLWorker_();
|
|
||||||
// 获取当前关节状态
|
|
||||||
Eigen::Vector<double, DOF> q_init;
|
|
||||||
auto q_map = getJointQ();
|
|
||||||
q_init << q_map["L_SHOULDER_P"], q_map["L_SHOULDER_R"], q_map["L_SHOULDER_Y"], q_map["L_ELBOW_R"],
|
|
||||||
q_map["L_WRIST_P"], q_map["L_WRIST_Y"], q_map["L_WRIST_R"],
|
|
||||||
q_map["R_SHOULDER_P"], q_map["R_SHOULDER_R"], q_map["R_SHOULDER_Y"], q_map["R_ELBOW_R"],
|
|
||||||
q_map["R_WRIST_P"], q_map["R_WRIST_Y"], q_map["R_WRIST_R"];
|
|
||||||
|
|
||||||
LOG(INFO) << "q_init: " << q_init;
|
|
||||||
m_state_->SetQ(q_init);
|
|
||||||
m_robot_->ComputeForwardKinematics(m_state_);
|
|
||||||
|
|
||||||
// 获取基座链接索引
|
|
||||||
auto base_idx = m_robot_->GetLinkIdx(base_link);
|
|
||||||
|
|
||||||
// 获取当前末端位姿 - 使用前向运动学计算
|
|
||||||
std::vector<Eigen::Matrix4d> current_poses;
|
|
||||||
for (const auto &target: targets) {
|
|
||||||
auto ee_idx = m_robot_->GetLinkIdx(target.link_name);
|
|
||||||
|
|
||||||
// 使用正向运动学计算当前位姿
|
|
||||||
Eigen::Matrix4d T = m_robot_->GetTransformation(m_state_, base_idx, ee_idx);
|
|
||||||
current_poses.push_back(T);
|
|
||||||
|
|
||||||
// 打印当前末端执行器的 XYZ 和欧拉角
|
|
||||||
if (&target == &targets.front()) {
|
|
||||||
Eigen::Vector3d position = T.block<3, 1>(0, 3);
|
|
||||||
Eigen::Matrix3d rotation = T.block<3, 3>(0, 0);
|
|
||||||
Eigen::Vector3d euler = rotationMatrixToEulerZYX(rotation);
|
|
||||||
|
|
||||||
LOG(INFO) << "Starting point (Initial position): "
|
|
||||||
<< "X: " << position[0] << ", Y: " << position[1] << ", Z: " << position[2];
|
|
||||||
LOG(INFO) << "Starting orientation (Euler angles): "
|
|
||||||
<< "RX: " << euler[0] << ", RY: " << euler[1] << ", RZ: " << euler[2];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 计算最大距离和插值点数
|
|
||||||
double max_distance = 0.0;
|
|
||||||
for (size_t i = 0; i < targets.size(); i++) {
|
|
||||||
Eigen::Vector3d current_pos = current_poses[i].block<3, 1>(0, 3);
|
|
||||||
Eigen::Vector3d target_pos = targets[i].T_target.block<3, 1>(0, 3);
|
|
||||||
double distance = (target_pos - current_pos).norm();
|
|
||||||
max_distance = std::max(max_distance, distance);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 基于速度和距离计算插值点数
|
|
||||||
double move_time = max_distance / vel;
|
|
||||||
int num_points = static_cast<int>(move_time * 100); // 100Hz控制频率
|
|
||||||
|
|
||||||
// 存储所有插值点的关节角度
|
|
||||||
std::vector<Eigen::Vector<double, DOF> > joint_trajectory;
|
|
||||||
joint_trajectory.reserve(num_points + 1);
|
|
||||||
|
|
||||||
// 记录上一次成功的关节角度
|
|
||||||
Eigen::Vector<double, DOF> last_success_q = q_init;
|
|
||||||
|
|
||||||
// 预先计算所有插值点的逆运动学
|
|
||||||
for (int i = 0; i <= num_points; i++) {
|
|
||||||
if (flash_cmd_.load()) {
|
|
||||||
flash_cmd_.store(false);
|
|
||||||
rsm_.store(ROBOT_READY);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
double t = static_cast<double>(i) / num_points;
|
|
||||||
|
|
||||||
// 创建插值后的目标(只做位置插值,旋转保持不变)
|
|
||||||
std::vector<cmvr::ctrl::PoseTarget> interpolated_targets = targets;
|
|
||||||
for (size_t j = 0; j < targets.size(); j++) {
|
|
||||||
// 位置线性插值
|
|
||||||
Eigen::Vector3d current_pos = current_poses[j].block<3, 1>(0, 3);
|
|
||||||
Eigen::Vector3d target_pos = targets[j].T_target.block<3, 1>(0, 3);
|
|
||||||
Eigen::Vector3d interp_pos = current_pos + t * (target_pos - current_pos);
|
|
||||||
|
|
||||||
// 保持旋转不变
|
|
||||||
Eigen::Matrix3d current_rot_matrix = current_poses[j].block<3, 3>(0, 0);
|
|
||||||
interpolated_targets[j].T_target.setIdentity();
|
|
||||||
interpolated_targets[j].T_target.block<3, 3>(0, 0) = current_rot_matrix;
|
|
||||||
interpolated_targets[j].T_target.block<3, 1>(0, 3) = interp_pos;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 求解逆运动学
|
|
||||||
Eigen::Vector<double, DOF> q_cmd;
|
|
||||||
bool ok = m_cctrl_->compute(m_state_, base_link, interpolated_targets, 0.002,
|
|
||||||
ctrl::CartesianController<DOF>::Mode::Position,
|
|
||||||
q_cmd, 10000, 1e-6);
|
|
||||||
|
|
||||||
if (!ok) {
|
|
||||||
LOG(WARNING) << "IK failed at point " << i << ", using last successful configuration";
|
|
||||||
q_cmd = last_success_q;
|
|
||||||
} else {
|
|
||||||
last_success_q = q_cmd;
|
|
||||||
}
|
|
||||||
|
|
||||||
joint_trajectory.push_back(q_cmd);
|
|
||||||
|
|
||||||
// 获取当前末端执行器的位置 (通过正向运动学)
|
|
||||||
m_state_->SetQ(q_cmd);
|
|
||||||
m_robot_->ComputeForwardKinematics(m_state_);
|
|
||||||
|
|
||||||
// 获取当前末端执行器的位姿 (变换矩阵 T)
|
|
||||||
auto ee_idx = m_robot_->GetLinkIdx(targets[0].link_name);
|
|
||||||
Eigen::Matrix4d T = m_robot_->GetTransformation(m_state_, base_idx, ee_idx);
|
|
||||||
|
|
||||||
// 从变换矩阵中提取 XYZ 坐标
|
|
||||||
Eigen::Vector3d end_effector_pos = T.block<3, 1>(0, 3);
|
|
||||||
|
|
||||||
// 打印 IK 解算出的 XYZ 位置
|
|
||||||
if (i % 10 == 0) {
|
|
||||||
// 每10个点打印一次,避免日志过多
|
|
||||||
LOG(INFO) << "IK solution at point " << i << " : "
|
|
||||||
<< "X: " << end_effector_pos[0] << ", Y: " << end_effector_pos[1] << ", Z: " << end_effector_pos
|
|
||||||
[2];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 执行轨迹
|
|
||||||
for (int i = 0; i <= num_points; i++) {
|
|
||||||
if (flash_cmd_.load()) {
|
|
||||||
flash_cmd_.store(false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取当前时间点的关节角度
|
|
||||||
Eigen::Vector<double, DOF> q_cmd = joint_trajectory[i];
|
|
||||||
|
|
||||||
// 发送关节命令
|
|
||||||
std::vector<JointPoint> joint_points{
|
|
||||||
{"R_SHOULDER_P", q_cmd[7]}, {"R_SHOULDER_R", q_cmd[8]},
|
|
||||||
{"R_SHOULDER_Y", q_cmd[9]}, {"R_ELBOW_R", q_cmd[10]},
|
|
||||||
{"R_WRIST_P", q_cmd[11]}, {"R_WRIST_Y", q_cmd[12]},
|
|
||||||
{"R_WRIST_R", q_cmd[13]}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 设置每个关节的速度和位置
|
|
||||||
for (size_t j = 0; j < joint_points.size(); j++) {
|
|
||||||
auto &joint_point = joint_points[j];
|
|
||||||
auto motor = motor_manager_->getMotor(joint_point.joint_name);
|
|
||||||
if (motor != nullptr) {
|
|
||||||
motor->setQ(joint_point.rad);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 等待一段时间,控制频率
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 等待最终位置到达 - 检查所有关节
|
|
||||||
bool completion = true;
|
|
||||||
do {
|
|
||||||
completion = true;
|
|
||||||
for (const auto &name: joint_names_) {
|
|
||||||
auto motor = motor_manager_->getMotor(name);
|
|
||||||
if (motor != nullptr && !motor->reachedTargetQ()) {
|
|
||||||
completion = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flash_cmd_.load()) {
|
|
||||||
flash_cmd_.store(false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(2));
|
|
||||||
} while (!completion);
|
|
||||||
} catch (std::exception &e) {
|
|
||||||
throw std::runtime_error(e.what());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<int DOF>
|
template<int DOF>
|
||||||
void HumanoidRobot<DOF>::speedJ(std::string &joint_name, RobotJointIndexDirection dir, double vel, double acc) {
|
void HumanoidRobot<DOF>::speedJ(std::string &joint_name, RobotJointIndexDirection dir, double vel, double acc) {
|
||||||
@ -1121,8 +1027,7 @@ void HumanoidRobot<DOF>::servoJ(std::vector<JointPoint> &joints, double dt) {
|
|||||||
if (motor->getMode() != msgs::RUN_MODE_CYCLIC_SYNC_POSITION) {
|
if (motor->getMode() != msgs::RUN_MODE_CYCLIC_SYNC_POSITION) {
|
||||||
motor->setMode(msgs::RUN_MODE_CYCLIC_SYNC_POSITION);
|
motor->setMode(msgs::RUN_MODE_CYCLIC_SYNC_POSITION);
|
||||||
}
|
}
|
||||||
motor->setQd(j.vel);
|
motor->setTarget(j.rad,j.vel);
|
||||||
motor->setQ(j.rad);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rsm_.store(ROBOT_READY);
|
rsm_.store(ROBOT_READY);
|
||||||
@ -1137,8 +1042,7 @@ void HumanoidRobot<DOF>::servoJ(std::vector<JointPoint> &joints, double vel, dou
|
|||||||
if (motor->getMode() != msgs::RUN_MODE_CYCLIC_SYNC_POSITION) {
|
if (motor->getMode() != msgs::RUN_MODE_CYCLIC_SYNC_POSITION) {
|
||||||
motor->setMode(msgs::RUN_MODE_CYCLIC_SYNC_POSITION);
|
motor->setMode(msgs::RUN_MODE_CYCLIC_SYNC_POSITION);
|
||||||
}
|
}
|
||||||
motor->setQd(vel);
|
motor->setTarget(j.rad,vel);
|
||||||
motor->setQ(j.rad);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1383,36 +1287,95 @@ std::vector<double> HumanoidRobot<
|
|||||||
template<int DOF>
|
template<int DOF>
|
||||||
cmvr::msgs::Pose3d HumanoidRobot<DOF>::fk(const std::string &base_link, const std::string &ee_link) {
|
cmvr::msgs::Pose3d HumanoidRobot<DOF>::fk(const std::string &base_link, const std::string &ee_link) {
|
||||||
cmvr::msgs::Pose3d pose;
|
cmvr::msgs::Pose3d pose;
|
||||||
|
static const std::vector<std::string> kRightArmJointNames = {
|
||||||
|
"R_SHOULDER_P", "R_SHOULDER_R", "R_SHOULDER_Y",
|
||||||
|
"R_ELBOW_R", "R_WRIST_P", "R_WRIST_Y", "R_WRIST_R"
|
||||||
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 获取当前关节角度
|
if (!ik_solver_) {
|
||||||
Eigen::Vector<double, DOF> q;
|
throw std::runtime_error("ik_solver_ is not initialized");
|
||||||
auto q_map = getJointQ(); // 类似 moveJ 中获取关节角度
|
}
|
||||||
q << q_map["L_SHOULDER_P"], q_map["L_SHOULDER_R"], q_map["L_SHOULDER_Y"], q_map["L_ELBOW_R"],
|
|
||||||
q_map["L_WRIST_P"], q_map["L_WRIST_Y"], q_map["L_WRIST_R"],
|
|
||||||
q_map["R_SHOULDER_P"], q_map["R_SHOULDER_R"], q_map["R_SHOULDER_Y"], q_map["R_ELBOW_R"],
|
|
||||||
q_map["R_WRIST_P"], q_map["R_WRIST_Y"], q_map["R_WRIST_R"];
|
|
||||||
|
|
||||||
LOG(INFO) << "q_current: " << q;
|
const auto q_map = getJointQ();
|
||||||
// 更新状态并计算前向运动学
|
std::vector<double> q_current;
|
||||||
m_state_->SetQ(q);
|
q_current.reserve(kRightArmJointNames.size());
|
||||||
m_robot_->ComputeForwardKinematics(m_state_);
|
for (const auto& joint_name : kRightArmJointNames) {
|
||||||
|
const auto it = q_map.find(joint_name);
|
||||||
|
if (it == q_map.end()) {
|
||||||
|
throw std::runtime_error("missing joint state for " + joint_name);
|
||||||
|
}
|
||||||
|
q_current.push_back(it->second);
|
||||||
|
}
|
||||||
|
|
||||||
// 获取基座和末端索引
|
Eigen::Matrix4d T = Eigen::Matrix4d::Identity();
|
||||||
auto base_idx = m_robot_->GetLinkIdx(base_link);
|
if (!ik_solver_->fk(base_link, ee_link, q_current, T)) {
|
||||||
auto ee_idx = m_robot_->GetLinkIdx(ee_link);
|
throw std::runtime_error("PinocchioDlsIKSolver::fk failed");
|
||||||
|
}
|
||||||
|
|
||||||
// 获取变换矩阵
|
|
||||||
Eigen::Matrix4d T = m_robot_->GetTransformation(m_state_, base_idx, ee_idx);
|
|
||||||
|
|
||||||
// 填充 Pose3d
|
|
||||||
pose.mutable_position()->set_x(T(0, 3));
|
pose.mutable_position()->set_x(T(0, 3));
|
||||||
pose.mutable_position()->set_y(T(1, 3));
|
pose.mutable_position()->set_y(T(1, 3));
|
||||||
pose.mutable_position()->set_z(T(2, 3));
|
pose.mutable_position()->set_z(T(2, 3));
|
||||||
|
|
||||||
// 将旋转矩阵转换为欧拉角
|
|
||||||
Eigen::Matrix3d R = T.block<3, 3>(0, 0);
|
Eigen::Matrix3d R = T.block<3, 3>(0, 0);
|
||||||
Eigen::Vector3d euler = rotationMatrixToEulerZYX(R); // 你需要实现或已有此工具函数
|
const Eigen::Quaterniond q(R);
|
||||||
|
pose.mutable_quaternion()->set_w(q.w());
|
||||||
|
pose.mutable_quaternion()->set_x(q.x());
|
||||||
|
pose.mutable_quaternion()->set_y(q.y());
|
||||||
|
pose.mutable_quaternion()->set_z(q.z());
|
||||||
|
|
||||||
|
Eigen::Vector3d euler = rotationMatrixToEulerZYX(R);
|
||||||
|
pose.mutable_euler()->set_rx(euler(0));
|
||||||
|
pose.mutable_euler()->set_ry(euler(1));
|
||||||
|
pose.mutable_euler()->set_rz(euler(2));
|
||||||
|
} catch (const std::exception &e) {
|
||||||
|
throw std::runtime_error(std::string("FK计算失败: ") + e.what());
|
||||||
|
}
|
||||||
|
|
||||||
|
return pose;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<int DOF>
|
||||||
|
cmvr::msgs::Pose3d HumanoidRobot<DOF>::fk(bool is_tcp) {
|
||||||
|
cmvr::msgs::Pose3d pose;
|
||||||
|
static const std::vector<std::string> kRightArmJointNames = {
|
||||||
|
"R_SHOULDER_P", "R_SHOULDER_R", "R_SHOULDER_Y",
|
||||||
|
"R_ELBOW_R", "R_WRIST_P", "R_WRIST_Y", "R_WRIST_R"
|
||||||
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (!ik_solver_) {
|
||||||
|
throw std::runtime_error("ik_solver_ is not initialized");
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto q_map = getJointQ();
|
||||||
|
std::vector<double> q_current;
|
||||||
|
q_current.reserve(kRightArmJointNames.size());
|
||||||
|
for (const auto& joint_name : kRightArmJointNames) {
|
||||||
|
const auto it = q_map.find(joint_name);
|
||||||
|
if (it == q_map.end()) {
|
||||||
|
throw std::runtime_error("missing joint state for " + joint_name);
|
||||||
|
}
|
||||||
|
q_current.push_back(it->second);
|
||||||
|
}
|
||||||
|
|
||||||
|
Eigen::Matrix4d T = Eigen::Matrix4d::Identity();
|
||||||
|
if (!ik_solver_->fk(q_current, T, is_tcp)) {
|
||||||
|
throw std::runtime_error("PinocchioDlsIKSolver::fk failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
pose.mutable_position()->set_x(T(0, 3));
|
||||||
|
pose.mutable_position()->set_y(T(1, 3));
|
||||||
|
pose.mutable_position()->set_z(T(2, 3));
|
||||||
|
|
||||||
|
const Eigen::Matrix3d R = T.block<3, 3>(0, 0);
|
||||||
|
const Eigen::Quaterniond q(R);
|
||||||
|
pose.mutable_quaternion()->set_w(q.w());
|
||||||
|
pose.mutable_quaternion()->set_x(q.x());
|
||||||
|
pose.mutable_quaternion()->set_y(q.y());
|
||||||
|
pose.mutable_quaternion()->set_z(q.z());
|
||||||
|
|
||||||
|
const Eigen::Vector3d euler = rotationMatrixToEulerZYX(R);
|
||||||
pose.mutable_euler()->set_rx(euler(0));
|
pose.mutable_euler()->set_rx(euler(0));
|
||||||
pose.mutable_euler()->set_ry(euler(1));
|
pose.mutable_euler()->set_ry(euler(1));
|
||||||
pose.mutable_euler()->set_rz(euler(2));
|
pose.mutable_euler()->set_rz(euler(2));
|
||||||
@ -1424,397 +1387,161 @@ cmvr::msgs::Pose3d HumanoidRobot<DOF>::fk(const std::string &base_link, const st
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void printTrajectoryInfo(
|
|
||||||
const std::vector<Eigen::Matrix4d> &trajectory,
|
|
||||||
const std::vector<double> ×,
|
|
||||||
const std::vector<double> &velocities,
|
|
||||||
double total_distance) {
|
|
||||||
std::cout << "\n===================================== 轨迹详细信息 =====================================" << std::endl;
|
|
||||||
std::cout << "总路径长度: " << std::fixed << std::setprecision(6) << total_distance << "m" << std::endl;
|
|
||||||
std::cout << "总运动时间: " << std::fixed << std::setprecision(3) << times.back() << "s" << std::endl;
|
|
||||||
std::cout << "轨迹点总数: " << trajectory.size() << " 个" << std::endl;
|
|
||||||
std::cout << "-----------------------------------------------------------------------------------------" <<
|
|
||||||
std::endl;
|
|
||||||
std::cout << std::setw(4) << "序号" << " | "
|
|
||||||
<< std::setw(8) << "时间(s)" << " | "
|
|
||||||
<< std::setw(10) << "x(m)" << " | "
|
|
||||||
<< std::setw(10) << "y(m)" << " | "
|
|
||||||
<< std::setw(10) << "z(m)" << " | "
|
|
||||||
<< std::setw(12) << "速度(m/s)" << " | "
|
|
||||||
<< std::setw(16) << "到起点距离(m)" << std::endl;
|
|
||||||
std::cout << "-----------------------------------------------------------------------------------------" <<
|
|
||||||
std::endl;
|
|
||||||
|
|
||||||
Eigen::Vector3d start_pos(trajectory[0](0, 3), trajectory[0](1, 3), trajectory[0](2, 3));
|
|
||||||
for (size_t idx = 0; idx < trajectory.size(); ++idx) {
|
|
||||||
const auto &T = trajectory[idx];
|
|
||||||
Eigen::Vector3d pos(T(0, 3), T(1, 3), T(2, 3));
|
|
||||||
double dist_from_start = (pos - start_pos).norm();
|
|
||||||
|
|
||||||
std::cout << std::setw(4) << idx << " | "
|
|
||||||
<< std::fixed << std::setprecision(3) << std::setw(8) << times[idx] << " | "
|
|
||||||
<< std::fixed << std::setprecision(6) << std::setw(10) << pos.x() << " | "
|
|
||||||
<< std::fixed << std::setprecision(6) << std::setw(10) << pos.y() << " | "
|
|
||||||
<< std::fixed << std::setprecision(6) << std::setw(10) << pos.z() << " | "
|
|
||||||
<< std::fixed << std::setprecision(6) << std::setw(12) << velocities[idx] << " | "
|
|
||||||
<< std::fixed << std::setprecision(6) << std::setw(16) << dist_from_start << std::endl;
|
|
||||||
}
|
|
||||||
std::cout << "=========================================================================================\n" <<
|
|
||||||
std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<int DOF>
|
template<int DOF>
|
||||||
void HumanoidRobot<DOF>::moveDeltaL(const std::string &base_link, const std::string &ee_link,
|
bool HumanoidRobot<DOF>::moveL(const std::vector<double> &pose,
|
||||||
msgs::Pose3d delta_pose, double vel, double acc) {
|
double speed,
|
||||||
try {
|
double acceleration,
|
||||||
Eigen::Vector<double, DOF> q_current_for_ik;
|
double jerk,
|
||||||
auto q_map_current = getJointQ();
|
const std::vector<double> &qd_max,
|
||||||
q_current_for_ik << q_map_current["L_SHOULDER_P"], q_map_current["L_SHOULDER_R"], q_map_current["L_SHOULDER_Y"],
|
bool asynchronous) {
|
||||||
q_map_current["L_ELBOW_R"],
|
|
||||||
q_map_current["L_WRIST_P"], q_map_current["L_WRIST_Y"], q_map_current["L_WRIST_R"],
|
|
||||||
q_map_current["R_SHOULDER_P"], q_map_current["R_SHOULDER_R"], q_map_current["R_SHOULDER_Y"],
|
|
||||||
q_map_current["R_ELBOW_R"],
|
|
||||||
q_map_current["R_WRIST_P"], q_map_current["R_WRIST_Y"], q_map_current["R_WRIST_R"];
|
|
||||||
|
|
||||||
LOG(INFO) << "q_current_for_ik: " << q_current_for_ik;
|
|
||||||
|
|
||||||
// 1. 计算末端当前位姿(通过FK)
|
|
||||||
msgs::Pose3d current_pose = fk(base_link, ee_link);
|
|
||||||
|
|
||||||
LOG(INFO) << current_pose.mutable_position()->x() << " " << current_pose.mutable_position()->y() << " "
|
|
||||||
<< current_pose.mutable_position()->z() << " " << current_pose.mutable_euler()->rx() << " "
|
|
||||||
<< current_pose.mutable_euler()->ry() << " " << current_pose.mutable_euler()->rz();
|
|
||||||
|
|
||||||
// 2. 计算目标位姿 = 当前位姿 + 相对偏移(位置/姿态分别叠加)
|
|
||||||
msgs::Pose3d target_pose;
|
|
||||||
target_pose.mutable_position()->set_x(current_pose.position().x() + delta_pose.position().x());
|
|
||||||
target_pose.mutable_position()->set_y(current_pose.position().y() + delta_pose.position().y());
|
|
||||||
target_pose.mutable_position()->set_z(current_pose.position().z() + delta_pose.position().z());
|
|
||||||
target_pose.mutable_euler()->set_rx(current_pose.euler().rx() + delta_pose.euler().rx());
|
|
||||||
target_pose.mutable_euler()->set_ry(current_pose.euler().ry() + delta_pose.euler().ry());
|
|
||||||
target_pose.mutable_euler()->set_rz(current_pose.euler().rz() + delta_pose.euler().rz());
|
|
||||||
|
|
||||||
// 3. 调用moveL执行直线运动到目标位姿
|
|
||||||
moveL(base_link, ee_link, target_pose, vel, acc);
|
|
||||||
} catch (const std::exception &e) {
|
|
||||||
LOG(ERROR) << "moveDeltaL failed: " << e.what();
|
|
||||||
throw std::runtime_error(std::string("moveDeltaL error: ") + e.what());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
template<int DOF>
|
|
||||||
void HumanoidRobot<DOF>::moveL(const std::string &base_link, const std::string &ee_link,
|
|
||||||
msgs::Pose3d target_pose, double vel, double acc) {
|
|
||||||
stopSpeedLWorker_();
|
stopSpeedLWorker_();
|
||||||
if (vel <= 0 || acc <= 0) {
|
|
||||||
throw std::runtime_error("moveL: vel and acc must be positive");
|
if (asynchronous) {
|
||||||
|
LOG(ERROR) << "moveL: asynchronous=true is not supported yet";
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!ik_solver_) {
|
||||||
|
LOG(ERROR) << "moveL: ik_solver_ is not initialized";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (pose.size() != 6) {
|
||||||
|
LOG(ERROR) << "moveL: pose size must be 6 [x, y, z, rx, ry, rz], got " << pose.size();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (speed <= 0.0 || acceleration <= 0.0) {
|
||||||
|
LOG(ERROR) << "moveL: speed and acceleration must be positive";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (jerk <= 0.0) {
|
||||||
|
LOG(ERROR) << "moveL: jerk must be positive";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Eigen::Matrix4d target_pose_base = Eigen::Matrix4d::Identity();
|
||||||
|
target_pose_base.block<3, 3>(0, 0) = eulerZYXToRotationMatrix(pose[3], pose[4], pose[5]);
|
||||||
|
target_pose_base(0, 3) = pose[0];
|
||||||
|
target_pose_base(1, 3) = pose[1];
|
||||||
|
target_pose_base(2, 3) = pose[2];
|
||||||
|
|
||||||
|
const double dt_real = 0.001;
|
||||||
|
return executeMoveLScurve_(target_pose_base,
|
||||||
|
speed,
|
||||||
|
acceleration,
|
||||||
|
jerk,
|
||||||
|
qd_max,
|
||||||
|
dt_real,
|
||||||
|
true,
|
||||||
|
cmvr::CartesianFrame::Tool);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<int DOF>
|
||||||
|
bool HumanoidRobot<DOF>::executeMoveLScurve_(const Eigen::Matrix4d& target_pose_input,
|
||||||
|
double v_tcp_max,
|
||||||
|
double a_tcp_max,
|
||||||
|
double j_tcp_max,
|
||||||
|
const std::vector<double>& qd_max,
|
||||||
|
double dt_real,
|
||||||
|
bool is_tcp,
|
||||||
|
cmvr::CartesianFrame input_frame) {
|
||||||
|
static const std::vector<std::string> kRightArmJointNames = {
|
||||||
|
"R_SHOULDER_P", "R_SHOULDER_R", "R_SHOULDER_Y",
|
||||||
|
"R_ELBOW_R", "R_WRIST_P", "R_WRIST_Y", "R_WRIST_R"
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!ik_solver_) {
|
||||||
|
LOG(ERROR) << "executeMoveLScurve_: ik_solver_ is not initialized";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (v_tcp_max <= 0.0 || a_tcp_max <= 0.0 || j_tcp_max <= 0.0 || dt_real <= 0.0) {
|
||||||
|
LOG(ERROR) << "executeMoveLScurve_: invalid parameters, v=" << v_tcp_max
|
||||||
|
<< ", a=" << a_tcp_max
|
||||||
|
<< ", j=" << j_tcp_max
|
||||||
|
<< ", dt=" << dt_real;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(right_arm_mutex_);
|
||||||
|
if (is_right_arm_busy_.exchange(true)) {
|
||||||
|
LOG(ERROR) << "executeMoveLScurve_: right arm is busy";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct BusyGuard {
|
||||||
|
std::atomic<bool>& busy_flag;
|
||||||
|
~BusyGuard() { busy_flag.store(false); }
|
||||||
|
} busy_guard{is_right_arm_busy_};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const double CONTROL_PERIOD = 1.0 / 50.0; // 控制周期保持不变
|
std::vector<double> q_start;
|
||||||
msgs::Pose3d current_pose = fk(base_link, ee_link);
|
q_start.reserve(kRightArmJointNames.size());
|
||||||
|
const auto q_map = getJointQ();
|
||||||
// 1. 初始化当前和目标位姿矩阵
|
for (const auto& joint_name : kRightArmJointNames) {
|
||||||
Eigen::Matrix4d T_current = Eigen::Matrix4d::Identity();
|
const auto it = q_map.find(joint_name);
|
||||||
T_current.block<3, 3>(0, 0) = eulerZYXToRotationMatrix(
|
if (it == q_map.end()) {
|
||||||
current_pose.euler().rx(), current_pose.euler().ry(), current_pose.euler().rz()
|
LOG(ERROR) << "executeMoveLScurve_: missing joint state for " << joint_name;
|
||||||
);
|
return false;
|
||||||
T_current(0, 3) = current_pose.position().x();
|
}
|
||||||
T_current(1, 3) = current_pose.position().y();
|
q_start.push_back(it->second);
|
||||||
T_current(2, 3) = current_pose.position().z();
|
|
||||||
|
|
||||||
Eigen::Matrix4d T_target = Eigen::Matrix4d::Identity();
|
|
||||||
T_target.block<3, 3>(0, 0) = eulerZYXToRotationMatrix(
|
|
||||||
target_pose.euler().rx(), target_pose.euler().ry(), target_pose.euler().rz()
|
|
||||||
);
|
|
||||||
T_target(0, 3) = target_pose.position().x();
|
|
||||||
T_target(1, 3) = target_pose.position().y();
|
|
||||||
T_target(2, 3) = target_pose.position().z();
|
|
||||||
|
|
||||||
// 保存起始姿态,确保整个运动过程中姿态保持不变
|
|
||||||
Eigen::Matrix3d start_orientation = T_current.block<3, 3>(0, 0);
|
|
||||||
|
|
||||||
// 2. 获取当前关节配置并验证目标可达性
|
|
||||||
Eigen::Vector<double, DOF> q_current;
|
|
||||||
auto q_map_current = getJointQ();
|
|
||||||
q_current << q_map_current["L_SHOULDER_P"], q_map_current["L_SHOULDER_R"], q_map_current["L_SHOULDER_Y"],
|
|
||||||
q_map_current["L_ELBOW_R"],
|
|
||||||
q_map_current["L_WRIST_P"], q_map_current["L_WRIST_Y"], q_map_current["L_WRIST_R"],
|
|
||||||
q_map_current["R_SHOULDER_P"], q_map_current["R_SHOULDER_R"], q_map_current["R_SHOULDER_Y"],
|
|
||||||
q_map_current["R_ELBOW_R"],
|
|
||||||
q_map_current["R_WRIST_P"], q_map_current["R_WRIST_Y"], q_map_current["R_WRIST_R"];
|
|
||||||
|
|
||||||
LOG(INFO) << "Current joint configuration: " << q_current;
|
|
||||||
m_state_->SetQ(q_current);
|
|
||||||
m_robot_->ComputeForwardKinematics(m_state_);
|
|
||||||
|
|
||||||
// 验证目标点可达性 - 使用起始姿态,确保姿态不变
|
|
||||||
cmvr::ctrl::PoseTarget target_ik_check;
|
|
||||||
target_ik_check.T_target = T_target;
|
|
||||||
target_ik_check.T_target.block<3, 3>(0, 0) = start_orientation; // 使用起始姿态
|
|
||||||
target_ik_check.w_posrot = 0.5;
|
|
||||||
target_ik_check.weight = 1.0;
|
|
||||||
target_ik_check.link_name = ee_link;
|
|
||||||
|
|
||||||
Eigen::Vector<double, DOF> q_cmd_check;
|
|
||||||
bool ik_solvable = m_cctrl_->compute(m_state_, base_link, {target_ik_check}, 0.002,
|
|
||||||
ctrl::CartesianController<DOF>::Mode::Position,
|
|
||||||
q_cmd_check, 10000, 1e-6);
|
|
||||||
if (!ik_solvable) {
|
|
||||||
throw std::runtime_error("moveL: Target pose is unreachable with constant orientation");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 计算位置差值(保持姿态不变)
|
if (!qd_max.empty() && qd_max.size() != kRightArmJointNames.size()) {
|
||||||
Eigen::Vector3d delta_pos = T_target.block<3, 1>(0, 3) - T_current.block<3, 1>(0, 3);
|
LOG(ERROR) << "executeMoveLScurve_: qd_max size mismatch, expect "
|
||||||
double total_distance = delta_pos.norm();
|
<< kRightArmJointNames.size() << ", got " << qd_max.size();
|
||||||
|
return false;
|
||||||
if (total_distance < 1e-6) {
|
|
||||||
LOG(INFO) << "moveL: Target is already reached";
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. 基于S曲线速度规划的时间规划
|
std::vector<std::vector<double>> q_traj;
|
||||||
// 计算总时间和插值点数
|
std::vector<std::vector<double>> qdot_traj;
|
||||||
double move_time = calculateMoveTime(total_distance, vel, acc);
|
std::vector<double> t_traj;
|
||||||
size_t num_points = std::max(2ul, static_cast<size_t>(ceil(move_time / CONTROL_PERIOD)));
|
if (!ik_solver_->moveL_SCurveLocal(target_pose_input,
|
||||||
|
q_start,
|
||||||
// 生成时间轴和距离比例
|
q_traj,
|
||||||
std::vector<double> time_points;
|
t_traj,
|
||||||
std::vector<double> distance_ratios;
|
dt_real,
|
||||||
generateSTrapezoidalProfile(total_distance, vel, acc, move_time, num_points,
|
v_tcp_max,
|
||||||
time_points, distance_ratios);
|
a_tcp_max,
|
||||||
|
j_tcp_max,
|
||||||
LOG(INFO) << "moveL: Planning trajectory - points=" << num_points
|
qd_max,
|
||||||
<< ", total distance=" << total_distance << "m, move time=" << move_time << "s";
|
is_tcp,
|
||||||
|
input_frame,
|
||||||
// 5. 生成轨迹点(位置线性插值,姿态保持不变)
|
&qdot_traj)) {
|
||||||
std::vector<Eigen::Matrix4d> cartesian_trajectory;
|
LOG(ERROR) << "executeMoveLScurve_: moveL_SCurveLocal failed";
|
||||||
for (size_t i = 0; i <= num_points; ++i) {
|
return false;
|
||||||
double s = distance_ratios[i]; // 使用S曲线规划的距离比例
|
}
|
||||||
|
if (q_traj.empty() || t_traj.size() != q_traj.size()) {
|
||||||
Eigen::Matrix4d T_interp = Eigen::Matrix4d::Identity();
|
LOG(ERROR) << "executeMoveLScurve_: invalid trajectory output";
|
||||||
T_interp.block<3, 3>(0, 0) = start_orientation; // 保持起始姿态不变
|
return false;
|
||||||
// 仅位置按比例插值
|
}
|
||||||
T_interp(0, 3) = T_current(0, 3) + s * delta_pos.x();
|
if (qdot_traj.size() != q_traj.size()) {
|
||||||
T_interp(1, 3) = T_current(1, 3) + s * delta_pos.y();
|
LOG(WARNING) << "executeMoveLScurve_: qdot_traj size mismatch, use zero fallback";
|
||||||
T_interp(2, 3) = T_current(2, 3) + s * delta_pos.z();
|
qdot_traj.assign(q_traj.size(), std::vector<double>(kRightArmJointNames.size(), 0.0));
|
||||||
|
}
|
||||||
cartesian_trajectory.push_back(T_interp);
|
if (q_traj.size() == 1) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 6. 预先计算所有轨迹点的关节位置
|
auto next_deadline = std::chrono::steady_clock::now();
|
||||||
std::vector<Eigen::Vector<double, DOF> > joint_positions;
|
for (size_t i = 1; i < q_traj.size(); ++i) {
|
||||||
joint_positions.push_back(q_current); // 起始位置
|
const double dt_segment = std::max(1e-4, t_traj[i] - t_traj[i - 1]);
|
||||||
|
std::vector<JointPoint> joint_cmd;
|
||||||
// 预先计算所有关节位置
|
joint_cmd.reserve(kRightArmJointNames.size());
|
||||||
for (size_t i = 1; i < cartesian_trajectory.size(); ++i) {
|
for (size_t j = 0; j < kRightArmJointNames.size(); ++j) {
|
||||||
const auto &T_interp = cartesian_trajectory[i];
|
const double qd_abs = (j < qdot_traj[i].size()) ? std::abs(qdot_traj[i][j]) : 0.0;
|
||||||
|
joint_cmd.emplace_back(kRightArmJointNames[j], q_traj[i][j], qd_abs);
|
||||||
// 构造当前目标
|
|
||||||
cmvr::ctrl::PoseTarget current_target;
|
|
||||||
current_target.T_target = T_interp;
|
|
||||||
current_target.link_name = ee_link;
|
|
||||||
current_target.w_posrot = 0.5;
|
|
||||||
current_target.weight = 1.0;
|
|
||||||
|
|
||||||
// 使用前一点的位置作为初始值求解IK
|
|
||||||
Eigen::Vector<double, DOF> q_next;
|
|
||||||
bool ok = m_cctrl_->compute(m_state_, base_link, {current_target}, CONTROL_PERIOD,
|
|
||||||
ctrl::CartesianController<DOF>::Mode::Position,
|
|
||||||
q_next, 10000, 1e-6);
|
|
||||||
|
|
||||||
if (!ok) {
|
|
||||||
throw std::runtime_error("Pre-computation IK failed");
|
|
||||||
// LOG(WARNING) << "Pre-computation IK failed at point " << i << ", using previous point";
|
|
||||||
// q_next = joint_positions.back();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
joint_positions.push_back(q_next);
|
servoJ(joint_cmd, dt_segment);
|
||||||
|
next_deadline += std::chrono::duration_cast<std::chrono::steady_clock::duration>(
|
||||||
|
std::chrono::duration<double>(dt_segment));
|
||||||
|
std::this_thread::sleep_until(next_deadline);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7. 计算每个点的关节速度
|
LOG(INFO) << "executeMoveLScurve_: completed, samples=" << q_traj.size()
|
||||||
std::vector<Eigen::Vector<double, DOF> > joint_velocities;
|
<< ", duration_s=" << t_traj.back();
|
||||||
joint_velocities.push_back(Eigen::Vector<double, DOF>::Zero()); // 起始速度为零
|
return true;
|
||||||
|
} catch (const std::exception& e) {
|
||||||
for (size_t i = 1; i < joint_positions.size(); ++i) {
|
LOG(ERROR) << "executeMoveLScurve_ failed: " << e.what();
|
||||||
double dt = time_points[i] - time_points[i - 1];
|
return false;
|
||||||
Eigen::Vector<double, DOF> vel = (joint_positions[i] - joint_positions[i - 1]) / dt;
|
|
||||||
joint_velocities.push_back(vel);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 8. 打印轨迹信息
|
|
||||||
std::cout << "\n===================================== 轨迹规划信息 =====================================" <<
|
|
||||||
std::endl;
|
|
||||||
std::cout << "轨迹点总数: " << cartesian_trajectory.size() << " 个" << std::endl;
|
|
||||||
std::cout << "总路径长度: " << std::fixed << std::setprecision(6) << total_distance << "m" << std::endl;
|
|
||||||
std::cout << "最大速度: " << std::fixed << std::setprecision(6) << vel << "m/s" << std::endl;
|
|
||||||
std::cout << "加速度: " << std::fixed << std::setprecision(6) << acc << "m/s²" << std::endl;
|
|
||||||
std::cout << "总时间: " << std::fixed << std::setprecision(6) << move_time << "s" << std::endl;
|
|
||||||
std::cout << "起点位置: (x=" << T_current(0, 3) << ", y=" << T_current(1, 3) << ", z=" << T_current(2, 3) << ")" <<
|
|
||||||
std::endl;
|
|
||||||
std::cout << "终点位置: (x=" << T_target(0, 3) << ", y=" << T_target(1, 3) << ", z=" << T_target(2, 3) << ")" <<
|
|
||||||
std::endl;
|
|
||||||
std::cout << "保持姿态不变" << std::endl;
|
|
||||||
std::cout << "-----------------------------------------------------------------------------------------" <<
|
|
||||||
std::endl;
|
|
||||||
|
|
||||||
// 9. 执行轨迹
|
|
||||||
auto loop_start_time = std::chrono::high_resolution_clock::now();
|
|
||||||
|
|
||||||
for (size_t i = 0; i < cartesian_trajectory.size(); ++i) {
|
|
||||||
// 获取当前点的关节位置和速度
|
|
||||||
Eigen::Vector<double, DOF> q_cmd = joint_positions[i];
|
|
||||||
Eigen::Vector<double, DOF> q_vel = joint_velocities[i];
|
|
||||||
|
|
||||||
// 更新状态
|
|
||||||
m_state_->SetQ(q_cmd);
|
|
||||||
m_robot_->ComputeForwardKinematics(m_state_);
|
|
||||||
|
|
||||||
// 发送关节命令 - 为每个电机单独设置位置和速度
|
|
||||||
std::vector<JointPoint> joint_command;
|
|
||||||
for (size_t j = 0; j < DOF; ++j) {
|
|
||||||
JointPoint jp;
|
|
||||||
jp.joint_name = joint_names_[j];
|
|
||||||
jp.rad = q_cmd[j];
|
|
||||||
jp.vel = std::abs(q_vel[j]); // 使用计算出的关节速度
|
|
||||||
joint_command.push_back(jp);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 计算当前点应该执行的时间
|
|
||||||
double expected_time = time_points[i];
|
|
||||||
// servoJ(joint_command, vel, expected_time);
|
|
||||||
for (const auto &j: joint_command) {
|
|
||||||
auto motor = motor_manager_->getMotor(j.joint_name);
|
|
||||||
if (motor != nullptr) {
|
|
||||||
if (motor->getMode() != msgs::RUN_MODE_CYCLIC_SYNC_POSITION) {
|
|
||||||
motor->setMode(msgs::RUN_MODE_CYCLIC_SYNC_POSITION);
|
|
||||||
}
|
|
||||||
motor->setQd(j.vel);
|
|
||||||
motor->setQ(j.rad);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 检查中断
|
|
||||||
if (flash_cmd_.load()) {
|
|
||||||
flash_cmd_.store(false);
|
|
||||||
LOG(INFO) << "moveL: Interrupted by external command";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 控制时间节奏 - 使用精确的时间规划
|
|
||||||
auto expected_time_point = loop_start_time + std::chrono::nanoseconds(
|
|
||||||
static_cast<long long>(expected_time * 1e9)
|
|
||||||
);
|
|
||||||
auto now = std::chrono::high_resolution_clock::now();
|
|
||||||
if (now < expected_time_point) {
|
|
||||||
std::this_thread::sleep_until(expected_time_point);
|
|
||||||
} else {
|
|
||||||
LOG(WARNING) << "moveL: Behind schedule at point " << i
|
|
||||||
<< " by " << std::chrono::duration_cast<std::chrono::milliseconds>(now - expected_time_point).
|
|
||||||
count() << "ms";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 最终状态更新
|
|
||||||
m_state_->SetQ(joint_positions.back());
|
|
||||||
m_robot_->ComputeForwardKinematics(m_state_);
|
|
||||||
rsm_.store(ROBOT_READY);
|
|
||||||
LOG(INFO) << "moveL: Trajectory completed successfully";
|
|
||||||
} catch (const std::exception &e) {
|
|
||||||
LOG(ERROR) << "moveL failed: " << e.what();
|
|
||||||
rsm_.store(ROBOT_ERROR);
|
|
||||||
throw std::runtime_error(std::string("moveL error: ") + e.what());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 辅助函数:计算运动时间
|
|
||||||
template<int DOF>
|
|
||||||
double HumanoidRobot<DOF>::calculateMoveTime(double distance, double vel, double acc) {
|
|
||||||
// 计算加速和减速所需的时间和距离
|
|
||||||
double acc_time = vel / acc;
|
|
||||||
double acc_distance = 0.5 * acc * acc_time * acc_time;
|
|
||||||
|
|
||||||
// 如果加速距离超过总距离的一半,需要调整最大速度
|
|
||||||
if (2 * acc_distance > distance) {
|
|
||||||
// 三角形速度曲线:加速然后直接减速
|
|
||||||
double max_reachable_vel = std::sqrt(acc * distance);
|
|
||||||
return 2 * max_reachable_vel / acc;
|
|
||||||
} else {
|
|
||||||
// 梯形速度曲线:加速-匀速-减速
|
|
||||||
double constant_distance = distance - 2 * acc_distance;
|
|
||||||
double constant_time = constant_distance / vel;
|
|
||||||
return 2 * acc_time + constant_time;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 辅助函数:生成S曲线轨迹规划
|
|
||||||
template<int DOF>
|
|
||||||
void HumanoidRobot<DOF>::generateSTrapezoidalProfile(double total_distance, double max_vel, double max_acc,
|
|
||||||
double total_time, size_t num_points,
|
|
||||||
std::vector<double> &time_points,
|
|
||||||
std::vector<double> &distance_ratios) {
|
|
||||||
time_points.clear();
|
|
||||||
distance_ratios.clear();
|
|
||||||
|
|
||||||
// 计算加速和减速阶段的时间
|
|
||||||
double acc_time = max_vel / max_acc;
|
|
||||||
double acc_distance = 0.5 * max_acc * acc_time * acc_time;
|
|
||||||
|
|
||||||
// 确定实际的速度曲线形状
|
|
||||||
if (2 * acc_distance > total_distance) {
|
|
||||||
// 三角形速度曲线
|
|
||||||
double actual_max_vel = std::sqrt(max_acc * total_distance);
|
|
||||||
acc_time = actual_max_vel / max_acc;
|
|
||||||
acc_distance = 0.5 * max_acc * acc_time * acc_time;
|
|
||||||
|
|
||||||
double dec_time = acc_time;
|
|
||||||
|
|
||||||
// 生成时间点和距离比例
|
|
||||||
for (size_t i = 0; i <= num_points; ++i) {
|
|
||||||
double t = static_cast<double>(i) / num_points * total_time;
|
|
||||||
time_points.push_back(t);
|
|
||||||
|
|
||||||
if (t <= acc_time) {
|
|
||||||
// 加速阶段
|
|
||||||
double s = 0.5 * max_acc * t * t;
|
|
||||||
distance_ratios.push_back(s / total_distance);
|
|
||||||
} else {
|
|
||||||
// 减速阶段
|
|
||||||
double dec_start_time = total_time - dec_time;
|
|
||||||
double dec_elapsed = t - dec_start_time;
|
|
||||||
double s = acc_distance + actual_max_vel * dec_elapsed - 0.5 * max_acc * dec_elapsed * dec_elapsed;
|
|
||||||
distance_ratios.push_back(s / total_distance);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 梯形速度曲线
|
|
||||||
double constant_time = (total_distance - 2 * acc_distance) / max_vel;
|
|
||||||
double dec_time = acc_time;
|
|
||||||
|
|
||||||
// 生成时间点和距离比例
|
|
||||||
for (size_t i = 0; i <= num_points; ++i) {
|
|
||||||
double t = static_cast<double>(i) / num_points * total_time;
|
|
||||||
time_points.push_back(t);
|
|
||||||
|
|
||||||
if (t <= acc_time) {
|
|
||||||
// 加速阶段
|
|
||||||
double s = 0.5 * max_acc * t * t;
|
|
||||||
distance_ratios.push_back(s / total_distance);
|
|
||||||
} else if (t <= acc_time + constant_time) {
|
|
||||||
// 匀速阶段
|
|
||||||
double s = acc_distance + max_vel * (t - acc_time);
|
|
||||||
distance_ratios.push_back(s / total_distance);
|
|
||||||
} else {
|
|
||||||
// 减速阶段
|
|
||||||
double dec_start_time = acc_time + constant_time;
|
|
||||||
double dec_elapsed = t - dec_start_time;
|
|
||||||
double s = acc_distance + max_vel * constant_time +
|
|
||||||
max_vel * dec_elapsed - 0.5 * max_acc * dec_elapsed * dec_elapsed;
|
|
||||||
distance_ratios.push_back(s / total_distance);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -81,6 +81,23 @@ std::unordered_map<std::string, double> makeRightArmQMap() {
|
|||||||
return q_map;
|
return q_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool readRightArmQ(const std::shared_ptr<AbstractRobot>& robot, std::vector<double>& q_now) {
|
||||||
|
if (!robot) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
auto q_map_now = makeRightArmQMap();
|
||||||
|
robot->getJointQ(q_map_now);
|
||||||
|
q_now.assign(kRightArmJointNames.size(), 0.0);
|
||||||
|
for (size_t i = 0; i < kRightArmJointNames.size(); ++i) {
|
||||||
|
const auto it = q_map_now.find(kRightArmJointNames[i]);
|
||||||
|
if (it == q_map_now.end()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
q_now[i] = it->second;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
|
||||||
@ -95,7 +112,7 @@ TEST(HumanoidRobotTest, speedLSmokeTest) {
|
|||||||
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
||||||
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
||||||
auto dmgr_cfg = config.getChild("DeviceManager");
|
auto dmgr_cfg = config.getChild("DeviceManager");
|
||||||
auto& dmgr = DeviceManager::getInstance(dmgr_cfg);
|
auto& dmgr = DeviceManager::getInstance();
|
||||||
|
|
||||||
auto robot_abs = dmgr.getDevice<AbstractRobot>("hc01");
|
auto robot_abs = dmgr.getDevice<AbstractRobot>("hc01");
|
||||||
auto robot = std::dynamic_pointer_cast<HumanoidRobot<14>>(robot_abs);
|
auto robot = std::dynamic_pointer_cast<HumanoidRobot<14>>(robot_abs);
|
||||||
@ -210,12 +227,249 @@ TEST(HumanoidRobotTest, speedLSmokeTest) {
|
|||||||
// show(fig);
|
// show(fig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(HumanoidRobotTest, moveLSCurveLocalRealRobot) {
|
||||||
|
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
||||||
|
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
||||||
|
auto dmgr_cfg = config.getChild("DeviceManager");
|
||||||
|
auto& dmgr = DeviceManager::getInstance();
|
||||||
|
|
||||||
|
auto robot_abs = dmgr.getDevice<AbstractRobot>("hc01");
|
||||||
|
auto robot = std::dynamic_pointer_cast<HumanoidRobot<14>>(robot_abs);
|
||||||
|
ASSERT_NE(robot, nullptr) << "hc01 is not HumanoidRobot<14>";
|
||||||
|
|
||||||
|
std::vector<JointPoint> init_cmd = {
|
||||||
|
{"R_SHOULDER_P", -0.2423},
|
||||||
|
{"R_SHOULDER_R", 1.2929},
|
||||||
|
{"R_SHOULDER_Y", 1.61},
|
||||||
|
{"R_ELBOW_R", 1.58},
|
||||||
|
{"R_WRIST_P", -2.8792},
|
||||||
|
{"R_WRIST_Y", 0.1150},
|
||||||
|
{"R_WRIST_R", 0.1},
|
||||||
|
};
|
||||||
|
robot->moveJ(init_cmd, 1.0, 2.0);
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||||
|
|
||||||
|
struct ReturnHomeGuard {
|
||||||
|
std::shared_ptr<HumanoidRobot<14>> robot;
|
||||||
|
std::vector<JointPoint> home;
|
||||||
|
~ReturnHomeGuard() {
|
||||||
|
if (!robot) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
robot->moveJ(home, 1.0, 2.0);
|
||||||
|
} catch (...) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} guard{robot, init_cmd};
|
||||||
|
|
||||||
|
std::vector<double> q_start;
|
||||||
|
ASSERT_TRUE(readRightArmQ(robot_abs, q_start)) << "Failed to read right arm joint state";
|
||||||
|
|
||||||
|
cmvr::PinocchioDlsIKSolver solver(
|
||||||
|
"/home/lgv/cmvr/cmvr-es/model/xiaoyan_description/dual_arm.urdf",
|
||||||
|
"PELVIS_S",
|
||||||
|
"R_WRIST_R_S",
|
||||||
|
"R_FINGER_TIP_FIXED");
|
||||||
|
ASSERT_TRUE(solver.init()) << "PinocchioDlsIKSolver init failed";
|
||||||
|
|
||||||
|
Eigen::Matrix4d target_pose_input = Eigen::Matrix4d::Identity();
|
||||||
|
const cmvr::CartesianFrame input_frame = cmvr::CartesianFrame::Tool;
|
||||||
|
target_pose_input(1, 3) = -0.08;
|
||||||
|
|
||||||
|
const double dt_gen = 0.001;
|
||||||
|
const double v_tcp = 0.08;
|
||||||
|
const double a_tcp = 5;
|
||||||
|
const double j_tcp = 5;
|
||||||
|
const bool is_tcp = true;
|
||||||
|
std::vector<double> qd_max(7, 3.0);
|
||||||
|
|
||||||
|
std::vector<std::vector<double>> q_traj;
|
||||||
|
std::vector<std::vector<double>> qdot_traj;
|
||||||
|
std::vector<double> t_traj;
|
||||||
|
ASSERT_TRUE(solver.moveL_SCurveLocal(target_pose_input,
|
||||||
|
q_start,
|
||||||
|
q_traj,
|
||||||
|
t_traj,
|
||||||
|
dt_gen,
|
||||||
|
v_tcp,
|
||||||
|
a_tcp,
|
||||||
|
j_tcp,
|
||||||
|
qd_max,
|
||||||
|
is_tcp,
|
||||||
|
input_frame,
|
||||||
|
&qdot_traj))
|
||||||
|
<< "moveL_SCurveLocal failed";
|
||||||
|
|
||||||
|
ASSERT_EQ(q_traj.size(), t_traj.size()) << "q_traj and t_traj size mismatch";
|
||||||
|
ASSERT_EQ(q_traj.size(), qdot_traj.size()) << "q_traj and qdot_traj size mismatch";
|
||||||
|
ASSERT_FALSE(q_traj.empty()) << "Generated trajectory is empty";
|
||||||
|
|
||||||
|
LOG(INFO) << "moveLSCurveLocalRealRobot generated samples=" << q_traj.size()
|
||||||
|
<< ", duration_s=" << (t_traj.empty() ? 0.0 : t_traj.back())
|
||||||
|
<< ", frame=" << (input_frame == cmvr::CartesianFrame::Tool ? "Tool" : "Base")
|
||||||
|
<< ", delta_xyz=[" << target_pose_input(0, 3) << ", "
|
||||||
|
<< target_pose_input(1, 3) << ", "
|
||||||
|
<< target_pose_input(2, 3) << "]";
|
||||||
|
|
||||||
|
auto next_deadline = std::chrono::steady_clock::now();
|
||||||
|
for (size_t i = 1; i < q_traj.size(); ++i) {
|
||||||
|
const double dt_segment = std::max(0.0, t_traj[i] - t_traj[i - 1]);
|
||||||
|
std::vector<double> qd_abs = qdot_traj[i];
|
||||||
|
for (double& v : qd_abs) {
|
||||||
|
v = std::abs(v);
|
||||||
|
}
|
||||||
|
auto joint_cmd = buildRightArmJointCmdWithVel(q_traj[i], qd_abs, 0.05);
|
||||||
|
ASSERT_NO_THROW(robot->servoJ(joint_cmd, dt_segment));
|
||||||
|
|
||||||
|
next_deadline += std::chrono::duration_cast<std::chrono::steady_clock::duration>(
|
||||||
|
std::chrono::duration<double>(dt_segment));
|
||||||
|
std::this_thread::sleep_until(next_deadline);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||||
|
|
||||||
|
std::vector<double> q_end;
|
||||||
|
ASSERT_TRUE(readRightArmQ(robot_abs, q_end)) << "Failed to read right arm joint state at end";
|
||||||
|
|
||||||
|
Eigen::Matrix4d T_end = Eigen::Matrix4d::Identity();
|
||||||
|
ASSERT_TRUE(solver.fk(q_end, T_end, is_tcp)) << "Failed to compute FK for end joint state";
|
||||||
|
|
||||||
|
Eigen::Matrix4d T_start = Eigen::Matrix4d::Identity();
|
||||||
|
ASSERT_TRUE(solver.fk(q_start, T_start, is_tcp)) << "Failed to compute FK for start joint state";
|
||||||
|
|
||||||
|
Eigen::Matrix4d T_plan_end = Eigen::Matrix4d::Identity();
|
||||||
|
ASSERT_TRUE(solver.fk(q_traj.back(), T_plan_end, is_tcp)) << "Failed to compute FK for planned end joint state";
|
||||||
|
|
||||||
|
const Eigen::Matrix3d R_start = T_start.block<3,3>(0, 0);
|
||||||
|
const Eigen::Matrix3d R_plan_end = T_plan_end.block<3,3>(0, 0);
|
||||||
|
const Eigen::Matrix3d R_end = T_end.block<3,3>(0, 0);
|
||||||
|
|
||||||
|
const Eigen::Vector3d delta_tcp_plan = T_plan_end.block<3,1>(0,3) - T_start.block<3,1>(0,3);
|
||||||
|
const Eigen::Vector3d delta_tcp = T_end.block<3,1>(0,3) - T_start.block<3,1>(0,3);
|
||||||
|
const Eigen::Vector3d delta_tcp_error = delta_tcp - delta_tcp_plan;
|
||||||
|
const double rot_err_start_to_actual_rad =
|
||||||
|
Eigen::AngleAxisd(R_start.transpose() * R_end).angle();
|
||||||
|
const double rot_err_plan_to_actual_rad =
|
||||||
|
Eigen::AngleAxisd(R_plan_end.transpose() * R_end).angle();
|
||||||
|
LOG(INFO) << "moveLSCurveLocalRealRobot tcp_delta_plan=[" << delta_tcp_plan.x() << ", "
|
||||||
|
<< delta_tcp_plan.y() << ", " << delta_tcp_plan.z() << "]";
|
||||||
|
LOG(INFO) << "moveLSCurveLocalRealRobot tcp_delta_actual=[" << delta_tcp.x() << ", "
|
||||||
|
<< delta_tcp.y() << ", " << delta_tcp.z() << "]";
|
||||||
|
LOG(INFO) << "moveLSCurveLocalRealRobot tcp_delta_error=[" << delta_tcp_error.x() << ", "
|
||||||
|
<< delta_tcp_error.y() << ", " << delta_tcp_error.z() << "]";
|
||||||
|
LOG(INFO) << "moveLSCurveLocalRealRobot rot_err_start_to_actual_deg="
|
||||||
|
<< rot_err_start_to_actual_rad * 180.0 / M_PI;
|
||||||
|
LOG(INFO) << "moveLSCurveLocalRealRobot rot_err_plan_to_actual_deg="
|
||||||
|
<< rot_err_plan_to_actual_rad * 180.0 / M_PI;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(HumanoidRobotTest, moveLRealRobot) {
|
||||||
|
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
||||||
|
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
||||||
|
auto dmgr_cfg = config.getChild("DeviceManager");
|
||||||
|
auto& dmgr = DeviceManager::getInstance();
|
||||||
|
|
||||||
|
auto robot_abs = dmgr.getDevice<AbstractRobot>("hc01");
|
||||||
|
auto robot = std::dynamic_pointer_cast<HumanoidRobot<14>>(robot_abs);
|
||||||
|
ASSERT_NE(robot, nullptr) << "hc01 is not HumanoidRobot<14>";
|
||||||
|
|
||||||
|
std::vector<JointPoint> init_cmd = {
|
||||||
|
{"R_SHOULDER_P", -0.2423},
|
||||||
|
{"R_SHOULDER_R", 1.2929},
|
||||||
|
{"R_SHOULDER_Y", 1.61},
|
||||||
|
{"R_ELBOW_R", 1.58},
|
||||||
|
{"R_WRIST_P", -2.8792},
|
||||||
|
{"R_WRIST_Y", 0.1150},
|
||||||
|
{"R_WRIST_R", 0.1},
|
||||||
|
};
|
||||||
|
robot->moveJ(init_cmd, 1.0, 2.0);
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||||
|
|
||||||
|
std::vector<double> q_start;
|
||||||
|
ASSERT_TRUE(readRightArmQ(robot_abs, q_start)) << "Failed to read right arm joint state";
|
||||||
|
|
||||||
|
cmvr::PinocchioDlsIKSolver solver(
|
||||||
|
"/home/lgv/cmvr/cmvr-es/model/xiaoyan_description/dual_arm.urdf",
|
||||||
|
"PELVIS_S",
|
||||||
|
"R_WRIST_R_S",
|
||||||
|
"R_FINGER_TIP_FIXED");
|
||||||
|
ASSERT_TRUE(solver.init()) << "PinocchioDlsIKSolver init failed";
|
||||||
|
|
||||||
|
Eigen::Matrix4d target_pose_input = Eigen::Matrix4d::Identity();
|
||||||
|
const cmvr::CartesianFrame input_frame = cmvr::CartesianFrame::Tool;
|
||||||
|
target_pose_input(1, 3) = -0.08;
|
||||||
|
|
||||||
|
const double v_tcp = 0.08;
|
||||||
|
const double a_tcp = 5;
|
||||||
|
const double j_tcp = 5;
|
||||||
|
const bool is_tcp = true;
|
||||||
|
|
||||||
|
const std::vector<double> pose_cmd = {
|
||||||
|
target_pose_input(0, 3),
|
||||||
|
target_pose_input(1, 3),
|
||||||
|
target_pose_input(2, 3),
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
};
|
||||||
|
|
||||||
|
LOG(INFO) << "moveLRealRobot command"
|
||||||
|
<< ", frame=" << (input_frame == cmvr::CartesianFrame::Tool ? "Tool" : "Base")
|
||||||
|
<< ", delta_xyz=[" << target_pose_input(0, 3) << ", "
|
||||||
|
<< target_pose_input(1, 3) << ", "
|
||||||
|
<< target_pose_input(2, 3) << "]";
|
||||||
|
|
||||||
|
ASSERT_TRUE(robot->moveL(pose_cmd, v_tcp, a_tcp, j_tcp)) << "robot->moveL failed";
|
||||||
|
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||||
|
|
||||||
|
std::vector<double> q_end;
|
||||||
|
ASSERT_TRUE(readRightArmQ(robot_abs, q_end)) << "Failed to read right arm joint state at end";
|
||||||
|
|
||||||
|
Eigen::Matrix4d T_end = Eigen::Matrix4d::Identity();
|
||||||
|
ASSERT_TRUE(solver.fk(q_end, T_end, is_tcp)) << "Failed to compute FK for end joint state";
|
||||||
|
|
||||||
|
Eigen::Matrix4d T_start = Eigen::Matrix4d::Identity();
|
||||||
|
ASSERT_TRUE(solver.fk(q_start, T_start, is_tcp)) << "Failed to compute FK for start joint state";
|
||||||
|
|
||||||
|
Eigen::Matrix4d T_plan_end = Eigen::Matrix4d::Identity();
|
||||||
|
T_plan_end = T_start;
|
||||||
|
if (input_frame == cmvr::CartesianFrame::Tool) {
|
||||||
|
T_plan_end.block<3,1>(0,3) = (T_start * target_pose_input).block<3,1>(0,3);
|
||||||
|
} else {
|
||||||
|
T_plan_end.block<3,1>(0,3) = target_pose_input.block<3,1>(0,3);
|
||||||
|
}
|
||||||
|
|
||||||
|
const Eigen::Matrix3d R_start = T_start.block<3,3>(0, 0);
|
||||||
|
const Eigen::Matrix3d R_plan_end = T_plan_end.block<3,3>(0, 0);
|
||||||
|
const Eigen::Matrix3d R_end = T_end.block<3,3>(0, 0);
|
||||||
|
|
||||||
|
const Eigen::Vector3d delta_tcp_plan = T_plan_end.block<3,1>(0,3) - T_start.block<3,1>(0,3);
|
||||||
|
const Eigen::Vector3d delta_tcp = T_end.block<3,1>(0,3) - T_start.block<3,1>(0,3);
|
||||||
|
const Eigen::Vector3d delta_tcp_error = delta_tcp - delta_tcp_plan;
|
||||||
|
const double rot_err_start_to_actual_rad =
|
||||||
|
Eigen::AngleAxisd(R_start.transpose() * R_end).angle();
|
||||||
|
const double rot_err_plan_to_actual_rad =
|
||||||
|
Eigen::AngleAxisd(R_plan_end.transpose() * R_end).angle();
|
||||||
|
LOG(INFO) << "moveLRealRobot tcp_delta_plan=[" << delta_tcp_plan.x() << ", "
|
||||||
|
<< delta_tcp_plan.y() << ", " << delta_tcp_plan.z() << "]";
|
||||||
|
LOG(INFO) << "moveLRealRobot tcp_delta_actual=[" << delta_tcp.x() << ", "
|
||||||
|
<< delta_tcp.y() << ", " << delta_tcp.z() << "]";
|
||||||
|
LOG(INFO) << "moveLRealRobot tcp_delta_error=[" << delta_tcp_error.x() << ", "
|
||||||
|
<< delta_tcp_error.y() << ", " << delta_tcp_error.z() << "]";
|
||||||
|
LOG(INFO) << "moveLRealRobot rot_err_start_to_actual_deg="
|
||||||
|
<< rot_err_start_to_actual_rad * 180.0 / M_PI;
|
||||||
|
LOG(INFO) << "moveLRealRobot rot_err_plan_to_actual_deg="
|
||||||
|
<< rot_err_plan_to_actual_rad * 180.0 / M_PI;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST(HumanoidRobotTest,IBVSWithRealRobot) {
|
TEST(HumanoidRobotTest,IBVSWithRealRobot) {
|
||||||
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
||||||
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
||||||
auto dmgr_cfg = config.getChild("DeviceManager");
|
auto dmgr_cfg = config.getChild("DeviceManager");
|
||||||
auto& dmgr = DeviceManager::getInstance(dmgr_cfg);
|
auto& dmgr = DeviceManager::getInstance();
|
||||||
|
|
||||||
auto robot = dmgr.getDevice<AbstractRobot>("hc01");
|
auto robot = dmgr.getDevice<AbstractRobot>("hc01");
|
||||||
auto camera = dmgr.getDevice<AbstractCamera>("right_hand_cam");
|
auto camera = dmgr.getDevice<AbstractCamera>("right_hand_cam");
|
||||||
@ -373,7 +627,7 @@ TEST(HumanoidRobotTest,IBVSWithRealRobot) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<double> qdot_next;
|
std::vector<double> qdot_next;
|
||||||
const bool ok = ibvs_controller.compute(q_now, qdot_next);
|
const bool ok = ibvs_controller.computeQdot(q_now, static_cast<double>(cycle_ms) / 1000.0, qdot_next);
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
++compute_fail_steps;
|
++compute_fail_steps;
|
||||||
++fail_steps;
|
++fail_steps;
|
||||||
@ -437,7 +691,7 @@ TEST(HumanoidRobotTest,IBVSWithRealRobotTrackedPoint) {
|
|||||||
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
const XmlNode config("/home/lgv/cmvr/cmvr-es/cmvr-es/common/config/cabin_robot.xml");
|
||||||
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
ASSERT_TRUE(config.hasChild("DeviceManager")) << "DeviceManager node not found";
|
||||||
auto dmgr_cfg = config.getChild("DeviceManager");
|
auto dmgr_cfg = config.getChild("DeviceManager");
|
||||||
auto& dmgr = DeviceManager::getInstance(dmgr_cfg);
|
auto& dmgr = DeviceManager::getInstance();
|
||||||
|
|
||||||
auto robot = dmgr.getDevice<AbstractRobot>("hc01");
|
auto robot = dmgr.getDevice<AbstractRobot>("hc01");
|
||||||
auto camera = dmgr.getDevice<AbstractCamera>("right_hand_cam");
|
auto camera = dmgr.getDevice<AbstractCamera>("right_hand_cam");
|
||||||
@ -682,7 +936,7 @@ TEST(HumanoidRobotTest,IBVSWithRealRobotTrackedPoint) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::vector<double> qdot_next;
|
std::vector<double> qdot_next;
|
||||||
const bool ok = ibvs_controller.compute(q_now, qdot_next);
|
const bool ok = ibvs_controller.computeQdot(q_now, static_cast<double>(cycle_ms) / 1000.0, qdot_next);
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
++compute_fail_steps;
|
++compute_fail_steps;
|
||||||
++fail_steps;
|
++fail_steps;
|
||||||
@ -736,3 +990,21 @@ TEST(HumanoidRobotTest,IBVSWithRealRobotTrackedPoint) {
|
|||||||
|
|
||||||
EXPECT_GT(ok_steps, 0) << "No successful tracked-point IBVS control steps.";
|
EXPECT_GT(ok_steps, 0) << "No successful tracked-point IBVS control steps.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TEST(HumanoidRobotTest, EYouTest) {
|
||||||
|
auto& dmgr = DeviceManager::getInstance();
|
||||||
|
auto robot_abs = dmgr.getDevice<AbstractRobot>("ec_robot_01");
|
||||||
|
auto robot = std::dynamic_pointer_cast<HumanoidRobot<14>>(robot_abs);
|
||||||
|
ASSERT_NE(robot, nullptr) << "hc01 is not HumanoidRobot<14>";
|
||||||
|
|
||||||
|
std::vector<JointPoint> init_cmd = {
|
||||||
|
{"L_SHOULDER_P", 0.1}
|
||||||
|
};
|
||||||
|
// robot->moveJ(init_cmd, 0.1, 1.0);
|
||||||
|
|
||||||
|
// robot->calibrateZeroQ("L_SHOULDER_P");
|
||||||
|
|
||||||
|
robot->torqueOff("L_SHOULDER_P");
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||||
|
}
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
add_library(hardware SHARED
|
add_library(hardware SHARED
|
||||||
src/serial_interface.cpp
|
src/serial_interface.cpp
|
||||||
src/esp32_serial_port.cpp
|
src/esp32_serial_port.cpp
|
||||||
|
src/posix_serial_transport.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_include_directories(hardware PUBLIC
|
target_include_directories(hardware PUBLIC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
${PROJECT_SOURCE_DIR}/include
|
${PROJECT_SOURCE_DIR}/include
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
38
cmvr-es/hardware/include/abstract_serial_transport.h
Normal file
38
cmvr-es/hardware/include/abstract_serial_transport.h
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
//
|
||||||
|
// Created by Codex on 2026/4/3.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CMVR_ES_ABSTRACT_SERIAL_TRANSPORT_H
|
||||||
|
#define CMVR_ES_ABSTRACT_SERIAL_TRANSPORT_H
|
||||||
|
|
||||||
|
#include <chrono>
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
namespace cmvr {
|
||||||
|
|
||||||
|
class AbstractSerialTransport {
|
||||||
|
public:
|
||||||
|
struct Config {
|
||||||
|
std::string port_name;
|
||||||
|
int baud_rate{0};
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual ~AbstractSerialTransport() = default;
|
||||||
|
|
||||||
|
virtual bool open(const Config& config) = 0;
|
||||||
|
virtual bool close() = 0;
|
||||||
|
virtual bool isOpen() const = 0;
|
||||||
|
virtual bool flushInput() = 0;
|
||||||
|
virtual bool write(const std::vector<uint8_t>& data) = 0;
|
||||||
|
virtual bool read(
|
||||||
|
size_t min_size,
|
||||||
|
std::chrono::milliseconds timeout,
|
||||||
|
std::vector<uint8_t>& out_buffer) = 0;
|
||||||
|
virtual std::string lastError() const = 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // CMVR_ES_ABSTRACT_SERIAL_TRANSPORT_H
|
||||||
41
cmvr-es/hardware/include/posix_serial_transport.h
Normal file
41
cmvr-es/hardware/include/posix_serial_transport.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
//
|
||||||
|
// Created by Codex on 2026/4/3.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef CMVR_ES_POSIX_SERIAL_TRANSPORT_H
|
||||||
|
#define CMVR_ES_POSIX_SERIAL_TRANSPORT_H
|
||||||
|
|
||||||
|
#include <mutex>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "abstract_serial_transport.h"
|
||||||
|
|
||||||
|
namespace cmvr {
|
||||||
|
|
||||||
|
class PosixSerialTransport final : public AbstractSerialTransport {
|
||||||
|
public:
|
||||||
|
PosixSerialTransport() = default;
|
||||||
|
~PosixSerialTransport() override;
|
||||||
|
|
||||||
|
bool open(const Config& config) override;
|
||||||
|
bool close() override;
|
||||||
|
bool isOpen() const override;
|
||||||
|
bool flushInput() override;
|
||||||
|
bool write(const std::vector<uint8_t>& data) override;
|
||||||
|
bool read(
|
||||||
|
size_t min_size,
|
||||||
|
std::chrono::milliseconds timeout,
|
||||||
|
std::vector<uint8_t>& out_buffer) override;
|
||||||
|
std::string lastError() const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool closeUnlocked();
|
||||||
|
void setLastErrorUnlocked(std::string error);
|
||||||
|
|
||||||
|
int fd_{-1};
|
||||||
|
std::string last_error_;
|
||||||
|
mutable std::mutex io_mutex_;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // CMVR_ES_POSIX_SERIAL_TRANSPORT_H
|
||||||
226
cmvr-es/hardware/src/posix_serial_transport.cpp
Normal file
226
cmvr-es/hardware/src/posix_serial_transport.cpp
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
//
|
||||||
|
// Created by Codex on 2026/4/3.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "../include/posix_serial_transport.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
#include <array>
|
||||||
|
#include <cerrno>
|
||||||
|
#include <cstring>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <poll.h>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <asm/termbits.h>
|
||||||
|
|
||||||
|
namespace cmvr {
|
||||||
|
|
||||||
|
PosixSerialTransport::~PosixSerialTransport() {
|
||||||
|
close();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PosixSerialTransport::open(const Config& config) {
|
||||||
|
std::lock_guard<std::mutex> lock(io_mutex_);
|
||||||
|
closeUnlocked();
|
||||||
|
last_error_.clear();
|
||||||
|
|
||||||
|
if (config.port_name.empty()) {
|
||||||
|
setLastErrorUnlocked("Serial port name must not be empty.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (config.baud_rate <= 0) {
|
||||||
|
setLastErrorUnlocked("Serial baud rate must be positive.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
fd_ = ::open(config.port_name.c_str(), O_RDWR | O_NOCTTY | O_NONBLOCK);
|
||||||
|
if (fd_ < 0) {
|
||||||
|
setLastErrorUnlocked(
|
||||||
|
"Failed to open serial port " + config.port_name + ": " + std::string(std::strerror(errno)));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct termios2 options {};
|
||||||
|
if (::ioctl(fd_, TCGETS2, &options) != 0) {
|
||||||
|
setLastErrorUnlocked("Failed to query serial attributes: " + std::string(std::strerror(errno)));
|
||||||
|
closeUnlocked();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
options.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON | IXOFF | IXANY);
|
||||||
|
options.c_oflag &= ~OPOST;
|
||||||
|
options.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
|
||||||
|
options.c_cflag &= ~(CSIZE | PARENB | CBAUD);
|
||||||
|
options.c_cflag |= (CS8 | CLOCAL | CREAD | BOTHER);
|
||||||
|
options.c_cflag &= ~CRTSCTS;
|
||||||
|
options.c_cflag &= ~CSTOPB;
|
||||||
|
options.c_cc[VMIN] = 0;
|
||||||
|
options.c_cc[VTIME] = 0;
|
||||||
|
options.c_ispeed = static_cast<speed_t>(config.baud_rate);
|
||||||
|
options.c_ospeed = static_cast<speed_t>(config.baud_rate);
|
||||||
|
|
||||||
|
if (::ioctl(fd_, TCFLSH, TCIOFLUSH) != 0) {
|
||||||
|
setLastErrorUnlocked("Failed to flush serial buffers: " + std::string(std::strerror(errno)));
|
||||||
|
closeUnlocked();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (::ioctl(fd_, TCSETS2, &options) != 0) {
|
||||||
|
setLastErrorUnlocked("Failed to apply serial attributes: " + std::string(std::strerror(errno)));
|
||||||
|
closeUnlocked();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PosixSerialTransport::close() {
|
||||||
|
std::lock_guard<std::mutex> lock(io_mutex_);
|
||||||
|
last_error_.clear();
|
||||||
|
return closeUnlocked();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PosixSerialTransport::isOpen() const {
|
||||||
|
std::lock_guard<std::mutex> lock(io_mutex_);
|
||||||
|
return fd_ >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PosixSerialTransport::flushInput() {
|
||||||
|
std::lock_guard<std::mutex> lock(io_mutex_);
|
||||||
|
last_error_.clear();
|
||||||
|
if (fd_ < 0) {
|
||||||
|
setLastErrorUnlocked("Serial port is not open.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (::ioctl(fd_, TCFLSH, TCIFLUSH) != 0) {
|
||||||
|
setLastErrorUnlocked("Failed to flush serial input: " + std::string(std::strerror(errno)));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PosixSerialTransport::write(const std::vector<uint8_t>& data) {
|
||||||
|
std::lock_guard<std::mutex> lock(io_mutex_);
|
||||||
|
last_error_.clear();
|
||||||
|
if (fd_ < 0) {
|
||||||
|
setLastErrorUnlocked("Serial port is not open.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t offset = 0;
|
||||||
|
while (offset < data.size()) {
|
||||||
|
const ssize_t written = ::write(fd_, data.data() + offset, data.size() - offset);
|
||||||
|
if (written > 0) {
|
||||||
|
offset += static_cast<size_t>(written);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (written < 0 && (errno == EAGAIN || errno == EWOULDBLOCK)) {
|
||||||
|
pollfd descriptor{};
|
||||||
|
descriptor.fd = fd_;
|
||||||
|
descriptor.events = POLLOUT;
|
||||||
|
if (::poll(&descriptor, 1, 50) < 0) {
|
||||||
|
setLastErrorUnlocked(
|
||||||
|
"Polling serial write readiness failed: " + std::string(std::strerror(errno)));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
setLastErrorUnlocked("Writing to serial port failed: " + std::string(std::strerror(errno)));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PosixSerialTransport::read(
|
||||||
|
const size_t min_size,
|
||||||
|
const std::chrono::milliseconds timeout,
|
||||||
|
std::vector<uint8_t>& out_buffer) {
|
||||||
|
std::lock_guard<std::mutex> lock(io_mutex_);
|
||||||
|
last_error_.clear();
|
||||||
|
out_buffer.clear();
|
||||||
|
if (fd_ < 0) {
|
||||||
|
setLastErrorUnlocked("Serial port is not open.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
out_buffer.reserve(min_size + 16U);
|
||||||
|
|
||||||
|
const auto deadline = std::chrono::steady_clock::now() + timeout;
|
||||||
|
std::array<uint8_t, 256> temp{};
|
||||||
|
while (out_buffer.size() < min_size) {
|
||||||
|
const auto now = std::chrono::steady_clock::now();
|
||||||
|
if (now >= deadline) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto remaining = std::chrono::duration_cast<std::chrono::milliseconds>(deadline - now);
|
||||||
|
const int wait_ms = std::max(1, static_cast<int>(remaining.count()));
|
||||||
|
|
||||||
|
pollfd descriptor{};
|
||||||
|
descriptor.fd = fd_;
|
||||||
|
descriptor.events = POLLIN;
|
||||||
|
const int rc = ::poll(&descriptor, 1, wait_ms);
|
||||||
|
if (rc < 0) {
|
||||||
|
if (errno == EINTR) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
setLastErrorUnlocked(
|
||||||
|
"Polling serial read readiness failed: " + std::string(std::strerror(errno)));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (rc == 0 || (descriptor.revents & POLLIN) == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
const ssize_t bytes_read = ::read(fd_, temp.data(), temp.size());
|
||||||
|
if (bytes_read > 0) {
|
||||||
|
out_buffer.insert(out_buffer.end(), temp.begin(), temp.begin() + bytes_read);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (bytes_read < 0 && (errno == EAGAIN || errno == EWOULDBLOCK || errno == EINTR)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (bytes_read < 0) {
|
||||||
|
setLastErrorUnlocked("Reading serial port failed: " + std::string(std::strerror(errno)));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (out_buffer.size() < min_size) {
|
||||||
|
setLastErrorUnlocked(
|
||||||
|
"Serial read timeout, expected at least " + std::to_string(min_size) +
|
||||||
|
" bytes, got " + std::to_string(out_buffer.size()) + ".");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string PosixSerialTransport::lastError() const {
|
||||||
|
std::lock_guard<std::mutex> lock(io_mutex_);
|
||||||
|
return last_error_;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PosixSerialTransport::closeUnlocked() {
|
||||||
|
if (fd_ < 0) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const int fd = fd_;
|
||||||
|
fd_ = -1;
|
||||||
|
if (::close(fd) != 0) {
|
||||||
|
setLastErrorUnlocked("Failed to close serial port: " + std::string(std::strerror(errno)));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PosixSerialTransport::setLastErrorUnlocked(std::string error) {
|
||||||
|
last_error_ = std::move(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -37,7 +37,7 @@ public:
|
|||||||
double angular_acceleration_max{3.0};
|
double angular_acceleration_max{3.0};
|
||||||
double angular_jerk_max{15.0};
|
double angular_jerk_max{15.0};
|
||||||
|
|
||||||
std::vector<double> joint_velocity_max; ///< size=chain_v_dof_,为空则仅用 URDF limit
|
std::vector<double> joint_velocity_max = std::vector<double>(7, 2.5); ///< size=chain_v_dof_,为空则仅用 URDF limit
|
||||||
std::vector<double> joint_acceleration_max; ///< size=chain_v_dof_,为空则不做 joint accel 限制
|
std::vector<double> joint_acceleration_max; ///< size=chain_v_dof_,为空则不做 joint accel 限制
|
||||||
bool enable_joint_soft_limit_velocity{true};
|
bool enable_joint_soft_limit_velocity{true};
|
||||||
double joint_soft_limit_margin{0.05};
|
double joint_soft_limit_margin{0.05};
|
||||||
@ -72,7 +72,7 @@ public:
|
|||||||
const Eigen::Matrix4d& target_pose,
|
const Eigen::Matrix4d& target_pose,
|
||||||
std::vector<double>& joints_angle);
|
std::vector<double>& joints_angle);
|
||||||
|
|
||||||
bool moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_base,
|
bool moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_input,
|
||||||
const std::vector<double>& q_start,
|
const std::vector<double>& q_start,
|
||||||
std::vector<std::vector<double>>& q_traj,
|
std::vector<std::vector<double>>& q_traj,
|
||||||
std::vector<double>& t_traj,
|
std::vector<double>& t_traj,
|
||||||
@ -80,8 +80,10 @@ public:
|
|||||||
double v_tcp_max,
|
double v_tcp_max,
|
||||||
double a_tcp_max,
|
double a_tcp_max,
|
||||||
double j_tcp_max,
|
double j_tcp_max,
|
||||||
const std::vector<double>& qd_max,
|
const std::vector<double>& qd_max, // empty => use URDF joint velocity limits only
|
||||||
bool is_tcp = true);
|
bool is_tcp = true,
|
||||||
|
CartesianFrame input_frame = CartesianFrame::Base,
|
||||||
|
std::vector<std::vector<double>>* qdot_traj = nullptr);
|
||||||
|
|
||||||
bool ik(const std::string& base_link,
|
bool ik(const std::string& base_link,
|
||||||
const std::string& ee_link,
|
const std::string& ee_link,
|
||||||
|
|||||||
@ -441,7 +441,7 @@ bool PinocchioDlsIKSolver::ik(const std::string& base_link,
|
|||||||
// ============================================================================
|
// ============================================================================
|
||||||
// MoveL with tau time-scaling
|
// MoveL with tau time-scaling
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
bool PinocchioDlsIKSolver::moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_base,
|
bool PinocchioDlsIKSolver::moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_input,
|
||||||
const std::vector<double>& q_start,
|
const std::vector<double>& q_start,
|
||||||
std::vector<std::vector<double>>& q_traj,
|
std::vector<std::vector<double>>& q_traj,
|
||||||
std::vector<double>& t_traj,
|
std::vector<double>& t_traj,
|
||||||
@ -450,11 +450,13 @@ bool PinocchioDlsIKSolver::moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_
|
|||||||
double a_tcp_max,
|
double a_tcp_max,
|
||||||
double j_tcp_max,
|
double j_tcp_max,
|
||||||
const std::vector<double>& qd_max,
|
const std::vector<double>& qd_max,
|
||||||
bool is_tcp)
|
bool is_tcp,
|
||||||
|
CartesianFrame input_frame,
|
||||||
|
std::vector<std::vector<double>>* qdot_traj)
|
||||||
{
|
{
|
||||||
if (!initialized_) return false;
|
if (!initialized_) return false;
|
||||||
if ((int)q_start.size() != chain_dof_) return false;
|
if ((int)q_start.size() != chain_dof_) return false;
|
||||||
if ((int)qd_max.size() != chain_dof_) return false;
|
if (!qd_max.empty() && (int)qd_max.size() != chain_dof_) return false;
|
||||||
|
|
||||||
dt_real = std::max(dt_real, 1e-4);
|
dt_real = std::max(dt_real, 1e-4);
|
||||||
|
|
||||||
@ -467,13 +469,28 @@ bool PinocchioDlsIKSolver::moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_
|
|||||||
const Eigen::Vector3d p0 = T0_base.block<3,1>(0,3);
|
const Eigen::Vector3d p0 = T0_base.block<3,1>(0,3);
|
||||||
const Eigen::Matrix3d R_fixed = T0_base.block<3,3>(0,0);
|
const Eigen::Matrix3d R_fixed = T0_base.block<3,3>(0,0);
|
||||||
|
|
||||||
|
// moveL_SCurveLocal 当前只对目标平移做直线规划,姿态仍保持起始末端姿态。
|
||||||
|
Eigen::Matrix4d target_pose_base = target_pose_input;
|
||||||
|
if (input_frame == CartesianFrame::Tool) {
|
||||||
|
target_pose_base = T0_base * target_pose_input;
|
||||||
|
}
|
||||||
|
|
||||||
const Eigen::Vector3d pg = target_pose_base.block<3,1>(0,3);
|
const Eigen::Vector3d pg = target_pose_base.block<3,1>(0,3);
|
||||||
const Eigen::Vector3d dp = pg - p0;
|
const Eigen::Vector3d dp = pg - p0;
|
||||||
const double L = dp.norm();
|
const double L = dp.norm();
|
||||||
if (L < 1e-9) { q_traj = {q_start}; t_traj = {0.0}; return true; }
|
if (L < 1e-9) {
|
||||||
|
q_traj = {q_start};
|
||||||
|
t_traj = {0.0};
|
||||||
|
if (qdot_traj) {
|
||||||
|
qdot_traj->assign(1, std::vector<double>(static_cast<size_t>(chain_dof_), 0.0));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
const Eigen::Vector3d dir_base = dp / L;
|
const Eigen::Vector3d dir_base = dp / L;
|
||||||
|
|
||||||
std::cerr << "dp(base)= " << dp.transpose() << "\n";
|
std::cerr << "dp(base)= " << dp.transpose()
|
||||||
|
<< " frame=" << (input_frame == CartesianFrame::Tool ? "tool" : "base")
|
||||||
|
<< "\n";
|
||||||
|
|
||||||
SCurve curve(v_tcp_max, a_tcp_max, j_tcp_max);
|
SCurve curve(v_tcp_max, a_tcp_max, j_tcp_max);
|
||||||
const SCurveProfile prof = curve.calculateProfile(0.0, L);
|
const SCurveProfile prof = curve.calculateProfile(0.0, L);
|
||||||
@ -488,7 +505,22 @@ bool PinocchioDlsIKSolver::moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_
|
|||||||
const double eps_dq = 1e-9;
|
const double eps_dq = 1e-9;
|
||||||
|
|
||||||
Eigen::VectorXd qd_lim(chain_dof_);
|
Eigen::VectorXd qd_lim(chain_dof_);
|
||||||
for (int i = 0; i < chain_dof_; ++i) qd_lim[i] = std::max(1e-6, std::abs(qd_max[i]));
|
if (qd_max.empty()) {
|
||||||
|
for (int i = 0; i < chain_dof_; ++i) {
|
||||||
|
double limit_i = std::numeric_limits<double>::infinity();
|
||||||
|
if (joint_vel_limits_.size() == chain_dof_) {
|
||||||
|
const double urdf_limit = std::abs(joint_vel_limits_[i]);
|
||||||
|
if (std::isfinite(urdf_limit) && urdf_limit > 0.0) {
|
||||||
|
limit_i = urdf_limit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
qd_lim[i] = limit_i;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < chain_dof_; ++i) {
|
||||||
|
qd_lim[i] = std::max(1e-6, std::abs(qd_max[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Eigen::VectorXd q_ref = Eigen::Map<const Eigen::VectorXd>(q_start.data(), chain_dof_);
|
Eigen::VectorXd q_ref = Eigen::Map<const Eigen::VectorXd>(q_start.data(), chain_dof_);
|
||||||
Eigen::VectorXd q_chain = Eigen::Map<const Eigen::VectorXd>(q_start.data(), chain_dof_);
|
Eigen::VectorXd q_chain = Eigen::Map<const Eigen::VectorXd>(q_start.data(), chain_dof_);
|
||||||
@ -502,11 +534,11 @@ bool PinocchioDlsIKSolver::moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_
|
|||||||
t_traj.reserve((size_t)(prof.total_time / dt_real) + 10);
|
t_traj.reserve((size_t)(prof.total_time / dt_real) + 10);
|
||||||
q_traj.push_back(q_start);
|
q_traj.push_back(q_start);
|
||||||
t_traj.push_back(0.0);
|
t_traj.push_back(0.0);
|
||||||
|
if (qdot_traj) {
|
||||||
const double log_period = 0.05;
|
qdot_traj->clear();
|
||||||
double next_log_t = 0.0;
|
qdot_traj->reserve((size_t)(prof.total_time / dt_real) + 10);
|
||||||
const double sigma_min_th = 1e-4;
|
qdot_traj->push_back(std::vector<double>(static_cast<size_t>(chain_dof_), 0.0));
|
||||||
const double cond_th = 1e4;
|
}
|
||||||
|
|
||||||
double gamma_prev = 1.0;
|
double gamma_prev = 1.0;
|
||||||
const double gamma_tau = 0.03;
|
const double gamma_tau = 0.03;
|
||||||
@ -622,55 +654,35 @@ bool PinocchioDlsIKSolver::moveL_SCurveLocal(const Eigen::Matrix4d& target_pose_
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
q_chain += (gamma_tot * dq_raw) * step_real;
|
const Eigen::VectorXd qdot_cmd = gamma_tot * dq_raw;
|
||||||
q_chain = q_chain.cwiseMax(joint_pos_lower_limits_).cwiseMin(joint_pos_upper_limits_);
|
|
||||||
|
const Eigen::VectorXd q_before_clamp = q_chain + qdot_cmd * step_real;
|
||||||
|
const Eigen::VectorXd q_after_clamp =
|
||||||
|
q_before_clamp.cwiseMax(joint_pos_lower_limits_).cwiseMin(joint_pos_upper_limits_);
|
||||||
|
for (int i = 0; i < chain_dof_; ++i) {
|
||||||
|
if (std::abs(q_after_clamp[i] - q_before_clamp[i]) > 1e-12) {
|
||||||
|
std::cerr << "[moveL_SCurveLocal] clamp triggered: step=" << q_traj.size()
|
||||||
|
<< ", joint_index=" << i
|
||||||
|
<< ", before=" << q_before_clamp[i]
|
||||||
|
<< ", after=" << q_after_clamp[i]
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
q_chain = q_after_clamp;
|
||||||
|
|
||||||
tau = std::min(prof.total_time, tau + gamma_tot * step_real);
|
tau = std::min(prof.total_time, tau + gamma_tot * step_real);
|
||||||
t += step_real;
|
t += step_real;
|
||||||
|
|
||||||
if (t >= next_log_t) {
|
|
||||||
next_log_t += log_period;
|
|
||||||
|
|
||||||
bool near_limit = false;
|
|
||||||
int near_cnt = 0;
|
|
||||||
for (int i = 0; i < chain_dof_; ++i) {
|
|
||||||
const bool nl = (joint_pos_upper_limits_[i] - q_chain[i] < 1e-8) ||
|
|
||||||
(q_chain[i] - joint_pos_lower_limits_[i] < 1e-8);
|
|
||||||
if (nl) { near_limit = true; near_cnt++; }
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cerr
|
|
||||||
<< "[MoveL ABC] t=" << t
|
|
||||||
<< " tau=" << tau << "/" << prof.total_time
|
|
||||||
<< " s=" << s << "/" << L
|
|
||||||
<< " sd=" << sd
|
|
||||||
<< " gamma_speed=" << gamma_speed
|
|
||||||
<< " gamma_lim=" << gamma_lim
|
|
||||||
<< " gamma_tot=" << gamma_tot
|
|
||||||
<< " near_limit=" << (near_limit?1:0)
|
|
||||||
<< " near_cnt=" << near_cnt
|
|
||||||
<< " |e_perp|=" << e_perp.norm()
|
|
||||||
<< " sigma_min=" << sigma_min
|
|
||||||
<< " cond=" << cond
|
|
||||||
<< " w_end=" << w_end
|
|
||||||
<< "\n";
|
|
||||||
|
|
||||||
if (sigma_min < sigma_min_th || cond > cond_th) {
|
|
||||||
std::cerr << " [C] near singular! sigma_min=" << sigma_min
|
|
||||||
<< " cond=" << cond << "\n";
|
|
||||||
}
|
|
||||||
if (gamma_lim < 0.999) {
|
|
||||||
std::cerr << " [A2] limit scaling gamma_lim=" << gamma_lim << "\n";
|
|
||||||
}
|
|
||||||
if (gamma_speed < 0.999) {
|
|
||||||
std::cerr << " [B] speed scaling gamma_speed=" << gamma_speed << "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<double> q_out(chain_dof_);
|
std::vector<double> q_out(chain_dof_);
|
||||||
Eigen::Map<Eigen::VectorXd>(q_out.data(), chain_dof_) = q_chain;
|
Eigen::Map<Eigen::VectorXd>(q_out.data(), chain_dof_) = q_chain;
|
||||||
q_traj.push_back(std::move(q_out));
|
q_traj.push_back(std::move(q_out));
|
||||||
t_traj.push_back(t);
|
t_traj.push_back(t);
|
||||||
|
|
||||||
|
if (qdot_traj) {
|
||||||
|
std::vector<double> qdot_out(static_cast<size_t>(chain_dof_));
|
||||||
|
Eigen::Map<Eigen::VectorXd>(qdot_out.data(), chain_dof_) = qdot_cmd;
|
||||||
|
qdot_traj->push_back(std::move(qdot_out));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return !q_traj.empty();
|
return !q_traj.empty();
|
||||||
|
|||||||
@ -9,27 +9,13 @@
|
|||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include "service/grpc/include/server_runner.h"
|
#include "service/grpc/include/server_runner.h"
|
||||||
#include "utils/base/include/logger.h"
|
#include "utils/base/include/logger.h"
|
||||||
|
#include "common/utils/config_helper/include/config_helper.h"
|
||||||
using namespace cmvr::service;
|
using namespace cmvr::service;
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
std::string config_path;
|
cmvr::config::ServerConfig server_config;
|
||||||
if(argc == 1) {
|
cmvr::ConfigHelper::getServerConfig(server_config);
|
||||||
char exe_path[PATH_MAX] = {0};
|
ServerRunner runner(server_config);
|
||||||
ssize_t count = readlink("/proc/self/exe", exe_path, PATH_MAX);
|
runner.start();
|
||||||
if (count == -1) {
|
|
||||||
std::cerr << "Failed to read /proc/self/exe" << std::endl;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
std::string exe_dir = dirname(exe_path);
|
|
||||||
config_path = exe_dir + "/config/cabin_robot.xml";
|
|
||||||
std::cout << "Using default config path: " << config_path << std::endl;
|
|
||||||
}
|
|
||||||
else if (argc == 2){
|
|
||||||
config_path = argv[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
ServerRunner runner;
|
|
||||||
const XmlNode config(config_path);
|
|
||||||
runner.start(config);
|
|
||||||
runner.join();
|
runner.join();
|
||||||
google::ShutdownGoogleLogging();
|
google::ShutdownGoogleLogging();
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -13,6 +13,7 @@
|
|||||||
namespace cmvr::monitor{
|
namespace cmvr::monitor{
|
||||||
class AbstractMonitor {
|
class AbstractMonitor {
|
||||||
public:
|
public:
|
||||||
|
AbstractMonitor() = default;
|
||||||
explicit AbstractMonitor(const XmlNode &cfg){
|
explicit AbstractMonitor(const XmlNode &cfg){
|
||||||
cfg_ = cfg;
|
cfg_ = cfg;
|
||||||
freq_ = cfg_.getAttrDefault("freq", 1);
|
freq_ = cfg_.getAttrDefault("freq", 1);
|
||||||
|
|||||||
@ -8,17 +8,21 @@
|
|||||||
#include <condition_variable>
|
#include <condition_variable>
|
||||||
|
|
||||||
#include "../../abstract_monitor.h"
|
#include "../../abstract_monitor.h"
|
||||||
|
#include "cmvr/config/monitor_config/monitor_config.pb.h"
|
||||||
|
|
||||||
namespace cmvr::monitor {
|
namespace cmvr::monitor {
|
||||||
|
|
||||||
class DiskMonitor final : public AbstractMonitor{
|
class DiskMonitor final : public AbstractMonitor{
|
||||||
public:
|
public:
|
||||||
explicit DiskMonitor(const XmlNode& config);
|
explicit DiskMonitor(const XmlNode& config);
|
||||||
|
explicit DiskMonitor(const cmvr::config::DiskMonitorConfig& config); // 新增proto构造函数
|
||||||
~DiskMonitor();
|
~DiskMonitor();
|
||||||
protected:
|
protected:
|
||||||
bool check_() override;
|
bool check_() override;
|
||||||
bool execution_() override;
|
bool execution_() override;
|
||||||
private:
|
private:
|
||||||
|
void initFromProto(const cmvr::config::DiskMonitorConfig& config); // 新增初始化方法
|
||||||
|
|
||||||
std::unordered_map<std::string,int> folders_;
|
std::unordered_map<std::string,int> folders_;
|
||||||
std::vector<std::string> dirsToClean_; // 需要清理的目录列表
|
std::vector<std::string> dirsToClean_; // 需要清理的目录列表
|
||||||
mutable std::mutex mutex_; // 保护共享资源的互斥锁
|
mutable std::mutex mutex_; // 保护共享资源的互斥锁
|
||||||
@ -27,6 +31,4 @@ namespace cmvr::monitor {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif //FOLDER_MONITOR_H
|
#endif //FOLDER_MONITOR_H
|
||||||
@ -14,7 +14,6 @@ using namespace cmvr::monitor;
|
|||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
using namespace std::chrono;
|
using namespace std::chrono;
|
||||||
|
|
||||||
|
|
||||||
// 文件信息结构体
|
// 文件信息结构体
|
||||||
struct FileInfo {
|
struct FileInfo {
|
||||||
std::string path;
|
std::string path;
|
||||||
@ -38,51 +37,40 @@ bool deleteOldestFile(const std::string& directoryPath) {
|
|||||||
struct dirent* entry;
|
struct dirent* entry;
|
||||||
struct stat fileStat;
|
struct stat fileStat;
|
||||||
|
|
||||||
// 遍历目录中的每个条目
|
|
||||||
while ((entry = readdir(dir)) != nullptr) {
|
while ((entry = readdir(dir)) != nullptr) {
|
||||||
// 跳过 "." 和 ".."
|
|
||||||
if (std::string(entry->d_name) == "." || std::string(entry->d_name) == "..") {
|
if (std::string(entry->d_name) == "." || std::string(entry->d_name) == "..") {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建完整路径
|
|
||||||
std::string filePath = directoryPath + "/" + entry->d_name;
|
std::string filePath = directoryPath + "/" + entry->d_name;
|
||||||
|
|
||||||
// 获取文件状态信息
|
|
||||||
if (stat(filePath.c_str(), &fileStat) == -1) {
|
if (stat(filePath.c_str(), &fileStat) == -1) {
|
||||||
std::cerr << "Failed to get file status: " << filePath << std::endl;
|
std::cerr << "Failed to get file status: " << filePath << std::endl;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 只处理普通文件
|
|
||||||
if (S_ISREG(fileStat.st_mode)) {
|
if (S_ISREG(fileStat.st_mode)) {
|
||||||
FileInfo fileInfo;
|
FileInfo fileInfo;
|
||||||
fileInfo.path = filePath;
|
fileInfo.path = filePath;
|
||||||
|
|
||||||
// 优先使用 st_birthtime (如果可用),否则使用 st_ctime
|
|
||||||
#ifdef HAVE_STRUCT_STAT_ST_BIRTHTIME
|
#ifdef HAVE_STRUCT_STAT_ST_BIRTHTIME
|
||||||
fileInfo.creationTime = fileStat.st_birthtime;
|
fileInfo.creationTime = fileStat.st_birthtime;
|
||||||
#else
|
#else
|
||||||
fileInfo.creationTime = fileStat.st_ctime;
|
fileInfo.creationTime = fileStat.st_ctime;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
files.push_back(fileInfo);
|
files.push_back(fileInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
|
|
||||||
// 如果没有找到文件,返回失败
|
|
||||||
if (files.empty()) {
|
if (files.empty()) {
|
||||||
std::cout << "No files found in directory: " << directoryPath << std::endl;
|
std::cout << "No files found in directory: " << directoryPath << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 按创建时间排序
|
|
||||||
std::sort(files.begin(), files.end(), compareByCreationTime);
|
std::sort(files.begin(), files.end(), compareByCreationTime);
|
||||||
|
|
||||||
// 删除最早创建的文件
|
|
||||||
std::string oldestFilePath = files[0].path;
|
std::string oldestFilePath = files[0].path;
|
||||||
|
|
||||||
if (unlink(oldestFilePath.c_str()) == -1) {
|
if (unlink(oldestFilePath.c_str()) == -1) {
|
||||||
std::cerr << "Failed to delete file: " << oldestFilePath << std::endl;
|
std::cerr << "Failed to delete file: " << oldestFilePath << std::endl;
|
||||||
return false;
|
return false;
|
||||||
@ -92,11 +80,11 @@ bool deleteOldestFile(const std::string& directoryPath) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool pathExists(const std::string& path) {
|
bool pathExists(const std::string& path) {
|
||||||
struct stat buffer;
|
struct stat buffer;
|
||||||
return (stat(path.c_str(), &buffer) == 0);
|
return (stat(path.c_str(), &buffer) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int countFilesInDirectory(const std::string& path) {
|
int countFilesInDirectory(const std::string& path) {
|
||||||
DIR* dir = opendir(path.c_str());
|
DIR* dir = opendir(path.c_str());
|
||||||
if (!dir) {
|
if (!dir) {
|
||||||
@ -107,9 +95,7 @@ int countFilesInDirectory(const std::string& path) {
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
struct dirent* entry;
|
struct dirent* entry;
|
||||||
|
|
||||||
// 遍历目录中的每个条目
|
|
||||||
while ((entry = readdir(dir)) != nullptr) {
|
while ((entry = readdir(dir)) != nullptr) {
|
||||||
// 跳过 "." 和 ".."
|
|
||||||
if (std::string(entry->d_name) != "." && std::string(entry->d_name) != "..") {
|
if (std::string(entry->d_name) != "." && std::string(entry->d_name) != "..") {
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
@ -119,8 +105,8 @@ int countFilesInDirectory(const std::string& path) {
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// XML构造函数
|
||||||
DiskMonitor::DiskMonitor(const XmlNode& config) : AbstractMonitor(config){
|
DiskMonitor::DiskMonitor(const XmlNode& config) : AbstractMonitor(config){
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for (auto &node: config.getChildren()){
|
for (auto &node: config.getChildren()){
|
||||||
string fileDir = node.getAttrString("fileDir");
|
string fileDir = node.getAttrString("fileDir");
|
||||||
@ -138,13 +124,42 @@ DiskMonitor::DiskMonitor(const XmlNode& config) : AbstractMonitor(config){
|
|||||||
throw runtime_error("[DiskMonitor] (DiskMonitor): Failed "+ string(e.what()));
|
throw runtime_error("[DiskMonitor] (DiskMonitor): Failed "+ string(e.what()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Proto构造函数
|
||||||
|
DiskMonitor::DiskMonitor(const cmvr::config::DiskMonitorConfig& config) : AbstractMonitor() {
|
||||||
|
try {
|
||||||
|
initFromProto(config);
|
||||||
|
is_initialized_ = true;
|
||||||
|
LOG(INFO) << "[DiskMonitor]: Init DiskMonitor from proto Success";
|
||||||
|
}
|
||||||
|
catch (const exception& e) {
|
||||||
|
LOG(ERROR) << "[DiskMonitor] (DiskMonitor): Failed " << e.what();
|
||||||
|
throw runtime_error("[DiskMonitor] (DiskMonitor): Failed " + string(e.what()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Proto初始化方法
|
||||||
|
void DiskMonitor::initFromProto(const cmvr::config::DiskMonitorConfig& config) {
|
||||||
|
// 设置监控ID和频率(通过AbstractMonitor)
|
||||||
|
// 假设AbstractMonitor有setId和setFreq方法,如果没有需要添加
|
||||||
|
// 这里根据你的AbstractMonitor实现来调整
|
||||||
|
|
||||||
|
for (const auto& folder : config.folders()) {
|
||||||
|
string fileDir = folder.filedir();
|
||||||
|
if (!pathExists(fileDir)) {
|
||||||
|
throw runtime_error("[DiskMonitor] (initFromProto): path not exists: " + fileDir);
|
||||||
|
}
|
||||||
|
int maxVolume = folder.maxvolume();
|
||||||
|
folders_[fileDir] = maxVolume;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
DiskMonitor::~DiskMonitor() {
|
DiskMonitor::~DiskMonitor() {
|
||||||
folders_.clear();
|
folders_.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DiskMonitor::check_() {
|
bool DiskMonitor::check_() {
|
||||||
// 检查当前目录下的文件数量是否超过最大值
|
|
||||||
bool allOk = true;
|
bool allOk = true;
|
||||||
// 遍历所有监控的文件夹
|
|
||||||
for (const auto& folder : folders_) {
|
for (const auto& folder : folders_) {
|
||||||
const std::string& path = folder.first;
|
const std::string& path = folder.first;
|
||||||
size_t maxFiles = folder.second;
|
size_t maxFiles = folder.second;
|
||||||
@ -154,28 +169,21 @@ bool DiskMonitor::check_() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int nFileCount = countFilesInDirectory(path);
|
int nFileCount = countFilesInDirectory(path);
|
||||||
if (nFileCount > maxFiles)
|
if (nFileCount > maxFiles) {
|
||||||
{
|
|
||||||
allOk = false;
|
allOk = false;
|
||||||
dirsToClean_.push_back(path);
|
dirsToClean_.push_back(path);
|
||||||
std::cout << "path need remove oldest file: " << path << std::endl;
|
std::cout << "path need remove oldest file: " << path << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} catch (const fs::filesystem_error& e) {
|
} catch (const fs::filesystem_error& e) {
|
||||||
std::cerr << "Filesystem error: " << e.what() << '\n';
|
std::cerr << "Filesystem error: " << e.what() << '\n';
|
||||||
} catch (const std::exception& e) {
|
} catch (const std::exception& e) {
|
||||||
std::cerr << "Unexpected error: " << e.what() << '\n';
|
std::cerr << "Unexpected error: " << e.what() << '\n';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return allOk;
|
return allOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool DiskMonitor::execution_() {
|
bool DiskMonitor::execution_() {
|
||||||
|
|
||||||
// 删除创建时间最早的文件
|
|
||||||
std::lock_guard<std::mutex> lock(mutex_);
|
std::lock_guard<std::mutex> lock(mutex_);
|
||||||
bool success = true;
|
bool success = true;
|
||||||
|
|
||||||
@ -183,6 +191,6 @@ bool DiskMonitor::execution_() {
|
|||||||
deleteOldestFile(path);
|
deleteOldestFile(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
dirsToClean_.clear(); // 清理完成后清空列表
|
dirsToClean_.clear();
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
@ -5,8 +5,8 @@
|
|||||||
#ifndef MONITOR_FACTORY_H
|
#ifndef MONITOR_FACTORY_H
|
||||||
#define MONITOR_FACTORY_H
|
#define MONITOR_FACTORY_H
|
||||||
|
|
||||||
|
#include "monitor/abstract_monitor.h"
|
||||||
#include "../../monitor/abstract_monitor.h"
|
#include "cmvr/config/monitor_config/monitor_config.pb.h"
|
||||||
|
|
||||||
namespace cmvr::monitor
|
namespace cmvr::monitor
|
||||||
{
|
{
|
||||||
@ -14,14 +14,17 @@ namespace cmvr::monitor
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MonitorFactory() = default;
|
MonitorFactory() = default;
|
||||||
|
|
||||||
|
// 原有的XML方式
|
||||||
template <typename MonitorType>
|
template <typename MonitorType>
|
||||||
std::shared_ptr<MonitorType> create(const XmlNode& cfg);
|
std::shared_ptr<MonitorType> create(const XmlNode& cfg);
|
||||||
std::shared_ptr<AbstractMonitor> create(const XmlNode& cfg);
|
std::shared_ptr<AbstractMonitor> create(const XmlNode& cfg);
|
||||||
|
|
||||||
|
// 新增proto方式
|
||||||
|
template <typename MonitorType>
|
||||||
|
std::shared_ptr<MonitorType> create(const cmvr::config::DiskMonitorConfig& config);
|
||||||
|
std::shared_ptr<AbstractMonitor> create(const cmvr::config::DiskMonitorConfig& config);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif //MONITOR_FACTORY_H
|
#endif //MONITOR_FACTORY_H
|
||||||
@ -15,23 +15,38 @@ namespace cmvr::monitor {
|
|||||||
public:
|
public:
|
||||||
MonitorManager(const MonitorManager&) = delete;
|
MonitorManager(const MonitorManager&) = delete;
|
||||||
MonitorManager& operator=(const MonitorManager&) = delete;
|
MonitorManager& operator=(const MonitorManager&) = delete;
|
||||||
|
|
||||||
|
// 原有的XML方式
|
||||||
static MonitorManager& getInstance(const XmlNode &cfg);
|
static MonitorManager& getInstance(const XmlNode &cfg);
|
||||||
|
|
||||||
|
// 新增proto方式
|
||||||
|
static MonitorManager& getInstance(const cmvr::config::MonitorManagerConfig& config);
|
||||||
|
|
||||||
static MonitorManager& getInstance();
|
static MonitorManager& getInstance();
|
||||||
static void destroyInstance();
|
static void destroyInstance();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit MonitorManager (const XmlNode &cfg);
|
// 原有的XML方式
|
||||||
void init_monitors();
|
explicit MonitorManager(const XmlNode &cfg);
|
||||||
|
|
||||||
|
// 新增proto方式
|
||||||
|
explicit MonitorManager(const cmvr::config::MonitorManagerConfig& config);
|
||||||
|
|
||||||
|
void init_monitors(); // XML方式
|
||||||
|
void init_monitors_from_proto(); // Proto方式
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static std::once_flag init_flag_;
|
static std::once_flag init_flag_;
|
||||||
static std::shared_ptr<MonitorManager> instance_;
|
static std::shared_ptr<MonitorManager> instance_;
|
||||||
|
|
||||||
XmlNode cfg_;
|
// 两种配置方式,只有一个有效
|
||||||
|
bool use_proto_ = false;
|
||||||
|
XmlNode cfg_; // XML配置
|
||||||
|
cmvr::config::MonitorManagerConfig proto_cfg_; // Proto配置
|
||||||
|
|
||||||
std::shared_ptr<MonitorFactory> monitor_factory_;
|
std::shared_ptr<MonitorFactory> monitor_factory_;
|
||||||
std::unordered_map<std::string, std::shared_ptr<AbstractMonitor>> monitors_;
|
std::unordered_map<std::string, std::shared_ptr<AbstractMonitor>> monitors_;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif //MONITOR_MANAGER_H
|
#endif //MONITOR_MANAGER_H
|
||||||
@ -3,12 +3,12 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include "../include/monitor_factory.h"
|
#include "../include/monitor_factory.h"
|
||||||
|
|
||||||
#include "../../monitor/diskmonitor/include/disk_monitor.h"
|
#include "../../monitor/diskmonitor/include/disk_monitor.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cmvr::monitor;
|
using namespace cmvr::monitor;
|
||||||
|
|
||||||
|
// XML方式的模板特化
|
||||||
template std::shared_ptr<DiskMonitor> MonitorFactory::create<DiskMonitor>(const XmlNode&);
|
template std::shared_ptr<DiskMonitor> MonitorFactory::create<DiskMonitor>(const XmlNode&);
|
||||||
|
|
||||||
template <typename MonitorType>
|
template <typename MonitorType>
|
||||||
@ -17,8 +17,30 @@ std::shared_ptr<MonitorType> MonitorFactory::create(const XmlNode& cfg) {
|
|||||||
return std::make_shared<DiskMonitor>(cfg);
|
return std::make_shared<DiskMonitor>(cfg);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
LOG(ERROR) << "[DeviceFactory]: Unsupported device type";
|
LOG(ERROR) << "[MonitorFactory]: Unsupported monitor type";
|
||||||
throw runtime_error("[DeviceFactory]: Unsupported device type");
|
throw runtime_error("[MonitorFactory]: Unsupported monitor type");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Proto方式的模板特化
|
||||||
|
template std::shared_ptr<DiskMonitor> MonitorFactory::create<DiskMonitor>(const cmvr::config::DiskMonitorConfig&);
|
||||||
|
|
||||||
|
template <typename MonitorType>
|
||||||
|
std::shared_ptr<MonitorType> MonitorFactory::create(const cmvr::config::DiskMonitorConfig& config) {
|
||||||
|
if constexpr (std::is_same_v<MonitorType, DiskMonitor>) {
|
||||||
|
return std::make_shared<DiskMonitor>(config);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
LOG(ERROR) << "[MonitorFactory]: Unsupported monitor type";
|
||||||
|
throw runtime_error("[MonitorFactory]: Unsupported monitor type");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<AbstractMonitor> MonitorFactory::create(const XmlNode& cfg) {
|
||||||
|
// 保留原有实现
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<AbstractMonitor> MonitorFactory::create(const cmvr::config::DiskMonitorConfig& config) {
|
||||||
|
return std::make_shared<DiskMonitor>(config);
|
||||||
|
}
|
||||||
@ -3,8 +3,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include "../include/monitor_manager.h"
|
#include "../include/monitor_manager.h"
|
||||||
|
#include "monitor/diskmonitor/include/disk_monitor.h"
|
||||||
#include "../../monitor/diskmonitor/include/disk_monitor.h"
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cmvr::monitor;
|
using namespace cmvr::monitor;
|
||||||
@ -12,11 +11,19 @@ using namespace cmvr::monitor;
|
|||||||
std::shared_ptr<MonitorManager> MonitorManager::instance_ = nullptr;
|
std::shared_ptr<MonitorManager> MonitorManager::instance_ = nullptr;
|
||||||
std::once_flag MonitorManager::init_flag_;
|
std::once_flag MonitorManager::init_flag_;
|
||||||
|
|
||||||
MonitorManager::MonitorManager(const XmlNode& cfg) {
|
// XML方式构造函数
|
||||||
|
MonitorManager::MonitorManager(const XmlNode& cfg) : use_proto_(false), cfg_(cfg) {
|
||||||
monitor_factory_ = make_shared<MonitorFactory>();
|
monitor_factory_ = make_shared<MonitorFactory>();
|
||||||
cfg_ = cfg;
|
|
||||||
init_monitors();
|
init_monitors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Proto方式构造函数
|
||||||
|
MonitorManager::MonitorManager(const cmvr::config::MonitorManagerConfig& config) : use_proto_(true), proto_cfg_(config) {
|
||||||
|
monitor_factory_ = make_shared<MonitorFactory>();
|
||||||
|
init_monitors_from_proto();
|
||||||
|
}
|
||||||
|
|
||||||
|
// XML方式单例
|
||||||
MonitorManager& MonitorManager::getInstance(const XmlNode& cfg) {
|
MonitorManager& MonitorManager::getInstance(const XmlNode& cfg) {
|
||||||
std::call_once(init_flag_, [&cfg] {
|
std::call_once(init_flag_, [&cfg] {
|
||||||
instance_.reset(new MonitorManager(cfg));
|
instance_.reset(new MonitorManager(cfg));
|
||||||
@ -24,9 +31,17 @@ MonitorManager& MonitorManager::getInstance(const XmlNode& cfg) {
|
|||||||
return *instance_;
|
return *instance_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Proto方式单例
|
||||||
|
MonitorManager& MonitorManager::getInstance(const cmvr::config::MonitorManagerConfig& config) {
|
||||||
|
std::call_once(init_flag_, [&config] {
|
||||||
|
instance_.reset(new MonitorManager(config));
|
||||||
|
});
|
||||||
|
return *instance_;
|
||||||
|
}
|
||||||
|
|
||||||
MonitorManager& MonitorManager::getInstance() {
|
MonitorManager& MonitorManager::getInstance() {
|
||||||
if (!instance_) {
|
if (!instance_) {
|
||||||
throw std::runtime_error("[MonitorManager] (getInstance): MonitorManager not initialized. Call getInstance(const XmlNode&) first.");
|
throw std::runtime_error("[MonitorManager] (getInstance): MonitorManager not initialized. Call getInstance() first.");
|
||||||
}
|
}
|
||||||
return *instance_;
|
return *instance_;
|
||||||
}
|
}
|
||||||
@ -35,13 +50,41 @@ void MonitorManager::destroyInstance() {
|
|||||||
instance_.reset();
|
instance_.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// XML方式初始化
|
||||||
void MonitorManager::init_monitors() {
|
void MonitorManager::init_monitors() {
|
||||||
try{
|
try {
|
||||||
auto diskmonitor_node = cfg_.getChild("DiskMonitor");
|
auto diskmonitor_node = cfg_.getChild("DiskMonitor");
|
||||||
auto id = diskmonitor_node.getAttrString("id");
|
auto id = diskmonitor_node.getAttrString("id");
|
||||||
auto monitor = monitor_factory_->create<DiskMonitor>(diskmonitor_node);
|
auto monitor = monitor_factory_->create<DiskMonitor>(diskmonitor_node);
|
||||||
if (monitor == nullptr) {
|
if (monitor == nullptr) {
|
||||||
throw std::runtime_error("[DeviceManager]: Factory returned nullptr for device ID: " + id);
|
throw std::runtime_error("[MonitorManager]: Factory returned nullptr for monitor ID: " + id);
|
||||||
|
}
|
||||||
|
monitors_[id] = monitor;
|
||||||
|
}
|
||||||
|
catch (const exception& e) {
|
||||||
|
LOG(ERROR) << e.what();
|
||||||
|
throw runtime_error(e.what());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Proto方式初始化
|
||||||
|
void MonitorManager::init_monitors_from_proto() {
|
||||||
|
try {
|
||||||
|
if (!proto_cfg_.has_disk_monitor()) {
|
||||||
|
LOG(WARNING) << "[MonitorManager]: No disk_monitor config found";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto& disk_monitor_cfg = proto_cfg_.disk_monitor();
|
||||||
|
if (!disk_monitor_cfg.enable()) {
|
||||||
|
LOG(INFO) << "[MonitorManager]: Disk monitor is disabled";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto id = disk_monitor_cfg.id();
|
||||||
|
auto monitor = monitor_factory_->create<DiskMonitor>(disk_monitor_cfg);
|
||||||
|
if (monitor == nullptr) {
|
||||||
|
throw std::runtime_error("[MonitorManager]: Factory returned nullptr for monitor ID: " + id);
|
||||||
}
|
}
|
||||||
monitors_[id] = monitor;
|
monitors_[id] = monitor;
|
||||||
}
|
}
|
||||||
@ -49,5 +92,4 @@ void MonitorManager::init_monitors() {
|
|||||||
LOG(ERROR) << e.what();
|
LOG(ERROR) << e.what();
|
||||||
throw runtime_error(e.what());
|
throw runtime_error(e.what());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include "device_manager/include/device_manager.h"
|
#include "device_manager/include/device_manager.h"
|
||||||
#include "cmvr/api/humanoid_robot_service.grpc.pb.h"
|
#include "cmvr/api/humanoid_robot_service.grpc.pb.h"
|
||||||
|
#include "ik_solver/include/pinocchio_qp_ik_solver.h"
|
||||||
namespace cmvr {
|
namespace cmvr {
|
||||||
namespace service {
|
namespace service {
|
||||||
class gRPCHumanoidRobotServiceImpl final : public api::HumanoidRobotService::Service {
|
class gRPCHumanoidRobotServiceImpl final : public api::HumanoidRobotService::Service {
|
||||||
@ -31,8 +31,19 @@ namespace cmvr {
|
|||||||
grpc::Status getPose(grpc::ServerContext *context, const cmvr::api::GetPose_Request *request, cmvr::api::GetPose_Response *response) override;
|
grpc::Status getPose(grpc::ServerContext *context, const cmvr::api::GetPose_Request *request, cmvr::api::GetPose_Response *response) override;
|
||||||
|
|
||||||
grpc::Status calibrateZeroQ(grpc::ServerContext* context, const cmvr::api::CalibrateZeroQ_Request* request, cmvr::api::CalibrateZeroQ_Response* response) override;
|
grpc::Status calibrateZeroQ(grpc::ServerContext* context, const cmvr::api::CalibrateZeroQ_Request* request, cmvr::api::CalibrateZeroQ_Response* response) override;
|
||||||
|
|
||||||
|
grpc::Status servoJ(grpc::ServerContext* context, const cmvr::api::ServoJ_Request* request, cmvr::api::ServoJ_Response* response) override;
|
||||||
|
|
||||||
|
grpc::Status getPoseMatrix(grpc::ServerContext* context, const cmvr::api::GetPoseMatrix_Request* request, cmvr::api::GetPoseMatrix_Response* response) override;
|
||||||
|
|
||||||
|
grpc::Status computeForwardKinematics(grpc::ServerContext* context, const cmvr::api::ComputeForwardKinematics_Request* request, cmvr::api::ComputeForwardKinematics_Response* response) override;
|
||||||
private:
|
private:
|
||||||
device::DeviceManager& dmgr_;
|
device::DeviceManager& dmgr_;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//矩阵转换
|
||||||
|
std::shared_ptr<PinocchioQpIKSolver> pinocchio_ik_{nullptr};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -11,13 +11,14 @@
|
|||||||
#include <thread>
|
#include <thread>
|
||||||
#include <grpcpp/grpcpp.h>
|
#include <grpcpp/grpcpp.h>
|
||||||
#include "rapidxml/xml_parser.h"
|
#include "rapidxml/xml_parser.h"
|
||||||
|
#include "cmvr/config/server_config/server_config.pb.h"
|
||||||
namespace cmvr::service {
|
namespace cmvr::service {
|
||||||
|
|
||||||
|
|
||||||
class ServerRunner {
|
class ServerRunner {
|
||||||
public:
|
public:
|
||||||
ServerRunner();
|
ServerRunner();
|
||||||
explicit ServerRunner(XmlNode cfg);
|
ServerRunner(const cmvr::config::ServerConfig& config);
|
||||||
~ServerRunner();
|
~ServerRunner();
|
||||||
|
|
||||||
ServerRunner(const ServerRunner&) = delete;
|
ServerRunner(const ServerRunner&) = delete;
|
||||||
@ -25,7 +26,7 @@ namespace cmvr::service {
|
|||||||
ServerRunner(ServerRunner&&) = delete;
|
ServerRunner(ServerRunner&&) = delete;
|
||||||
ServerRunner& operator=(ServerRunner&&) = delete;
|
ServerRunner& operator=(ServerRunner&&) = delete;
|
||||||
|
|
||||||
void start(XmlNode cfg);
|
void start();
|
||||||
void stop();
|
void stop();
|
||||||
void join();
|
void join();
|
||||||
|
|
||||||
@ -40,7 +41,7 @@ namespace cmvr::service {
|
|||||||
std::condition_variable cv_;
|
std::condition_variable cv_;
|
||||||
std::thread worker_;
|
std::thread worker_;
|
||||||
|
|
||||||
XmlNode cfg_;
|
cmvr::config::ServerConfig cfg_;
|
||||||
std::unique_ptr<grpc::Server> server_;
|
std::unique_ptr<grpc::Server> server_;
|
||||||
|
|
||||||
std::string address_;
|
std::string address_;
|
||||||
|
|||||||
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
#include "../include/grpc_camera_service.h"
|
#include "../include/grpc_camera_service.h"
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cmvr::service;
|
using namespace cmvr::service;
|
||||||
using namespace cmvr::device;
|
using namespace cmvr::device;
|
||||||
@ -87,7 +89,7 @@ grpc::Status gRPCCameraServiceImpl::GetRGBImage(grpc::ServerContext* context,
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
// LOG(INFO) << "[gRPCCameraServiceImpl] (GetRGBImage): id=" << dev_id;
|
LOG(INFO) << "[gRPCCameraServiceImpl] (GetRGBImage): id=" << dev_id;
|
||||||
cv::Mat image;
|
cv::Mat image;
|
||||||
const auto dev = dmgr_.getDevice<AbstractCamera>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractCamera>(dev_id);
|
||||||
Rs2Intrinsics intrinsics = {0};
|
Rs2Intrinsics intrinsics = {0};
|
||||||
@ -95,9 +97,9 @@ grpc::Status gRPCCameraServiceImpl::GetRGBImage(grpc::ServerContext* context,
|
|||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
|
|
||||||
response->mutable_intrinsics()->set_fx(intrinsics.fx);
|
response->mutable_intrinsics()->set_fx(intrinsics.fx);
|
||||||
response->mutable_intrinsics()->set_fy(intrinsics.fx);
|
response->mutable_intrinsics()->set_fy(intrinsics.fy);
|
||||||
response->mutable_intrinsics()->set_cx(intrinsics.fx);
|
response->mutable_intrinsics()->set_cx(intrinsics.cx);
|
||||||
response->mutable_intrinsics()->set_cy(intrinsics.fx);
|
response->mutable_intrinsics()->set_cy(intrinsics.cy);
|
||||||
for (int i = 0; i < 5 ; i++) {
|
for (int i = 0; i < 5 ; i++) {
|
||||||
response->mutable_intrinsics()->add_coeffs(intrinsics.coeffs[i]);
|
response->mutable_intrinsics()->add_coeffs(intrinsics.coeffs[i]);
|
||||||
}
|
}
|
||||||
@ -146,9 +148,9 @@ grpc::Status gRPCCameraServiceImpl::GetDepthImage(grpc::ServerContext* context,
|
|||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
|
|
||||||
response->mutable_intrinsics()->set_fx(intrinsics.fx);
|
response->mutable_intrinsics()->set_fx(intrinsics.fx);
|
||||||
response->mutable_intrinsics()->set_fy(intrinsics.fx);
|
response->mutable_intrinsics()->set_fy(intrinsics.fy);
|
||||||
response->mutable_intrinsics()->set_cx(intrinsics.fx);
|
response->mutable_intrinsics()->set_cx(intrinsics.cx);
|
||||||
response->mutable_intrinsics()->set_cy(intrinsics.fx);
|
response->mutable_intrinsics()->set_cy(intrinsics.cy);
|
||||||
for (int i = 0; i < 5 ; i++) {
|
for (int i = 0; i < 5 ; i++) {
|
||||||
response->mutable_intrinsics()->add_coeffs(intrinsics.coeffs[i]);
|
response->mutable_intrinsics()->add_coeffs(intrinsics.coeffs[i]);
|
||||||
}
|
}
|
||||||
@ -200,9 +202,9 @@ grpc::Status gRPCCameraServiceImpl::GetRGBDImages(grpc::ServerContext* context,
|
|||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
|
|
||||||
response->mutable_intrinsics()->set_fx(intrinsics.fx);
|
response->mutable_intrinsics()->set_fx(intrinsics.fx);
|
||||||
response->mutable_intrinsics()->set_fy(intrinsics.fx);
|
response->mutable_intrinsics()->set_fy(intrinsics.fy);
|
||||||
response->mutable_intrinsics()->set_cx(intrinsics.fx);
|
response->mutable_intrinsics()->set_cx(intrinsics.cx);
|
||||||
response->mutable_intrinsics()->set_cy(intrinsics.fx);
|
response->mutable_intrinsics()->set_cy(intrinsics.cy);
|
||||||
for (int i = 0; i < 5 ; i++) {
|
for (int i = 0; i < 5 ; i++) {
|
||||||
response->mutable_intrinsics()->add_coeffs(intrinsics.coeffs[i]);
|
response->mutable_intrinsics()->add_coeffs(intrinsics.coeffs[i]);
|
||||||
}
|
}
|
||||||
@ -433,7 +435,7 @@ grpc::Status gRPCCameraServiceImpl::GetRGBImageStream(grpc::ServerContext* conte
|
|||||||
const auto dev = dmgr_.getDevice<AbstractCamera>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractCamera>(dev_id);
|
||||||
int nFrameCount = 0;
|
int nFrameCount = 0;
|
||||||
dev->startStreaming();
|
dev->startStreaming();
|
||||||
size_t index = 0;
|
size_t last_sent_index = std::numeric_limits<size_t>::max();
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
if (context->IsCancelled())
|
if (context->IsCancelled())
|
||||||
@ -444,8 +446,14 @@ grpc::Status gRPCCameraServiceImpl::GetRGBImageStream(grpc::ServerContext* conte
|
|||||||
|
|
||||||
api::GetRGBImageStreamCommand_Feedback response;
|
api::GetRGBImageStreamCommand_Feedback response;
|
||||||
cmvr::device::StreamFrameData frame_data;
|
cmvr::device::StreamFrameData frame_data;
|
||||||
dev->getEncodedFrame(frame_data,index);
|
size_t next_index = last_sent_index;
|
||||||
if (!frame_data.rgbFrame.empty()) {
|
if (!dev->getLatestEncodedFrame(frame_data, next_index) ||
|
||||||
|
frame_data.rgbFrame.empty() ||
|
||||||
|
next_index == last_sent_index) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
response.mutable_header()->set_success(true);
|
response.mutable_header()->set_success(true);
|
||||||
response.mutable_color_frame()->set_data(frame_data.rgbFrame.data(), frame_data.rgbFrame.size());
|
response.mutable_color_frame()->set_data(frame_data.rgbFrame.data(), frame_data.rgbFrame.size());
|
||||||
response.mutable_color_frame()->set_is_key_frame(frame_data.bKey);
|
response.mutable_color_frame()->set_is_key_frame(frame_data.bKey);
|
||||||
@ -454,24 +462,20 @@ grpc::Status gRPCCameraServiceImpl::GetRGBImageStream(grpc::ServerContext* conte
|
|||||||
response.mutable_color_frame()->set_height(frame_data.height);
|
response.mutable_color_frame()->set_height(frame_data.height);
|
||||||
|
|
||||||
response.mutable_intrinsics()->set_fx(frame_data.intrinsics.fx);
|
response.mutable_intrinsics()->set_fx(frame_data.intrinsics.fx);
|
||||||
response.mutable_intrinsics()->set_fy(frame_data.intrinsics.fx);
|
response.mutable_intrinsics()->set_fy(frame_data.intrinsics.fy);
|
||||||
response.mutable_intrinsics()->set_cx(frame_data.intrinsics.fx);
|
response.mutable_intrinsics()->set_cx(frame_data.intrinsics.cx);
|
||||||
response.mutable_intrinsics()->set_cy(frame_data.intrinsics.fx);
|
response.mutable_intrinsics()->set_cy(frame_data.intrinsics.cy);
|
||||||
for (int i = 0; i < 5 ; i++) {
|
for (int i = 0; i < 5 ; i++) {
|
||||||
response.mutable_intrinsics()->add_coeffs(frame_data.intrinsics.coeffs[i]);
|
response.mutable_intrinsics()->add_coeffs(frame_data.intrinsics.coeffs[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
response.set_seq_no(nFrameCount++);
|
response.set_seq_no(nFrameCount++);
|
||||||
|
|
||||||
grpc::WriteOptions options;
|
|
||||||
options.set_last_message();
|
|
||||||
if (!stream->Write(response)) {
|
if (!stream->Write(response)) {
|
||||||
LOG(INFO) << "[gRPCCameraServiceImpl] (stream->Write) failed,id=" << dev_id;
|
LOG(INFO) << "[gRPCCameraServiceImpl] (stream->Write) failed,id=" << dev_id;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
last_sent_index = next_index;
|
||||||
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(33));
|
|
||||||
}
|
}
|
||||||
LOG(INFO) << "[gRPCCameraServiceImpl] (GetRGBImageStream): end,id=" << dev_id;
|
LOG(INFO) << "[gRPCCameraServiceImpl] (GetRGBImageStream): end,id=" << dev_id;
|
||||||
dev->stopStreaming();
|
dev->stopStreaming();
|
||||||
|
|||||||
@ -3,6 +3,16 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include "../include/grpc_dexhand_service.h"
|
#include "../include/grpc_dexhand_service.h"
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
#include <chrono>
|
||||||
|
#include <memory>
|
||||||
|
#include <stdexcept>
|
||||||
|
#include <thread>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "devices/dexhand/rh56dftp_dexhand/include/rh56dftp_dexhand.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cmvr::service;
|
using namespace cmvr::service;
|
||||||
using namespace cmvr::device;
|
using namespace cmvr::device;
|
||||||
@ -12,6 +22,148 @@ using namespace cmvr::device;
|
|||||||
#define DEXHAND_MAX_FORCE 3000
|
#define DEXHAND_MAX_FORCE 3000
|
||||||
#define DEXHAND_MAX_SPEED 1000
|
#define DEXHAND_MAX_SPEED 1000
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
constexpr int kDexHandDofCount = 6;
|
||||||
|
|
||||||
|
cmvr::api::SensorData::FingerType toProtoFingerType(const AbstractDexHand::FingerType finger) {
|
||||||
|
switch (finger) {
|
||||||
|
case AbstractDexHand::FingerType::PINKY:
|
||||||
|
return cmvr::api::SensorData::PINKY;
|
||||||
|
case AbstractDexHand::FingerType::RING:
|
||||||
|
return cmvr::api::SensorData::RING;
|
||||||
|
case AbstractDexHand::FingerType::MIDDLE:
|
||||||
|
return cmvr::api::SensorData::MIDDLE_FINGER;
|
||||||
|
case AbstractDexHand::FingerType::INDEX:
|
||||||
|
return cmvr::api::SensorData::INDEX;
|
||||||
|
case AbstractDexHand::FingerType::THUMB:
|
||||||
|
return cmvr::api::SensorData::THUMB;
|
||||||
|
case AbstractDexHand::FingerType::PALM:
|
||||||
|
return cmvr::api::SensorData::PALM;
|
||||||
|
}
|
||||||
|
return cmvr::api::SensorData::PINKY;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmvr::api::SensorData::PartType toProtoPartType(const AbstractDexHand::TactileRegion region) {
|
||||||
|
switch (region) {
|
||||||
|
case AbstractDexHand::TactileRegion::TIP:
|
||||||
|
return cmvr::api::SensorData::TIP;
|
||||||
|
case AbstractDexHand::TactileRegion::FINGER:
|
||||||
|
return cmvr::api::SensorData::FINGER;
|
||||||
|
case AbstractDexHand::TactileRegion::PAD:
|
||||||
|
return cmvr::api::SensorData::PAD;
|
||||||
|
case AbstractDexHand::TactileRegion::THUMB_MIDDLE:
|
||||||
|
return cmvr::api::SensorData::THUMB_MIDDLE;
|
||||||
|
case AbstractDexHand::TactileRegion::PALM_PAD:
|
||||||
|
return cmvr::api::SensorData::PALM_PAD;
|
||||||
|
}
|
||||||
|
return cmvr::api::SensorData::TIP;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fillSensorData(const AbstractDexHand::TactileRegionData& tactile_data,
|
||||||
|
cmvr::api::SensorData* sensor_data) {
|
||||||
|
sensor_data->set_rows(tactile_data.view.rows);
|
||||||
|
sensor_data->set_cols(tactile_data.view.cols);
|
||||||
|
sensor_data->set_finger_type(toProtoFingerType(tactile_data.finger));
|
||||||
|
sensor_data->set_part_type(toProtoPartType(tactile_data.region));
|
||||||
|
sensor_data->set_sensor_name(tactile_data.name == nullptr ? "" : tactile_data.name);
|
||||||
|
|
||||||
|
for (int row = 0; row < tactile_data.view.rows; ++row) {
|
||||||
|
auto* row_data = sensor_data->add_data();
|
||||||
|
const auto* values = tactile_data.view.rowData(row);
|
||||||
|
for (int col = 0; col < tactile_data.view.cols; ++col) {
|
||||||
|
// Keep the existing scalar wire format by exposing the normal-force projection.
|
||||||
|
row_data->add_values(static_cast<int32_t>(values[col].fz));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename ResponseT>
|
||||||
|
void appendSensorData(const std::vector<AbstractDexHand::TactileRegionData>& tactile_regions,
|
||||||
|
ResponseT* response) {
|
||||||
|
for (const auto& tactile_region : tactile_regions) {
|
||||||
|
if (!tactile_region.valid()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
fillSensorData(tactile_region, response->add_sensor());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename FreedomCollection>
|
||||||
|
void applyFreedomValues(const FreedomCollection& freedoms,
|
||||||
|
const int scale,
|
||||||
|
std::vector<int>& targets) {
|
||||||
|
for (const auto& freedom : freedoms) {
|
||||||
|
if (freedom.id() < 0 || freedom.id() >= static_cast<int>(targets.size())) {
|
||||||
|
throw std::invalid_argument("Invalid dexhand DOF id: " + std::to_string(freedom.id()));
|
||||||
|
}
|
||||||
|
if (!std::isfinite(freedom.value())) {
|
||||||
|
throw std::invalid_argument("Invalid dexhand command value: not finite.");
|
||||||
|
}
|
||||||
|
targets[static_cast<size_t>(freedom.id())] = static_cast<int>(freedom.value() * scale);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<int> readCurrentAngles(const std::shared_ptr<AbstractDexHand>& dev) {
|
||||||
|
DexHandState state{};
|
||||||
|
dev->getState(state);
|
||||||
|
|
||||||
|
std::vector<int> current_angles(static_cast<size_t>(kDexHandDofCount), 0);
|
||||||
|
for (int i = 0; i < kDexHandDofCount; ++i) {
|
||||||
|
current_angles[static_cast<size_t>(i)] = state.hands[i].angle;
|
||||||
|
}
|
||||||
|
return current_angles;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool respondUnsupportedForRh56(const std::shared_ptr<AbstractDexHand>& dev,
|
||||||
|
const char* rpc_name,
|
||||||
|
const char* hint,
|
||||||
|
cmvr::api::CommandHeader_Feedback* header) {
|
||||||
|
if (std::dynamic_pointer_cast<RH56DFTPDexhand>(dev) == nullptr) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
header->set_success(false);
|
||||||
|
header->set_error_message(std::string(rpc_name) + " is not supported by RH56DFTPDexhand. " + hint);
|
||||||
|
setCurrentTimestamp(header->mutable_timestamp());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<AbstractDexHand::TactileRegionKey> buildRh56AllTactileRegions() {
|
||||||
|
using FingerType = AbstractDexHand::FingerType;
|
||||||
|
using TactileRegion = AbstractDexHand::TactileRegion;
|
||||||
|
|
||||||
|
return {
|
||||||
|
{FingerType::PINKY, TactileRegion::TIP},
|
||||||
|
{FingerType::PINKY, TactileRegion::FINGER},
|
||||||
|
{FingerType::PINKY, TactileRegion::PAD},
|
||||||
|
{FingerType::RING, TactileRegion::TIP},
|
||||||
|
{FingerType::RING, TactileRegion::FINGER},
|
||||||
|
{FingerType::RING, TactileRegion::PAD},
|
||||||
|
{FingerType::MIDDLE, TactileRegion::TIP},
|
||||||
|
{FingerType::MIDDLE, TactileRegion::FINGER},
|
||||||
|
{FingerType::MIDDLE, TactileRegion::PAD},
|
||||||
|
{FingerType::INDEX, TactileRegion::TIP},
|
||||||
|
{FingerType::INDEX, TactileRegion::FINGER},
|
||||||
|
{FingerType::INDEX, TactileRegion::PAD},
|
||||||
|
{FingerType::THUMB, TactileRegion::TIP},
|
||||||
|
{FingerType::THUMB, TactileRegion::FINGER},
|
||||||
|
{FingerType::THUMB, TactileRegion::THUMB_MIDDLE},
|
||||||
|
{FingerType::THUMB, TactileRegion::PAD},
|
||||||
|
{FingerType::PALM, TactileRegion::PALM_PAD}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
void maybeConfigureRh56FullTactilePolling(const std::shared_ptr<AbstractDexHand>& dev) {
|
||||||
|
auto rh56 = std::dynamic_pointer_cast<RH56DFTPDexhand>(dev);
|
||||||
|
if (!rh56) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
rh56->setTactilePollingRegions(buildRh56AllTactileRegions());
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
gRPCDexHandServiceImpl::gRPCDexHandServiceImpl(): dmgr_(DeviceManager::getInstance()) {}
|
gRPCDexHandServiceImpl::gRPCDexHandServiceImpl(): dmgr_(DeviceManager::getInstance()) {}
|
||||||
|
|
||||||
grpc::Status gRPCDexHandServiceImpl::GetStatus(grpc::ServerContext* context,
|
grpc::Status gRPCDexHandServiceImpl::GetStatus(grpc::ServerContext* context,
|
||||||
@ -20,10 +172,10 @@ grpc::Status gRPCDexHandServiceImpl::GetStatus(grpc::ServerContext* context,
|
|||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (GetStatus): id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (GetStatus): id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
DexHandState state;
|
DexHandState state{};
|
||||||
dev->getState(state);
|
dev->getState(state);
|
||||||
response->mutable_state()->set_is_initialized(state.is_initialized);
|
response->mutable_state()->set_is_initialized(state.is_initialized);
|
||||||
for (int i = 0; i < 6; i++) {
|
for (int i = 0; i < kDexHandDofCount; i++) {
|
||||||
auto hand = response->mutable_state()->add_hands();
|
auto hand = response->mutable_state()->add_hands();
|
||||||
hand->set_dof_id(i);
|
hand->set_dof_id(i);
|
||||||
hand->set_angle(state.hands[i].angle);
|
hand->set_angle(state.hands[i].angle);
|
||||||
@ -33,7 +185,7 @@ grpc::Status gRPCDexHandServiceImpl::GetStatus(grpc::ServerContext* context,
|
|||||||
hand->set_speed(state.hands[i].speed);
|
hand->set_speed(state.hands[i].speed);
|
||||||
hand->set_temperature(state.hands[i].temperature);
|
hand->set_temperature(state.hands[i].temperature);
|
||||||
hand->set_error(state.hands[i].error);
|
hand->set_error(state.hands[i].error);
|
||||||
for (auto& errormessage :state.hands[i].error_message) {
|
for (auto& errormessage : state.hands[i].error_message) {
|
||||||
hand->add_error_message(errormessage);
|
hand->add_error_message(errormessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -48,21 +200,23 @@ grpc::Status gRPCDexHandServiceImpl::GetStatus(grpc::ServerContext* context,
|
|||||||
return grpc::Status::OK;
|
return grpc::Status::OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
grpc::Status gRPCDexHandServiceImpl::SetDexHandPos(grpc::ServerContext* context
|
grpc::Status gRPCDexHandServiceImpl::SetDexHandPos(grpc::ServerContext* context
|
||||||
, const cmvr::api::SetDexHandPositionsCommand_Request* request
|
, const cmvr::api::SetDexHandPositionsCommand_Request* request
|
||||||
, cmvr::api::SetDexHandPositionsCommand_Feedback* response){
|
, cmvr::api::SetDexHandPositionsCommand_Feedback* response) {
|
||||||
try {
|
try {
|
||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandPos): id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandPos): id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
auto freedoms = request->values();
|
if (respondUnsupportedForRh56(dev,
|
||||||
|
"SetDexHandPos",
|
||||||
//默认-1不修改状态
|
"Use SetDexHandAngle for RH56 joint commands.",
|
||||||
std::vector<int> finger_joint_targets(6,-1);
|
response->mutable_header())) {
|
||||||
for (auto& freedom : freedoms) {
|
return grpc::Status::OK;
|
||||||
//遍历拿到需要配置的自由度,传入的是百分比0-1
|
|
||||||
finger_joint_targets[freedom.id()] = freedom.value() * DEXHAND_MAX_POSITION;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<int> finger_joint_targets(static_cast<size_t>(kDexHandDofCount), -1);
|
||||||
|
applyFreedomValues(request->values(), DEXHAND_MAX_POSITION, finger_joint_targets);
|
||||||
dev->setPositions(finger_joint_targets);
|
dev->setPositions(finger_joint_targets);
|
||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
||||||
@ -83,21 +237,17 @@ grpc::Status gRPCDexHandServiceImpl::SetDexHandAngle(grpc::ServerContext* contex
|
|||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandAngle): id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandAngle): id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
auto freedoms = request->values();
|
|
||||||
|
|
||||||
//默认-1不修改状态
|
if (const auto rh56 = std::dynamic_pointer_cast<RH56DFTPDexhand>(dev)) {
|
||||||
std::vector<int> finger_joint_targets(6,-1);
|
std::vector<int> finger_joint_targets = readCurrentAngles(dev);
|
||||||
for (auto& freedom : freedoms) {
|
applyFreedomValues(request->values(), DEXHAND_MAX_ANGLE, finger_joint_targets);
|
||||||
//遍历拿到需要配置的自由度,传入的是百分比0-1
|
rh56->setAngles(finger_joint_targets);
|
||||||
finger_joint_targets[freedom.id()] = freedom.value() * DEXHAND_MAX_ANGLE;
|
} else {
|
||||||
}
|
std::vector<int> finger_joint_targets(static_cast<size_t>(kDexHandDofCount), -1);
|
||||||
// std::cout << "steAngle: ";
|
applyFreedomValues(request->values(), DEXHAND_MAX_ANGLE, finger_joint_targets);
|
||||||
// for (auto& angle : finger_joint_targets)
|
|
||||||
// {
|
|
||||||
// std::cout << " " << angle;
|
|
||||||
// }
|
|
||||||
// std::cout << std::endl;
|
|
||||||
dev->setAngles(finger_joint_targets);
|
dev->setAngles(finger_joint_targets);
|
||||||
|
}
|
||||||
|
|
||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
||||||
return grpc::Status::OK;
|
return grpc::Status::OK;
|
||||||
@ -117,14 +267,15 @@ grpc::Status gRPCDexHandServiceImpl::SetDexHandForce(grpc::ServerContext* contex
|
|||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandForce): id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandForce): id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
auto freedoms = request->values();
|
if (respondUnsupportedForRh56(dev,
|
||||||
|
"SetDexHandForce",
|
||||||
//默认-1不修改状态
|
"RH56DFTPDexhand currently exposes angle and tactile APIs only.",
|
||||||
std::vector<int> finger_joint_targets(6,-1);
|
response->mutable_header())) {
|
||||||
for (auto& freedom : freedoms) {
|
return grpc::Status::OK;
|
||||||
//遍历拿到需要配置的自由度,传入的是百分比0-1
|
|
||||||
finger_joint_targets[freedom.id()] = freedom.value() * DEXHAND_MAX_FORCE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<int> finger_joint_targets(static_cast<size_t>(kDexHandDofCount), -1);
|
||||||
|
applyFreedomValues(request->values(), DEXHAND_MAX_FORCE, finger_joint_targets);
|
||||||
dev->setForce(finger_joint_targets);
|
dev->setForce(finger_joint_targets);
|
||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
||||||
@ -145,14 +296,15 @@ grpc::Status gRPCDexHandServiceImpl::SetDexHandSpeed(grpc::ServerContext* contex
|
|||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandSpeed): id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandSpeed): id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
auto freedoms = request->values();
|
if (respondUnsupportedForRh56(dev,
|
||||||
|
"SetDexHandSpeed",
|
||||||
//默认-1不修改状态
|
"RH56DFTPDexhand currently exposes angle and tactile APIs only.",
|
||||||
std::vector<int> finger_joint_targets(6,-1);
|
response->mutable_header())) {
|
||||||
for (auto& freedom : freedoms) {
|
return grpc::Status::OK;
|
||||||
//遍历拿到需要配置的自由度,传入的是百分比0-1
|
|
||||||
finger_joint_targets[freedom.id()] = freedom.value() * DEXHAND_MAX_SPEED;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<int> finger_joint_targets(static_cast<size_t>(kDexHandDofCount), -1);
|
||||||
|
applyFreedomValues(request->values(), DEXHAND_MAX_SPEED, finger_joint_targets);
|
||||||
dev->setVelocities(finger_joint_targets);
|
dev->setVelocities(finger_joint_targets);
|
||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
||||||
@ -173,6 +325,13 @@ grpc::Status gRPCDexHandServiceImpl::SetDexHandPresetAct(grpc::ServerContext* co
|
|||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandPresetAct): id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (SetDexHandPresetAct): id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
|
if (respondUnsupportedForRh56(dev,
|
||||||
|
"SetDexHandPresetAct",
|
||||||
|
"RH56DFTPDexhand currently exposes angle and tactile APIs only.",
|
||||||
|
response->mutable_header())) {
|
||||||
|
return grpc::Status::OK;
|
||||||
|
}
|
||||||
|
|
||||||
auto presetActId = request->presetactid();
|
auto presetActId = request->presetactid();
|
||||||
dev->setPresetAct(presetActId);
|
dev->setPresetAct(presetActId);
|
||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
@ -195,60 +354,8 @@ grpc::Status gRPCDexHandServiceImpl::GetSensorData(grpc::ServerContext* context
|
|||||||
string dev_id = request->header().device_id();
|
string dev_id = request->header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (GetSensorData): id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (GetSensorData): id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
//从串口获取传感器数据并返回
|
maybeConfigureRh56FullTactilePolling(dev);
|
||||||
auto sensors = dev->getSensorData();
|
appendSensorData(dev->getSensorData(), response);
|
||||||
// 辅助函数:将FingerTactileData或PalmTactileData转换为Proto的SensorData
|
|
||||||
auto fillSensorData = [](const auto& tactileData,
|
|
||||||
cmvr::api::SensorData::FingerType fingerType,
|
|
||||||
cmvr::api::SensorData::PartType partType,
|
|
||||||
cmvr::api::SensorData* sensorData) {
|
|
||||||
// 设置行列数
|
|
||||||
sensorData->set_rows(tactileData.rows);
|
|
||||||
sensorData->set_cols(tactileData.cols);
|
|
||||||
// 设置传感器类型
|
|
||||||
sensorData->set_finger_type(fingerType);
|
|
||||||
sensorData->set_part_type(partType);
|
|
||||||
sensorData->set_sensor_name(tactileData.name); // 使用原结构体中的name字段
|
|
||||||
|
|
||||||
// 填充数据
|
|
||||||
for (const auto& row : tactileData.data) {
|
|
||||||
cmvr::api::SensorData_RowData* rowData = sensorData->add_data();
|
|
||||||
for (TactilePoint value : row) {
|
|
||||||
rowData->add_values(static_cast<int32_t>(value));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 1. 填充小拇指数据
|
|
||||||
fillSensorData(sensors.pinky.tip, cmvr::api::SensorData::PINKY, cmvr::api::SensorData::TIP, response->add_sensor());
|
|
||||||
fillSensorData(sensors.pinky.finger, cmvr::api::SensorData::PINKY, cmvr::api::SensorData::FINGER, response->add_sensor());
|
|
||||||
fillSensorData(sensors.pinky.pad, cmvr::api::SensorData::PINKY, cmvr::api::SensorData::PAD, response->add_sensor());
|
|
||||||
|
|
||||||
// 2. 填充无名指数据
|
|
||||||
fillSensorData(sensors.ring.tip, cmvr::api::SensorData::RING, cmvr::api::SensorData::TIP, response->add_sensor());
|
|
||||||
fillSensorData(sensors.ring.finger, cmvr::api::SensorData::RING, cmvr::api::SensorData::FINGER, response->add_sensor());
|
|
||||||
fillSensorData(sensors.ring.pad, cmvr::api::SensorData::RING, cmvr::api::SensorData::PAD, response->add_sensor());
|
|
||||||
|
|
||||||
// 3. 填充中指数据(修改为MIDDLE_FINGER)
|
|
||||||
fillSensorData(sensors.middle.tip, cmvr::api::SensorData::MIDDLE_FINGER, cmvr::api::SensorData::TIP, response->add_sensor());
|
|
||||||
fillSensorData(sensors.middle.finger, cmvr::api::SensorData::MIDDLE_FINGER, cmvr::api::SensorData::FINGER, response->add_sensor());
|
|
||||||
fillSensorData(sensors.middle.pad, cmvr::api::SensorData::MIDDLE_FINGER, cmvr::api::SensorData::PAD, response->add_sensor());
|
|
||||||
|
|
||||||
// 4. 填充食指数据
|
|
||||||
fillSensorData(sensors.index.tip, cmvr::api::SensorData::INDEX, cmvr::api::SensorData::TIP, response->add_sensor());
|
|
||||||
fillSensorData(sensors.index.finger, cmvr::api::SensorData::INDEX, cmvr::api::SensorData::FINGER, response->add_sensor());
|
|
||||||
fillSensorData(sensors.index.pad, cmvr::api::SensorData::INDEX, cmvr::api::SensorData::PAD, response->add_sensor());
|
|
||||||
|
|
||||||
// 5. 填充大拇指数据(修改为THUMB_MIDDLE)
|
|
||||||
fillSensorData(sensors.thumb.tip, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::TIP, response->add_sensor());
|
|
||||||
fillSensorData(sensors.thumb.finger, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::FINGER, response->add_sensor());
|
|
||||||
fillSensorData(sensors.thumb.middle, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::THUMB_MIDDLE, response->add_sensor());
|
|
||||||
fillSensorData(sensors.thumb.pad, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::PAD, response->add_sensor());
|
|
||||||
|
|
||||||
// 6. 填充掌心数据(使用PALM_PAD)
|
|
||||||
fillSensorData(sensors.palm, cmvr::api::SensorData::PALM, cmvr::api::SensorData::PALM_PAD, response->add_sensor());
|
|
||||||
|
|
||||||
|
|
||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
setCurrentTimestamp(response->mutable_header()->mutable_timestamp());
|
||||||
return grpc::Status::OK;
|
return grpc::Status::OK;
|
||||||
@ -266,65 +373,21 @@ grpc::Status gRPCDexHandServiceImpl::GetSensorDataStream(grpc::ServerContext* co
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
api::GetSensorDataStreamCommand_Request request;
|
api::GetSensorDataStreamCommand_Request request;
|
||||||
stream->Read(&request);
|
if (!stream->Read(&request)) {
|
||||||
|
return grpc::Status::OK;
|
||||||
|
}
|
||||||
|
|
||||||
string dev_id = request.header().device_id();
|
string dev_id = request.header().device_id();
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (GetSensorDataStream): start,id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (GetSensorDataStream): start,id=" << dev_id;
|
||||||
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
const auto dev = dmgr_.getDevice<AbstractDexHand>(dev_id);
|
||||||
while (true)
|
maybeConfigureRh56FullTactilePolling(dev);
|
||||||
|
|
||||||
|
while (!context->IsCancelled())
|
||||||
{
|
{
|
||||||
api::GetSensorDataStreamCommand_Feedback response;
|
api::GetSensorDataStreamCommand_Feedback response;
|
||||||
//从串口获取传感器数据并返回
|
appendSensorData(dev->getSensorData(), &response);
|
||||||
auto sensors = dev->getSensorData();
|
response.mutable_header()->set_success(true);
|
||||||
// 辅助函数:将FingerTactileData或PalmTactileData转换为Proto的SensorData
|
setCurrentTimestamp(response.mutable_header()->mutable_timestamp());
|
||||||
auto fillSensorData = [](const auto& tactileData,
|
|
||||||
cmvr::api::SensorData::FingerType fingerType,
|
|
||||||
cmvr::api::SensorData::PartType partType,
|
|
||||||
cmvr::api::SensorData* sensorData) {
|
|
||||||
// 设置行列数
|
|
||||||
sensorData->set_rows(tactileData.rows);
|
|
||||||
sensorData->set_cols(tactileData.cols);
|
|
||||||
// 设置传感器类型
|
|
||||||
sensorData->set_finger_type(fingerType);
|
|
||||||
sensorData->set_part_type(partType);
|
|
||||||
sensorData->set_sensor_name(tactileData.name); // 使用原结构体中的name字段
|
|
||||||
|
|
||||||
// 填充数据
|
|
||||||
for (const auto& row : tactileData.data) {
|
|
||||||
cmvr::api::SensorData_RowData* rowData = sensorData->add_data();
|
|
||||||
for (TactilePoint value : row) {
|
|
||||||
rowData->add_values(static_cast<int32_t>(value));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// 1. 填充小拇指数据
|
|
||||||
fillSensorData(sensors.pinky.tip, cmvr::api::SensorData::PINKY, cmvr::api::SensorData::TIP, response.add_sensor());
|
|
||||||
fillSensorData(sensors.pinky.finger, cmvr::api::SensorData::PINKY, cmvr::api::SensorData::FINGER, response.add_sensor());
|
|
||||||
fillSensorData(sensors.pinky.pad, cmvr::api::SensorData::PINKY, cmvr::api::SensorData::PAD, response.add_sensor());
|
|
||||||
|
|
||||||
// 2. 填充无名指数据
|
|
||||||
fillSensorData(sensors.ring.tip, cmvr::api::SensorData::RING, cmvr::api::SensorData::TIP, response.add_sensor());
|
|
||||||
fillSensorData(sensors.ring.finger, cmvr::api::SensorData::RING, cmvr::api::SensorData::FINGER, response.add_sensor());
|
|
||||||
fillSensorData(sensors.ring.pad, cmvr::api::SensorData::RING, cmvr::api::SensorData::PAD, response.add_sensor());
|
|
||||||
|
|
||||||
// 3. 填充中指数据(修改为MIDDLE_FINGER)
|
|
||||||
fillSensorData(sensors.middle.tip, cmvr::api::SensorData::MIDDLE_FINGER, cmvr::api::SensorData::TIP, response.add_sensor());
|
|
||||||
fillSensorData(sensors.middle.finger, cmvr::api::SensorData::MIDDLE_FINGER, cmvr::api::SensorData::FINGER, response.add_sensor());
|
|
||||||
fillSensorData(sensors.middle.pad, cmvr::api::SensorData::MIDDLE_FINGER, cmvr::api::SensorData::PAD, response.add_sensor());
|
|
||||||
|
|
||||||
// 4. 填充食指数据
|
|
||||||
fillSensorData(sensors.index.tip, cmvr::api::SensorData::INDEX, cmvr::api::SensorData::TIP, response.add_sensor());
|
|
||||||
fillSensorData(sensors.index.finger, cmvr::api::SensorData::INDEX, cmvr::api::SensorData::FINGER, response.add_sensor());
|
|
||||||
fillSensorData(sensors.index.pad, cmvr::api::SensorData::INDEX, cmvr::api::SensorData::PAD, response.add_sensor());
|
|
||||||
|
|
||||||
// 5. 填充大拇指数据(修改为THUMB_MIDDLE)
|
|
||||||
fillSensorData(sensors.thumb.tip, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::TIP, response.add_sensor());
|
|
||||||
fillSensorData(sensors.thumb.finger, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::FINGER, response.add_sensor());
|
|
||||||
fillSensorData(sensors.thumb.middle, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::THUMB_MIDDLE, response.add_sensor());
|
|
||||||
fillSensorData(sensors.thumb.pad, cmvr::api::SensorData::THUMB, cmvr::api::SensorData::PAD, response.add_sensor());
|
|
||||||
|
|
||||||
// 6. 填充掌心数据(使用PALM_PAD)
|
|
||||||
fillSensorData(sensors.palm, cmvr::api::SensorData::PALM, cmvr::api::SensorData::PALM_PAD, response.add_sensor());
|
|
||||||
|
|
||||||
if (!stream->Write(response)) {
|
if (!stream->Write(response)) {
|
||||||
LOG(INFO) << "[gRPCDexHandServiceImpl] (stream->Write) failed,id=" << dev_id;
|
LOG(INFO) << "[gRPCDexHandServiceImpl] (stream->Write) failed,id=" << dev_id;
|
||||||
@ -336,8 +399,8 @@ grpc::Status gRPCDexHandServiceImpl::GetSensorDataStream(grpc::ServerContext* co
|
|||||||
return grpc::Status::OK;
|
return grpc::Status::OK;
|
||||||
}
|
}
|
||||||
catch (const std::exception& e) {
|
catch (const std::exception& e) {
|
||||||
|
LOG(ERROR) << "[gRPCDexHandServiceImpl] (GetSensorDataStream) exception: " << e.what();
|
||||||
return grpc::Status::OK;
|
return grpc::Status::OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "../include/grpc_hlc_service.h"
|
#include "../include/grpc_hlc_service.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
@ -60,12 +61,13 @@ grpc::Status gRPCHlcServiceImpl::touch(grpc::ServerContext *context, const cmvr:
|
|||||||
std::lock_guard<std::mutex> lock(touch_mutex_);
|
std::lock_guard<std::mutex> lock(touch_mutex_);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const double forward_l = request->max_force();
|
||||||
LOG(INFO) << "[gRPCHlcServiceImpl] touch: request.device_id="
|
LOG(INFO) << "[gRPCHlcServiceImpl] touch: request.device_id="
|
||||||
<< request->header().device_id()
|
<< request->header().device_id()
|
||||||
<< " (ignored, using TouchScreenApp config)"
|
<< " (ignored, using TouchScreenApp config)"
|
||||||
<< ", u=" << request->u()
|
<< ", u=" << request->u()
|
||||||
<< ", v=" << request->v()
|
<< ", v=" << request->v()
|
||||||
<< ", max_force ignored";
|
<< ", forward_l(max_force)=" << forward_l;
|
||||||
|
|
||||||
std::string init_error;
|
std::string init_error;
|
||||||
if (!ensureTouchAppInitialized(init_error)) {
|
if (!ensureTouchAppInitialized(init_error)) {
|
||||||
@ -73,6 +75,16 @@ grpc::Status gRPCHlcServiceImpl::touch(grpc::ServerContext *context, const cmvr:
|
|||||||
return grpc::Status(grpc::StatusCode::INTERNAL, init_error);
|
return grpc::Status(grpc::StatusCode::INTERNAL, init_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (forward_l != -1.0) {
|
||||||
|
if (forward_l < 0.0) {
|
||||||
|
throw std::runtime_error("invalid forward_l(max_force): must be -1 or >= 0");
|
||||||
|
}
|
||||||
|
if (!touch_app_.setTouchSpeedlForwardL(forward_l)) {
|
||||||
|
throw std::runtime_error(
|
||||||
|
buildTouchFailureMessage(touch_app_, "TouchScreenApp set speedl forward L failed"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!touch_app_.startFromPixel(request->u(), request->v())) {
|
if (!touch_app_.startFromPixel(request->u(), request->v())) {
|
||||||
throw std::runtime_error(
|
throw std::runtime_error(
|
||||||
buildTouchFailureMessage(touch_app_, "TouchScreenApp startFromPixel failed"));
|
buildTouchFailureMessage(touch_app_, "TouchScreenApp startFromPixel failed"));
|
||||||
@ -81,6 +93,8 @@ grpc::Status gRPCHlcServiceImpl::touch(grpc::ServerContext *context, const cmvr:
|
|||||||
bool align_reached = false;
|
bool align_reached = false;
|
||||||
bool touch_triggered = false;
|
bool touch_triggered = false;
|
||||||
auto last_logged_status = cmvr::app::TouchScreenApp::Status::IDLE;
|
auto last_logged_status = cmvr::app::TouchScreenApp::Status::IDLE;
|
||||||
|
constexpr double kControlDt = 0.001;
|
||||||
|
auto next_step_time = std::chrono::steady_clock::now();
|
||||||
while (touch_app_.isBusy()) {
|
while (touch_app_.isBusy()) {
|
||||||
if (context != nullptr && context->IsCancelled()) {
|
if (context != nullptr && context->IsCancelled()) {
|
||||||
touch_app_.stop();
|
touch_app_.stop();
|
||||||
@ -89,7 +103,7 @@ grpc::Status gRPCHlcServiceImpl::touch(grpc::ServerContext *context, const cmvr:
|
|||||||
return grpc::Status(grpc::StatusCode::CANCELLED, error);
|
return grpc::Status(grpc::StatusCode::CANCELLED, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!touch_app_.step()) {
|
if (!touch_app_.step(kControlDt)) {
|
||||||
throw std::runtime_error(
|
throw std::runtime_error(
|
||||||
buildTouchFailureMessage(touch_app_, "touch flow failed"));
|
buildTouchFailureMessage(touch_app_, "touch flow failed"));
|
||||||
}
|
}
|
||||||
@ -107,12 +121,18 @@ grpc::Status gRPCHlcServiceImpl::touch(grpc::ServerContext *context, const cmvr:
|
|||||||
<< ", phase="
|
<< ", phase="
|
||||||
<< cmvr::app::TouchScreenApp::phaseToString(touch_app_.phase())
|
<< cmvr::app::TouchScreenApp::phaseToString(touch_app_.phase())
|
||||||
<< ", active_tag=" << touch_app_.lastActiveTagId()
|
<< ", active_tag=" << touch_app_.lastActiveTagId()
|
||||||
<< ", pressure_sum=" << touch_app_.lastTouchPressureSum()
|
<< ", nonzero_count=" << touch_app_.lastTouchNonzeroCount()
|
||||||
<< ", pressure_peak=" << touch_app_.lastTouchPressurePeak();
|
<< ", pressure_sum=" << touch_app_.lastTouchPressureSum();
|
||||||
last_logged_status = touch_app_.lastStatus();
|
last_logged_status = touch_app_.lastStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
next_step_time += std::chrono::duration_cast<std::chrono::steady_clock::duration>(
|
||||||
|
std::chrono::duration<double>(kControlDt));
|
||||||
|
const auto after_step = std::chrono::steady_clock::now();
|
||||||
|
if (next_step_time < after_step) {
|
||||||
|
next_step_time = after_step;
|
||||||
|
}
|
||||||
|
std::this_thread::sleep_until(next_step_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!align_reached) {
|
if (!align_reached) {
|
||||||
|
|||||||
@ -14,7 +14,14 @@ using namespace cmvr::api;
|
|||||||
using google::protobuf::util::TimeUtil;
|
using google::protobuf::util::TimeUtil;
|
||||||
|
|
||||||
|
|
||||||
gRPCHumanoidRobotServiceImpl::gRPCHumanoidRobotServiceImpl():dmgr_(DeviceManager::getInstance()){}
|
gRPCHumanoidRobotServiceImpl::gRPCHumanoidRobotServiceImpl():dmgr_(DeviceManager::getInstance())
|
||||||
|
{
|
||||||
|
|
||||||
|
pinocchio_ik_ = std::make_shared<PinocchioQpIKSolver>("/home/cmvr/Projects/cmvr-es/model/xiaoyan_description/dual_arm.urdf"
|
||||||
|
,"PELVIS_S"
|
||||||
|
,"R_WRIST_R_S");
|
||||||
|
pinocchio_ik_->init();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
grpc::Status gRPCHumanoidRobotServiceImpl::torqueOff(grpc::ServerContext *context,
|
grpc::Status gRPCHumanoidRobotServiceImpl::torqueOff(grpc::ServerContext *context,
|
||||||
@ -95,7 +102,7 @@ grpc::Status gRPCHumanoidRobotServiceImpl::moveL(grpc::ServerContext* context, c
|
|||||||
pose.mutable_euler()->set_ry(request->targetpose().ry());
|
pose.mutable_euler()->set_ry(request->targetpose().ry());
|
||||||
pose.mutable_euler()->set_rz(request->targetpose().rz());
|
pose.mutable_euler()->set_rz(request->targetpose().rz());
|
||||||
|
|
||||||
robot->moveL("PELVIS_S",ee_link,pose,request->vel(),request->acc());
|
// robot->moveL("PELVIS_S",ee_link,pose,request->vel(),request->acc());
|
||||||
response->mutable_header()->set_success(true);
|
response->mutable_header()->set_success(true);
|
||||||
response->mutable_header()->set_error_message("");
|
response->mutable_header()->set_error_message("");
|
||||||
}catch (const std::exception& e) {
|
}catch (const std::exception& e) {
|
||||||
@ -244,3 +251,127 @@ grpc::Status gRPCHumanoidRobotServiceImpl::calibrateZeroQ(grpc::ServerContext* c
|
|||||||
*response->mutable_header()->mutable_timestamp() = TimeUtil::GetCurrentTime();
|
*response->mutable_header()->mutable_timestamp() = TimeUtil::GetCurrentTime();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
grpc::Status gRPCHumanoidRobotServiceImpl::servoJ(grpc::ServerContext* context
|
||||||
|
, const cmvr::api::ServoJ_Request* request
|
||||||
|
, cmvr::api::ServoJ_Response* response)
|
||||||
|
{
|
||||||
|
grpc::Status ret = grpc::Status::OK;
|
||||||
|
try {
|
||||||
|
auto robot = dmgr_.getDevice<AbstractRobot>(request->header().device_id());
|
||||||
|
std::vector<JointPoint> cmds{};
|
||||||
|
for (const auto& jc : request->cmds()) {
|
||||||
|
cmds.emplace_back(jc.joint_name(),jc.rad(),jc.vel());
|
||||||
|
}
|
||||||
|
robot->servoJ(cmds,request->vel(),0);
|
||||||
|
|
||||||
|
response->mutable_header()->set_success(true);
|
||||||
|
response->mutable_header()->set_error_message("");
|
||||||
|
}catch (const std::exception& e) {
|
||||||
|
response->mutable_header()->set_success(false);
|
||||||
|
response->mutable_header()->set_error_message(e.what());
|
||||||
|
ret = grpc::Status(grpc::StatusCode::INTERNAL, e.what());
|
||||||
|
}
|
||||||
|
*response->mutable_header()->mutable_timestamp() = TimeUtil::GetCurrentTime();
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 在 gRPC 服务实现文件中添加以下代码
|
||||||
|
|
||||||
|
grpc::Status gRPCHumanoidRobotServiceImpl::getPoseMatrix(grpc::ServerContext* context
|
||||||
|
, const cmvr::api::GetPoseMatrix_Request* request
|
||||||
|
, cmvr::api::GetPoseMatrix_Response* response)
|
||||||
|
{
|
||||||
|
grpc::Status ret = grpc::Status::CANCELLED;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
grpc::Status gRPCHumanoidRobotServiceImpl::computeForwardKinematics(grpc::ServerContext* context
|
||||||
|
, const cmvr::api::ComputeForwardKinematics_Request* request
|
||||||
|
, cmvr::api::ComputeForwardKinematics_Response* response)
|
||||||
|
{
|
||||||
|
grpc::Status ret = grpc::Status::OK;
|
||||||
|
try {
|
||||||
|
// // 获取机械臂设备
|
||||||
|
// auto robot = dmgr_.getDevice<AbstractRobot>(request->header().device_id());
|
||||||
|
|
||||||
|
// 解析关节命令
|
||||||
|
std::vector<JointPoint> cmds{};
|
||||||
|
for (const auto& jc : request->joints()) {
|
||||||
|
cmds.emplace_back(jc.joint_name(), jc.rad(), jc.vel());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果没有关节命令,返回错误
|
||||||
|
if (cmds.empty()) {
|
||||||
|
response->mutable_header()->set_success(false);
|
||||||
|
response->mutable_header()->set_error_message("No joint commands provided");
|
||||||
|
*response->mutable_header()->mutable_timestamp() = TimeUtil::GetCurrentTime();
|
||||||
|
return grpc::Status(grpc::StatusCode::INVALID_ARGUMENT, "No joint commands provided");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取请求参数
|
||||||
|
std::string base_link = request->base_link();
|
||||||
|
std::string ee_link = request->ee_link();
|
||||||
|
bool is_tcp = true; // 默认使用TCP
|
||||||
|
|
||||||
|
// 从关节命令中提取关节角度
|
||||||
|
std::vector<double> joints_angle;
|
||||||
|
for (const auto& cmd : cmds) {
|
||||||
|
joints_angle.push_back(cmd.rad); // 使用 rad 作为关节角度
|
||||||
|
}
|
||||||
|
|
||||||
|
// 调用机械臂的 fk 方法计算正运动学
|
||||||
|
Eigen::Matrix4d cur_pose;
|
||||||
|
bool success = pinocchio_ik_->fk(joints_angle, cur_pose, is_tcp);
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
// 设置成功状态
|
||||||
|
response->mutable_header()->set_success(true);
|
||||||
|
response->mutable_header()->set_error_message("");
|
||||||
|
|
||||||
|
// 填充4x4矩阵到响应
|
||||||
|
auto* matrix = response->mutable_matrix();
|
||||||
|
matrix->set_m00(cur_pose(0, 0));
|
||||||
|
matrix->set_m01(cur_pose(0, 1));
|
||||||
|
matrix->set_m02(cur_pose(0, 2));
|
||||||
|
matrix->set_m03(cur_pose(0, 3));
|
||||||
|
|
||||||
|
matrix->set_m10(cur_pose(1, 0));
|
||||||
|
matrix->set_m11(cur_pose(1, 1));
|
||||||
|
matrix->set_m12(cur_pose(1, 2));
|
||||||
|
matrix->set_m13(cur_pose(1, 3));
|
||||||
|
|
||||||
|
matrix->set_m20(cur_pose(2, 0));
|
||||||
|
matrix->set_m21(cur_pose(2, 1));
|
||||||
|
matrix->set_m22(cur_pose(2, 2));
|
||||||
|
matrix->set_m23(cur_pose(2, 3));
|
||||||
|
|
||||||
|
matrix->set_m30(cur_pose(3, 0));
|
||||||
|
matrix->set_m31(cur_pose(3, 1));
|
||||||
|
matrix->set_m32(cur_pose(3, 2));
|
||||||
|
matrix->set_m33(cur_pose(3, 3));
|
||||||
|
|
||||||
|
// 可选:记录日志
|
||||||
|
// LOG(INFO) << "computeForwardKinematics success for device: " << request->header().device_id();
|
||||||
|
} else {
|
||||||
|
// 正运动学计算失败
|
||||||
|
response->mutable_header()->set_success(false);
|
||||||
|
response->mutable_header()->set_error_message("Forward kinematics calculation failed");
|
||||||
|
ret = grpc::Status(grpc::StatusCode::INTERNAL, "Forward kinematics calculation failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (const std::exception& e) {
|
||||||
|
response->mutable_header()->set_success(false);
|
||||||
|
response->mutable_header()->set_error_message(e.what());
|
||||||
|
ret = grpc::Status(grpc::StatusCode::INTERNAL, e.what());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置时间戳
|
||||||
|
*response->mutable_header()->mutable_timestamp() = TimeUtil::GetCurrentTime();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
@ -25,23 +25,21 @@
|
|||||||
using namespace cmvr::service;
|
using namespace cmvr::service;
|
||||||
ServerRunner::ServerRunner() = default;
|
ServerRunner::ServerRunner() = default;
|
||||||
|
|
||||||
ServerRunner::ServerRunner(XmlNode cfg) {
|
ServerRunner::ServerRunner(const cmvr::config::ServerConfig& config):cfg_(config)
|
||||||
start(std::move(cfg));
|
{
|
||||||
|
// start();
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerRunner::~ServerRunner() {
|
ServerRunner::~ServerRunner() {
|
||||||
stop();
|
stop();
|
||||||
join();
|
join();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerRunner::start(XmlNode cfg) {
|
void ServerRunner::start() {
|
||||||
std::unique_lock<std::mutex> lk(mtx_);
|
std::unique_lock<std::mutex> lk(mtx_);
|
||||||
|
|
||||||
if (worker_.joinable()) {
|
if (worker_.joinable()) {
|
||||||
throw std::runtime_error("ServerRunner already started");
|
throw std::runtime_error("ServerRunner already started");
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg_ = std::move(cfg);
|
|
||||||
stop_requested_ = false;
|
stop_requested_ = false;
|
||||||
started_ = false;
|
started_ = false;
|
||||||
start_failed_ = false;
|
start_failed_ = false;
|
||||||
@ -97,25 +95,15 @@ void ServerRunner::threadMain() {
|
|||||||
using namespace cmvr::monitor;
|
using namespace cmvr::monitor;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!cfg_.hasChild("DeviceManager")) {
|
|
||||||
throw std::runtime_error("Device Manager node not found");
|
|
||||||
}
|
|
||||||
|
|
||||||
static std::once_flag reflection_once;
|
static std::once_flag reflection_once;
|
||||||
std::call_once(reflection_once, []() {
|
std::call_once(reflection_once, []() {
|
||||||
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
|
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
|
||||||
});
|
});
|
||||||
|
DeviceManager::getInstance();
|
||||||
|
|
||||||
auto dmgr_cfg = cfg_.getChild("DeviceManager");
|
std::string port = cfg_.grpc_server().port();
|
||||||
DeviceManager::getInstance(dmgr_cfg);
|
|
||||||
|
|
||||||
if (cfg_.hasChild("MonitorManager")) {
|
|
||||||
auto mmgr_cfg = cfg_.getChild("MonitorManager");
|
|
||||||
MonitorManager::getInstance(mmgr_cfg);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto grpc_cfg = cfg_.getChild("gRPCServer");
|
|
||||||
std::string port = grpc_cfg.getAttrDefault("port", "50051");
|
|
||||||
std::string local_address = "0.0.0.0:" + port;
|
std::string local_address = "0.0.0.0:" + port;
|
||||||
|
|
||||||
auto camera_service = std::make_unique<gRPCCameraServiceImpl>();
|
auto camera_service = std::make_unique<gRPCCameraServiceImpl>();
|
||||||
|
|||||||
986
compile_commands.json
Normal file
986
compile_commands.json
Normal file
@ -0,0 +1,986 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/common.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/common.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/common.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/common.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_command.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_command.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_command.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_command.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/test_service.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/test_service.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/test_service.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/test_service.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/camera_config/camera_config.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/camera_config/camera_config.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/camera_config/camera_config.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/camera_config/camera_config.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/dexhand_config/dexhand_config.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/dexhand_config/dexhand_config.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/dexhand_config/dexhand_config.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/dexhand_config/dexhand_config.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/microphone_config/microphone_config.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/microphone_config/microphone_config.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/microphone_config/microphone_config.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/microphone_config/microphone_config.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_dls_ik_config.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_dls_ik_config.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_dls_ik_config.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_dls_ik_config.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/speaker_config/speaker_conifg.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/speaker_config/speaker_conifg.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/speaker_config/speaker_conifg.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/speaker_config/speaker_conifg.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/can_card_parameter.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/can_card_parameter.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/can_card_parameter.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/can_card_parameter.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/canopen.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/canopen.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/canopen.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/canopen.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/error_code.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/error_code.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/error_code.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/error_code.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/geometry.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/geometry.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/geometry.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/geometry.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/motor.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/motor.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/motor.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/motor.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/robot_detail.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/robot_detail.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/robot_detail.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/robot_detail.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/biohead_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/biohead_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/camera_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/camera_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/common.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/common.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/common.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/common.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/dexhand_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/dexhand_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/hlc_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/hlc_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/humanoid_robot_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/humanoid_robot_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/microphone_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/microphone_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/speaker_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/speaker_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_command.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_command.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_command.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_command.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/system_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/system_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/test_service.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/test_service.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/api/test_service.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/api/test_service.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/camera_config/camera_config.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/camera_config/camera_config.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/camera_config/camera_config.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/camera_config/camera_config.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/dexhand_config/dexhand_config.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/dexhand_config/dexhand_config.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/dexhand_config/dexhand_config.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/dexhand_config/dexhand_config.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/microphone_config/microphone_config.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/microphone_config/microphone_config.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/microphone_config/microphone_config.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/microphone_config/microphone_config.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_dls_ik_config.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_dls_ik_config.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_dls_ik_config.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_dls_ik_config.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/pinocchio_qp_ik_solver_config.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/speaker_config/speaker_conifg.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/speaker_config/speaker_conifg.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/speaker_config/speaker_conifg.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/speaker_config/speaker_conifg.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/config/touch_screen_app_config/touch_screen_app_config.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/can_card_parameter.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/can_card_parameter.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/can_card_parameter.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/can_card_parameter.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/canopen.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/canopen.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/canopen.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/canopen.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/error_code.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/error_code.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/error_code.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/error_code.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/geometry.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/geometry.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/geometry.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/geometry.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/motor.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/motor.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/motor.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/motor.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/robot_detail.grpc.pb.cc.o -c /home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/robot_detail.grpc.pb.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf/cmvr/msgs/robot_detail.grpc.pb.cc",
|
||||||
|
"output": "CMakeFiles/proto-objects.dir/_protobuf/cmvr/msgs/robot_detail.grpc.pb.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/data_center -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIE -o CMakeFiles/cmvr_es.dir/cmvr-es/main.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/main.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/main.cpp",
|
||||||
|
"output": "CMakeFiles/cmvr_es.dir/cmvr-es/main.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/base/src/thread_pool.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/base/src/thread_pool.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/base/src/thread_pool.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/base/src/thread_pool.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/base/src/timer.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/base/src/timer.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/base/src/timer.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/base/src/timer.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/base/src/abstract_interpolation.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/base/src/abstract_interpolation.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/base/src/abstract_interpolation.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/base/src/abstract_interpolation.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/inertial.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/inertial.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/inertial.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/inertial.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/joint.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/joint.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/joint.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/joint.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/link.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/link.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/link.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/link.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/robot.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/robot.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/dynamics/src/robot.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/dynamics/src/robot.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/math/src/qp_solver.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/qp_solver.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/qp_solver.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/math/src/qp_solver.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/math/src/se2.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/se2.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/se2.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/math/src/se2.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/math/src/se3.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/se3.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/se3.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/math/src/se3.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/math/src/so3.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/so3.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/math/src/so3.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/math/src/so3.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -g -std=gnu++17 -fPIC -o cmvr-es/utils/CMakeFiles/utils.dir/controller/src/cartesian_controller.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/utils/controller/src/cartesian_controller.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/utils/controller/src/cartesian_controller.cpp",
|
||||||
|
"output": "cmvr-es/utils/CMakeFiles/utils.dir/controller/src/cartesian_controller.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dhardware_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -g -std=gnu++17 -fPIC -o cmvr-es/hardware/CMakeFiles/hardware.dir/src/serial_interface.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/hardware/src/serial_interface.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/hardware/src/serial_interface.cpp",
|
||||||
|
"output": "cmvr-es/hardware/CMakeFiles/hardware.dir/src/serial_interface.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dhardware_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -g -std=gnu++17 -fPIC -o cmvr-es/hardware/CMakeFiles/hardware.dir/src/esp32_serial_port.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/hardware/src/esp32_serial_port.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/hardware/src/esp32_serial_port.cpp",
|
||||||
|
"output": "cmvr-es/hardware/CMakeFiles/hardware.dir/src/esp32_serial_port.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dhardware_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -g -std=gnu++17 -fPIC -o cmvr-es/hardware/CMakeFiles/hardware.dir/src/posix_serial_transport.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/hardware/src/posix_serial_transport.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/hardware/src/posix_serial_transport.cpp",
|
||||||
|
"output": "cmvr-es/hardware/CMakeFiles/hardware.dir/src/posix_serial_transport.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Duvc_camera_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/uvc_camera -g -std=gnu++17 -fPIC -o cmvr-es/devices/camera/uvc_camera/CMakeFiles/uvc_camera.dir/src/uvc_camera.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/uvc_camera/src/uvc_camera.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/uvc_camera/src/uvc_camera.cpp",
|
||||||
|
"output": "cmvr-es/devices/camera/uvc_camera/CMakeFiles/uvc_camera.dir/src/uvc_camera.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Drealsense_camera_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -g -std=gnu++17 -fPIC -o cmvr-es/devices/camera/realsense_camera/CMakeFiles/realsense_camera.dir/src/realsense_camera.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera/src/realsense_camera.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera/src/realsense_camera.cpp",
|
||||||
|
"output": "cmvr-es/devices/camera/realsense_camera/CMakeFiles/realsense_camera.dir/src/realsense_camera.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/camera/realsense_camera/CMakeFiles/realsense_camera_test.dir/src/realsense_camera_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera/src/realsense_camera_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera/src/realsense_camera_test.cpp",
|
||||||
|
"output": "cmvr-es/devices/camera/realsense_camera/CMakeFiles/realsense_camera_test.dir/src/realsense_camera_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dmujoco_camera_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/mujoco_camera -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/devices/camera/mujoco_camera/CMakeFiles/mujoco_camera.dir/src/mujoco_camera.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/mujoco_camera/src/mujoco_camera.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/mujoco_camera/src/mujoco_camera.cpp",
|
||||||
|
"output": "cmvr-es/devices/camera/mujoco_camera/CMakeFiles/mujoco_camera.dir/src/mujoco_camera.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dffmpeg_speaker_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/speaker/ffmpeg_speaker -g -std=gnu++17 -fPIC -o cmvr-es/devices/speaker/ffmpeg_speaker/CMakeFiles/ffmpeg_speaker.dir/src/ffmpeg_speaker.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/speaker/ffmpeg_speaker/src/ffmpeg_speaker.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/speaker/ffmpeg_speaker/src/ffmpeg_speaker.cpp",
|
||||||
|
"output": "cmvr-es/devices/speaker/ffmpeg_speaker/CMakeFiles/ffmpeg_speaker.dir/src/ffmpeg_speaker.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dffmpeg_microphone_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/microphone/ffmpeg_microphone -g -std=gnu++17 -fPIC -o cmvr-es/devices/microphone/ffmpeg_microphone/CMakeFiles/ffmpeg_microphone.dir/src/ffmpeg_microphone.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/microphone/ffmpeg_microphone/src/ffmpeg_microphone.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/microphone/ffmpeg_microphone/src/ffmpeg_microphone.cpp",
|
||||||
|
"output": "cmvr-es/devices/microphone/ffmpeg_microphone/CMakeFiles/ffmpeg_microphone.dir/src/ffmpeg_microphone.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Drh56dftp_dexhand_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -g -std=gnu++17 -fPIC -o cmvr-es/devices/dexhand/rh56dftp_dexhand/CMakeFiles/rh56dftp_dexhand.dir/src/rh56dftp_dexhand.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand/src/rh56dftp_dexhand.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand/src/rh56dftp_dexhand.cpp",
|
||||||
|
"output": "cmvr-es/devices/dexhand/rh56dftp_dexhand/CMakeFiles/rh56dftp_dexhand.dir/src/rh56dftp_dexhand.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/dexhand/rh56dftp_dexhand/CMakeFiles/rh56dftp_dexhand_test.dir/src/rh56dftp_dexhand_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand/src/rh56dftp_dexhand_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand/src/rh56dftp_dexhand_test.cpp",
|
||||||
|
"output": "cmvr-es/devices/dexhand/rh56dftp_dexhand/CMakeFiles/rh56dftp_dexhand_test.dir/src/rh56dftp_dexhand_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dpx_6ax_gen3_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3 -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/devices/dexhand/px_6ax_gen3/CMakeFiles/px_6ax_gen3.dir/src/px_6ax_gen3.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3.cpp",
|
||||||
|
"output": "cmvr-es/devices/dexhand/px_6ax_gen3/CMakeFiles/px_6ax_gen3.dir/src/px_6ax_gen3.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3 -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/dexhand/px_6ax_gen3/CMakeFiles/px_6ax_gen3_test.dir/src/px_6ax_gen3_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3/src/px_6ax_gen3_test.cpp",
|
||||||
|
"output": "cmvr-es/devices/dexhand/px_6ax_gen3/CMakeFiles/px_6ax_gen3_test.dir/src/px_6ax_gen3_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dhead_esp32_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/biohead/biohead_esp32 -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -g -std=gnu++17 -fPIC -o cmvr-es/devices/biohead/biohead_esp32/CMakeFiles/head_esp32.dir/src/biohead_esp32.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/biohead/biohead_esp32/src/biohead_esp32.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/biohead/biohead_esp32/src/biohead_esp32.cpp",
|
||||||
|
"output": "cmvr-es/devices/biohead/biohead_esp32/CMakeFiles/head_esp32.dir/src/biohead_esp32.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dhumanoid_robot_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/data_center -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/devices/robot/humanoid_robot/CMakeFiles/humanoid_robot.dir/src/humanoid_robot.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot/src/humanoid_robot.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot/src/humanoid_robot.cpp",
|
||||||
|
"output": "cmvr-es/devices/robot/humanoid_robot/CMakeFiles/humanoid_robot.dir/src/humanoid_robot.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/data_center -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIE -o cmvr-es/devices/robot/humanoid_robot/CMakeFiles/humanoid_robot_test.dir/src/humanoid_robot_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot/src/humanoid_robot_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot/src/humanoid_robot_test.cpp",
|
||||||
|
"output": "cmvr-es/devices/robot/humanoid_robot/CMakeFiles/humanoid_robot_test.dir/src/humanoid_robot_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcanbus_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/devices/canbus/CMakeFiles/canbus.dir/can_client/socket/socket_can_client_raw.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_client/socket/socket_can_client_raw.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_client/socket/socket_can_client_raw.cc",
|
||||||
|
"output": "cmvr-es/devices/canbus/CMakeFiles/canbus.dir/can_client/socket/socket_can_client_raw.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcanbus_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/devices/canbus/CMakeFiles/canbus.dir/common/byte.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/common/byte.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/common/byte.cc",
|
||||||
|
"output": "cmvr-es/devices/canbus/CMakeFiles/canbus.dir/common/byte.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/canbus/CMakeFiles/socket_can_client_raw_test.dir/can_client/socket/socket_can_client_raw_test.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_client/socket/socket_can_client_raw_test.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_client/socket/socket_can_client_raw_test.cc",
|
||||||
|
"output": "cmvr-es/devices/canbus/CMakeFiles/socket_can_client_raw_test.dir/can_client/socket/socket_can_client_raw_test.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/canbus/CMakeFiles/protocol_data_test.dir/can_comm/protocol_data_test.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/protocol_data_test.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/protocol_data_test.cc",
|
||||||
|
"output": "cmvr-es/devices/canbus/CMakeFiles/protocol_data_test.dir/can_comm/protocol_data_test.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/canbus/CMakeFiles/message_manager_test.dir/can_comm/message_manager_test.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/message_manager_test.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/message_manager_test.cc",
|
||||||
|
"output": "cmvr-es/devices/canbus/CMakeFiles/message_manager_test.dir/can_comm/message_manager_test.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/canbus/CMakeFiles/can_sender_test.dir/can_comm/can_sender_test.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/can_sender_test.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/can_sender_test.cc",
|
||||||
|
"output": "cmvr-es/devices/canbus/CMakeFiles/can_sender_test.dir/can_comm/can_sender_test.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/canbus/CMakeFiles/can_receiver_test.dir/can_comm/can_receiver_test.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/can_receiver_test.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus/can_comm/can_receiver_test.cc",
|
||||||
|
"output": "cmvr-es/devices/canbus/CMakeFiles/can_receiver_test.dir/can_comm/can_receiver_test.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/devices/motor/CMakeFiles/motor_manager_test.dir/motor_manager_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/motor_manager_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/motor_manager_test.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/CMakeFiles/motor_manager_test.dir/motor_manager_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dti5motor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -g -std=gnu++17 -fPIC -o cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_sdo_response.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_sdo_response.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_sdo_response.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_sdo_response.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dti5motor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -g -std=gnu++17 -fPIC -o cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_tpdo1.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_tpdo1.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_tpdo1.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_tpdo1.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dti5motor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -g -std=gnu++17 -fPIC -o cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_tpdo2.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_tpdo2.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_tpdo2.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_tpdo2.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dti5motor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -g -std=gnu++17 -fPIC -o cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_rpdo1.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_rpdo1.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_rpdo1.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_rpdo1.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dti5motor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -g -std=gnu++17 -fPIC -o cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_rpdo2.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_rpdo2.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/protocol/ti5_motor_rpdo2.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/protocol/ti5_motor_rpdo2.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dti5motor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -g -std=gnu++17 -fPIC -o cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/ti5_motor_canopen_protocol.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/ti5_motor_canopen_protocol.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/canopen/ti5_motor_canopen_protocol.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/canopen/ti5_motor_canopen_protocol.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dti5motor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -g -std=gnu++17 -fPIC -o cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/ti5_motor.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/ti5_motor.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor/ti5_motor.cpp",
|
||||||
|
"output": "cmvr-es/devices/motor/ti5_motor/CMakeFiles/ti5motor.dir/ti5_motor.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/uvc_camera -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/speaker/ffmpeg_speaker -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/microphone/ffmpeg_microphone -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3 -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/biohead/biohead_esp32 -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -g -std=gnu++17 -fPIC -o cmvr-es/device_manager/CMakeFiles/device_manager.dir/src/device_factory.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/device_manager/src/device_factory.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager/src/device_factory.cpp",
|
||||||
|
"output": "cmvr-es/device_manager/CMakeFiles/device_manager.dir/src/device_factory.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/uvc_camera -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/speaker/ffmpeg_speaker -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/microphone/ffmpeg_microphone -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3 -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/biohead/biohead_esp32 -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -g -std=gnu++17 -fPIC -o cmvr-es/device_manager/CMakeFiles/device_manager.dir/src/device_manager.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/device_manager/src/device_manager.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager/src/device_manager.cpp",
|
||||||
|
"output": "cmvr-es/device_manager/CMakeFiles/device_manager.dir/src/device_manager.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/uvc_camera -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/speaker/ffmpeg_speaker -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/microphone/ffmpeg_microphone -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/rh56dftp_dexhand -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/dexhand/px_6ax_gen3 -I/home/lgv/cmvr/cmvr-es/cmvr-es/hardware -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/biohead/biohead_esp32 -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -g -std=gnu++17 -fPIC -o cmvr-es/device_manager/CMakeFiles/device_manager.dir/src/system_monitor.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/device_manager/src/system_monitor.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager/src/system_monitor.cpp",
|
||||||
|
"output": "cmvr-es/device_manager/CMakeFiles/device_manager.dir/src/system_monitor.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Ddisk_monitor_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/monitor/diskmonitor -g -std=gnu++17 -fPIC -o cmvr-es/monitor/diskmonitor/CMakeFiles/disk_monitor.dir/src/disk_monitor.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/monitor/diskmonitor/src/disk_monitor.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/monitor/diskmonitor/src/disk_monitor.cpp",
|
||||||
|
"output": "cmvr-es/monitor/diskmonitor/CMakeFiles/disk_monitor.dir/src/disk_monitor.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/monitor/diskmonitor -g -std=gnu++17 -fPIC -o cmvr-es/monitor_manager/CMakeFiles/monitor_manager.dir/src/monitor_factory.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager/src/monitor_factory.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager/src/monitor_factory.cpp",
|
||||||
|
"output": "cmvr-es/monitor_manager/CMakeFiles/monitor_manager.dir/src/monitor_factory.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/monitor/diskmonitor -g -std=gnu++17 -fPIC -o cmvr-es/monitor_manager/CMakeFiles/monitor_manager.dir/src/monitor_manager.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager/src/monitor_manager.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager/src/monitor_manager.cpp",
|
||||||
|
"output": "cmvr-es/monitor_manager/CMakeFiles/monitor_manager.dir/src/monitor_manager.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_camera_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_camera_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_camera_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_camera_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_system_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_system_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_system_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_system_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_speaker_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_speaker_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_speaker_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_speaker_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_microphone_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_microphone_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_microphone_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_microphone_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_head_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_head_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_head_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_head_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_dexhand_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_dexhand_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_dexhand_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_dexhand_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_humanoid_robot_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_humanoid_robot_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_humanoid_robot_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_humanoid_robot_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_hlc_service.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_hlc_service.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_hlc_service.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/grpc_hlc_service.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/service/CMakeFiles/service.dir/grpc/src/server_runner.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/server_runner.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/server_runner.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/service.dir/grpc/src/server_runner.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIE -o cmvr-es/service/CMakeFiles/grpc_humanoid_robot_client_test.dir/grpc/src/grpc_humanoid_robot_client_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_humanoid_robot_client_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_humanoid_robot_client_test.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/grpc_humanoid_robot_client_test.dir/grpc/src/grpc_humanoid_robot_client_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/third_party/gtest/1.17.0/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/service/CMakeFiles/grpc_hlc_client_test.dir/grpc/src/grpc_hlc_client_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_hlc_client_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/service/grpc/src/grpc_hlc_client_test.cpp",
|
||||||
|
"output": "cmvr-es/service/CMakeFiles/grpc_hlc_client_test.dir/grpc/src/grpc_hlc_client_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dperception_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/perception/CMakeFiles/perception.dir/src/tag_relative_target_3d.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/perception/src/tag_relative_target_3d.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/perception/src/tag_relative_target_3d.cpp",
|
||||||
|
"output": "cmvr-es/perception/CMakeFiles/perception.dir/src/tag_relative_target_3d.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dperception_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/perception/CMakeFiles/perception.dir/src/apriltag_perception.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/perception/src/apriltag_perception.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/perception/src/apriltag_perception.cpp",
|
||||||
|
"output": "cmvr-es/perception/CMakeFiles/perception.dir/src/apriltag_perception.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/realsense_camera -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIE -o cmvr-es/perception/CMakeFiles/tag_relative_target_3d_test.dir/src/tag_relative_target_3d_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/perception/src/tag_relative_target_3d_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/perception/src/tag_relative_target_3d_test.cpp",
|
||||||
|
"output": "cmvr-es/perception/CMakeFiles/tag_relative_target_3d_test.dir/src/tag_relative_target_3d_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcontroller_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/controller/CMakeFiles/controller.dir/src/ibvs_controller.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/controller/src/ibvs_controller.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/controller/src/ibvs_controller.cpp",
|
||||||
|
"output": "cmvr-es/controller/CMakeFiles/controller.dir/src/ibvs_controller.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcontroller_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/controller/CMakeFiles/controller.dir/src/pid_controller.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/controller/src/pid_controller.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/controller/src/pid_controller.cpp",
|
||||||
|
"output": "cmvr-es/controller/CMakeFiles/controller.dir/src/pid_controller.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DELPP_NO_DEFAULT_LOG_FILE -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/camera/mujoco_camera -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIE -o cmvr-es/controller/CMakeFiles/controller_test.dir/src/controller_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/controller/src/controller_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/controller/src/controller_test.cpp",
|
||||||
|
"output": "cmvr-es/controller/CMakeFiles/controller_test.dir/src/controller_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dplanner_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/planner/CMakeFiles/planner.dir/joint_space_planner/src/joint_space_planner.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/joint_space_planner.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/joint_space_planner.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/planner.dir/joint_space_planner/src/joint_space_planner.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dplanner_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/planner/CMakeFiles/planner.dir/joint_space_planner/src/joint_space_planner_creator.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/joint_space_planner_creator.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/joint_space_planner_creator.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/planner.dir/joint_space_planner/src/joint_space_planner_creator.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dplanner_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/planner/CMakeFiles/planner.dir/joint_space_planner/src/toppra_bspline.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/toppra_bspline.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/toppra_bspline.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/planner.dir/joint_space_planner/src/toppra_bspline.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dplanner_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/planner/CMakeFiles/planner.dir/s_curve_planner/src/s_curve_position_planner.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/s_curve_planner/src/s_curve_position_planner.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/s_curve_planner/src/s_curve_position_planner.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/planner.dir/s_curve_planner/src/s_curve_position_planner.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dplanner_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/planner/CMakeFiles/planner.dir/s_curve_planner/src/s_curve_velocity_planner.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/s_curve_planner/src/s_curve_velocity_planner.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/s_curve_planner/src/s_curve_velocity_planner.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/planner.dir/s_curve_planner/src/s_curve_velocity_planner.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dplanner_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/planner/CMakeFiles/planner.dir/cartesian_space_planner/src/cartesian_twist_limiter.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/cartesian_space_planner/src/cartesian_twist_limiter.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/cartesian_space_planner/src/cartesian_twist_limiter.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/planner.dir/cartesian_space_planner/src/cartesian_twist_limiter.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/data_center -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/planner/CMakeFiles/joint_space_planner_test.dir/joint_space_planner/src/joint_space_planner_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/joint_space_planner_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/joint_space_planner/src/joint_space_planner_test.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/joint_space_planner_test.dir/joint_space_planner/src/joint_space_planner_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/planner/CMakeFiles/cartesian_twist_limiter_test.dir/cartesian_space_planner/src/cartesian_twist_limiter_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/planner/cartesian_space_planner/src/cartesian_twist_limiter_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/planner/cartesian_space_planner/src/cartesian_twist_limiter_test.cpp",
|
||||||
|
"output": "cmvr-es/planner/CMakeFiles/cartesian_twist_limiter_test.dir/cartesian_space_planner/src/cartesian_twist_limiter_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/ik_solver.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/ik_solver.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/ik_solver.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/ik_solver.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/ik_solver_creator.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/ik_solver_creator.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/ik_solver_creator.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/ik_solver_creator.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/urdf_parser.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/urdf_parser.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/urdf_parser.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/urdf_parser.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/pinocchio_ik_base.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/pinocchio_ik_base.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/pinocchio_ik_base.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/pinocchio_ik_base.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/pinocchio_dls_ik_solver.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/pinocchio_dls_ik_solver.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/pinocchio_dls_ik_solver.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/pinocchio_dls_ik_solver.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/pinocchio_qp_ik_solver.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/pinocchio_qp_ik_solver.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/pinocchio_qp_ik_solver.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/pinocchio_qp_ik_solver.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/bias_srs_ik_slover.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/bias_srs_ik_slover.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/bias_srs_ik_slover.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/bias_srs_ik_slover.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/joints_limit_analyzer.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/joints_limit_analyzer.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/joints_limit_analyzer.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/joints_limit_analyzer.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/lawba_ik_solver.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/lawba_ik_solver.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/lawba_ik_solver.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/lawba_ik_solver.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dik_solver_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/opt_psi_selector.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/opt_psi_selector.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/opt_psi_selector.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_solver.dir/src/opt_psi_selector.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/ik_solver/CMakeFiles/srs_ik_test.dir/src/srs_ik_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/srs_ik_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/srs_ik_test.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/srs_ik_test.dir/src/srs_ik_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIE -o cmvr-es/ik_solver/CMakeFiles/ik_test.dir/src/ik_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/ik_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver/src/ik_test.cpp",
|
||||||
|
"output": "cmvr-es/ik_solver/CMakeFiles/ik_test.dir/src/ik_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/data_center -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -g -std=gnu++17 -fPIC -o cmvr-es/data_center/CMakeFiles/data_center.dir/src/data_center.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/data_center/src/data_center.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/data_center/src/data_center.cpp",
|
||||||
|
"output": "cmvr-es/data_center/CMakeFiles/data_center.dir/src/data_center.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/data_center -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/canbus -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/motor/ti5_motor -g -std=gnu++17 -fPIC -o cmvr-es/data_center/CMakeFiles/data_center.dir/src/motors_info.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/data_center/src/motors_info.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/data_center/src/motors_info.cpp",
|
||||||
|
"output": "cmvr-es/data_center/CMakeFiles/data_center.dir/src/motors_info.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIC -o cmvr-es/applications/CMakeFiles/applications.dir/src/touch_screen_app.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/applications/src/touch_screen_app.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/applications/src/touch_screen_app.cpp",
|
||||||
|
"output": "cmvr-es/applications/CMakeFiles/applications.dir/src/touch_screen_app.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/applications -I/home/lgv/cmvr/cmvr-es/cmvr-es/controller -I/home/lgv/cmvr/cmvr-es/cmvr-es/perception -I/home/lgv/cmvr/cmvr-es/cmvr-es/ik_solver -I/home/lgv/cmvr/cmvr-es/cmvr-es/planner -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices/robot/humanoid_robot -I/home/lgv/cmvr/cmvr-es/cmvr-es/device_manager -I/home/lgv/cmvr/cmvr-es/cmvr-es/service -I/home/lgv/cmvr/cmvr-es/cmvr-es/monitor_manager -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -g -std=gnu++17 -fPIE -o cmvr-es/applications/CMakeFiles/touch_screen_app_test.dir/src/touch_screen_app_test.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/applications/src/touch_screen_app_test.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/applications/src/touch_screen_app_test.cpp",
|
||||||
|
"output": "cmvr-es/applications/CMakeFiles/touch_screen_app_test.dir/src/touch_screen_app_test.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dmujoco_viewer_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -g -std=gnu++17 -fPIC -o cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/glfw_adapter.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/glfw_adapter.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/glfw_adapter.cc",
|
||||||
|
"output": "cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/glfw_adapter.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dmujoco_viewer_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -g -std=gnu++17 -fPIC -o cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/glfw_dispatch.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/glfw_dispatch.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/glfw_dispatch.cc",
|
||||||
|
"output": "cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/glfw_dispatch.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dmujoco_viewer_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -g -std=gnu++17 -fPIC -o cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/mujoco_viewer.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/mujoco_viewer.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/mujoco_viewer.cpp",
|
||||||
|
"output": "cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/mujoco_viewer.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dmujoco_viewer_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -g -std=gnu++17 -fPIC -o cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/platform_ui_adapter.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/platform_ui_adapter.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/platform_ui_adapter.cc",
|
||||||
|
"output": "cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/platform_ui_adapter.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -Dmujoco_viewer_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer -g -std=gnu++17 -fPIC -o cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/simulate.cc.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/simulate.cc",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/simulate/mujoco/mujoco_viewer/src/simulate.cc",
|
||||||
|
"output": "cmvr-es/simulate/mujoco/mujoco_viewer/CMakeFiles/mujoco_viewer.dir/src/simulate.cc.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcommon_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/common/CMakeFiles/common.dir/curve/src/s_curve.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/common/curve/src/s_curve.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/common/curve/src/s_curve.cpp",
|
||||||
|
"output": "cmvr-es/common/CMakeFiles/common.dir/curve/src/s_curve.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcommon_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/common/CMakeFiles/common.dir/utils/config_helper/src/config_setting.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/config_helper/src/config_setting.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/config_helper/src/config_setting.cpp",
|
||||||
|
"output": "cmvr-es/common/CMakeFiles/common.dir/utils/config_helper/src/config_setting.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcommon_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/CameraCapture.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/CameraCapture.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/CameraCapture.cpp",
|
||||||
|
"output": "cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/CameraCapture.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcommon_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/RealSenseCapture.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/RealSenseCapture.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/RealSenseCapture.cpp",
|
||||||
|
"output": "cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/RealSenseCapture.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcommon_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/VideoFrameEncoder.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/VideoFrameEncoder.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/VideoFrameEncoder.cpp",
|
||||||
|
"output": "cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/VideoFrameEncoder.cpp.o"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directory": "/home/lgv/cmvr/cmvr-es/cmake-build-debug",
|
||||||
|
"command": "/usr/bin/g++-11 -DPROTOBUF_USE_DLLS -Dcommon_EXPORTS -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/coal/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/console_bridge/v1.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/eigenpy/v3.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/Eigen3/v3.4.0 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/example-robot-data/v4.3.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/fcl/v0.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x264/v165/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/x265/v215/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg-jetson/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/ffmpeg/v4.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gflags/v2.2.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/glog/v0.5.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/gtest/v1.17.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jrl-cmakemodules/v1.1.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/jsoncpp/v1.9.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/libccd/v2.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/lodepng/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mujoco/v3.3.7/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp-eigen/v0.10.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/PCAN-Basic/v4.10.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/peak-linux-driver/v8.20.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pinocchio/v3.6.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/pybind11/v3.0.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/realsense/v2.56.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/tinyxml2/v11.0.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/toppra/v0.6.2/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom/v5.0.3/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/urdfdom_headers/v2.0.1/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/opencv/4.13.0/include/opencv4 -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/modbus/3.1.11/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/visp/3.7.0/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/mainif/0.0.5/include -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/matplotplusplus/1.2.0/include -I/home/lgv/cmvr/cmvr-es/cmake-build-debug/_protobuf -I/home/lgv/cmvr/cmvr-es/include -I/home/lgv/cmvr/cmvr-es/cmvr-es/devices -I/home/lgv/cmvr/cmvr-es/cmvr-es/utils -I/home/lgv/cmvr/cmvr-es/cmvr-es -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party -I/home/lgv/cmvr/cmvr-es/dependency/x86/third_party/osqp/v0.6.3/include/osqp -I/home/lgv/cmvr/cmvr-es/cmvr-es/common -I/home/lgv/cmvr/cmvr-es/protos -isystem /home/lgv/cmvr/cmvr-es/dependency/x86/third_party/grpc/v1.76.0/include -g -std=gnu++17 -fPIC -o cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/VideoWriter.cpp.o -c /home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/VideoWriter.cpp",
|
||||||
|
"file": "/home/lgv/cmvr/cmvr-es/cmvr-es/common/utils/ffmpeg/src/VideoWriter.cpp",
|
||||||
|
"output": "cmvr-es/common/CMakeFiles/common.dir/utils/ffmpeg/src/VideoWriter.cpp.o"
|
||||||
|
}
|
||||||
|
]
|
||||||
@ -40,6 +40,17 @@ enum RobotJointIndexDirection{
|
|||||||
ROTATE_Y = 9; // 绕Y轴旋转
|
ROTATE_Y = 9; // 绕Y轴旋转
|
||||||
ROTATE_Z = 10; // 绕Z轴旋转
|
ROTATE_Z = 10; // 绕Z轴旋转
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 4x4 齐次变换矩阵
|
||||||
|
message TransformMatrix4x4 {
|
||||||
|
double m00 = 1; double m01 = 2; double m02 = 3; double m03 = 4;
|
||||||
|
double m10 = 5; double m11 = 6; double m12 = 7; double m13 = 8;
|
||||||
|
double m20 = 9; double m21 = 10; double m22 = 11; double m23 = 12;
|
||||||
|
double m30 = 13; double m31 = 14; double m32 = 15; double m33 = 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
message MoveJ{
|
message MoveJ{
|
||||||
message Request{
|
message Request{
|
||||||
CommandHeader.Request header = 1;
|
CommandHeader.Request header = 1;
|
||||||
@ -144,3 +155,48 @@ message CalibrateZeroQ {
|
|||||||
CommandHeader.Feedback header= 1;
|
CommandHeader.Feedback header= 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
message ServoJ{
|
||||||
|
message Request{
|
||||||
|
CommandHeader.Request header = 1;
|
||||||
|
repeated JointCmd cmds = 2;
|
||||||
|
double vel = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Response{
|
||||||
|
CommandHeader.Feedback header= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 获取当前位姿的4x4矩阵
|
||||||
|
message GetPoseMatrix {
|
||||||
|
message Request {
|
||||||
|
CommandHeader.Request header = 1;
|
||||||
|
string base_link = 2; // 基坐标系
|
||||||
|
string ee_link = 3; // 末端连杆名称
|
||||||
|
}
|
||||||
|
|
||||||
|
message Response {
|
||||||
|
CommandHeader.Feedback header = 1;
|
||||||
|
TransformMatrix4x4 matrix = 2; // 4x4 位姿矩阵
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据关节角度计算正运动学位姿矩阵
|
||||||
|
message ComputeForwardKinematics {
|
||||||
|
message Request {
|
||||||
|
CommandHeader.Request header = 1;
|
||||||
|
string base_link = 2; // 基坐标系
|
||||||
|
string ee_link = 3; // 末端连杆名称
|
||||||
|
repeated JointCmd joints = 4; // 关节角度
|
||||||
|
}
|
||||||
|
|
||||||
|
message Response {
|
||||||
|
CommandHeader.Feedback header = 1;
|
||||||
|
TransformMatrix4x4 matrix = 2; // 计算出的4x4位姿矩阵
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -15,4 +15,8 @@ service HumanoidRobotService{
|
|||||||
rpc getJointState(JointRequest) returns (JointResponse);
|
rpc getJointState(JointRequest) returns (JointResponse);
|
||||||
rpc getPose(GetPose.Request) returns (GetPose.Response);
|
rpc getPose(GetPose.Request) returns (GetPose.Response);
|
||||||
rpc calibrateZeroQ(CalibrateZeroQ.Request) returns (CalibrateZeroQ.Response);
|
rpc calibrateZeroQ(CalibrateZeroQ.Request) returns (CalibrateZeroQ.Response);
|
||||||
|
rpc servoJ(ServoJ.Request) returns (ServoJ.Response);
|
||||||
|
|
||||||
|
rpc getPoseMatrix(GetPoseMatrix.Request) returns (GetPoseMatrix.Response);
|
||||||
|
rpc computeForwardKinematics(ComputeForwardKinematics.Request) returns (ComputeForwardKinematics.Response);
|
||||||
}
|
}
|
||||||
|
|||||||
44
protos/cmvr/config/biohead_config/biohead_config.proto
Normal file
44
protos/cmvr/config/biohead_config/biohead_config.proto
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
// biohead.proto
|
||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package cmvr.config;
|
||||||
|
|
||||||
|
// 眉毛配置
|
||||||
|
message EyeBrowConfig {
|
||||||
|
string serial = 1; // 如 "64:0~3"
|
||||||
|
string offest = 2; // 偏移量,如 "90 90 90 90"
|
||||||
|
string jLmtUp = 3; // 上限,如 "90 170 155 110"
|
||||||
|
string jLmtLow = 4; // 下限,如 "20 77 90 20"
|
||||||
|
}
|
||||||
|
|
||||||
|
// 眼睛配置
|
||||||
|
message EyeConfig {
|
||||||
|
string serial = 1; // 如 "64:4~9"
|
||||||
|
string offest = 2; // 偏移量,如 "90 90 90 90 90 90"
|
||||||
|
string jLmtUp = 3; // 上限,如 "90 150 165 90 120 115"
|
||||||
|
string jLmtLow = 4; // 下限,如 "20 90 90 25 70 75"
|
||||||
|
}
|
||||||
|
|
||||||
|
// 嘴巴配置
|
||||||
|
message MouthConfig {
|
||||||
|
string serial = 1; // 如 "65:0~9"
|
||||||
|
string offest = 2; // 偏移量,如 "90 90 90 90 90 90 90 90 90 90"
|
||||||
|
string jLmtUp = 3; // 上限,如 "150 110 130 140 100 105 110 125 90 95"
|
||||||
|
string jLmtLow = 4; // 下限,如 "70 30 80 80 65 55 45 80 85 90"
|
||||||
|
}
|
||||||
|
|
||||||
|
// BioHead配置
|
||||||
|
message BioHeadConfig {
|
||||||
|
string id = 1; // 设备ID,如 "bio_head"
|
||||||
|
string serial = 2; // 串口路径,如 "/dev/ttyUSB0"
|
||||||
|
int32 ctrlFreq = 3; // 控制频率,如 50
|
||||||
|
|
||||||
|
EyeBrowConfig eyebrow = 4; // 眉毛配置
|
||||||
|
EyeConfig eye = 5; // 眼睛配置
|
||||||
|
MouthConfig mouth = 6; // 嘴巴配置
|
||||||
|
bool enable = 7; // 是否启用
|
||||||
|
}
|
||||||
|
|
||||||
|
message HeadConfig {
|
||||||
|
repeated BioHeadConfig bioheads = 3;
|
||||||
|
}
|
||||||
@ -33,6 +33,8 @@ message RealSenseCameraConfig {
|
|||||||
int32 buffer_size = 10;
|
int32 buffer_size = 10;
|
||||||
bool sync = 11;
|
bool sync = 11;
|
||||||
bool enable = 12;
|
bool enable = 12;
|
||||||
|
int32 encode_width = 13;
|
||||||
|
int32 encode_height = 14;
|
||||||
}
|
}
|
||||||
|
|
||||||
// UVC摄像头
|
// UVC摄像头
|
||||||
@ -47,6 +49,8 @@ message UVCCameraConfig {
|
|||||||
StreamMode stream_mode = 8;
|
StreamMode stream_mode = 8;
|
||||||
int32 buffer_size = 9;
|
int32 buffer_size = 9;
|
||||||
bool enable = 10;
|
bool enable = 10;
|
||||||
|
int32 encode_width = 11;
|
||||||
|
int32 encode_height = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 主配置消息 - 统一管理所有摄像头
|
// 主配置消息 - 统一管理所有摄像头
|
||||||
@ -54,4 +58,3 @@ message CameraConfig {
|
|||||||
repeated UVCCameraConfig uvc_cameras = 1;
|
repeated UVCCameraConfig uvc_cameras = 1;
|
||||||
repeated RealSenseCameraConfig realsense_cameras = 2;
|
repeated RealSenseCameraConfig realsense_cameras = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,10 +6,39 @@ message RH56DFTPDexHandConfig{
|
|||||||
string ip = 2;
|
string ip = 2;
|
||||||
int32 port = 3;
|
int32 port = 3;
|
||||||
bool enable = 4;
|
bool enable = 4;
|
||||||
|
int32 poll_interval_ms = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum PX6AXGen3PollingReadMode {
|
||||||
|
PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_AND_RESULTANT_FORCE = 0;
|
||||||
|
PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_FORCE = 1;
|
||||||
|
PX_6AX_GEN3_POLLING_READ_MODE_RESULTANT_FORCE = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message PX6AXGen3{
|
||||||
|
string id = 1;
|
||||||
|
string serial_port = 2;
|
||||||
|
string sensor_model = 3;
|
||||||
|
int32 module_id = 4;
|
||||||
|
int32 baud_rate = 5;
|
||||||
|
int32 distributed_length = 6;
|
||||||
|
int32 resultant_length = 7;
|
||||||
|
int32 poll_interval_ms = 8;
|
||||||
|
bool auto_calibrate = 9;
|
||||||
|
bool enable = 10;
|
||||||
|
int32 response_timeout_ms = 11;
|
||||||
|
int32 tactile_rows = 12;
|
||||||
|
int32 tactile_cols = 13;
|
||||||
|
int32 response_header_bytes = 14;
|
||||||
|
string tactile_finger = 15;
|
||||||
|
string tactile_region = 16;
|
||||||
|
string sensor_name = 17;
|
||||||
|
PX6AXGen3PollingReadMode polling_read_mode = 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
message DexHandConfig{
|
message DexHandConfig{
|
||||||
repeated RH56DFTPDexHandConfig rh56dftp_dexhands = 1;
|
repeated RH56DFTPDexHandConfig rh56dftp_dexhands = 1;
|
||||||
|
repeated PX6AXGen3 px_6ax_gen3 = 2;
|
||||||
}
|
}
|
||||||
22
protos/cmvr/config/monitor_config/monitor_config.proto
Normal file
22
protos/cmvr/config/monitor_config/monitor_config.proto
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package cmvr.config;
|
||||||
|
|
||||||
|
// 文件夹监控配置
|
||||||
|
message FolderConfig {
|
||||||
|
string fileDir = 1; // 文件夹路径
|
||||||
|
int32 maxVolume = 2; // 最大容量(MB)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 磁盘监控配置
|
||||||
|
message DiskMonitorConfig {
|
||||||
|
string id = 1; // 监控器ID,如 "file_monitor"
|
||||||
|
int32 freq = 2; // 监控频率(Hz)
|
||||||
|
repeated FolderConfig folders = 3; // 要监控的文件夹列表
|
||||||
|
bool enable = 4; // 是否启用
|
||||||
|
}
|
||||||
|
|
||||||
|
// 监控管理器配置
|
||||||
|
message MonitorManagerConfig {
|
||||||
|
DiskMonitorConfig disk_monitor = 1; // 磁盘监控配置
|
||||||
|
}
|
||||||
88
protos/cmvr/config/robot_config/robot_config.proto
Normal file
88
protos/cmvr/config/robot_config/robot_config.proto
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
|
||||||
|
package cmvr.config;
|
||||||
|
|
||||||
|
// 电机配置
|
||||||
|
message MotorConfig {
|
||||||
|
int32 id = 1; // 电机ID
|
||||||
|
string jointName = 2; // 关节名称
|
||||||
|
float limitQLb = 3; // 位置下限
|
||||||
|
float limitQUb = 4; // 位置上限
|
||||||
|
float limitQd = 5; // 速度限制
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通用的CAN设备配置(手臂、头部、腰部都可以复用)
|
||||||
|
message CanDeviceConfig {
|
||||||
|
string id = 1; // CAN ID
|
||||||
|
string devId = 2; // 设备ID
|
||||||
|
int32 channelId = 3; // 通道ID
|
||||||
|
bool enable = 4; // 是否启用
|
||||||
|
string toolFrame = 5; // 工具坐标系(手臂需要,头/腰可选)
|
||||||
|
repeated MotorConfig motors = 6; // 电机列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// CAN管理器配置
|
||||||
|
message CanManagerConfig {
|
||||||
|
string id = 1; // CAN管理器ID
|
||||||
|
string devId = 2; // 设备ID
|
||||||
|
CanDeviceConfig left_arm = 3; // 左臂CAN
|
||||||
|
CanDeviceConfig right_arm = 4; // 右臂CAN
|
||||||
|
CanDeviceConfig head = 5; // 头部CAN
|
||||||
|
CanDeviceConfig waist = 6; // 腰部CAN
|
||||||
|
}
|
||||||
|
|
||||||
|
// 人形机器人配置
|
||||||
|
message HumanRobotConfig {
|
||||||
|
string id = 1; // 机器人ID,如 "hc01"
|
||||||
|
int32 dof = 2; // 自由度,如 14
|
||||||
|
string urdf = 3; // URDF文件路径
|
||||||
|
string baseLink = 4; // 基座link名称,如 "PELVIS_S"
|
||||||
|
string jointNames = 5; // 关节名称列表,逗号分隔
|
||||||
|
string linkNames = 6; // link名称列表,逗号分隔
|
||||||
|
int32 bufferSize = 7; // 缓冲区大小,如 50
|
||||||
|
bool verbose = 8; // 是否详细输出
|
||||||
|
int32 updFreq = 9; // 更新频率,如 500
|
||||||
|
CanManagerConfig can_manager = 10; // CAN管理器配置
|
||||||
|
bool enable = 11; // 是否启用
|
||||||
|
}
|
||||||
|
|
||||||
|
// EtherCAT主站配置
|
||||||
|
message EthercatMasterConfig {
|
||||||
|
string interface = 1; // 网络接口,如 "eth0"
|
||||||
|
int32 cycle_time_us = 2; // 周期时间(微秒),默认1000
|
||||||
|
bool enable = 3; // 是否启用
|
||||||
|
}
|
||||||
|
|
||||||
|
// EtherCAT电机驱动配置
|
||||||
|
message EthercatMotorConfig {
|
||||||
|
int32 slave = 1; // 从站ID
|
||||||
|
string jointName = 2; // 关节名称
|
||||||
|
float limitQLb = 3; // 位置下限
|
||||||
|
float limitQUb = 4; // 位置上限
|
||||||
|
float limitQd = 5; // 速度限制
|
||||||
|
}
|
||||||
|
|
||||||
|
// EtherCAT机器人配置
|
||||||
|
message EthercatRobotConfig {
|
||||||
|
string id = 1; // 机器人ID
|
||||||
|
int32 dof = 2; // 自由度
|
||||||
|
string urdf = 3; // URDF文件路径
|
||||||
|
string baseLink = 4; // 基座link名称
|
||||||
|
string jointNames = 5; // 关节名称列表,逗号分隔
|
||||||
|
string linkNames = 6; // link名称列表,逗号分隔
|
||||||
|
int32 bufferSize = 7; // 缓冲区大小
|
||||||
|
bool verbose = 8; // 是否详细输出
|
||||||
|
int32 updFreq = 9; // 更新频率(Hz)
|
||||||
|
bool enable = 10; // 是否启用
|
||||||
|
|
||||||
|
EthercatMasterConfig master = 11; // EtherCAT主站配置
|
||||||
|
repeated EthercatMotorConfig motors = 12; // 电机配置列表
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 主配置
|
||||||
|
message RobotConfig {
|
||||||
|
repeated HumanRobotConfig humanrobots = 1;
|
||||||
|
repeated EthercatRobotConfig ethercat_robots = 2; // 新增的EtherCAT机器人
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user