lebai sdk  1.4.4
lebai c++ sdk with swig to support sereval languages.
Public Member Functions | Protected Attributes | List of all members
lebai::l_master::Robot Class Reference

机械臂的主要接口对象,通过本对象的方法与机械臂进行数据交互. More...

#include <robot.hh>

Public Member Functions

 Robot (std::string ip, bool simulator=false)
 构造Robot对象. More...
 
virtual ~Robot ()
 析构Robot对象.
 
std::tuple< int, std::string > call (const std::string &method, const std::string &params)
 用JSON格式字符串调用机械臂的接口. More...
 
std::string hello (const std::string &data)
 测试 JSON-RPC 连接.
 
void set_auto (int name, bool value)
 设置自动配置项,name 取值与 SDK2 保持一致: 1, 2, 3.
 
bool get_auto (int name)
 获取自动配置项,name 取值与 SDK2 保持一致: 1, 2, 3.
 
bool is_network_connected ()
 返回是否和机械臂的网络连接正常,如果网络连接异常,调用和机械臂交互的接口会抛出异常std::runtime_error。 More...
 
void start_sys ()
 启动机械臂(机械臂上使能).
 
void stop_sys ()
 停止机械臂(机械臂下使能).
 
void powerdown ()
 关闭机器人电源(关机).
 
void stop ()
 停止运动(但不下电).
 
void estop ()
 紧急停止(急停).
 
void start_teach_mode ()
 进入示教模式.
 
void teach_mode ()
 
void end_teach_mode ()
 退出示教模式.
 
void pause_move ()
 暂停运动.
 
void pause ()
 
void resume_move ()
 恢复运动.
 
void resume ()
 
void reboot ()
 重新启动机箱
 
int move_joint (const std::vector< double > &joint_positions, double a, double v, double t, double r)
 通过关节位置发送机械臂关节移动 More...
 
int movej (const std::vector< double > &joint_positions, double a, double v, double t, double r)
 
int move_joint (const CartesianPose &cart_pose, double a, double v, double t, double r)
 通过坐标位置发送机械臂关节移动 More...
 
int movej (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)
 通过关节位置发送机械臂直线移动 More...
 
int movel (const std::vector< double > &joint_positions, double a, double v, double t, double r)
 
int move_linear (const CartesianPose &cart_pose, double a, double v, double t, double r)
 通过坐标位置发送机械臂直线移动 More...
 
int movel (const CartesianPose &cart_pose, double a, double v, double t, double r)
 
int move_circular (const std::vector< double > &joint_via, const std::vector< double > &joint, double rad, double a, double v, double t, double r)
 通过关节位置发送机械臂圆弧运动. More...
 
int movec (const std::vector< double > &joint_via, const std::vector< double > &joint, double rad, double a, double v, double t, double r)
 
int move_circular (const CartesianPose &cart_via, const CartesianPose &cart, double rad, double a, double v, double t, double r)
 通过坐标位置发送机械臂圆弧运动 More...
 
int movec (const CartesianPose &cart_via, const CartesianPose &cart, double rad, double a, double v, double t, double r)
 
int speed_joint (double a, const std::vector< double > &v, double t=0.0)
 通过关节速度矢量发送机械臂关节匀速运动 More...
 
int speedj (double a, const std::vector< double > &v, double t=0.0)
 
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}})
 通过坐标速度矢量发送机械臂关节匀速运动 More...
 
int speedl (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 toward_joint (const std::vector< double > &joint_positions, double a, double v, double t, double r)
 通过关节位置发送机械臂关节自由移动. More...
 
int towardj (const std::vector< double > &joint_positions, double a, double v, double t, double r)
 
void move_pvat (std::vector< double > p, std::vector< double > v, std::vector< double > a, double t)
 伺服运动PVAT More...
 
void wait_move (unsigned int id)
 等待运动完成. More...
 
void wait_move ()
 等待所有运动完成.
 
unsigned int get_running_motion ()
 查询当前正在运动的MotionId(无运动时返回上次MotionId).
 
std::string get_motion_state (unsigned int id)
 查询指定MotionId的运动状态. More...
 
void stop_move ()
 停止所有运动.
 
void skip_move ()
 跳过当前运动.
 
int get_robot_state ()
 获取机器人状态码 More...
 
int get_estop_reason ()
 查看急停原因 More...
 
SystemInfoData get_system_info ()
 获取控制器系统信息 More...
 
RobotInfoData get_robot_info ()
 获取机器人设备信息 More...
 
HardwareInfoData get_hardware_info ()
 获取控制器硬件信息 More...
 
SoftwareInfoData get_software_info ()
 获取控制器软件信息 More...
 
HttpResponseData http (HttpRequestData request)
 通过控制器发起HTTP请求. More...
 
void clean (const BackupOptionsData &option)
 
void backup (const std::string &file, const BackupOptionsData &option)
 
BackupInfoData get_backup_info (const std::string &file)
 
void restore (const std::string &file, const BackupOptionsData &option)
 
void set_virtual_ip (const std::string &ifname, const std::string &ip)
 
std::vector< std::string > get_box_devices (const std::string &prefix)
 获取控制箱dev设备列表 More...
 
std::vector< DirDataget_dirs ()
 获取数据库目录列表 More...
 
void create_dir (DirData dir)
 创建数据库目录. More...
 
void update_dir (std::string from, std::string to)
 重命名数据库目录. More...
 
std::vector< ShortcutDataget_short_poses ()
 获取所有快捷路点 More...
 
void set_short_pose (ShortcutData shortcut_data)
 设置快捷路点
 
ShortcutData get_short_pose (unsigned int id)
 获取单个快捷路点
 
std::vector< ShortcutDataget_short_tasks ()
 获取所有快捷任务 More...
 
void set_short_task (ShortcutData shortcut_data)
 设置快捷任务
 
ShortcutData get_short_task (unsigned int id)
 获取单个快捷任务
 
std::vector< TriggerDataget_triggers ()
 获取条件任务触发器列表 More...
 
void set_trigger (TriggerData trigger)
 设置条件任务触发器
 
std::map< std::string, LedStyleDataget_led_styles ()
 获取声光交互样式集 More...
 
void set_led_styles (std::map< std::string, LedStyleData > styles)
 设置声光交互样式集 More...
 
LedStyleData load_led_style (std::string name, std::string dir="")
 查询声光样式. More...
 
void save_led_style (std::string name, LedStyleData style, std::string dir="")
 保存声光样式. More...
 
void set_led_style (std::string state, LedStyleData style)
 设置机器人状态对应的声光交互样式. More...
 
std::vector< std::string > load_led_style_list (std::string dir="")
 查询声光样式列表. More...
 
std::vector< ServoParamDataget_servo_params ()
 获取伺服参数 More...
 
void set_servo_params (const std::vector< ServoParamData > &params)
 
void find_zero ()
 
void set_zero (const std::vector< double > &pose, const std::vector< bool > &valids)
 
void set_extra_servo_params (const std::vector< ExtraServoParamData > &params, const std::vector< bool > &valids)
 
void reset_extra_servo_params (const std::vector< bool > &valids)
 
void set_flange_baud_rate (unsigned int baud_rate)
 
WrenchData get_tcp_force ()
 获取末端受力 More...
 
void set_tcp_force (const WrenchData &wrench)
 设置末端受力 More...
 
void set_force_mode_sensor (const std::string &sensor, unsigned int address)
 设置力控传感器. More...
 
void set_force_mode_param (double damping, double gain, const std::vector< double > &max_vel)
 设置力控参数. More...
 
void start_force_mode (const CartesianPose &limit, const WrenchData &wrench)
 开始力控模式. More...
 
void end_force_mode ()
 结束力控模式.
 
std::vector< PluginInfoDataload_plugins ()
 查询已安装插件列表 More...
 
std::vector< PluginStoreInfoDataget_plugin_store ()
 查询插件商店列表. More...
 
PluginInfoData load_plugin (const std::string &name)
 查询已安装插件 More...
 
CommandStdoutData run_plugin_cmd (const std::string &name, const std::vector< std::string > &params=std::vector< std::string >())
 执行插件命令. More...
 
CommandStdoutData enable_plugin (const std::string &name)
 启用插件. More...
 
CommandStdoutData disable_plugin (const std::string &name)
 禁用插件. More...
 
void restart_plugin_daemon (const std::string &name)
 重启插件守护进程. More...
 
std::vector< DiscoveredRobotDatadiscover_robots ()
 通过控制器RPC发现机器人设备. More...
 
CommandStdoutData get_plugin_daemon_stdout (const std::string &name)
 获取插件守护进程输出. More...
 
std::vector< MessageDataget_messages ()
 获取控制器消息列表 More...
 
OtaStateData get_ota_state ()
 获取OTA升级状态 More...
 
CheckUpgradeData check_upgrade ()
 查询是否需要系统升级 More...
 
CommandStdoutData get_upgrade_stdout ()
 获取系统升级输出 More...
 
void sub_buttons_status (uint64_t interval_min, uint64_t interval_max)
 
void sub_kin_data (uint64_t interval_min, uint64_t interval_max)
 
void sub_message (uint64_t interval_min, uint64_t interval_max)
 
void sub_robot_state (uint64_t interval_min, uint64_t interval_max)
 
void sub_phy_data (uint64_t interval_min, uint64_t interval_max)
 
void sub_task_stdout (uint64_t interval_min, uint64_t interval_max)
 
void start_ota (const std::string &address, const std::string &partition, const std::string &file)
 
void switch_partition (const std::string &address, const std::string &partition)
 
void start_upgrade ()
 
int box_test ()
 
std::string init_robot (const std::string &time, const std::string &auth, const RobotInfoData &info)
 
PhysicalData get_phy_data ()
 获取机械臂物理数据 More...
 
JointMotionData get_kin_data ()
 获取机械臂关节运动数据 More...
 
bool is_disconnected ()
 是否已与手臂断开连接 More...
 
bool is_down ()
 手臂是否已下电 More...
 
std::vector< double > get_actual_joint_positions ()
 获取机械臂关节当前反馈位置 More...
 
std::vector< double > get_target_joint_positions ()
 获取机械臂关节当前控制位置 More...
 
std::vector< double > get_actual_joint_speed ()
 获取机械臂关节当前反馈速度 More...
 
std::vector< double > get_target_joint_speed ()
 获取机械臂关节当前控制力矩 More...
 
CartesianPose get_actual_tcp_pose ()
 获取机械臂末端在机械臂基坐标系下的实际位姿,CartesianPose = std::map<std::string,double>,应当包括键为x,y,z,rz,ry,rx的值. More...
 
CartesianPose get_target_tcp_pose ()
 获取机械臂末端在机械臂基坐标系下的控制位姿,CartesianPose = std::map<std::string,double>,应当包括键为x,y,z,rz,ry,rx的值. More...
 
double get_joint_temp (unsigned int joint_index)
 获取单个关节温度 More...
 
std::vector< double > get_actual_joint_torques ()
 获取机械臂关节当前反馈力矩 More...
 
std::vector< double > get_target_joint_torques ()
 获取机械臂关节当前控制力矩 More...
 
void set_do (std::string device, unsigned int pin, unsigned int value)
 设置数字输出 More...
 
void set_dos (std::string device, unsigned int pin, std::vector< unsigned int > values)
 设置多个数字输出
 
unsigned int get_do (std::string device, unsigned int pin)
 获取数字输出 More...
 
std::vector< unsigned int > get_dos (std::string device, unsigned int pin, unsigned int num)
 获取多个数字输出 More...
 
unsigned int get_di (std::string device, unsigned int pin)
 获取数字输入 More...
 
std::vector< unsigned int > get_dis (std::string device, unsigned int pin, unsigned int num)
 获取多个数字输入 More...
 
void set_ao (std::string device, unsigned int pin, double value)
 设置模拟输出 More...
 
void set_aos (std::string device, unsigned int pin, std::vector< double > values)
 设置多个模拟输出
 
double get_ao (std::string device, unsigned int pin)
 获取模拟输出 More...
 
std::vector< double > get_aos (std::string device, unsigned int pin, unsigned int num)
 获取多个模拟输出 More...
 
double get_ai (std::string device, unsigned int pin)
 获取模拟输入 More...
 
std::vector< double > get_ais (std::string device, unsigned int pin, unsigned int num)
 获取多个模拟输入 More...
 
void set_dio_mode (std::string device, unsigned int pin, bool value)
 设置数字端口模式 More...
 
bool get_dio_mode (std::string device, unsigned int pin)
 获取单个数字端口模式 More...
 
std::vector< bool > get_dios_mode (std::string device, unsigned int pin, unsigned int count)
 获取数字端口模式 More...
 
void enable_button (std::string device, unsigned int pin)
 启用按钮输入. More...
 
void disable_button (std::string device, unsigned int pin)
 禁用按钮输入. More...
 
void init_claw (bool force_initilization)
 初始化夹爪 More...
 
void set_claw (double force, double amplitude)
 设置夹爪力度(力控)和幅度(位控).如果在闭合过程中抓取到物体,则不再继续闭合以避免夹坏物体,判断的准则为这里设置的力的大小. More...
 
void set_claw_ao (unsigned int address, double value)
 设置夹爪指定模拟输出数据. More...
 
ClawData get_claw ()
 获取夹爪当前数据 More...
 
ClawData get_claw_data ()
 
double get_claw_ai (unsigned int address)
 读取夹爪指定模拟输入数据. More...
 
void wait_claw_ai (unsigned int address, double value, std::string relation="EQ")
 等待夹爪模拟输入满足指定关系. More...
 
void set_led (unsigned int mode, unsigned int speed, const std::vector< unsigned int > &color)
 设置LED灯状态. More...
 
void set_voice (unsigned int voice, unsigned int volume)
 设置声音 More...
 
void set_fan (unsigned int status)
 开关风扇 More...
 
void set_signal (unsigned int index, int value)
 设置信号量 More...
 
void set_signals (unsigned int index, std::vector< int > values)
 设置多个连续信号量
 
int get_signal (unsigned int index)
 获取信号量 More...
 
std::vector< int > get_signals (unsigned int index, unsigned int len)
 获取多个连续信号量
 
void wait_signal (unsigned int index, int value, std::string relation="EQ")
 等待信号量满足指定关系. More...
 
void add_signal (unsigned int index, int value)
 增加指定下标的信号量值,该操作是原子的. More...
 
unsigned int start_task (const std::string &name, const std::vector< std::string > &params, const std::string &dir, bool is_parallel, unsigned int loop_to)
 调用场景 More...
 
unsigned int start_task (const std::string &name)
 调用场景 More...
 
std::vector< unsigned int > load_task_list ()
 查询任务列表
 
std::vector< unsigned int > get_task_list ()
 
std::vector< TaskDataload_running_tasks ()
 查询运行中的任务列表.
 
TaskStdoutData get_task_stdout (unsigned int id)
 获取任务输出. More...
 
std::string wait_task (unsigned int id)
 等待任务完成 More...
 
void pause_task (unsigned int id, unsigned long time, bool wait)
 暂停任务与运动 More...
 
void pause_task (unsigned int id)
 暂停任务与运动 More...
 
void resume_task (unsigned int id)
 恢复任务与运动 More...
 
void cancel_task (unsigned int id)
 取消任务与运动. More...
 
unsigned int exec_hook (unsigned int id)
 根据已设置的Hook执行对应场景 More...
 
std::string load_task ()
 获取任务状态.
 
std::string get_task_state ()
 
std::string load_task (unsigned int id)
 获取任务状态. More...
 
std::string get_task_state (unsigned int id)
 
KinematicsForwardResp get_forward_kin (const std::vector< double > &joint_positions)
 根据机械臂关节位置计算机器人末端位姿(位置的运动学正解). More...
 
KinematicsForwardResp kinematics_forward (const std::vector< double > &joint_positions)
 
KinematicsInverseResp get_inverse_kin (const CartesianPose &pose, const std::vector< double > &joint_init_positions={})
 根据机械臂的末端位姿计算关节位置(位置的运动学逆解). More...
 
KinematicsInverseResp kinematics_inverse (const CartesianPose &pose, const std::vector< double > &joint_init_positions={})
 
double measure_manipulation (const std::vector< double > &joint_positions)
 估算关节位置的灵活性. More...
 
CartesianPose get_pose_trans (const CartesianPose &a, const CartesianPose &b)
 位姿变换乘法(等价于对应的齐次坐标矩阵乘法) More...
 
CartesianPose pose_times (const CartesianPose &a, const CartesianPose &b)
 
CartesianPose get_pose_add (const CartesianPose &pose, const CartesianPose &delta)
 位姿加. More...
 
CartesianPose calc_frame (const CartesianPose &o, const CartesianPose &x, const CartesianPose &xy)
 三点采样计算原点特征. More...
 
CartesianPose calc_tcp (const std::vector< CartesianPose > &poses)
 三点采样计算工具中心点. More...
 
CartesianPose get_pose_inverse (const CartesianPose &in)
 位姿变换的逆(等价于对应的齐次坐标矩的逆) More...
 
CartesianPose pose_inverse (const CartesianPose &in)
 
void save_file (const std::string &dir, const std::string &name, bool is_dir, const std::string &data)
 保存文件(以字节形式). More...
 
void rename_file (const std::string &from_dir, const std::string &from_name, const std::string &to_dir, const std::string &to_name)
 重命名文件 More...
 
void download_file (const std::string &dir, const std::string &name, const std::string &url)
 通过URL下载文件到控制器. More...
 
std::tuple< bool, std::string > load_file (const std::string &dir, const std::string &name)
 查询文件 More...
 
std::vector< std::tuple< bool, std::string > > load_file_list (const std::string &dir, const std::string &prefix, const std::string &suffix)
 查询文件列表. More...
 
void zip (const std::string &from_dir, std::vector< std::string > files, const std::string &to_dir, const std::string &name)
 将文件从文件系统中压缩到zip文件. More...
 
void unzip (const std::string &from_dir, const std::string &name, std::vector< std::string > files, const std::string &to_dir)
 将zip文件解压到文件系统. More...
 
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内文件列表.
 
void set_tcp (std::array< double, 6 > tcp)
 设置工具中心点(TCP)坐标,坐标值相对于工具坐标系. More...
 
std::array< double, 6 > get_tcp ()
 获取当前机器人工具中心点设置. More...
 
std::vector< DhParamDataget_dh ()
 获取当前DH参数. More...
 
void set_dh (const std::vector< DhParamData > &params)
 
void set_kin_factor (int factor)
 设置速度因子. More...
 
void set_velocity_factor (int factor)
 
int get_kin_factor ()
 获取当前的速度因子. More...
 
int get_velocity_factor ()
 
void set_payload (double mass, std::map< std::string, double > cog)
 设置机器人末端负载. More...
 
void set_payload_mass (double mass)
 设置机器人末端负载质量. More...
 
void set_payload_cog (std::map< std::string, double > cog)
 设置机器人末端负载重心. More...
 
void save_payload (std::string name, std::map< std::string, double > payload, std::string dir="")
 保存末端负载. More...
 
std::map< std::string, double > get_payload ()
 获取末端负载设置. More...
 
std::map< std::string, double > load_payload (std::string name, std::string dir="")
 从资源库加载末端负载. More...
 
std::vector< std::string > load_payload_list (std::string dir="")
 查询负载列表. More...
 
void set_gravity (std::map< std::string, double > gravity)
 设置机器人重力加速度方向. More...
 
std::map< std::string, double > get_gravity ()
 获取机器人重力加速度的方向. More...
 
void enable_collision_detector ()
 使能碰撞检测.
 
void disable_collision_detector ()
 临时禁用碰撞检测.
 
void set_collision_torque_diff (const std::vector< double > &diffs)
 设置碰撞监测误差. More...
 
std::vector< double > get_collision_torque_diff ()
 获取碰撞监测误差. More...
 
void set_collision_detector (const CollisionDetectorConfig &config)
 设置碰撞检测参数. More...
 
CollisionDetectorConfig get_collision_detector ()
 获取碰撞检测参数. More...
 
void enable_limit ()
 使能安全限位检测.
 
void disable_limit ()
 临时禁用安全限位检测.
 
void set_joints_limit (const std::vector< JointLimitConfig > &joints)
 设置关节限位. More...
 
std::vector< JointLimitConfigget_joints_limit ()
 获取关节限位. More...
 
void set_cart_limit (const CartesianLimitConfig &limit)
 设置笛卡尔空间限位. More...
 
CartesianLimitConfig get_cart_limit ()
 获取笛卡尔空间限位. More...
 
CartesianPose load_tcp (std::string name, std::string dir="")
 从资源库加载tcp. More...
 
void save_tcp (std::string name, CartesianPose tcp, std::string dir="")
 保存tcp. More...
 
std::vector< std::string > load_tcp_list (std::string dir="")
 查询工具中心点列表. More...
 
std::vector< std::string > load_trajectory_list (std::string dir="")
 查询轨迹列表. More...
 
TrajectoryData load_trajectory (std::string name, std::string dir="")
 查询轨迹. More...
 
void save_trajectory (std::string name, TrajectoryData trajectory, std::string dir="")
 保存轨迹. More...
 
unsigned int move_trajectory (std::string name, std::string dir="")
 
void start_record_trajectory (std::string kind, double duration)
 开始记录轨迹. More...
 
void end_record_trajectory (std::string name, std::string dir="")
 结束记录轨迹并保存. More...
 
std::vector< std::string > load_pose_list (std::string dir="")
 查询路点列表. More...
 
PoseData load_pose (std::string name, std::string dir="")
 查询路点. More...
 
void save_pose (std::string name, PoseData pose, std::string dir="")
 保存路点. More...
 
std::vector< std::string > load_frame_list (std::string dir="")
 查询特征列表. More...
 
FrameData load_frame (std::string name, std::string dir="")
 查询特征. More...
 
void save_frame (std::string name, FrameData frame, std::string dir="")
 保存特征. More...
 
std::vector< std::string > load_structure_list (std::string dir="")
 查询机器人结构列表. More...
 
StructureData load_structure (std::string name, std::string dir="")
 查询机器人结构. More...
 
void save_structure (std::string name, StructureData structure, std::string dir="")
 保存机器人结构. More...
 
std::vector< std::string > load_modbus_list (std::string dir="")
 查询Modbus配置列表. More...
 
ModbusData load_modbus (std::string name, std::string dir="")
 查询Modbus设备. More...
 
void save_modbus (std::string name, ModbusData modbus)
 保存Modbus设备. More...
 
void set_modbus_timeout (std::string device, unsigned int timeout)
 设置Modbus设备超时时间. More...
 
void set_modbus_retry (std::string device, unsigned int retry)
 设置Modbus设备重试次数. More...
 
void disconnect_modbus (std::string device)
 断开Modbus设备连接. More...
 
std::vector< std::string > load_modbus_register_list (std::string device)
 查询Modbus寄存器列表. More...
 
ModbusRegisterData load_modbus_register (std::string device, std::string name)
 查询Modbus寄存器. More...
 
void save_modbus_register (std::string device, std::string name, ModbusRegisterData reg)
 保存Modbus寄存器. More...
 
void write_single_coil (std::string device, std::string addr, bool value)
 写单个线圈. More...
 
void write_multiple_coils (std::string device, std::string addr, std::vector< bool > values)
 写多个线圈 More...
 
void wirte_multiple_coils (std::string device, std::string addr, std::vector< bool > values)
 
std::vector< bool > read_coils (std::string device, std::string addr, unsigned int num)
 读线圈 More...
 
std::vector< bool > read_discrete_inputs (std::string device, std::string addr, unsigned int num)
 读离散输入 More...
 
void write_single_register (std::string device, std::string addr, unsigned int value)
 写单个寄存器 More...
 
void write_multiple_registers (std::string device, std::string addr, std::vector< unsigned int > values)
 写多个寄存器 More...
 
std::vector< unsigned int > read_holding_registers (std::string device, std::string addr, unsigned int num)
 读保持寄存器 More...
 
std::vector< unsigned int > read_input_registers (std::string device, std::string addr, unsigned int num)
 读输入寄存器 More...
 
void set_serial_baud_rate (std::string device, unsigned int baud_rate)
 设置串口波特率. More...
 
void set_serial_timeout (std::string device, unsigned int timeout)
 设置串口超时时间. More...
 
void set_serial_parity (std::string device, unsigned int parity)
 设置串口校验位. More...
 
void write_serial (std::string device, std::vector< unsigned int > data)
 串口发送数据. More...
 
std::vector< unsigned int > read_serial (std::string device, unsigned int len)
 串口读取数据. More...
 
void clear_serial (std::string device)
 清除串口收发缓存. More...
 
void set_item (StorageItem item)
 设置存储项. More...
 
StorageItem get_item (std::string name)
 获取存储项. More...
 
std::vector< StorageItemget_items (std::string prefix)
 获取存储项列表. More...
 

Protected Attributes

std::unique_ptr< RobotImpl > impl_
 

Detailed Description

机械臂的主要接口对象,通过本对象的方法与机械臂进行数据交互.

Note
使用该数据结构和机械臂交互要求机械臂软件版本>=3.1.5。
接口的每一个函数都可能抛出异常std::runtime_error, 这是因为网络连接丢失或者调用的逻辑错误等。

Constructor & Destructor Documentation

◆ Robot()

lebai::l_master::Robot::Robot ( std::string  ip,
bool  simulator = false 
)
explicit

构造Robot对象.

Note
当你尝试创建Robot对象时,会根据传入的ip参数尝试去连接机械臂,但是可能会连接失败,当连接不成功时,对象依然会创建。
Parameters
ip机械臂IP地址.
simulator用于表示机械臂是否为仿真机械臂(docker仿真或控制器运行在仿真模式下)的macs标志.True表示仿真模式,False表示实物机械臂.

Member Function Documentation

◆ call()

std::tuple<int, std::string> lebai::l_master::Robot::call ( const std::string &  method,
const std::string &  params 
)

用JSON格式字符串调用机械臂的接口.

示例代码:

std::string movej_req = "{\"param\":{\"v\":0.1},\"pose\":{\"joint\":{\"delta\":"{\"joint\":[-1.0,0.0,0.0,0.0,0.0,0.0]}}}}";
resp = robot.call("movej", movej_req);
std::cout << "resp: " << std::get<0>(resp) << ", " << std::get<1>(resp) << std::endl;
Note
SDK采用JSONRPC协议和机械臂控制进行通讯. 您可以自行生成JSON数据,并通过本接口调用相应的JSONRPC,并获取返回的结果和JSON数据.
Parameters
[in]method方法名字
[in]params请求JSONRPC的JSON格式字符串.
Returns
返回一个元组,第一个元素是返回码,第二个元素是数据字符串. 如果返回码为0,表示调用成功,第二个元素是JSONRPC的返回数据. 如果返回码为非0,表示调用失败,第二个元素是错误信息.

◆ is_network_connected()

bool lebai::l_master::Robot::is_network_connected ( )

返回是否和机械臂的网络连接正常,如果网络连接异常,调用和机械臂交互的接口会抛出异常std::runtime_error。

Note
不建议使用,直接catch接口调用获取网络异常。
Returns
true 表示网络连接正常,false表示网络连接异常.

Member Data Documentation

◆ impl_

std::unique_ptr<RobotImpl> lebai::l_master::Robot::impl_
protected

内部实现数据结构,用户无需关注.


The documentation for this class was generated from the following file: