メインコンテンツへスキップ

C#

JAKA約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動作異常動作が異常です。特異点付近にあるか、ロボットの動作制限を超えている可能性があります
-14ftpエラーftp異常
-15ソケットメッセージまたは値が大きすぎます制限超過異常
-16kine_forward エラー順運動学の解が失敗しました
-17空のフォルダーはサポートされていません空のフォルダーはサポートされていません
-20保護停止保護停止
-21緊急停止緊急停止
-22ソフトリミット上ソフトリミット内にあり、手動でロボットをドラッグできません。APPのティーチング機能を使用してソフトリミットから離してください。
-30コマンド文字列のエンコードに失敗しましたコマンドのエンコードに失敗しました。通常はコントローラーからのメッセージ解析時のエラーです。
-31コマンド文字列のデコードに失敗しましたコマンドのデコードに失敗しました。通常はコントローラーからのメッセージ解析時のエラーです。
-32ポート10004の文字列の解凍に失敗しましたポート10004のデータの解凍に失敗しました。ネットワークの不安定またはデータ量過多が原因の可能性があります。
-40直線移動エラー直線運動に失敗しました。軌道内に特異点領域がないか確認してください。
-41関節移動エラー関節運動に失敗しました。設定した関節角度を確認してください。
-42円弧移動エラー円弧運動に失敗しました。設定パラメータを確認してください。
-50block_wait タイムアウトブロック待機がタイムアウトしました
-51電源投入タイムアウト電源オンがタイムアウトしました
-52電源オフのタイムアウト電源オフのタイムアウト
-53有効化タイムアウト有効化タイムアウト
-54無効化タイムアウト無効化タイムアウト
-55ユーザーフレーム設定のタイムアウトユーザ座標系設定のタイムアウト
-56ツール設定のタイムアウトツール座標系設定のタイムアウト
-57edg 初期化に失敗しましたedg機能の初期化に失敗しました
-58edgが実行中のため、servo_jまたはservo_pを使用できませんedg機能が実行中のため、servo_jまたはservo_pインターフェースを使用できません
-59現在のedgモードでは、edg_servo_jまたはedg_servo_pの使用はサポートされていません。edg機能が実行中のため、edg_servo_jまたはedg_servo_pインターフェースを使用できません
-60IO設定のタイムアウトIO設定のタイムアウト
-61操作タイムアウトインターフェースのタイムアウト
-62サーボキューが満杯ですサーボキューが満杯です
-63サーボが動作していませんサーボモードが開始されていません
-9997未実装インターフェースは未実装です
-9998非推奨のインターフェースこのインターフェースは将来的に削除される予定です(現在は使用可能)
-9999廃止されたインターフェースこのインターフェースは将来的に削除される予定です(機能は利用できません)

問題のフィードバック

ドキュメントに不正確な記述や誤りがあった場合は、読者の皆様のご理解とご指摘をお願いいたします。読書中に問題を発見したりご意見がありましたら、support@jaka.com までメールをお送りください。できるだけ早く返信いたします。

最終更新日: