From 0087317b6f69f063c5055bf66d57dda174b01304 Mon Sep 17 00:00:00 2001 From: Peter Corke Date: Sun, 5 Jul 2026 17:17:23 +1000 Subject: [PATCH] fix(models): remove FetchCamera, not used in RVC3 and its URDF is unshippable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FetchCamera.py pointed at "fetch_description/robots/fetch_camera.urdf", which doesn't exist in either the bundled rtb-data xacro tree (no fetch_description folder at all) or robot_descriptions' fetch_description package (only ships fetch.urdf, the file Fetch.py uses) — always raised FileNotFoundError. Unlike Valkyrie/Fetch, there's no upstream file to patch here; the referenced asset was simply never shipped anywhere. Co-Authored-By: Claude Sonnet 5 --- .../models/URDF/FetchCamera.py | 63 ------------------- src/roboticstoolbox/models/URDF/__init__.py | 2 - 2 files changed, 65 deletions(-) delete mode 100644 src/roboticstoolbox/models/URDF/FetchCamera.py diff --git a/src/roboticstoolbox/models/URDF/FetchCamera.py b/src/roboticstoolbox/models/URDF/FetchCamera.py deleted file mode 100644 index 0d6f835b8..000000000 --- a/src/roboticstoolbox/models/URDF/FetchCamera.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python - -import numpy as np -from roboticstoolbox.models.URDF.URDFRobot import URDFRobot - -# from spatialmath import SE3 - - -class FetchCamera(URDFRobot): - """ - Class that imports a FetchCamera URDF model - - ``FetchCamera()`` is a class which imports a FetchCamera robot definition - from a URDF file. The model describes its kinematic and graphical - characteristics. - - .. runblock:: pycon - - >>> import roboticstoolbox as rtb - >>> robot = rtb.models.URDF.FetchCamera() - >>> print(robot) - - Defined joint configurations are: - - - qz, zero joint angle configuration - - qr, zero joint angle configuration - - .. codeauthor:: Kerry He - .. sectionauthor:: Peter Corke - """ - - def __init__(self): - super().__init__( - "fetch_description/robots/fetch_camera.urdf", - manufacturer="Fetch", - gripper_link_index=6, - ) - - # self.grippers[0].tool = SE3(0, 0, 0.1034) - self.qdlim = np.array([4.0, 4.0, 0.1, 1.57, 1.57]) - - self.qz = np.array([0, 0, 0, 0, 0]) - self.qr = np.array([0, 0, 0, 0, 0]) - - self.addconfiguration("qr", self.qr) - self.addconfiguration("qz", self.qz) - - -if __name__ == "__main__": # pragma nocover - robot = FetchCamera() - print(robot) - - for link in robot.links: - print(link.name) - print(link.isjoint) - print(len(link.collision)) - - print() - - for link in robot.grippers[0].links: - print(link.name) - print(link.isjoint) - print(len(link.collision)) diff --git a/src/roboticstoolbox/models/URDF/__init__.py b/src/roboticstoolbox/models/URDF/__init__.py index 071c9e5d4..dd182b20d 100644 --- a/src/roboticstoolbox/models/URDF/__init__.py +++ b/src/roboticstoolbox/models/URDF/__init__.py @@ -20,7 +20,6 @@ from roboticstoolbox.models.URDF.KinovaGen3 import KinovaGen3 from roboticstoolbox.models.URDF.YuMi import YuMi from roboticstoolbox.models.URDF.Fetch import Fetch -from roboticstoolbox.models.URDF.FetchCamera import FetchCamera from roboticstoolbox.models.URDF.Valkyrie import Valkyrie from roboticstoolbox.models.URDF.AL5D import AL5D @@ -47,7 +46,6 @@ "KinovaGen3", "YuMi", "Fetch", - "FetchCamera", "Valkyrie", "AL5D", ]