# Latest

**URL:** https://www.robotexchange.io/latest.md

[Latest](https://www.robotexchange.io/latest.md) · [Categories](https://www.robotexchange.io/categories.md) · [Tags](https://www.robotexchange.io/tags.md)

---

## [RobotExchange: start here](https://www.robotexchange.io/t/robotexchange-start-here/4778)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 13, 2026, 5:41pm UTC](https://www.robotexchange.io/t/robotexchange-start-here/4778 "2026-09-13T17:41:44Z")

</div>

This topic is the root of the course menu in the sidebar. Lists for the whole forum hang here.

---

## [Start here: index of all how-to articles](https://www.robotexchange.io/t/start-here-index-of-all-how-to-articles/4754)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:25am UTC](https://www.robotexchange.io/t/start-here-index-of-all-how-to-articles/4754 "2026-09-02T00:25:29Z")

</div>

Start here. This category contains how-to articles for Smart Manufacturing & Robotics projects. Every article answers one concrete question with prerequisites, numbered steps, working code and troubleshooting. Use the se…

---

## [How to install Cognex In-Sight Explorer on Linux using Wine](https://www.robotexchange.io/t/how-to-install-cognex-in-sight-explorer-on-linux-using-wine/4753)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:19am UTC](https://www.robotexchange.io/t/how-to-install-cognex-in-sight-explorer-on-linux-using-wine/4753 "2026-09-02T00:19:09Z")

</div>

Based on contributions by aron. Cognex In-Sight Explorer is Windows-only software, but it can run on Linux through Wine, a compatibility layer that translates Windows API calls to POSIX equivalents (it does not emulate …

---

## [How to get an image from a GenICam-compatible camera (e.g. a Genie Nano) using Harvester](https://www.robotexchange.io/t/how-to-get-an-image-from-a-genicam-compatible-camera-e-g-a-genie-nano-using-harvester/4752)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:19am UTC](https://www.robotexchange.io/t/how-to-get-an-image-from-a-genicam-compatible-camera-e-g-a-genie-nano-using-harvester/4752 "2026-09-02T00:19:06Z")

</div>

Based on contributions by Jesse. Harvester is a vendor-neutral Python library for GenICam-compatible cameras, such as a Genie Nano. This how-to sets up a conda environment, installs a GenTL producer, and gets you to a f…

---

## [How to connect to a Daheng Imaging camera through Python](https://www.robotexchange.io/t/how-to-connect-to-a-daheng-imaging-camera-through-python/4751)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:19am UTC](https://www.robotexchange.io/t/how-to-connect-to-a-daheng-imaging-camera-through-python/4751 "2026-09-02T00:19:04Z")

</div>

Based on contributions by Joel. Daheng Imaging cameras can be accessed from Python either through Daheng’s own gxipy SDK, or through the vendor-neutral Harvester/GenICam library. This how-to covers both, so you have a f…

---

## [How to grab, save and filter depth images with Intel RealSense in Python](https://www.robotexchange.io/t/how-to-grab-save-and-filter-depth-images-with-intel-realsense-in-python/4750)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:19am UTC](https://www.robotexchange.io/t/how-to-grab-save-and-filter-depth-images-with-intel-realsense-in-python/4750 "2026-09-02T00:19:02Z")

</div>

Based on contributions by Mathijs. Once pyrealsense2 is installed (see How to install Intel RealSense librealsense and pyrealsense2 on a Raspberry Pi 5 (Ubuntu) if you’re on a Raspberry Pi), this how-to shows how to gra…

---

## [How to install Intel RealSense librealsense and pyrealsense2 on a Raspberry Pi 5 (Ubuntu)](https://www.robotexchange.io/t/how-to-install-intel-realsense-librealsense-and-pyrealsense2-on-a-raspberry-pi-5-ubuntu/4749)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-install-intel-realsense-librealsense-and-pyrealsense2-on-a-raspberry-pi-5-ubuntu/4749 "2026-09-02T00:18:59Z")

</div>

Based on contributions by ThomasPSluijs. The prebuilt pyrealsense2 wheels on PyPI don’t support the Raspberry Pi’s ARM architecture, so on a Raspberry Pi 5 running Ubuntu you need to build librealsense (Intel’s RealSens…

---

## [How to plan a basic vision-based quality control system](https://www.robotexchange.io/t/how-to-plan-a-basic-vision-based-quality-control-system/4748)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-plan-a-basic-vision-based-quality-control-system/4748 "2026-09-02T00:18:57Z")

</div>

Based on contributions by anarueda. Before writing any detection code, it helps to plan a vision-based quality control (QC) system as a sequence of well-defined stages. This how-to is a workflow overview, not a specific…

---

## [How to segment objects with SAM 3 using text prompts in Python](https://www.robotexchange.io/t/how-to-segment-objects-with-sam-3-using-text-prompts-in-python/4747)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-segment-objects-with-sam-3-using-text-prompts-in-python/4747 "2026-09-02T00:18:55Z")

</div>

Based on contributions by Tim. SAM 3 is Meta’s open-vocabulary segmentation model. Instead of clicking on an object or drawing a bounding box, you describe what you’re looking for in plain text, "red cylinder", "gripper…

---

## [How to detect transparent glass using a reference object and OpenCV](https://www.robotexchange.io/t/how-to-detect-transparent-glass-using-a-reference-object-and-opencv/4746)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-detect-transparent-glass-using-a-reference-object-and-opencv/4746 "2026-09-02T00:18:52Z")

</div>

Based on contributions by YoussefO. Transparent glass is very hard to detect directly with a camera: it has almost no visible contour of its own. The workaround is to not detect the glass directly. Instead, detect a ref…

---

## [How to split a contour into separate regions with OpenCV](https://www.robotexchange.io/t/how-to-split-a-contour-into-separate-regions-with-opencv/4745)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-split-a-contour-into-separate-regions-with-opencv/4745 "2026-09-02T00:18:50Z")

</div>

Based on contributions by gamalalfauza. OpenCV’s contour finder treats a single connected shape as one contour. If you need to treat two touching or overlapping parts of that shape as separate regions (for example, to m…

---

## [How to detect objects by colour using HSV filtering in OpenCV](https://www.robotexchange.io/t/how-to-detect-objects-by-colour-using-hsv-filtering-in-opencv/4744)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-detect-objects-by-colour-using-hsv-filtering-in-opencv/4744 "2026-09-02T00:18:48Z")

</div>

Based on contributions by Glenn. If the objects you need to detect are a distinct, consistent color, filtering by HSV (hue, saturation, value) is a fast and simple alternative to a full object-detection model. This how-…

---

## [How to detect multiple data matrix codes fast using threading in Python](https://www.robotexchange.io/t/how-to-detect-multiple-data-matrix-codes-fast-using-threading-in-python/4743)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-detect-multiple-data-matrix-codes-fast-using-threading-in-python/4743 "2026-09-02T00:18:45Z")

</div>

Based on contributions by Jasmijn. Decoding a single data matrix code is slow enough that decoding many of them (for example 50 pre-defined regions on one 4K image) one after another can take a noticeable amount of time…

---

## [How to zoom into an image or video frame with OpenCV using array slicing](https://www.robotexchange.io/t/how-to-zoom-into-an-image-or-video-frame-with-opencv-using-array-slicing/4742)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-zoom-into-an-image-or-video-frame-with-opencv-using-array-slicing/4742 "2026-09-02T00:18:43Z")

</div>

Based on contributions by Jasmijn. “Zooming in” on part of an image in OpenCV doesn’t need any special function, it’s just cropping a rectangle out of the image array. This how-to explains why that works and gives copy-…

---

## [How to detect and generate fiducial markers, barcodes, QR codes and data matrix codes with OpenCV](https://www.robotexchange.io/t/how-to-detect-and-generate-fiducial-markers-barcodes-qr-codes-and-data-matrix-codes-with-opencv/4741)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-detect-and-generate-fiducial-markers-barcodes-qr-codes-and-data-matrix-codes-with-opencv/4741 "2026-09-02T00:18:41Z")

</div>

Based on contributions by Personnel. There are several types of machine-readable codes and markers you can use in a vision project: 1D barcodes and QR codes for storing information, data matrix codes for very dense smal…

---

## [How to calibrate a camera and convert a pixel distance to a real-world distance](https://www.robotexchange.io/t/how-to-calibrate-a-camera-and-convert-a-pixel-distance-to-a-real-world-distance/4740)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-calibrate-a-camera-and-convert-a-pixel-distance-to-a-real-world-distance/4740 "2026-09-02T00:18:39Z")

</div>

Based on contributions by LoukasLeftheriotis. Standard OpenCV chessboard calibration removes lens distortion and gives you a camera matrix. Combined with a known chessboard square size, you can then turn a measured pixe…

---

## [How to auto-calibrate a Cognex camera using fixed world points](https://www.robotexchange.io/t/how-to-auto-calibrate-a-cognex-camera-using-fixed-world-points/4739)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-auto-calibrate-a-cognex-camera-using-fixed-world-points/4739 "2026-09-02T00:18:36Z")

</div>

Based on contributions by Erik\_Endlich. Cognex In-Sight/VisionPro cameras have a built-in calibration tool that maps pixel coordinates directly to real-world (robot) coordinates without writing any code. This is useful …

---

## [How to convert a RealSense camera pixel to a 3D point and robot coordinates](https://www.robotexchange.io/t/how-to-convert-a-realsense-camera-pixel-to-a-3d-point-and-robot-coordinates/4738)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-convert-a-realsense-camera-pixel-to-a-3d-point-and-robot-coordinates/4738 "2026-09-02T00:18:34Z")

</div>

Based on contributions by salvacmp. For pick-and-place at varying heights, a flat-plane homography isn’t enough — you need real depth. An Intel RealSense depth camera gives you per-pixel depth, so you can deproject any …

---

## [How to do high-precision robot-camera calibration with ArUco markers](https://www.robotexchange.io/t/how-to-do-high-precision-robot-camera-calibration-with-aruco-markers/4737)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-do-high-precision-robot-camera-calibration-with-aruco-markers/4737 "2026-09-02T00:18:32Z")

</div>

Based on contributions by BramHeerschap. When you’re handling small parts, small camera-to-robot misalignment causes real positioning errors. This method splits the calibration into two independent stages — camera→board…

---

## [How to calibrate a fixed camera to a robot with a single ArUco marker](https://www.robotexchange.io/t/how-to-calibrate-a-fixed-camera-to-a-robot-with-a-single-aruco-marker/4736)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-calibrate-a-fixed-camera-to-a-robot-with-a-single-aruco-marker/4736 "2026-09-02T00:18:29Z")

</div>

Based on contributions by sarahstam. The fastest way to get a fixed, top-down camera talking to a robot in the same units: print one ArUco marker, use its known physical size as a ruler, and record a single offset betwe…

---

## [How to map camera coordinates to robot coordinates with a least-squares fit](https://www.robotexchange.io/t/how-to-map-camera-coordinates-to-robot-coordinates-with-a-least-squares-fit/4735)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-map-camera-coordinates-to-robot-coordinates-with-a-least-squares-fit/4735 "2026-09-02T00:18:27Z")

</div>

Based on contributions by Jawara. If you don’t want to run a full lens/camera calibration, you can fit a 2D transform (rotation, scale and translation combined) directly from a handful of camera-coordinate ↔ robot-coord…

---

## [How to calibrate a camera and map pixels to world coordinates with a ChArUco board](https://www.robotexchange.io/t/how-to-calibrate-a-camera-and-map-pixels-to-world-coordinates-with-a-charuco-board/4734)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-calibrate-a-camera-and-map-pixels-to-world-coordinates-with-a-charuco-board/4734 "2026-09-02T00:18:25Z")

</div>

Based on contributions by MathijsCok. This is the full pipeline: print a ChArUco board, use it to calibrate your camera’s lens (intrinsics + distortion), then collect pixel↔world point pairs to build a homography that c…

---

## [Choosing a method to convert camera pixels to robot coordinates](https://www.robotexchange.io/t/choosing-a-method-to-convert-camera-pixels-to-robot-coordinates/4733)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/choosing-a-method-to-convert-camera-pixels-to-robot-coordinates/4733 "2026-09-02T00:18:23Z")

</div>

Based on contributions by Bastiaan. Every vision-guided robot project eventually needs to answer the same question: the camera sees an object at pixel (u, v) — where does the robot need to move? This article explains th…

---

## [How to install and control a Robotiq gripper on a UR robot](https://www.robotexchange.io/t/how-to-install-and-control-a-robotiq-gripper-on-a-ur-robot/4732)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-install-and-control-a-robotiq-gripper-on-a-ur-robot/4732 "2026-09-02T00:18:20Z")

</div>

Based on contributions by Ilmar. This guide covers mounting a Robotiq 2-finger gripper (tested with Hand-E) on a UR robot arm, wiring it to a PLC, and controlling it both from the teach pendant (via URCap) and from an e…

---

## [How to add safety planes to a Universal Robot](https://www.robotexchange.io/t/how-to-add-safety-planes-to-a-universal-robot/4731)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-add-safety-planes-to-a-universal-robot/4731 "2026-09-02T00:18:18Z")

</div>

Based on contributions by Jasonbrowne. Safety planes are virtual boundaries that stop the robot from entering a defined area — useful when the robot works in a confined space or near a person and needs a hard physical l…

---

## [How to define and switch between multiple TCPs on a UR robot](https://www.robotexchange.io/t/how-to-define-and-switch-between-multiple-tcps-on-a-ur-robot/4730)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-define-and-switch-between-multiple-tcps-on-a-ur-robot/4730 "2026-09-02T00:18:16Z")

</div>

Based on contributions by Sem.db. If one end-effector has more than one working point (e.g. two different tool tips, or a tool used in two orientations), define multiple tool center points (TCPs) and switch between them…

---

## [How to set the payload and center of gravity on a UR e-Series robot](https://www.robotexchange.io/t/how-to-set-the-payload-and-center-of-gravity-on-a-ur-e-series-robot/4729)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-set-the-payload-and-center-of-gravity-on-a-ur-e-series-robot/4729 "2026-09-02T00:18:13Z")

</div>

Based on contributions by Arik. Whenever you mount a new tool or gripper, the robot needs an accurate payload mass and center of gravity (CoG) to move safely and predictably. This guide covers both the manual (Installat…

---

## [How to run a background thread on a UR robot](https://www.robotexchange.io/t/how-to-run-a-background-thread-on-a-ur-robot/4728)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-run-a-background-thread-on-a-ur-robot/4728 "2026-09-02T00:18:11Z")

</div>

Based on contributions by Jesse. A thread runs a piece of URScript in parallel with your main program. Use it for work that shouldn’t block the main program’s execution, such as polling a socket, reading/writing IO, or …

---

## [How to build a custom URCaps interface for a UR teach pendant](https://www.robotexchange.io/t/how-to-build-a-custom-urcaps-interface-for-a-ur-teach-pendant/4727)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-build-a-custom-urcaps-interface-for-a-ur-teach-pendant/4727 "2026-09-02T00:18:09Z")

</div>

Based on contributions by icorn. URCaps let you add your own screens to PolyScope — a custom installation tab or program node with its own GUI, built in Java. Use this when a popup (How to create popups on a Universal R…

---

## [How to create popups on a Universal Robots teach pendant](https://www.robotexchange.io/t/how-to-create-popups-on-a-universal-robots-teach-pendant/4726)

<div class="topic-metadata">

**Author:** [@thijs](https://www.robotexchange.io/u/thijs)\
**Replies:** 0\
**Last updated:** [September 2, 2026, 12:18am UTC](https://www.robotexchange.io/t/how-to-create-popups-on-a-universal-robots-teach-pendant/4726 "2026-09-02T00:18:06Z")

</div>

Based on contributions by BoazvdV. Use popups to show messages to the operator on the PolyScope run screen: a warning that stops the program until it’s acknowledged, or a status message that updates itself in the backgr…

[Next page](https://www.robotexchange.io/latest.md?page=1)
