C#
約23分
C#
本書類では、JAKA SDK(C#)で定義されているデータ型とAPIについて説明します。主に、C#を使用して仮想または実際のコントローラと通信するロボットアプリケーションを作成するソフトウェア開発者を対象としています。JAKAロボットコントローラのアプリケーションを理解する必要があるユーザーにも有用です。
インターフェース一覧
ロボット基礎操作
ロボットアームログイン
int create_handler(char[] ip, ref int handle, bool use_grpc = false) ;
int create_handler([MarshalAs(UnmanagedType.LPStr)] string ip, ref int handle, bool use_grpc = false);
int create_handler_with_auth([MarshalAs(UnmanagedType.LPStr)] string ip, ref int handle, bool use_grpc,[MarshalAs(UnmanagedType.LPStr)] string username, [MarshalAs(UnmanagedType.LPStr)] string password);
ロボットアームログアウト
int destory_handler(ref int handle)
ロボットアームログイン
int power_on(ref int handle)
ロボットアーム電源オフ
int power_off(ref int handle)
ロボットアームシャットダウン
int shut_down(ref int handle)
ロボットアーム有効化
int enable_robot(ref int handle)
ロボットアーム無効化
int disable_robot(ref int handle)
現在接続されているロボットアームのDHパラメータを取得
int get_dh_param(ref int handle,ref JKTYPE.DHParam offset)
ロボットアームの設置角度を設定
int set_installation_angle(ref int handle, double angleX, double angleZ)
ロボットアームの設置角度を取得
int get_installation_angle(ref int handle, ref JKTYPE.Quaternion quat, ref JKTYPE.Rpy appang)
ロボットアームの状態を取得
int get_robot_state(ref int handle, ref JKTYPE.RobotState state)
ロボットアームの状態監視データを取得 — 唯一のマルチスレッド安全インターフェース
int get_robot_status(ref int handle, ref JKTYPE.RobotStatus status)
ロボットアームの状態監視データを取得
int get_robot_status_simple(ref int handle, ref JKTYPE.get_robot_status_simple status)
SDK関連
ロボットアームのエラー時にコールバック関数を登録
int set_error_handler(ref int handle, CallBackFuncType func)
SDKバージョン番号を取得
int get_sdk_version(ref int handle, StringBuilder version, int size)
ネットワーク異常時にロボットアームの動作を自動停止するタイプを設定
int set_network_exception_handle(ref int handle, float millisecond, JKTYPE.ProcessType mnt)
コントローラのIPを取得
int get_controller_ip(char[] controller_name, StringBuilder ip);
int get_controller_ip([MarshalAs(UnmanagedType.LPStr)] string controller_name, StringBuilder ip)
ロボットアームのエラーコードファイル保存パスを設定
int set_errorcode_file_path(ref int handle, StringBuilder path)
ロボットアームのエラーコードファイル保存パスを設定し、現在発生している最後のエラーコードを取得
int get_last_error(ref int handle, ref JKTYPE.ErrorCode code)
エラーをクリアする。衝突アラームをクリアし、衝突アラームから復旧する
int clear_error(ref int i)
SDKのデバッグモードを有効にするかどうかを設定
int set_debug_mode(ref int handle, bool mode)
SDKログのパスを設定
int set_SDK_filepath(ref int handle, ref char[] filepath);
int set_SDK_filepath(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string filepath)
SDKログパスを取得
int get_SDK_filepath(char[] path, int size);
int get_SDK_filepath(StringBuilder path, int size)
ロボット動作出力
ロボットアームの手動モードでの動作
int jog(ref int handle, int aj_num, JKTYPE.MoveMode move_mode, JKTYPE.CoordType coord_type, double vel_cmd, double pos_cmd)
ロボットアームの手動モード動作を停止
int jog_stop(ref int handle, int num)
ロボットアーム関節運動
int joint_move(ref int handle, ref JKTYPE.JointValue joint_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed);
int joint_move_extend(ref int handle, ref JKTYPE.JointValue joint_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed, double acc, double tol, ref JKTYPE.OptionalCond option_cond)
ロボットアーム末端の直線運動
int linear_move(ref int handle, ref JKTYPE.CartesianPose end_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed);
int linear_move_extend(ref int handle, ref JKTYPE.CartesianPose cart_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed, double acc, double tol, ref JKTYPE.OptionalCond option_cond);
int linear_move_extend_ori(ref int handle, ref JKTYPE.CartesianPose cart_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed, double acc, double tol, ref JKTYPE.OptionalCond option_cond, double ori_vel, double ori_acc)
ロボットアーム円弧運動
int circular_move(ref int handle, ref JKTYPE.CartesianPose end_pos, ref JKTYPE.CartesianPose mid_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed, double acc, double tol, ref JKTYPE.OptionalCond option_cond);
int circular_move_extend(ref int handle, ref JKTYPE.CartesianPose end_pos, ref JKTYPE.CartesianPose mid_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed, double acc, double tol, ref JKTYPE.OptionalCond option_cond, double circle_cnt);
int circular_move_extend_mode(ref int handle, ref JKTYPE.CartesianPose end_pos, ref JKTYPE.CartesianPose mid_pos, JKTYPE.MoveMode move_mode, bool is_block, double speed, double acc, double tol, ref JKTYPE.OptionalCond option_cond, double circle_cnt, int circle_mode)
ロボットアームの動作倍率を設定
int set_rapidrate(ref int handle, double rapid_rate)
ロボットアームの動作倍率を取得
int get_rapidrate(ref int handle, ref double rapid_rate)
ツール情報を設定
int set_tool_data(ref int handle, int id, ref JKTYPE.CartesianPose tcp, char[] name);
int set_tool_data(ref int handle, int id, ref JKTYPE.CartesianPose tcp, [MarshalAs(UnmanagedType.LPStr)] string name)
ツール情報を取得
int get_tool_data(ref int handle, int id, ref JKTYPE.CartesianPose tcp)
現在使用中のツールIDを設定する
int set_tool_id(ref int handle, int id)
現在使用中のツールIDを照会する
int get_tool_id(ref int handle, ref int id)
ユーザー座標系情報を設定する
int set_user_frame_data(ref int handle, int id, ref JKTYPE.CartesianPose user_frame, char[] name);
int set_user_frame_data(ref int handle, int id, ref JKTYPE.CartesianPose user_frame, [MarshalAs(UnmanagedType.LPStr)] string name)
ユーザー座標系情報を取得
int get_user_frame_data(ref int handle, int id, ref JKTYPE.CartesianPose user_frame)
現在使用中のユーザー座標系IDを設定する
int set_user_frame_id(ref int handle, int id)
現在使用中のユーザー座標系IDを照会する
int get_user_frame_id(ref int handle, ref int id)
ロボットアームをドラッグモードに入るまたは終了させる
int drag_mode_enable(ref int handle, bool enable)
ロボットアームがドラッグモード中かどうかを照会する
int is_in_drag_mode(ref int handle, ref bool in_drag)
関節の摩擦補償係数(ドラッグ感パラメータ)を設定する
int set_drag_friction_compensation_gain(ref int handle, int joint, int gain);
関節の摩擦補償係数(ドラッグ操作感パラメータ)を取得する
int get_drag_friction_compensation_gain(ref int handle, ref JKTYPE.DragFrictionCompensationGainList gainList);
現在の設定下でのツールエンドの姿勢——サーボフィードバックを取得する
int get_actual_tcp_position(ref int handle, ref JKTYPE.CartesianPose tcp_position)
現在の設定下でのツールエンドの姿勢を取得する
int get_tcp_position(ref int handle, ref JKTYPE.CartesianPose tcp_position)
現在のロボットアームの関節角度——サーボフィードバックを取得する
int get_actual_joint_position(ref int handle, ref JKTYPE.JointValue joint_position)
現在のロボットアームの関節角度を取得する
int get_joint_position(ref int handle, ref JKTYPE.JointValue joint_position)
手動または自動モードを設定
int set_auto_manual_mode(int mode, int robot_id)
現在のロボットアーム操作モードを取得
int get_auto_manual_mode(ref int mode, int robot_id)
ロボットアームがリミットを超えているかを確認する
int is_on_limit(ref int handle, ref bool on_limit)
ロボットアームの動作が停止しているかを確認する
int is_in_pos(ref int handle, ref bool in_pos)
ロボットアームが非常停止状態にあるかを確認する
int is_in_estop(ref int handle, ref bool estop)
ロボットアームのモーションプランナータイプを設定する
int set_motion_planner(ref int handle, int type)
ロボットアームの動作を中止する
int motion_abort()
ロボットアームの動作状態を確認する
int get_motion_status(ref int handle, ref JKTYPE.MotionStatus status)
ロボットアームのペイロードを設定する
int set_payload(ref int handle, ref JKTYPE.PayLoad payload)
ロボットアームのペイロードデータを取得する
int get_payload(ref int handle, ref JKTYPE.PayLoad payload)
IO関連
デジタル出力変数を設定する
int set_digital_output(ref int handle, JKTYPE.IOType type, int index, bool value)
アナログ出力変数を設定する
int set_analog_output(ref int handle, JKTYPE.IOType type, int index, float value)
デジタル入力状態を照会
int get_digital_input(ref int handle, JKTYPE.IOType type, int index, ref bool result)
デジタル出力状態を照会
int get_digital_output(ref int handle, JKTYPE.IOType type, int index, ref bool result)
アナログ入力変数の値を取得
int get_analog_input(ref int handle, JKTYPE.IOType type, int index, ref float result)
アナログ出力変数の値を取得
int get_analog_output(ref int handle, JKTYPE.IOType type, int index, float result)
動作中にデジタル出力変数を設定する
int set_motion_digital_output(ref int handle, JKTYPE.IOType type, int index, bool value, bool rel, double distance);
動作中にアナログ出力変数を設定する
int set_motion_analog_output(ref int handle, JKTYPE.IOType type, int index, float value)
拡張IOが動作中か確認
int is_extio_running(ref int handle, ref bool is_running)
TIO関連
TIOv3電圧パラメータを設定
int set_tio_vout_param(ref int handle, int vout_enable,int vout_vol)
TIOv3電圧パラメータを取得
int get_tio_vout_param(ref int handle,ref int vout_enable,ref int vout_vol)
TIOセマフォを追加または変更
int add_tio_rs_signal(ref int handle, JKTYPE.SignInfo sign_info)
TIOセマフォを削除
int del_tio_rs_signal(ref int handle, char[] sig_name);
int del_tio_rs_signal(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string sig_name)
TIO RS485コマンドを送信
int send_tio_rs_command(ref int handle, int chn_id, byte[] data, int buffsize)
TIO セマフォ情報の更新
int update_tio_rs_signal(ref int handle, [In, Out] JKTYPE.SignInfo_simple[] sign_info)
TIOセマフォ情報を取得
int get_rs485_signal_info(ref int handle, [In, Out] JKTYPE.SignInfo[] sign_info, ref int size)
TIOモードを設定
int set_tio_pin_mode(ref int handle, int pin_type, int pin_mode)
TIOモードを取得
int get_tio_pin_mode(ref int handle, int pin_type, ref int pin_mode)
TIO RS485通信パラメータ設定
int set_rs485_chn_comm(ref int handle, JKTYPE.ModRtuComm mod_rtu_com)
TIO RS485通信パラメータ照会
int get_rs485_chn_comm(ref int handle, ref JKTYPE.ModRtuComm mod_rtu_com)
TIO RS485通信モード設定
int set_rs485_chn_mode(ref int handle, int chn_id, int chn_mode)
TIO RS485通信モード照会
int get_rs485_chn_mode(ref int handle, int chn_id, ref int chn_mode)
サーボ関連
ロボットアームがサーボ動作状態にあるかを確認
int is_in_servomove(ref int handle, bool in_servo)
ロボットアームのサーボ位置制御モードを有効化
int servo_move_enable(ref int handle, bool enable);
int servo_move_enable_extend(ref int handle, bool enable, bool is_block, int robot_id)
ロボットアーム関節空間サーボモード動作
int servo_j(ref int handle, ref JKTYPE.JointValue joint_pos, JKTYPE.MoveMode move_mode, int step_num = 1);
(int ret, int queue_num) servo_j(ref int handle, ref JKTYPE.JointValue joint_pos, JKTYPE.MoveMode move_mode, int step_num = 1, JKTYPE.DOInfo? do_info = null, int robot_id = 0)
ロボットアームデカルト空間サーボモード動作拡張
int servo_p(ref int handle, ref JKTYPE.CartesianPose cartesian_pose, JKTYPE.MoveMode move_mode, int step_num = 1);
(int, int queue_num) servo_p(ref int handle, ref JKTYPE.CartesianPose cartesian_pose, JKTYPE.MoveMode move_mode, int step_num = 1, JKTYPE.DOInfo? do_info = null, int robot_id = 0)
ロボットアームのサーボモードでフィルターを無効にする
int servo_move_use_none_filter(ref int i)
ロボットアームのサーボモードで関節空間の一次ローパスフィルタ
int servo_move_use_joint_LPF(ref int handle, double cutoffFreq)
ロボットアームのサーボモードで関節空間の非線形フィルタ
int servo_move_use_joint_NLF(ref int handle, double max_vr, double max_ar, double max_jr)
ロボットアームのサーボモードでデカルト空間の非線形フィルタ
int servo_move_use_carte_NLF(ref int handle, double max_vp, double max_ap, double max_jp, double max_vr, double max_ar, double max_jr);
int servo_move_use_carte_NLF_extend(ref int handle, double max_vp, double max_ap, double max_jp, double max_vr, double max_ar, double max_jr, int ori_quat, int robot_id)
ロボットアームのサーボモードで関節空間の多段平均フィルタ
int servo_move_use_joint_MMF(ref int handle, int max_buf, double kp, double kv, double ka)
ロボットアームのサーボモードで速度先見パラメータを設定
int servo_speed_foresight(ref int handle, int max_buf, double kp);
int servo_speed_foresight_extend(ref int handle, int max_buf, double kp, int ori_quat, int robot_id)
ロボットアームのSERVOモードで関節空間フィルタを適用
int servo_move_use_joint_PCM(ref int handle, int max_buf, double kp, int robot_id);
ロボットアームのSERVOモードでデカルト空間フィルタを適用
int servo_move_use_carte_PCM(ref int handle, int max_buf, double kp, int robot_id);
ロボットアームのSERVOモードでサーボ軌跡ファイルを実行
int start_servo_traj(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string file)
サーボ軌跡の実行状態を取得
int get_traj_status(ref int handle, ref int is_running, ref whole_points, ref progress)
サーボ軌跡ファイルの実行を停止
int stop_servo_traj(ref int handle)
EDG
ロボットアームEDGのイネーブル
int edg_init(ref int handle, ref bool en, char[] edg_stat_ip)
int edg_init_extend(ref int handle, ref bool en, char[] edg_stat_ip, int edg_port, int edg_mode)
ロボットアームの高速EDGフィードバックデータ取得
int edg_get_stat(ref int handle, ref JKTYPE.EDGState edg_state, byte robot_index)
ロボットアームのEDGフィードバックデータ送信タイムスタンプ取得
int edg_stat_details(ref int handle, ulong[] details)
ロボットアームEDG関節空間サーボモード動作
int edg_servo_j(ref int handle, ref JKTYPE.JointValue joint_pos, JKTYPE.MoveMode move_mode, int step_num, byte robot_index)
ロボットアームEDGデカルト空間サーボモード動作
int edg_servo_p(ref int handle, ref JKTYPE.CartesianPose cartesian_pose, JKTYPE.MoveMode move_mode, int step_num, byte robot_index)
軌跡関連
軌跡再現の設定パラメータを設定
int set_traj_config(ref int handle, ref JKTYPE.TrajTrackPara para)
軌跡再現の設定パラメータを取得
int get_traj_config(ref int handle, ref JKTYPE.TrajTrackPara para)
軌跡再現データ収集の制御スイッチ
int set_traj_sample_mode(ref int handle, bool mode, char[] filename);
int set_traj_sample_mode(ref int handle, bool mode, [MarshalAs(UnmanagedType.LPStr)] string filename)
軌跡再現データ収集の状態を照会
int get_traj_sample_status(ref int handle, ref bool sample_statuse)
コントローラ内に既に存在する軌跡再現データのファイル名を取得する
int get_exist_traj_file_name(ref int handle, ref JKTYPE.MultStrStorType filename)
軌跡再現データのファイル名を変更する
int rename_traj_file_name(ref int handle, ref char[] src, ref char[] dest);
int rename_traj_file_name(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string src, [MarshalAs(UnmanagedType.LPStr)] string dest)
コントローラ内の軌跡再現データファイルを削除
int remove_traj_file(ref int handle, ref char[] filename);
int remove_traj_file(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string filename)
コントローラ内の軌跡再現データファイルからコントローラ実行スクリプトを生成する
int generate_traj_exe_file(ref int handle, char[] filename);
int generate_traj_exe_file(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string filename)
プログラム関連
現在読み込まれているジョブプログラムを実行する
int program_run(ref int handle)
現在実行中のジョブプログラムを一時停止する
int program_pause(ref int handle)
現在一時停止中のジョブプログラムを再開する
int program_resume(ref int handle)
現在実行中のジョブプログラムを終了する
int program_abort(ref int handle)
指定されたジョブプログラムを読み込む
int program_load(ref int handle, char[] file);
int program_load(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string file)
読み込まれているジョブプログラムの名前を取得する
int get_loaded_program(ref int handle, StringBuilder file, 100)
現在のロボットアームジョブプログラムの実行行番号を取得する
int get_current_line(ref int handle, ref int curr_line)
ロボットアームのジョブプログラムの実行状態を取得する
int get_program_state(ref int handle, ref JKTYPE.ProgramState status)
ロボットアームのジョブプログラム情報を取得する
int get_program_info(ref int handle, ref JKTYPE.ProgramInfo info)
システム変数を取得する
int get_user_var(ref int handle, ref JKTYPE.UserVariableList vlist)
システム変数を設定する
int set_user_var(ref int handle, ref JKTYPE.UserVariable v)
FTP
FTPクライアントを初期化する
int init_ftp_client(ref int i)
FTPクライアントを閉じる
int close_ftp_client(ref int i)
FTPダウンロード
int download_file(ref int handle, char[] local, char[] remote, int opt);
int download_file(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string local, [MarshalAs(UnmanagedType.LPStr)] string remote, int opt)
FTPアップロード
int upload_file(ref int handle, char[] local, char[] remote, int opt);
int upload_file(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string local, [MarshalAs(UnmanagedType.LPStr)] string remote, int opt)
FTP削除
int del_ftp_file(ref int handle, char[] remote, int opt);
int del_ftp_file(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string remote, int opt)
FTPファイル名の変更
int rename_ftp_file(ref int handle, char[] remote, char[] des, int opt);
int rename_ftp_file(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string remote, [MarshalAs(UnmanagedType.LPStr)] string des, int opt)
FTPディレクトリ照会
int get_ftp_dir(ref int handle, char[] remote, int type, StringBuilder ret );
int get_ftp_dir(ref int handle, [MarshalAs(UnmanagedType.LPStr)] string remote, int type, StringBuilder ret )
力制御関連
エンド力センサのモデルを設定する
int set_torsenosr_brand(ref int handle, int sensor_brand)
エンド部力覚センサーの型番を取得
int get_torsenosr_brand(ref int handle, ref int sensor_brand)
エンドエフェクタ力センサーのオン/オフを切り替える
int set_torque_sensor_mode(ref int handle, int sensor_mode)
センサーの動作状態を取得する
int get_torque_sensor_mode(ref int handle, ref int sensor_mode)
エンドエフェクタの力センサー通信パラメータを設定
int set_torque_sensor_comm(ref int handle, int type, ref char[] ip_addr, int port);
int set_torque_sensor_comm(ref int handle, int type, [MarshalAs(UnmanagedType.LPStr)] string ip_addr, int port)
エンドエフェクタの力センサー通信パラメータを取得
int get_torque_sensor_comm(ref int handle, ref int type, [MarshalAs(UnmanagedType.LPStr)] StringBuilder ip_addr, ref int port)
力コンプライアンス制御を無効にする
int disable_force_control(ref int handle);
エンドエフェクタの力センサーのローパスフィルタカットオフ周波数を設定
int set_torque_sensor_filter(ref int handle, float torque_sensor_filter)
エンドエフェクタの力センサーのローパスフィルタカットオフ周波数を取得
int get_torque_sensor_filter(ref int handle, ref float torque_sensor_filter)
エンド力センサのソフトリミットを設定する
int set_torque_sensor_soft_limit(ref int handle, JKTYPE.FTxyz torque_sensor_soft_limit)
エンド力センサのソフトリミットを取得する
int get_torque_sensor_soft_limit(ref int handle, ref JKTYPE.FTxyz torque_sensor_soft_limit)
センサーの状態とデータを取得する
int get_torque_sensor_data(ref int handle, int type, ref JKTYPE.TorqSensorData)
センサーをゼロ設定にする
int zero_end_sensor(ref int handle)
力制御の速度制限を設定する
int set_compliant_speed_limit(ref int handle, double vel, double angular_vel)
力制御の速度制限を取得する
int get_compliant_speed_limit(ref int handle, ref double vel, ref double angular_vel)
速度コンプライアンス制御パラメータを設定する
int set_vel_compliant_ctrl(ref int handle, ref JKTYPE.VelCom vel_cfg)
トルク基準中心を設定する
int set_torque_ref_point(ref int handle, int refPoint)
トルク参照点を取得
int get_torque_ref_point(ref int handle, ref int refPoint)
センサー感度を設定する
int set_end_sensor_sensitivity_threshold(ref int handle, JKTYPE.FTxyz)
センサー感度を取得する
int get_end_sensor_sensitivity_threshold(ref int handle, ref JKTYPE.FTxyz)
力制御の停止条件を設定する
int set_force_stop_condition(ref int handle, ref JKTYPE.ForceStopConditionList)
センサーの基本情報を取得
int get_ft_sensor_basic_info(ref int handle, ref JKTYPE.FTSensorBasicInfoStr infos, int robot_id)
センサーのソフトリミットルールを取得
int get_ft_sensor_soft_limit_rules(ref int handle, ref JKTYPE.FTSensorSoftLimitRuleStr rules, int robot_id)
センサーのソフトリミットルールを設定
int set_ft_sensor_soft_limit_rules(ref int handle, ref JKTYPE.FTSensorSoftLimitRuleStr rules, int robot_id)
センサーのフィルター パラメータを設定する
int set_ft_sensor_filter(ref int handle, int sensor_id, ref double filter)
センサーのフィルター パラメータを取得する
int get_ft_sensor_filter(ref int handle, int sensor_id, ref double filter)
センサーモードを取得する
int get_ft_sensor_mode(ref int handle, int sensor_id, ref int mode)
力覚センサのゼロ点調整
int set_ft_sensor_zero(ref int handle, int sensor_id)
センサーのしきい値を設定する
int set_contact_force_threshold(ref int handle, int sensor_id, ref JKTYPE.FTSensorThresholdStr threshold)
センサーのしきい値を取得する
int get_contact_force_threshold(ref int handle, int sensor_id, ref JKTYPE.FTSensorThresholdStr threshold)
センサーの基準点を設定する
int set_ft_sensor_ref_point(ref int handle, ref JKTYPE.CartesianTran ref_point, int robot_id)
センサーの基準点を取得する
int get_ft_sensor_ref_point(ref int handle, ref JKTYPE.CartesianTran ref_point, int robot_id)
センサー データを取得する
int get_ft_sensor_data(ref int handle, int sensor_id, int type, ref JKTYPE.FTSensorDataStr data)
センサーの負荷を取得する
int get_ft_sensor_payload(ref int handle, int sensor_id, ref JKTYPE.PayLoad payload)
センサーの負荷を設定する
int set_ft_sensor_payload(ref int handle, int sensor_id, int payload_id)
現在ロボットアームに接続されているセンサーIDを取得する
int get_linked_ft_sensor_id(ref int handle, ref JKTYPE.FTLinkedSensorIDStr sensor_ids, int robot_id)
センサーを追加する
int add_ft_sensor(ref int handle, ref JKTYPE.FTSensorConfigStr config, int robot_id)
センサーを削除
int remove_ft_sensor(ref int handle, int sensor_id, int robot_id)
力制御モードでの速度制限を設定
int set_force_ctrl_vel_limit(ref int handle, ref JKTYPE.VelocityLimit limit, int robot_id)
力制御モードでの速度制限を取得
int get_force_ctrl_vel_limit(ref int handle, ref JKTYPE.VelocityLimit limit, int robot_id)
接近速度制限を設定
int set_approaching_vel_limit(ref int handle, ref JKTYPE.VelocityLimit limit, int robot_id)
接近速度制限を取得
int get_approaching_vel_limit(ref int handle, ref JKTYPE.VelocityLimit limit, int robot_id)
定力コンプライアンス制御モードのパラメータを設定
int set_cst_force_ctrl_config(ref int handle, ref JKTYPE.AdmitCtrlType config, int robot_id)
定力コンプライアンス制御モードのパラメータを取得
int get_cst_force_ctrl_config(ref int handle, ref JKTYPE.AdmitCtrlType config, int robot_id)
定力コンプライアンス制御の許容差を設定
int set_cst_force_ctrl_tol(ref int handle, ref JKTYPE.FTxyz tol, int robot_id)
定力コンプライアンス制御の許容差を取得
int get_cst_force_ctrl_tol(ref int handle, ref JKTYPE.FTxyz tol, int robot_id)
負荷識別
センサーエンドの負荷識別を開始
int start_torq_sensor_payload_identify(ref int handle, ref JKTYPE.JointValue joint_pos)
センサーエンドの負荷識別状態を取得
int get_torq_sensor_identify_staus(ref int handle, ref int identify_status)
センサーエンドの負荷識別結果を取得
int get_torq_sensor_payload_identify_result(ref int handle, ref JKTYPE.PayLoad payload)
センサーエンドの負荷を設定
int set_torq_sensor_tool_payload(ref int handle, ref JKTYPE.PayLoad payload)
センサー先端の負荷を取得
int get_torq_sensor_tool_payload(ref int handle, ref JKTYPE.PayLoad payload)
ツールドラッグ
力コンプライアンス制御パラメータを取得
int get_admit_ctrl_config(ref int handle, ref JKTYPE.RobotAdmitCtrl admit_ctrl_cfg)
力・コンプライアンス制御パラメータの設定
int set_admit_ctrl_config(ref int handle, int axis, int opt, double ftUser, double ftConstant, int ftNnormalTrack, double ftReboundFK)
ツールドラッグのオン/オフを切り替える
int enable_admittance_ctrl(ref int handle, int enable_flag)
ツールドラッグを有効にする
int enable_tool_drive(ref int handle, int enable_flag)
ツールドラッグの有効状態を取得
int get_tool_drive_state(ref int handle, ref int enable_flag, ref int state)
ツールドラッグパラメータを取得
int get_tool_drive_config(ref int handle, ref JKTYPE.RobotToolDriveCtrl)
力制御ドラッグ感覚パラメータを設定
int set_tool_drive_config(ref int handle, JKTYPE.ToolDriveConfig)
ツールドラッグ座標系を取得
int get_tool_drive_frame(ref int handle, ref JKTYPE.FTFrameType)
ツールドラッグ座標系を設定
int set_tool_drive_frame(ref int handle, JKTYPE.FTFrameType)
融合ドライブ感度を取得
int get_fusion_drive_sensitivity_level(ref int handle, ref int level)
融合ドライブ感度を設定
int set_fusion_drive_sensitivity_level(ref int handle, int level)
動作制限の取得 - 特異点および関節リミットの警告範囲
int get_motion_limit_warning_range(ref int handle, ref int warning_range)
動作制限の設定 - 特異点および関節リミットの警告範囲
int set_motion_limit_warning_range(ref int handle, int warning_range)
力制御
恒力コンプライアンス制御座標系を設定
int set_ft_ctrl_frame(ref int handle, int ftFrame)
恒力コンプライアンス制御座標系を取得
int get_ft_ctrl_frame(ref int handle,ref int ftFrame)
力制御タイプとゼロ校正(初期化)オプションを設定する
int set_compliant_type(ref int handle, int sensor_compensation, int compliance_type)
力制御タイプと読み取り表示(初期化)状態を取得する
int get_compliant_type(ref int handle, ref int sensor_compensation, ref int compliance_type)
速度コンプライアンス制御の力条件を設定する
int set_compliance_condition(ref int handle, ref JKTYPE.FTxyz ft)
接近速度制限を設定
int set_approach_speed_limit(ref int handle, double vel, double angularVel)
接近速度制限を取得
int get_approach_speed_limit(ref int handle, ref double vel, ref double angularVel)
恒力制御許容値を設定
int set_ft_tolerance(ref int handle, double force, double torque)
恒力制御許容値を取得
int get_ft_tolerance(ref int handle, ref double force, ref double torque)
定常力コンプライアンス制御の有効/無効を設定
int set_ft_ctrl_mode(ref int handle, int mode)
定力コンプライアンスの有効状態を取得
int get_ft_ctrl_mode(ref int handle,ref int mode)
定常力コンプライアンス制御パラメータを設定
int set_ft_ctrl_config(ref int handle, AdmitCtrlType cfg)
定常力コンプライアンス制御パラメータを取得
int get_ft_ctrl_config(ref int handle,ref RobotAdmitCtrl cfg)
衝突
ロボットアームが衝突保護モードにあるかどうかを確認
int is_in_collision(ref int handle, ref bool in_collision)
衝突後に衝突保護モードから復帰する
int collision_recover(ref int handle)
ロボットアームの衝突レベルを設定
int set_collision_level(ref int handle, int level)
ロボットに設定された衝突レベルを取得
int get_collision_level(ref int handle, ref int level)
運動学
ロボットアームの逆運動学を求める
int kine_inverse(ref int handle, ref JKTYPE.JointValue ref_pos, ref JKTYPE.CartesianPose cartesian_pose, ref JKTYPE.JointValue joint_pos)
ロボットアームの順運動学を求める
int kine_forward(ref int handle, ref JKTYPE.JointValue joint_pos, ref JKTYPE.CartesianPose cartesian_pose)
ロボットアームの逆運動学拡張求解
int kine_inverse_extend(ref int handle, ref JKTYPE.JointValue ref_pos, ref JKTYPE.CartesianPose cartesian_pose, ref JKTYPE.JointValue joint_pos, ref JKTYPE.CartesianPose tool, ref JKTYPE.CartesianPose userFrame)
ロボットアームの順運動学拡張求解
int kine_forward_extend(ref int handle, ref JKTYPE.JointValue joint_pos, ref JKTYPE.CartesianPose cartesian_pose, ref JKTYPE.CartesianPose tool, ref JKTYPE.CartesianPose userFrame)
オイラー角から回転行列への変換
int rpy_to_rot_matrix(ref int handle, ref JKTYPE.Rpy rpy, ref JKTYPE.RotMatrix rot_matrix)
回転行列からオイラー角への変換
int rot_matrix_to_rpy(ref int handle, ref JKTYPE.RotMatrix rot_matrix, ref JKTYPE.Rpy rpy)
クォータニオンから回転行列への変換
int quaternion_to_rot_matrix(ref int handle, ref JKTYPE.Quaternion quaternion, ref JKTYPE.RotMatrix rot_matrix)
回転行列からクォータニオンへの変換
int rot_matrix_to_quaternion(ref int handle, ref JKTYPE.RotMatrix rot_matrix, ref JKTYPE.Quaternion quaternion)
インターフェース呼び出し戻り値リストおよび問題のトラブルシューティング
| エラーコード | 説明 | 処理の提案 |
|---|---|---|
| 0 | 成功 | null |
| 2 | インターフェースエラーまたはコントローラーが未対応 | コントローラーとSDKのバージョン情報を確認し、アップグレードまたは他のインターフェースに切り替えてください |
| -1 | 無効なハンドラー | 呼び出しインターフェースの前にログインしているか確認してください |
| -2 | 無効なパラメータ | パラメータが正しいか確認してください |
| -3 | 接続に失敗しました | ネットワーク接続状態、またはロボットのIPが正しいか確認してください |
| -4 | 逆運動学エラー | 逆解に失敗しました。現在の座標系、または参照関節角が適切か確認してください |
| -5 | 非常停止 | 非常停止状態、保持状態 |
| -6 | 電源が入っていません | 未通電 |
| -7 | 未イネーブル | 有効化されていません |
| -8 | サーボモードではありません | サーボモードではありません。servoJPを実行する際は、先にサーボモードに入る必要があります。対応するインターフェースを呼び出しているか確認してください |
| -9 | 電源を切る前にイネーブルをオフにする必要があります | 電源を切る前に必ずイネーブルを解除してください |
| -10 | 操作できません。プログラムが実行中です | 操作できません。プログラムが実行中です。先にプログラムを終了してください |
| -11 | ファイルを開けない、またはファイルが存在しません | ファイルを開けません、またはファイルが存在しません |
| -12 | 動作異常 | 動作が異常です。特異点付近にあるか、ロボットの動作制限を超えている可能性があります |
| -14 | ftpエラー | ftp異常 |
| -15 | ソケットメッセージまたは値が大きすぎます | 制限超過異常 |
| -16 | kine_forward エラー | 順運動学の解が失敗しました |
| -17 | 空のフォルダーはサポートされていません | 空のフォルダーはサポートされていません |
| -20 | 保護停止 | 保護停止 |
| -21 | 緊急停止 | 緊急停止 |
| -22 | ソフトリミット上 | ソフトリミット内にあり、手動でロボットをドラッグできません。APPのティーチング機能を使用してソフトリミットから離してください。 |
| -30 | コマンド文字列のエンコードに失敗しました | コマンドのエンコードに失敗しました。通常はコントローラーからのメッセージ解析時のエラーです。 |
| -31 | コマンド文字列のデコードに失敗しました | コマンドのデコードに失敗しました。通常はコントローラーからのメッセージ解析時のエラーです。 |
| -32 | ポート10004の文字列の解凍に失敗しました | ポート10004のデータの解凍に失敗しました。ネットワークの不安定またはデータ量過多が原因の可能性があります。 |
| -40 | 直線移動エラー | 直線運動に失敗しました。軌道内に特異点領域がないか確認してください。 |
| -41 | 関節移動エラー | 関節運動に失敗しました。設定した関節角度を確認してください。 |
| -42 | 円弧移動エラー | 円弧運動に失敗しました。設定パラメータを確認してください。 |
| -50 | block_wait タイムアウト | ブロック待機がタイムアウトしました |
| -51 | 電源投入タイムアウト | 電源オンがタイムアウトしました |
| -52 | 電源オフのタイムアウト | 電源オフのタイムアウト |
| -53 | 有効化タイムアウト | 有効化タイムアウト |
| -54 | 無効化タイムアウト | 無効化タイムアウト |
| -55 | ユーザーフレーム設定のタイムアウト | ユーザ座標系設定のタイムアウト |
| -56 | ツール設定のタイムアウト | ツール座標系設定のタイムアウト |
| -57 | edg 初期化に失敗しました | edg機能の初期化に失敗しました |
| -58 | edgが実行中のため、servo_jまたはservo_pを使用できません | edg機能が実行中のため、servo_jまたはservo_pインターフェースを使用できません |
| -59 | 現在のedgモードでは、edg_servo_jまたはedg_servo_pの使用はサポートされていません。 | edg機能が実行中のため、edg_servo_jまたはedg_servo_pインターフェースを使用できません |
| -60 | IO設定のタイムアウト | IO設定のタイムアウト |
| -61 | 操作タイムアウト | インターフェースのタイムアウト |
| -62 | サーボキューが満杯です | サーボキューが満杯です |
| -63 | サーボが動作していません | サーボモードが開始されていません |
| -9997 | 未実装 | インターフェースは未実装です |
| -9998 | 非推奨のインターフェース | このインターフェースは将来的に削除される予定です(現在は使用可能) |
| -9999 | 廃止されたインターフェース | このインターフェースは将来的に削除される予定です(機能は利用できません) |
問題のフィードバック
ドキュメントに不正確な記述や誤りがあった場合は、読者の皆様のご理解とご指摘をお願いいたします。読書中に問題を発見したりご意見がありましたら、support@jaka.com までメールをお送りください。できるだけ早く返信いたします。
