yahboom
HomeTutorialsProduct
Solution
Blog
Online Store
About Us
EN/中文
Store
ROSMASTER A1 PRO📖
00.Configuration and Operation Guide
  • 0. Unboxing and Review
  • 1.Assembly Videos
  • 2.User Manual
  • 3.Enter Docker (For Raspberry Pi)
  • 4.A1Pro Front Wheel Servo Calibration
  • 5.USB Camera Calibration
  • 6.Depth Camera Calibration
  • 7.FAQ
  • 8.Desktop Configuration Center and Remote Control Guide
01.Chassis Control Course
  • 1.Robot Information Publishing
  • 2.Robot Handle Control
  • 3.Robot Keyboard Control
  • 4.Linear Velocity Calibration
  • 5.Angular Velocity Calibration
  • 6.Robot URDF Model
  • 7.Robot EKF State Estimation
02.Lidar Course
  • 1.Lidar Introduction and Use
  • 2.Lidar Obstacle Avoidance
  • 3.Lidar Following
  • 4.Lidar Patrol
  • 5.GMapping-SLAM Mapping
  • 6.Cartographer-SLAM Mapping
  • 7.Slam-Toolbox Mapping
  • 8.Lifelong Mode Mapping
  • 9.Navigation2 Single Point Navigation
  • 10.Navigation2 Multi Point Navigation
  • 11.Cartographer Relocalization Navigation
  • 12.Slam-Toolbox Localization Navigation
  • 13.Synchronous Mapping And Navigation
  • 14.Aruco Visual Relocalization Navigation
  • 15.Mobile App Mapping And Navigation
  • 16.AprilTag Transport
  • 17.Color Block Transport
03.USB Camera-Depth Camera Course
  • 1.USB Camera Introduction
  • 2.USB Camera Intrinsic Calibration
  • 3.Nuwa-HP60C Camera Introduction (Depth Camera Only)
  • 4.Depth Camera Distance Measurement (Depth Camera Only)
  • 5.Depth Pseudo Color Image (Depth Camera Only)
  • 6.Block Volume Calculation (Depth Camera Only)
  • 7.Edge Detection (Depth Camera Only)
  • 8.RTAB-Map SLAM Mapping (Depth Camera Only)
  • 9.RTAB-Map Navigation (Depth Camera Only)
04.Robotic Arm and 3D Space Gripping Course
  • 0.Robotic Arm Basic Usage
  • 1.Robotic Arm Kinematics
  • 2.Robotic Arm Chassis Coordination Control
  • 3.AprilTag ID Sorting
  • 4.AprilTag Height Anomaly Sorting
  • 5.AprilTag Tracking and Grasping
  • 6.Color Block Sorting
  • 7.Color Block Height Anomaly Sorting
  • 8.Color Block Tracking and Grasping
  • 9.Wood Block Shape Sorting
  • 10.KCF Tracking and Grasping Objects
  • 11.Mediapipe Gesture ID Sorting AprilTag
  • 12.Mediapipe Gesture Height Sorting AprilTag
  • 13.Desktop Tracking and Grasping AprilTag
  • 14.3D Spatial Tracking AprilTag
  • 15.Line Following Obstacle Clearing
  • 16.Transformer Model Tracking Algorithm
05.Road Network Planning and Navigation
  • 1.Introduction To Road Network Planning
  • 2.Road Network Annotation
  • 3.Planning And Navigation Between Waypoints
  • 4.Road Network Navigation In Any Pose
  • 5.Path Re-planning
06.OpenClaw Basic Course
  • 1.Introduction to OpenClaw
  • 2.OpenClaw Core Concepts
  • 3.OpenClaw API-KEY Configuration
  • 4.OpenClaw Switch Models
  • 5.OpenClaw System Prompt Words
  • 6.OpenClaw Common CLI Commands
07.OpenClaw Interaction Method
  • 1.OpenClaw Webchat Interaction
  • 2.OpenClaw Tui Interaction
  • 3.OpenClaw Voice Dialogue Interaction
  • 4.OpenClaw WhatsApp Interaction
08.OpenClaw Development
  • 1.OpenClaw Connecting to Robot MCP Service
  • 2.Robot CLI Command Tool
  • 3.robot-control plugin tool
  • 4.reply-bridge plugin tool
  • 5.OpenClaw Multimodal Vision
  • 6.OpenClaw Chassis Control
  • 7.OpenClaw Robotic Arm Control
  • 8.OpenClaw Skills Development
  • 9.OpenClaw Scheduled Tasks
  • 10.OpenClaw Multi-Agent Intelligent Agent
  • 11.OpenClaw Active Interaction
  • 12.OpenClaw Vector Memory
09.OpenClaw Embodied Intelligent Application
  • 1.OpenClaw Target Tracking
  • 2.OpenClaw Arm Tracking And Grasping
  • 3.OpenClaw Arm Fixed-point Placement
  • 4.OpenClaw Waste Sorting
  • 5.OpenClaw SLAM Mapping And Navigation
  • 6.OpenClaw Navigation Transport
  • 7.OpenClaw AprilTag Grasping
  • 8.OpenClaw Color Line Patrol
  • 9.OpenClaw Visual Distance Measurement
10.OpenClaw Scenario Sandbox
  • 1.Map Description and Prop Placement
  • 2.Build Sand Table Map
  • 3.Visual Relocation Markers
  • 4.Map Mapping Markers
  • 5.OpenClaw Scenario Sandbox Comprehensive Case
11.AI Model Basics
  • 1.AI Large Model Types and Principles
  • 2.RAG Retrieval Enhancement and Model Training Samples
  • 3.Embodied Intelligent Robot System Architecture
  • 4.Embodied Intelligent Functions Core Source Code
12.AI Model Development
  • 1.Register a Model Service Provider Aaccount
  • 2.Configuring API-KEY
  • 3.Introduction to Dify
  • 4.Basic Dify Features
  • 5.AI Large Model Development - chatbot
  • 6.Deploy the RAG Knowledge Base
  • 7.RAG Knowledge Base + chatbot
  • 8.AI Agent Workflow
  • 9.Custom Wake-up Response
13.AI Model - Text Version
  • 1.Semantic Understand and Command Follow
  • 2.Multimodal Visual Understand
  • 3.Multimodal Visual Understand + Robotic Arm Gripping
  • 4.Multimodal Visual Understand+SLAM Navigation
  • 5.Robotic Arm Gripping+Multimodal Visual Understand+SLAM Navigation
  • 6.Intention Estimation
14.AI Model - Voice Version
  • 1.Semantic Understand and Command Follow
  • 2.Multimodal Visual Understand
  • 3. Multimodal Large Model+Robotic Arm Gripping
  • 4.Multimodal Visual Understand+SLAM Navigation
  • 5.Robotic Arm Gripping+Multimodal Visual Understand+SLAM Navigation
  • 6.Intention Estimation
15.Mediapipe Visual Course
  • 1.Hand Detection
  • 2.Posture Detection
  • 3.Overall Detection
  • 4.Facial Landmark Detection
  • 5.Face Detection
  • 6.Face Special Effects
  • 7.3D Object Recognition
  • 8.Brush
  • 9.Finger Control
  • 10.Palm Target Positioning
  • 11.Fingertip Trajectory Recognition
  • 12.Fingertip Gesture Control Cobotic Arm
  • 13.Gesture Grabbing and Releasing Objects
  • 14.Finger Control Robotic Arm
  • 15.Medipipe Gesture Control Robotic arm Cction Group
16.MoveIt2 Simulation Course
  • 1.MovelT2 Configuration
  • 2.MovelT2 Simulation-Reality Linkage
  • 3.Random Movement
  • 4.Forward Kinematics Design
  • 5.Inverse Kinematics Design
  • 6.Cartesian Path
  • 7.Scene Design
  • 8.Trajectory Planning
  • 9.Collision Detection
  • 10.3D Perception Obstacle‑Avoidance
17.Multi-vehicle Course
  • 1.Multi-vehicle Control
  • 2.Multi-vehicle Navigation
  • 3.Multi-vehicle Formation
18.YOLO26 Development
  • 1.CLI Use
  • 2.Object Detection
  • 3.Instance Segmentation
  • 4.Pose Estimation
  • 5.Image Classification
  • 6.Oriented Object Detection
  • 7.YOLOv26 + DeepSORT Tracking
  • 8.Monocular Depth Estimation
19.Control Board STM32 Driver Course
  • 0.Notes (Must Read)
  • 1.About Expansion Board
  • 2.STM32 Development Environment
  • 3.Button Control
  • 4.FreeRTOS Application
  • 5.Serial Communication
  • 6.SBUS Model Aircraft Remote Control
  • 7.CAN Bus Communication
  • 8.RGB Colorful Light Bar
  • 9.Timer Interrupt to Control PWM Servo
  • 10.Control Serial Port Servos
  • 11.Nine-axis Attitude Sensor to Obtain Data
  • 12.Control Motor
  • 13.Timer Captures the Encoder Data
  • 14.1 Kinematic Analysis of Mecanum Wheel
  • 14.2 Kinematic Analysis of Ackerman
  • 14.3 Kinematic Analysis of 4WD
  • 15.PID Control Robot Movement
20.Docker Course
  • 1.Docker Introduction and Installation
  • 2.Docker Basic Commands
  • 3.Docker Submission and Multi-Terminal Access
  • 4. Docker Startup Script
  • 5.Docker-Vscode Environment Construction
21.Image Processing Basics Course
  • 1. Introduction to Open Source CV
  • 2. Image reading and display
  • 3. Image writing
  • 4. Image quality
  • 5. Pixel Operation
  • 6. Image zoom
  • 7. Image cutting
  • 8. Image translation
  • 9. Image Mirroring
  • 10. Affine Transformation
  • 11. Image Rotation
  • 12. Perspective Transformation
  • 13. Grayscale processing
  • 14. Image Binarization
  • 15. Edge Detection
  • 16. Line drawing
  • 17. Rectangle and circle drawing
  • 18. Drawing text and pictures
22.Linux System Course
  • 1.Introduction to Linux system
  • 2.Ubuntu file system
  • 3.Ubuntu common commands
  • 4.Ubuntu common editors
  • 5.Ubuntu software operation commands
  • 6.Virtual machine installation
  • 7.SSH remote control
  • 8.VNC remote control
  • 9.Transfer files remotely
  • 10.Driver library and communication
  • 11.Static IP and hotspot mode
  • 12.Bind device ID
  • 13.Capacity expansion and resource allocation
  • 14.Update system software sources
  • 15.Set root user password
  • 16.sudo free password
  • 17.Connect to WiFi network
  • 18.View system version
  • 19.Customized service management
  • 20.Back up system image
23.ROS2 Basic Course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
24.Main Control Course
Jetson Orin Nano_NX
  • 1.Jetson Orin board introduction
  • 2.Restore the factory image system
  • 3.Backup SSD system
  • 4.SSD expansion
  • 5.Network configuration
  • 6.SSH remote login
  • 7.VNC remote control
  • 8.Remote file transfer
  • 9.Jtop tool
  • 10.Exchange space expansion
Raspberry Pi
  • 1. Introduction to Raspberry PI 5
  • 2. Raspberry PI system installation and backup
  • 3. Powering the Raspberry PI 5
  • 4. Startup of Raspberry PI 5
  • 5. Update and upgrade operating system
  • 6. Introduction to raspi-config tool
  • 7. config.txt file description
  • 8. Network Configuration
  • 9. remote access
  • 10. Transfer files remotely
  • 11. Set display resolution and rotation
  • 12. Set screen to sleep
  • 13. Play audio and video
  • 14. Using USB camera
  • 15. Using MIPI camera
  • 16. Get real-time temperature of Raspberry Pi
RDKX5
  • 1.Introduction to RDK X5 board
  • 2.Write system file
  • 3.Hardware interface description
  • 4.Install case and other accessories
  • 5.Network configuration
  • 6.Remote login
  • 7.Update system
  • 8.srpi-config user guide
  • 9.config. txt configuration file
  • 10.Self-startup setting
  • 11.RDK exclusive command usage
  • 12.Linux command usage
  • 13.GPIO readwrite operation
  • 14.Image classification algorithm
  • 15.Use USB camera
  • 16.Use MIPI camera
  • 17.Binocular camera depth algorithm
  • 18. Controlling RGB Cooling Fans
Download
  • SystemFile
  • Code
  • 3D_Model_File
  • Software_Tools
  • Hardware_Info
  • Introduction_Manual
  • Script_File
  • Dify AI Agent
Download ZIP

Welcome to ROSMASTER A1 PRO repository

10.KCF Tracking and Grasping Objects

🔍 KCF Target Tracking and Autonomous Grasping

1. Course Overview

The function implemented in this lesson can be simply understood as: mouse box-select any object, robotic arm automatically tracks the target, approaches and autonomously descends to grasp.

Unlike color recognition or AprilTag machine-code methods, KCF (Kernelized Correlation Filters) is a general-purpose prior-free target tracking algorithm — without needing to pre-enter specific color thresholds or paste black and white QR codes. Simply box-select an object of interest in the real-time image, and the system establishes an appearance feature model for continuous stable tracking.

Important

Important mechanism differences:

  • Different robotic arm initial poses: USB monocular camera is close-range desktop top-down pose; 3D depth camera is forward-looking wide-range gimbal pose;

  • This case recommends using 444cm matching blocks

2. Preparation and Running

This case requires opening 3 terminals to start the system sequentially:

2.1 Start Camera Driver and Kinematics Solver Environment

Run in Terminal 1:

xxxxxxxxxx
ros2 launch dofbot_pro_driver A1pro_camera_arm.launch.py

image-20260902180049266

2.2 Start Robotic Arm Desktop Grasping Action Execution Node

Run in Terminal 2:

xxxxxxxxxx
# Depth camera version (Nuwa)
ros2 run dofbot_pro_driver grasp_desktop

# Or USB camera version
ros2 run dofbot_pro_usb grasp_usb

image-20260902180106283

2.3 Start KCF Tracking Master Node

Run in Terminal 3:

xxxxxxxxxx
# Depth camera version (Nuwa)
ros2 run dofbot_pro_driver kcf_Tracker

# Or USB camera version
ros2 run dofbot_pro_usb kcf_follow

image-20260902180144115

image-20260902180155633

Box-select object to start tracking:

image-20260902180242279


3. Operation Demo and Interaction Flow (Version Difference Key Notes)

Due to hardware characteristics and algorithm implementation differences, USB camera version and 3D depth camera version have significant differences in operation and robotic arm actions. Please read based on your device:

3.1 Solution A: USB Camera Version Interaction Flow (kcf_follow)

  1. Robotic arm initial positioning: After program startup, the robotic arm smoothly moves to a high-angle downward pose: [90°, 100°, 0°, 0°, 90°, 90°], directly vertical top-down view of desktop;

  2. Mouse box-select target: In the image window, hold left mouse button and drag to draw a rectangle selecting the object to grasp. After releasing mouse, KCF algorithm immediately locks the target and draws 🟢 green tracking box;

  3. Manually press spacebar to trigger grasping:

    • Keep the image window active, press the spacebar (Space) on the keyboard;

    • Chassis receives command and starts forward/backward linear velocity PID control, automatically and smoothly approaching the target (approaching to approximately 190mm);

  4. Grasping and unloading: After reaching grasping distance, chassis stops, program analyzes target contour to calculate gripper alignment angle, robotic arm descends to grasp;

  5. Reset and reselect: After grasping, chassis briefly reverses to avoid collision. Press keyboard R to re-box-select a new object.


3.2 Solution B: 3D Depth Camera Version Interaction Flow (kcf_Tracker)

  1. Robotic arm forward-looking patrol pose: After program startup, the robotic arm moves to forward-looking wide-range gimbal pose: [90°, 150°, 12°, 20°, 90°, 0°] (joint 2 raised high to 150°, elbow extended, wider field of view);

  2. Mouse box-select target: In the image window hold left mouse button and drag to box-select the target. After releasing mouse, the system completes KCF feature modeling;

  3. Robotic arm gimbal active dynamic servo tracking:

    • Manually press spacebar! If you slowly move the target object horizontally or up/down, the robotic arm's joint 1 base servo and joints 2/3/4 pitching will rotate automatically, always keeping the lens facing the target;

  4. Continuous stable alignment auto-approach grasping (no spacebar needed):

    • When the target remains within the center tolerance range for continuous 10 frames (ALIGN_COUNT_THRESHOLD = 10), buzzer sounds to confirm lock;

    • Chassis automatically starts and drives toward the target without user button press (approaching to approximately 240mm optimal working zone);

    • After chassis is in position, directly read depth point cloud true distance, robotic arm automatically converts gripper deflection angle and descends to execute grasping;

  5. Motion reset: After grasping, the robotic arm automatically returns to [90°, 150°, 12°, 20°, 90°, 0°] patrol pose, and resets alignment counter and PID status, ready to box-select the next target at any time.

Tip

When moving the tracked object, please move smoothly and slowly, avoid occlusion or fast shaking beyond the KCF filter's update window. If tracking is lost, press keyboard R to re-box-select at any time.


4. Core Source Code Analysis

The system is completed by "KCF target tracking decision" and "IK execution" two nodes working in coordination:

Camera TypeKCF Tracking and Alignment Master NodeGrasping Action Execution Node
USB Monocular Cameradofbot_pro_usb/kcf_follow.pydofbot_pro_usb/grasp_usb.py
3D Depth Cameradofbot_pro_driver/KCF_Tracker.pydofbot_pro_driver/grasp_desktop.py

The main technical implementation and control strategy comparison:

Comparison DimensionUSB Monocular Solution (kcf_follow.py)3D Depth Camera Solution (KCF_Tracker.py)
Robotic Arm Initial Pose[90, 100, 0, 0, 90, 90] (desktop top-down)[90, 150, 12, 20, 90, 0] (forward-looking gimbal)
Gimbal FollowingNo (robotic arm joint angles fixed, static tracking)Yes (with adaptive gimbal PID, each joint actively follows tracking)
Approach Grasping TriggerManually press spacebar (Space) to trigger chassis approachContinuous 10 frames center auto-trigger, no manual button needed
Distance Measurement PrincipleBox bounding box pixel size combined with prior size calculated via pinhole modelPhysical depth sensor directly reads target center true distance
Target Approach DistanceChassis PID control approaches to approximately 190mmChassis PID control approaches to approximately 240mm
Spatial Calibration CompensationSuperimpose X, Y 2D plane calibration deviationSynchronously superimpose X, Y, Z 3D omnidirectional calibration compensation

4.1 USB Monocular Camera Core Source Code Analysis (kcf_follow.py)

1. Mouse Drag Box Selection and KCF Initialization

When mouse is released, extract the box-selected rectangle ROI and call OpenCV tracker for initialization:

xxxxxxxxxx
# kcf_follow.py —— Mouse box selection and KCF initial feature modeling
elif event == cv2.EVENT_LBUTTONUP:
    x1, y1 = min(start_x, x), min(start_y, y)
    w, h = abs(x - start_x), abs(y - start_y)
    if w > 10 and h > 10:
        self.select_roi = (x1, y1, w, h)
        self.state = State.TRACKING

# Initialize KCF
self.tracker = Tracker(tracker_type='KCF')
self.tracker.initWorking(rgb_image, self.select_roi)

2. Spacebar Trigger Chassis PID Approach

After user presses spacebar, the program switches from TRACKING to APPROACHING state. Chassis advances based on pinhole model estimated horizontal physical distance to 190mm:

xxxxxxxxxx
# kcf_follow.py —— Spacebar trigger and chassis approach
if abs(dist_mm - GRASP_DIST_MM) > GRASP_TOLERANCE:
    linear_x = self.linearx_pid.compute(dist_mm, GRASP_DIST_MM)
    angle_z = self.angle_pid.compute(self.track_cx, ALIGN_TARGET_X)
    self._pub_vel(linear_x, 0, -angle_z)
else:
    self._pub_vel(0, 0, 0)
    self._trigger_grasp(rgb_image, cam_coords, est_depth)

4.2 3D Depth Camera Core Source Code Analysis (KCF_Tracker.py)

1. Robotic Arm Gimbal Adaptive Dynamic Closed-Loop Tracking (XY_track)

Unlike USB monocular solution, after box selection is complete in the depth camera solution, the robotic arm base and pitching joints perform active gimbal servo compensation following the target:

xxxxxxxxxx
# KCF_Tracker.py —— Gimbal adaptive dynamic tracking
def XY_track(self, center_x, center_y):
    # Calculate deviation between target center and image center (320, 240)
    raw_angular_x = self.angular_x_PID.compute(center_x, TARGET_X)
    raw_angular_y = self.angular_y_PID.compute(center_y, TARGET_Y)
    
    # Slope limiter prevents severe overshoot and jitter
    diff_x = raw_angular_x - self.last_angular_x
    angular_x = self.last_angular_x + max(-self.max_step_change, min(self.max_step_change, diff_x))
    
    # Dynamically calculate joint 1 base and joints 2/3/4 angles, lens always follows
    target_j1 = 90 + (10 * angular_x * -90.0)
    target_j2 = 150 + (angular_y * -150.0)
    target_j3 = 12 + (angular_y * -60.0)
    target_j4 = 20 + (angular_y * -100.0)

2. Continuous 10 Frames Lock Auto-Trigger Chassis Approach (Button-Free Mechanism)

The program detects whether the target enters the center tolerance range (PIXEL_TOLERANCE = 10). Once continuously stable for 10 frames, the program automatically switches to approach phase without user spacebar operation:

xxxxxxxxxx
# KCF_Tracker.py —— 10 frames continuous center detection and auto-advance
err_x = abs(center_x - TARGET_X)
err_y = abs(center_y - TARGET_Y)
is_aligned = (err_x < PIXEL_TOLERANCE) and (err_y < PIXEL_TOLERANCE)

# Continuously meet alignment threshold, automatically enter approach
if is_aligned and self.Done_flag and not self.adjust_dist and not self.start_grasp:
    self.aligned_count += 1
    if self.aligned_count >= ALIGN_COUNT_THRESHOLD:  # Reach 10 frames
        self.Beep_Loop()        # Buzzer response confirmation
        self.adjust_dist = True # Automatically enter chassis approach phase
        self.XY_Track_flag = False

if self.adjust_dist:
    # Drive chassis smoothly toward target based on depth map extracted true distance (240mm)
    if self.cur_distance > GRASP_DIST + 0.2:
        self.move_dist(self.cur_distance)
    else:
        self.adjust_dist = False
        self.start_grasp = True
        self.pubVel(0, 0, 0)

3. Hardware-Level Depth Point Cloud Reading and 3D IK Grasping

After chassis stops, directly extract the physical ranging data at the target center pixel grasp_depth = depth_image[gy, gx] / 1000.0, and calculate gripper alignment angle compute_joint5(vx, vy) through vertex slope vector. Publish coordinates to grasp_desktop node to execute descent closure and material grasping.

Through the above comparison analysis, users can clearly understand the deep-level differences in robotic arm pose and interaction control logic between the two hardware solutions, ensuring standardized operation under different hardware configurations.

4.3 Grasping Offset Tuning (Both Camera Models)

If position deviation occurs during actual grasping (such as missing, knocking over objects, offset left/right, or hitting the table), you can directly modify the spatial offset configuration file for the corresponding camera:

1. Where to Modify

Configuration files are located in the ~/yahboomcar_ros2_ws/dofbot_pro_ws/src/dofbot_pro_driver/config/ directory. Select based on camera type:

  • 3D Depth Camera (Nuwa-HP60C): offset_value.yaml

  • USB Camera: usb_offset_value.yaml

2. How to Modify

The file contains offset parameters in X, Y, Z directions (unit: meters, recommended adjustment per tweak is 0.005~0.01, i.e., 5~10mm):

  • x_offset (forward/backward direction, positive toward vehicle front):

    • Gripper extends too far and knocks over object decrease value (adjust smaller or set negative)

    • Gripper doesn't extend far enough and misses increase value (adjust larger)

  • y_offset (left/right direction, positive toward vehicle left):

    • Gripper deviates right increase value (correct left)

    • Gripper deviates left decrease value (correct right)

  • z_offset (up/down height, positive toward ceiling):

    • Gripper too high in air and can't grasp decrease value (probe deeper)

    • Gripper hits or scrapes table increase value (raise higher)

Wood Block Shape Sorting
Mediapipe Gesture ID Sorting AprilTag

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文