33 std::string version();
39 using CartesianPose = std::map<std::string, double>;
40 using DoubleVector = std::vector<double>;
163 std::map<std::string, SoftwareItemInfoData>
software;
251 std::string
function;
270 double acc_position_kp = 0.0;
271 double acc_speed_kp = 0.0;
272 double acc_speed_it = 0.0;
273 double uni_position_kp = 0.0;
274 double uni_speed_kp = 0.0;
275 double uni_speed_it = 0.0;
276 double dec_position_kp = 0.0;
277 double dec_speed_kp = 0.0;
278 double dec_speed_it = 0.0;
363 std::vector<PvatPointData>
data;
449 explicit Robot(std::string ip,
bool simulator =
false);
475 std::tuple<int, std::string>
call(
const std::string &method,
476 const std::string ¶ms);
481 std::string
hello(
const std::string &data);
641 int move_joint(
const std::vector<double> &joint_positions,
double a,
double v,
643 int movej(
const std::vector<double> &joint_positions,
double a,
double v,
667 int move_joint(
const CartesianPose &cart_pose,
double a,
double v,
double t,
669 int movej(
const CartesianPose &cart_pose,
double a,
double v,
double t,
691 int move_linear(
const std::vector<double> &joint_positions,
double a,
692 double v,
double t,
double r);
693 int movel(
const std::vector<double> &joint_positions,
double a,
double v,
717 int move_linear(
const CartesianPose &cart_pose,
double a,
double v,
double t,
719 int movel(
const CartesianPose &cart_pose,
double a,
double v,
double t,
746 const std::vector<double> &joint,
double rad,
double a,
747 double v,
double t,
double r);
748 int movec(
const std::vector<double> &joint_via,
749 const std::vector<double> &joint,
double rad,
double a,
double v,
769 double rad,
double a,
double v,
double t,
double r);
770 int movec(
const CartesianPose &cart_via,
const CartesianPose &cart,
771 double rad,
double a,
double v,
double t,
double r);
784 int speed_joint(
double a,
const std::vector<double> &v,
double t = 0.0);
785 int speedj(
double a,
const std::vector<double> &v,
double t = 0.0);
802 const CartesianPose &reference = {{
"x", 0.0},
808 int speedl(
double a,
const CartesianPose &v,
double t = 0.0,
809 const CartesianPose &reference = {{
"x", 0.0},
837 double v,
double t,
double r);
838 int towardj(
const std::vector<double> &joint_positions,
double a,
double v,
848 void move_pvat(std::vector<double> p, std::vector<double> v,
849 std::vector<double> a,
double t);
951 void set_virtual_ip(
const std::string &ifname,
const std::string &ip);
1043 std::string dir =
"");
1063 void set_servo_params(
const std::vector<ServoParamData> ¶ms);
1065 void set_zero(
const std::vector<double> &pose,
1066 const std::vector<bool> &valids);
1067 void set_extra_servo_params(
const std::vector<ExtraServoParamData> ¶ms,
1068 const std::vector<bool> &valids);
1069 void reset_extra_servo_params(
const std::vector<bool> &valids);
1070 void set_flange_baud_rate(
unsigned int baud_rate);
1098 const std::vector<double> &max_vel);
1135 const std::string &name,
1136 const std::vector<std::string> ¶ms = std::vector<std::string>());
1191 void sub_buttons_status(uint64_t interval_min, uint64_t interval_max);
1192 void sub_kin_data(uint64_t interval_min, uint64_t interval_max);
1193 void sub_message(uint64_t interval_min, uint64_t interval_max);
1194 void sub_robot_state(uint64_t interval_min, uint64_t interval_max);
1195 void sub_phy_data(uint64_t interval_min, uint64_t interval_max);
1196 void sub_task_stdout(uint64_t interval_min, uint64_t interval_max);
1197 void start_ota(
const std::string &address,
const std::string &partition,
1198 const std::string &file);
1199 void switch_partition(
const std::string &address,
1200 const std::string &partition);
1201 void start_upgrade();
1203 std::string init_robot(
const std::string &time,
const std::string &auth,
1313 void set_do(std::string device,
unsigned int pin,
unsigned int value);
1317 void set_dos(std::string device,
unsigned int pin,
1318 std::vector<unsigned int> values);
1326 unsigned int get_do(std::string device,
unsigned int pin);
1335 std::vector<unsigned int>
get_dos(std::string device,
unsigned int pin,
1344 unsigned int get_di(std::string device,
unsigned int pin);
1353 std::vector<unsigned int>
get_dis(std::string device,
unsigned int pin,
1363 void set_ao(std::string device,
unsigned int pin,
double value);
1367 void set_aos(std::string device,
unsigned int pin, std::vector<double> values);
1375 double get_ao(std::string device,
unsigned int pin);
1384 std::vector<double>
get_aos(std::string device,
unsigned int pin,
1393 double get_ai(std::string device,
unsigned int pin);
1402 std::vector<double>
get_ais(std::string device,
unsigned int pin,
1429 unsigned int count);
1492 std::string relation =
"EQ");
1507 void set_led(
unsigned int mode,
unsigned int speed,
1508 const std::vector<unsigned int> &color);
1557 void wait_signal(
unsigned int index,
int value, std::string relation =
"EQ");
1583 const std::vector<std::string> ¶ms,
1584 const std::string &dir,
bool is_parallel,
1585 unsigned int loop_to);
1596 std::vector<unsigned int> get_task_list();
1649 std::string get_task_state();
1656 std::string get_task_state(
unsigned int id);
1669 const std::vector<double> &joint_positions);
1671 const std::vector<double> &joint_positions);
1680 const CartesianPose &pose,
1681 const std::vector<double> &joint_init_positions = {});
1683 const CartesianPose &pose,
1684 const std::vector<double> &joint_init_positions = {});
1701 CartesianPose pose_times(
const CartesianPose &a,
const CartesianPose &b);
1709 const CartesianPose &delta);
1717 CartesianPose
calc_frame(
const CartesianPose &o,
const CartesianPose &x,
1718 const CartesianPose &xy);
1724 CartesianPose
calc_tcp(
const std::vector<CartesianPose> &poses);
1733 CartesianPose pose_inverse(
const CartesianPose &in);
1747 void save_file(
const std::string &dir,
const std::string &name,
bool is_dir,
1748 const std::string &data);
1757 void rename_file(
const std::string &from_dir,
const std::string &from_name,
1758 const std::string &to_dir,
const std::string &to_name);
1768 const std::string &url);
1778 std::tuple<bool, std::string>
load_file(
const std::string &dir,
1779 const std::string &name);
1791 const std::string &dir,
const std::string &prefix,
1792 const std::string &suffix);
1801 void zip(
const std::string &from_dir, std::vector<std::string> files,
1802 const std::string &to_dir,
const std::string &name);
1811 void unzip(
const std::string &from_dir,
const std::string &name,
1812 std::vector<std::string> files,
const std::string &to_dir);
1817 const std::string &
zip,
const std::string &dir,
1818 const std::string &prefix,
const std::string &suffix);
1843 void set_dh(
const std::vector<DhParamData> ¶ms);
1850 void set_velocity_factor(
int factor);
1857 int get_velocity_factor();
1885 std::string dir =
"");
1899 std::string dir =
"");
1992 CartesianPose
load_tcp(std::string name, std::string dir =
"");
2000 void save_tcp(std::string name, CartesianPose tcp, std::string dir =
"");
2028 std::string dir =
"");
2029 unsigned int move_trajectory(std::string name, std::string dir =
"");
2107 std::string dir =
"");
2195 std::vector<bool> values);
2196 void wirte_multiple_coils(std::string device, std::string addr,
2197 std::vector<bool> values);
2206 std::vector<bool>
read_coils(std::string device, std::string addr,
2226 unsigned int value);
2235 std::vector<unsigned int> values);
2298 std::vector<unsigned int>
read_serial(std::string device,
unsigned int len);
机械臂的主要接口对象,通过本对象的方法与机械臂进行数据交互.
Definition: robot.hh:430
std::unique_ptr< RobotImpl > impl_
Definition: robot.hh:2333
bool get_auto(int name)
获取自动配置项,name 取值与 SDK2 保持一致: 1, 2, 3.
std::string hello(const std::string &data)
测试 JSON-RPC 连接.
virtual ~Robot()
析构Robot对象.
Robot(std::string ip, bool simulator=false)
构造Robot对象.
std::tuple< int, std::string > call(const std::string &method, const std::string ¶ms)
用JSON格式字符串调用机械臂的接口.
void set_auto(int name, bool value)
设置自动配置项,name 取值与 SDK2 保持一致: 1, 2, 3.
bool is_network_connected()
返回是否和机械臂的网络连接正常,如果网络连接异常,调用和机械臂交互的接口会抛出异常std::runtime_error。
void init_claw(bool force_initilization)
初始化夹爪
double get_claw_ai(unsigned int address)
读取夹爪指定模拟输入数据.
void set_claw_ao(unsigned int address, double value)
设置夹爪指定模拟输出数据.
void wait_claw_ai(unsigned int address, double value, std::string relation="EQ")
等待夹爪模拟输入满足指定关系.
ClawData get_claw()
获取夹爪当前数据
void set_claw(double force, double amplitude)
设置夹爪力度(力控)和幅度(位控).如果在闭合过程中抓取到物体,则不再继续闭合以避免夹坏物体,判断的准则为这里设置的力的大小.
PoseData load_pose(std::string name, std::string dir="")
查询路点.
std::vector< std::string > load_frame_list(std::string dir="")
查询特征列表.
void enable_limit()
使能安全限位检测.
void save_pose(std::string name, PoseData pose, std::string dir="")
保存路点.
void set_payload_cog(std::map< std::string, double > cog)
设置机器人末端负载重心.
void save_structure(std::string name, StructureData structure, std::string dir="")
保存机器人结构.
std::vector< std::string > load_pose_list(std::string dir="")
查询路点列表.
TrajectoryData load_trajectory(std::string name, std::string dir="")
查询轨迹.
std::map< std::string, double > get_payload()
获取末端负载设置.
void set_collision_detector(const CollisionDetectorConfig &config)
设置碰撞检测参数.
void set_gravity(std::map< std::string, double > gravity)
设置机器人重力加速度方向.
void set_kin_factor(int factor)
设置速度因子.
std::vector< DhParamData > get_dh()
获取当前DH参数.
std::vector< std::string > load_structure_list(std::string dir="")
查询机器人结构列表.
void start_record_trajectory(std::string kind, double duration)
开始记录轨迹.
int get_kin_factor()
获取当前的速度因子.
CartesianLimitConfig get_cart_limit()
获取笛卡尔空间限位.
std::map< std::string, double > get_gravity()
获取机器人重力加速度的方向.
void save_payload(std::string name, std::map< std::string, double > payload, std::string dir="")
保存末端负载.
void save_trajectory(std::string name, TrajectoryData trajectory, std::string dir="")
保存轨迹.
CartesianPose load_tcp(std::string name, std::string dir="")
从资源库加载tcp.
void disable_limit()
临时禁用安全限位检测.
void set_cart_limit(const CartesianLimitConfig &limit)
设置笛卡尔空间限位.
void save_tcp(std::string name, CartesianPose tcp, std::string dir="")
保存tcp.
void set_payload(double mass, std::map< std::string, double > cog)
设置机器人末端负载.
void set_tcp(std::array< double, 6 > tcp)
设置工具中心点(TCP)坐标,坐标值相对于工具坐标系.
std::vector< double > get_collision_torque_diff()
获取碰撞监测误差.
FrameData load_frame(std::string name, std::string dir="")
查询特征.
std::vector< std::string > load_tcp_list(std::string dir="")
查询工具中心点列表.
std::vector< JointLimitConfig > get_joints_limit()
获取关节限位.
void enable_collision_detector()
使能碰撞检测.
CollisionDetectorConfig get_collision_detector()
获取碰撞检测参数.
void set_joints_limit(const std::vector< JointLimitConfig > &joints)
设置关节限位.
std::vector< std::string > load_trajectory_list(std::string dir="")
查询轨迹列表.
void end_record_trajectory(std::string name, std::string dir="")
结束记录轨迹并保存.
std::map< std::string, double > load_payload(std::string name, std::string dir="")
从资源库加载末端负载.
StructureData load_structure(std::string name, std::string dir="")
查询机器人结构.
std::vector< std::string > load_payload_list(std::string dir="")
查询负载列表.
std::array< double, 6 > get_tcp()
获取当前机器人工具中心点设置.
void set_collision_torque_diff(const std::vector< double > &diffs)
设置碰撞监测误差.
void disable_collision_detector()
临时禁用碰撞检测.
void set_payload_mass(double mass)
设置机器人末端负载质量.
void save_frame(std::string name, FrameData frame, std::string dir="")
保存特征.
std::vector< std::tuple< bool, std::string > > load_file_list(const std::string &dir, const std::string &prefix, const std::string &suffix)
查询文件列表.
void zip(const std::string &from_dir, std::vector< std::string > files, const std::string &to_dir, const std::string &name)
将文件从文件系统中压缩到zip文件.
void rename_file(const std::string &from_dir, const std::string &from_name, const std::string &to_dir, const std::string &to_name)
重命名文件
void unzip(const std::string &from_dir, const std::string &name, std::vector< std::string > files, const std::string &to_dir)
将zip文件解压到文件系统.
void save_file(const std::string &dir, const std::string &name, bool is_dir, const std::string &data)
保存文件(以字节形式).
void download_file(const std::string &dir, const std::string &name, const std::string &url)
通过URL下载文件到控制器.
std::tuple< bool, std::string > load_file(const std::string &dir, const std::string &name)
查询文件
std::vector< std::tuple< bool, std::string > > load_zip_list(const std::string &zip, const std::string &dir, const std::string &prefix, const std::string &suffix)
查询zip内文件列表.
std::vector< unsigned int > get_dos(std::string device, unsigned int pin, unsigned int num)
获取多个数字输出
void set_aos(std::string device, unsigned int pin, std::vector< double > values)
设置多个模拟输出
void set_do(std::string device, unsigned int pin, unsigned int value)
设置数字输出
std::vector< bool > get_dios_mode(std::string device, unsigned int pin, unsigned int count)
获取数字端口模式
std::vector< unsigned int > get_dis(std::string device, unsigned int pin, unsigned int num)
获取多个数字输入
void enable_button(std::string device, unsigned int pin)
启用按钮输入.
void set_dos(std::string device, unsigned int pin, std::vector< unsigned int > values)
设置多个数字输出
bool get_dio_mode(std::string device, unsigned int pin)
获取单个数字端口模式
double get_ai(std::string device, unsigned int pin)
获取模拟输入
unsigned int get_do(std::string device, unsigned int pin)
获取数字输出
void disable_button(std::string device, unsigned int pin)
禁用按钮输入.
std::vector< double > get_ais(std::string device, unsigned int pin, unsigned int num)
获取多个模拟输入
std::vector< double > get_aos(std::string device, unsigned int pin, unsigned int num)
获取多个模拟输出
unsigned int get_di(std::string device, unsigned int pin)
获取数字输入
void set_ao(std::string device, unsigned int pin, double value)
设置模拟输出
double get_ao(std::string device, unsigned int pin)
获取模拟输出
void set_dio_mode(std::string device, unsigned int pin, bool value)
设置数字端口模式
void set_fan(unsigned int status)
开关风扇
void set_voice(unsigned int voice, unsigned int volume)
设置声音
void set_led(unsigned int mode, unsigned int speed, const std::vector< unsigned int > &color)
设置LED灯状态.
std::vector< std::string > load_modbus_list(std::string dir="")
查询Modbus配置列表.
void set_modbus_retry(std::string device, unsigned int retry)
设置Modbus设备重试次数.
void save_modbus_register(std::string device, std::string name, ModbusRegisterData reg)
保存Modbus寄存器.
std::vector< bool > read_coils(std::string device, std::string addr, unsigned int num)
读线圈
void save_modbus(std::string name, ModbusData modbus)
保存Modbus设备.
std::vector< unsigned int > read_holding_registers(std::string device, std::string addr, unsigned int num)
读保持寄存器
void write_single_coil(std::string device, std::string addr, bool value)
写单个线圈.
ModbusData load_modbus(std::string name, std::string dir="")
查询Modbus设备.
void write_multiple_registers(std::string device, std::string addr, std::vector< unsigned int > values)
写多个寄存器
ModbusRegisterData load_modbus_register(std::string device, std::string name)
查询Modbus寄存器.
void write_multiple_coils(std::string device, std::string addr, std::vector< bool > values)
写多个线圈
void write_single_register(std::string device, std::string addr, unsigned int value)
写单个寄存器
std::vector< unsigned int > read_input_registers(std::string device, std::string addr, unsigned int num)
读输入寄存器
std::vector< std::string > load_modbus_register_list(std::string device)
查询Modbus寄存器列表.
void disconnect_modbus(std::string device)
断开Modbus设备连接.
void set_modbus_timeout(std::string device, unsigned int timeout)
设置Modbus设备超时时间.
std::vector< bool > read_discrete_inputs(std::string device, std::string addr, unsigned int num)
读离散输入
std::string get_motion_state(unsigned int id)
查询指定MotionId的运动状态.
int move_circular(const std::vector< double > &joint_via, const std::vector< double > &joint, double rad, double a, double v, double t, double r)
通过关节位置发送机械臂圆弧运动.
int toward_joint(const std::vector< double > &joint_positions, double a, double v, double t, double r)
通过关节位置发送机械臂关节自由移动.
int speed_joint(double a, const std::vector< double > &v, double t=0.0)
通过关节速度矢量发送机械臂关节匀速运动
void move_pvat(std::vector< double > p, std::vector< double > v, std::vector< double > a, double t)
伺服运动PVAT
int move_circular(const CartesianPose &cart_via, const CartesianPose &cart, double rad, double a, double v, double t, double r)
通过坐标位置发送机械臂圆弧运动
int move_joint(const std::vector< double > &joint_positions, double a, double v, double t, double r)
通过关节位置发送机械臂关节移动
int speed_linear(double a, const CartesianPose &v, double t=0.0, const CartesianPose &reference={{"x", 0.0}, {"y", 0.0}, {"z", 0.0}, {"rx", 0.0}, {"ry", 0.0}, {"rz", 0.0}})
通过坐标速度矢量发送机械臂关节匀速运动
int move_linear(const CartesianPose &cart_pose, double a, double v, double t, double r)
通过坐标位置发送机械臂直线移动
int move_linear(const std::vector< double > &joint_positions, double a, double v, double t, double r)
通过关节位置发送机械臂直线移动
void wait_move(unsigned int id)
等待运动完成.
void wait_move()
等待所有运动完成.
unsigned int get_running_motion()
查询当前正在运动的MotionId(无运动时返回上次MotionId).
int move_joint(const CartesianPose &cart_pose, double a, double v, double t, double r)
通过坐标位置发送机械臂关节移动
double measure_manipulation(const std::vector< double > &joint_positions)
估算关节位置的灵活性.
CartesianPose get_pose_add(const CartesianPose &pose, const CartesianPose &delta)
位姿加.
CartesianPose calc_tcp(const std::vector< CartesianPose > &poses)
三点采样计算工具中心点.
KinematicsForwardResp get_forward_kin(const std::vector< double > &joint_positions)
根据机械臂关节位置计算机器人末端位姿(位置的运动学正解).
CartesianPose get_pose_inverse(const CartesianPose &in)
位姿变换的逆(等价于对应的齐次坐标矩的逆)
CartesianPose calc_frame(const CartesianPose &o, const CartesianPose &x, const CartesianPose &xy)
三点采样计算原点特征.
CartesianPose get_pose_trans(const CartesianPose &a, const CartesianPose &b)
位姿变换乘法(等价于对应的齐次坐标矩阵乘法)
KinematicsInverseResp get_inverse_kin(const CartesianPose &pose, const std::vector< double > &joint_init_positions={})
根据机械臂的末端位姿计算关节位置(位置的运动学逆解).
void cancel_task(unsigned int id)
取消任务与运动.
unsigned int start_task(const std::string &name, const std::vector< std::string > ¶ms, const std::string &dir, bool is_parallel, unsigned int loop_to)
调用场景
unsigned int start_task(const std::string &name)
调用场景
unsigned int exec_hook(unsigned int id)
根据已设置的Hook执行对应场景
std::string wait_task(unsigned int id)
等待任务完成
std::vector< unsigned int > load_task_list()
查询任务列表
std::string load_task()
获取任务状态.
void pause_task(unsigned int id, unsigned long time, bool wait)
暂停任务与运动
void resume_task(unsigned int id)
恢复任务与运动
std::vector< TaskData > load_running_tasks()
查询运行中的任务列表.
void pause_task(unsigned int id)
暂停任务与运动
std::string load_task(unsigned int id)
获取任务状态.
TaskStdoutData get_task_stdout(unsigned int id)
获取任务输出.
std::vector< unsigned int > read_serial(std::string device, unsigned int len)
串口读取数据.
void set_serial_parity(std::string device, unsigned int parity)
设置串口校验位.
void set_serial_baud_rate(std::string device, unsigned int baud_rate)
设置串口波特率.
void write_serial(std::string device, std::vector< unsigned int > data)
串口发送数据.
void set_serial_timeout(std::string device, unsigned int timeout)
设置串口超时时间.
void clear_serial(std::string device)
清除串口收发缓存.
int get_signal(unsigned int index)
获取信号量
void add_signal(unsigned int index, int value)
增加指定下标的信号量值,该操作是原子的.
std::vector< int > get_signals(unsigned int index, unsigned int len)
获取多个连续信号量
void set_signal(unsigned int index, int value)
设置信号量
void set_signals(unsigned int index, std::vector< int > values)
设置多个连续信号量
void wait_signal(unsigned int index, int value, std::string relation="EQ")
等待信号量满足指定关系.
void start_sys()
启动机械臂(机械臂上使能).
void end_teach_mode()
退出示教模式.
void powerdown()
关闭机器人电源(关机).
void stop_sys()
停止机械臂(机械臂下使能).
void start_teach_mode()
进入示教模式.
std::vector< double > get_actual_joint_torques()
获取机械臂关节当前反馈力矩
PluginInfoData load_plugin(const std::string &name)
查询已安装插件
void set_tcp_force(const WrenchData &wrench)
设置末端受力
OtaStateData get_ota_state()
获取OTA升级状态
std::vector< ShortcutData > get_short_poses()
获取所有快捷路点
void set_force_mode_param(double damping, double gain, const std::vector< double > &max_vel)
设置力控参数.
PhysicalData get_phy_data()
获取机械臂物理数据
std::vector< std::string > load_led_style_list(std::string dir="")
查询声光样式列表.
std::vector< DirData > get_dirs()
获取数据库目录列表
void create_dir(DirData dir)
创建数据库目录.
std::vector< double > get_actual_joint_speed()
获取机械臂关节当前反馈速度
int get_robot_state()
获取机器人状态码
std::vector< double > get_target_joint_positions()
获取机械臂关节当前控制位置
int get_estop_reason()
查看急停原因
void set_short_task(ShortcutData shortcut_data)
设置快捷任务
HardwareInfoData get_hardware_info()
获取控制器硬件信息
std::vector< ServoParamData > get_servo_params()
获取伺服参数
std::map< std::string, LedStyleData > get_led_styles()
获取声光交互样式集
std::vector< PluginStoreInfoData > get_plugin_store()
查询插件商店列表.
bool is_disconnected()
是否已与手臂断开连接
CommandStdoutData get_plugin_daemon_stdout(const std::string &name)
获取插件守护进程输出.
ShortcutData get_short_pose(unsigned int id)
获取单个快捷路点
std::vector< PluginInfoData > load_plugins()
查询已安装插件列表
CartesianPose get_target_tcp_pose()
获取机械臂末端在机械臂基坐标系下的控制位姿,CartesianPose = std::map<std::string,double>,应当包括键为x,y,z,rz,...
HttpResponseData http(HttpRequestData request)
通过控制器发起HTTP请求.
ShortcutData get_short_task(unsigned int id)
获取单个快捷任务
CheckUpgradeData check_upgrade()
查询是否需要系统升级
JointMotionData get_kin_data()
获取机械臂关节运动数据
std::vector< TriggerData > get_triggers()
获取条件任务触发器列表
std::vector< double > get_actual_joint_positions()
获取机械臂关节当前反馈位置
WrenchData get_tcp_force()
获取末端受力
void start_force_mode(const CartesianPose &limit, const WrenchData &wrench)
开始力控模式.
void save_led_style(std::string name, LedStyleData style, std::string dir="")
保存声光样式.
void update_dir(std::string from, std::string to)
重命名数据库目录.
std::vector< MessageData > get_messages()
获取控制器消息列表
void set_force_mode_sensor(const std::string &sensor, unsigned int address)
设置力控传感器.
std::vector< std::string > get_box_devices(const std::string &prefix)
获取控制箱dev设备列表
std::vector< ShortcutData > get_short_tasks()
获取所有快捷任务
CommandStdoutData get_upgrade_stdout()
获取系统升级输出
std::vector< double > get_target_joint_torques()
获取机械臂关节当前控制力矩
SystemInfoData get_system_info()
获取控制器系统信息
CommandStdoutData disable_plugin(const std::string &name)
禁用插件.
void set_led_styles(std::map< std::string, LedStyleData > styles)
设置声光交互样式集
void set_led_style(std::string state, LedStyleData style)
设置机器人状态对应的声光交互样式.
RobotInfoData get_robot_info()
获取机器人设备信息
std::vector< DiscoveredRobotData > discover_robots()
通过控制器RPC发现机器人设备.
LedStyleData load_led_style(std::string name, std::string dir="")
查询声光样式.
double get_joint_temp(unsigned int joint_index)
获取单个关节温度
void set_short_pose(ShortcutData shortcut_data)
设置快捷路点
SoftwareInfoData get_software_info()
获取控制器软件信息
void set_trigger(TriggerData trigger)
设置条件任务触发器
void restart_plugin_daemon(const std::string &name)
重启插件守护进程.
void end_force_mode()
结束力控模式.
CartesianPose get_actual_tcp_pose()
获取机械臂末端在机械臂基坐标系下的实际位姿,CartesianPose = std::map<std::string,double>,应当包括键为x,y,z,rz,...
CommandStdoutData run_plugin_cmd(const std::string &name, const std::vector< std::string > ¶ms=std::vector< std::string >())
执行插件命令.
CommandStdoutData enable_plugin(const std::string &name)
启用插件.
std::vector< double > get_target_joint_speed()
获取机械臂关节当前控制力矩
std::vector< StorageItem > get_items(std::string prefix)
获取存储项列表.
void set_item(StorageItem item)
设置存储项.
StorageItem get_item(std::string name)
获取存储项.
Definition: discovery.hh:23
笛卡尔空间限位配置.
Definition: robot.hh:416
double max_v
Definition: robot.hh:418
double eq_radius
Definition: robot.hh:419
double max_a
Definition: robot.hh:417
bool need_upgrade
Definition: robot.hh:211
std::string introduction
Definition: robot.hh:212
夹爪数据结构.
Definition: robot.hh:68
double amplitude
Definition: robot.hh:70
bool hold_on
Definition: robot.hh:71
double force
Definition: robot.hh:69
碰撞检测配置.
Definition: robot.hh:395
unsigned int pause_time
Definition: robot.hh:397
unsigned int action
Definition: robot.hh:396
unsigned int sensitivity
Definition: robot.hh:398
bool done
Definition: robot.hh:216
std::string stderr_text
Definition: robot.hh:218
int code
Definition: robot.hh:219
std::string stdout_text
Definition: robot.hh:217
控制器硬件设备信息.
Definition: robot.hh:137
std::string sn
Definition: robot.hh:139
uint32_t do_num
Definition: robot.hh:143
std::string partition
Definition: robot.hh:141
std::string version
Definition: robot.hh:140
uint32_t ai_num
Definition: robot.hh:145
uint32_t ao_num
Definition: robot.hh:146
uint32_t dio_num
Definition: robot.hh:144
uint32_t di_num
Definition: robot.hh:142
bool invalid
Definition: robot.hh:138
double a
Definition: robot.hh:94
double d
Definition: robot.hh:96
double alpha
Definition: robot.hh:95
double theta
Definition: robot.hh:97
std::string name
Definition: robot.hh:223
std::string name
Definition: robot.hh:127
bool online
Definition: robot.hh:130
std::string mac
Definition: robot.hh:128
std::string ip
Definition: robot.hh:129
std::string rotation_kind
Definition: robot.hh:369
std::string position_kind
Definition: robot.hh:367
CartesianPose rotation
Definition: robot.hh:370
CartesianPose position
Definition: robot.hh:368
DeviceInfoData comboard
Definition: robot.hh:150
DeviceInfoData extra_io
Definition: robot.hh:154
std::vector< DeviceInfoData > joints
Definition: robot.hh:151
DeviceInfoData flange
Definition: robot.hh:152
DeviceInfoData led
Definition: robot.hh:153
std::string url
Definition: robot.hh:187
std::string body
Definition: robot.hh:189
std::map< std::string, std::string > headers
Definition: robot.hh:188
std::string method
Definition: robot.hh:186
std::string body
Definition: robot.hh:195
unsigned int status
Definition: robot.hh:193
std::map< std::string, std::string > headers
Definition: robot.hh:194
关节限位配置.
Definition: robot.hh:405
double min_position
Definition: robot.hh:406
double max_position
Definition: robot.hh:407
double max_v
Definition: robot.hh:409
double max_a
Definition: robot.hh:408
机械臂关节运动数据结构.
Definition: robot.hh:377
CartesianPose actual_tcp_pose
Definition: robot.hh:386
DoubleVector target_joint_speed
Definition: robot.hh:383
DoubleVector target_joint_pose
Definition: robot.hh:382
DoubleVector actual_joint_speed
Definition: robot.hh:379
DoubleVector actual_joint_acc
Definition: robot.hh:380
CartesianPose target_tcp_pose
Definition: robot.hh:387
DoubleVector actual_joint_torque
Definition: robot.hh:381
DoubleVector target_joint_acc
Definition: robot.hh:384
DoubleVector target_joint_torque
Definition: robot.hh:385
DoubleVector actual_joint_pose
Definition: robot.hh:378
CartesianPose actual_flange_pose
Definition: robot.hh:388
double pose
Definition: robot.hh:351
double velocity
Definition: robot.hh:352
double acc
Definition: robot.hh:353
运动学正解的返回值数据结构.
Definition: robot.hh:45
bool ok
Definition: robot.hh:50
CartesianPose pose
Definition: robot.hh:47
运动学逆解的返回值数据结构
Definition: robot.hh:56
bool ok
Definition: robot.hh:61
DoubleVector joint_positions
Definition: robot.hh:58
std::string voice
Definition: robot.hh:258
std::vector< std::string > colors
Definition: robot.hh:257
std::string volume
Definition: robot.hh:259
std::string speed
Definition: robot.hh:256
std::string mode
Definition: robot.hh:255
std::string time
Definition: robot.hh:202
std::string kind
Definition: robot.hh:200
std::string level
Definition: robot.hh:199
std::string detail
Definition: robot.hh:201
std::string kind
Definition: robot.hh:323
unsigned int slave_id
Definition: robot.hh:326
std::string address
Definition: robot.hh:324
unsigned int port
Definition: robot.hh:325
unsigned int address
Definition: robot.hh:331
std::string kind
Definition: robot.hh:330
uint32_t progress
Definition: robot.hh:207
std::string step
Definition: robot.hh:206
机械臂物理数据结构.
Definition: robot.hh:87
DoubleVector joint_temperature
Definition: robot.hh:88
DoubleVector joint_voltage
Definition: robot.hh:89
double flange_voltage
Definition: robot.hh:90
std::string homepage
Definition: robot.hh:289
std::string description
Definition: robot.hh:288
bool auto_restart
Definition: robot.hh:290
bool enable
Definition: robot.hh:294
bool cmd
Definition: robot.hh:293
bool web
Definition: robot.hh:291
std::string name
Definition: robot.hh:287
bool daemon
Definition: robot.hh:292
std::string name
Definition: robot.hh:298
std::string url
Definition: robot.hh:299
std::string kind
Definition: robot.hh:345
CartesianPose cart
Definition: robot.hh:346
std::vector< double > joint
Definition: robot.hh:347
std::vector< JointMoveData > joints
Definition: robot.hh:358
double duration
Definition: robot.hh:357
机器人设备信息.
Definition: robot.hh:117
std::string arm_model
Definition: robot.hh:122
std::string box_model
Definition: robot.hh:120
std::string name
Definition: robot.hh:118
std::string arm_sn
Definition: robot.hh:123
std::string box_sn
Definition: robot.hh:121
std::string mac
Definition: robot.hh:119
double speed_it
Definition: robot.hh:265
double position_kp
Definition: robot.hh:263
double speed_kp
Definition: robot.hh:264
double torque_cmd_filter
Definition: robot.hh:266
std::string dir
Definition: robot.hh:229
std::string name
Definition: robot.hh:230
std::map< std::string, SoftwareItemInfoData > software
Definition: robot.hh:163
std::string branch
Definition: robot.hh:159
std::string version
Definition: robot.hh:158
存储项数据结构.
Definition: robot.hh:78
std::string key
Definition: robot.hh:79
std::string value
Definition: robot.hh:80
std::string name
Definition: robot.hh:336
bool active
Definition: robot.hh:335
unsigned int dof
Definition: robot.hh:338
std::string kind
Definition: robot.hh:337
std::string dyn
Definition: robot.hh:340
std::string servo
Definition: robot.hh:341
std::string dh
Definition: robot.hh:339
控制器系统信息数据结构.
Definition: robot.hh:104
std::string name
Definition: robot.hh:105
uint64_t total_memory
Definition: robot.hh:110
std::string host_name
Definition: robot.hh:108
uint64_t used_memory
Definition: robot.hh:109
std::string os_version
Definition: robot.hh:107
std::string kernel_version
Definition: robot.hh:106
std::string dir
Definition: robot.hh:311
std::vector< std::string > params
Definition: robot.hh:313
std::string name
Definition: robot.hh:312
bool is_simu
Definition: robot.hh:308
unsigned int loop_count
Definition: robot.hh:305
unsigned int loop_to
Definition: robot.hh:306
bool is_parallel
Definition: robot.hh:307
std::string kind
Definition: robot.hh:310
std::string stdout_text
Definition: robot.hh:309
std::string state
Definition: robot.hh:304
bool done
Definition: robot.hh:318
std::string stdout_text
Definition: robot.hh:319
std::vector< PvatPointData > data
Definition: robot.hh:363
std::string kind
Definition: robot.hh:362
std::vector< ButtonIndexData > pressed
Definition: robot.hh:244
ButtonStatusData status
Definition: robot.hh:246
ButtonIndexData button
Definition: robot.hh:245
TriggerConditionData condition
Definition: robot.hh:250
DoubleVector force
Definition: robot.hh:282
DoubleVector torque
Definition: robot.hh:283