genie-gdk
AGIBOT Genie 02 GDK v2.3.4 API reference for Python, C++, and ROS2 interfaces. Use when writing code that controls the Genie 02 robot.
DeepseekModel
Curated skill
Quality Good · 48
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=sailnmobula-agibot-gdk-skil-skills-genie-gdk-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name genie-gdk description AGIBOT Genie 02 GDK v2.3.4 API reference for Python, C++, and ROS2 interfaces. Use when writing code that controls the Genie 02 robot. AGIBOT Genie 02 GDK v2.3.4 - API Reference Use this skill when writing code that interfaces with the AGIBOT Genie 02 robot using the GDK (GENIE Development Kit). This provides the complete API reference for Python, C++, and ROS2 interfaces. Full documentation: docs/genie-02-gdk.md Setup Python pip install protobuf==5.28.3 source ~/.cache/agibot/app/env.sh # hybrid source /home/agi/app/env.sh # local (on robot) import agibot_gdk C++ # include "gdk/gdk.h" // Namespace: agibot::gdk // All classes need 1-2s init: std::this_thread::sleep_for(std::chrono::seconds(2)); // Return type: GDKRes (kSuccess on success) // Init/Release: GDKInit(), GDKRelease() ROS2 # Start forwarding nodes (GDK uses DDS internally, not ROS2 by default) source ~/.cache/agibot/app/gdk/scripts/ros_env.sh <package> # gdk_camera, gdk_controller, gdk_imu, gdk_lidar ros2 launch <package> <package>.launch export ROS_DOMAIN_ID=0 export ROS_LOCALHOST_ONLY=1 Network Robot IP: 10.42.1.101 (fixed) Developer IP range: 10.42.1.10 - 10.42.1.99 SSH: ssh agi@10.42.1.101 (password: 1 ) Python API Robot ( agibot_gdk.Robot ) Init wait: ~1s. Replaces old RobotBody and MotionControl classes. Method Parameters Returns Description get_joint_states() none JointStates Get all joint states (position, velocity, effort, motor) get_end_state() none DualEndState (.left_end_state, .right_end_state) Get end-effector states get_whole_body_status() none WholeBodyStatus Get full robot status (errors, power, end models) get_motion_control_status() none MotionControlStatus Get frame poses, velocities, wrenches, collisions get_chassis_power_state() none ChassisPowerState Battery, power board, charging info get_chest_power_state() none ChestPowerState Upper body power states move_ee_pos(joint_states) JointStates GDKRes Move end-effector (gripper control) move_head_joint(positions, velocities) list[float] , list[float] GDKRes Move head joints (3 joints: yaw/pitch/roll) move_waist_joint(positions, velocities) list[float] , list[float] GDKRes Move waist joints move_arm_joint(positions, velocities) list[float] , list[float] GDKRes Move arm joints joint_control(req) JointControlReq GDKRes Single-call PD joint trajectory control end_effector_pose_control(pose) EndEffectorPose GDKRes Servo-level end-effector pose control (no collision detection) traj_tracking_control(req) A2DTrajectoryRequest GDKRes A2D-style trajectory tracking motion_plan_request(req) MotionPlanReq GDKRes Motion planning with collision checking set_control_mode(mode) MotionControlMode GDKRes Set control mode (impedance, gravity comp, etc.) set_load(load_info) LoadInfo GDKRes Set payload parameters (mass, CoG, inertia) set_compliance_params(left, right, detail) dict[str,float] , dict[str,float] , str GDKRes Set arm compliance (stiffness, damping, clipping) force_position_control(targets) dict[str, Pose] GDKRes Force/position hybrid control set_reference_frame_poses(lx,ly,lz,lw, rx,ry,rz,rw) 8 floats (left/right quaternions) GDKRes Set reference frame orientations JointStates attrs: .timestamp (ns), .nums (int), .states (list of JointState) JointState attrs: .name , .mode , .position (rad), .velocity (rad/s), .effort (Nm), .motor_position , .motor_velocity , .motor_current , .error_code JointControlReq: req = agibot_gdk.JointControlReq() req.life_time = 1.0 # seconds req.joint_names = [...] # list[str] req.joint_positions = [...] # list[float] radians req.joint_velocities = [...] # list[float] rad/s req.detail = "" # optional detail Camera ( agibot_gdk.Camera ) Init wait: ~3s Method Parameters Returns get_latest_image(type, timeout) CameraType , float ms Image or None get_nearest_image(type, ts, timeout) CameraType , int ns, float ms Image or None get_image_shape(type) CameraType (width, height) tuple get_image_fps(type) CameraType float FPS get_image_latency(type, window_s) CameraType , float s LatencyStats get_camera_intrinsic(type) CameraType CameraIntrinsic (.intrinsic [fx,fy,cx,cy], .distortion [k1..k6]) set_dev_camera_config(path) str config file path GDKRes close_camera() none GDKRes CameraType enum: Name Value Description kCameraUnknown 0 Unknown kHeadBackFisheye 1 Head back fisheye kHeadLeftFisheye 2 Head left fisheye kHeadRightFisheye 3 Head right fisheye kHeadStereoLeft 4 Head stereo left kHeadStereoRight 5 Head stereo right kHandLeftColor 6 Hand left color kHandRightColor 7 Hand right color kHeadColor 8 Head RGB kHeadDepth 9 Head depth kHandLeftUpperColor 10 Hand left upper color kHandRightUpperColor 11 Hand right upper color kHandLeftLowerColor 12 Hand left lower color kHandRightLowerColor 13 Hand right lower color kHandLeftUpperDepth 14 Hand left upper depth kHandRightUpperDepth 15 Hand right upper depth kHandLeftLowerDepth 16 Hand left lower depth kHandRightLowerDepth 17 Hand right lower depth Image attrs: .timestamp_ns , .width , .height , .encoding (UNCOMPRESSED/JPEG/PNG), .color_format (RGB/BGR/RGBA/BGRA/YUV420/YUV422/YUV444/NV12/NV21/GRAY8/GRAY16/BAYER_*/RS2_FORMAT_Z16), .bit_depth (8/16/32), .data_view (use .data in Python) Imu ( agibot_gdk.Imu ) Init wait: ~2s Method Parameters Returns get_latest_imu(type, timeout) ImuType , float ms ImuData or None get_nearest_imu(type, timestamp, timeout) ImuType , int ns, float ms ImuData or None get_imu_fps(type) ImuType float FPS get_imu_latency(type, window_s) ImuType , float s LatencyStats close_imu() none GDKRes ImuType: kImuUnknown=0 , kImuFront=1 , kImuBack=2 , kImuChassis=3 ImuData attrs: .timestamp_ns , .angular_velocity (.x,.y,.z rad/s), .linear_acceleration (.x,.y,.z m/s²) Lidar ( agibot_gdk.Lidar ) Init wait: ~1s Method Parameters Returns get_latest_pointcloud(type, timeout) LidarType , float ms PointCloud or None get_nearest_pointcloud(type, timestamp, timeout) LidarType , int ns, float ms PointCloud or None get_lidar_fps(type) LidarType float FPS get_lidar_latency(type, window_s) LidarType , float s LatencyStats close_lidar() none GDKRes LidarType: kLidarUnknown=0 , kLidarFront=1 , kLidarBack=2 PointCloud attrs: .timestamp_ns , .width , .height , .point_step , .row_step , .is_bigendian , .is_dense , .fields (list of .name/.offset/.datatype/.count), .data_view UltrasonicRadar ( agibot_gdk.UltrasonicRadar ) Method Parameters Returns get_latest_ultrasonic_radar() none UltrasonicRadars get_nearest_ultrasonic_radar(timestamp) int ns UltrasonicRadars get_ultrasonic_radar_fps() none float FPS get_ultrasonic_radar_latency(window_s) float s LatencyStats close() none GDKRes UltrasonicRadars attrs: .timestamp_ns , .ultrasonic_radar_datas (list of .id , .distance_mm , .fault_state ) Slam ( agibot_gdk.Slam ) Init wait: ~1s Method Parameters Returns start_mapping() none GDKRes stop_mapping() none GDKRes cancel_mapping() none GDKRes record_spec_loc() none GDKRes
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.