From 5ad032f53976d954de9f92cb6086cc97b0737c33 Mon Sep 17 00:00:00 2001 From: ZdenekM Date: Mon, 24 Feb 2025 12:38:12 +0100 Subject: [PATCH] feat: minor changes to fit demo actions etc --- build-support/install_ur_dependencies.sh | 6 ++-- compose-files/fit-demo/docker-compose.yml | 8 ++--- src/docker/arcor2_3d_mouse/Dockerfile | 2 +- src/docker/arcor2_arserver/Dockerfile | 2 +- src/docker/arcor2_build/Dockerfile | 2 +- src/docker/arcor2_calibration/Dockerfile | 2 +- src/docker/arcor2_dobot/BUILD | 2 +- src/docker/arcor2_dobot/Dockerfile | 2 +- src/docker/arcor2_execution/Dockerfile | 2 +- src/docker/arcor2_execution_proxy/Dockerfile | 2 +- src/docker/arcor2_fanuc/Dockerfile | 2 +- src/docker/arcor2_scene/Dockerfile | 2 +- src/docker/arcor2_upload_fit_demo/BUILD | 2 +- src/docker/arcor2_ur/Dockerfile | 2 +- src/python/arcor2_dobot/CHANGELOG.md | 6 ++++ src/python/arcor2_dobot/scripts/dobot.py | 10 +++---- src/python/arcor2_fit_demo/CHANGELOG.md | 6 ++++ .../object_types/abstract_dobot.py | 2 +- .../object_types/conveyor_belt.py | 4 +-- .../object_types/milling_machine.py | 26 ----------------- .../object_types/optical_quality_control.py | 5 ++-- .../object_types/weighing_machine.py | 29 +++++++++++++++++++ .../arcor2_fit_demo/scripts/upload_objects.py | 10 ++----- 23 files changed, 73 insertions(+), 63 deletions(-) delete mode 100644 src/python/arcor2_fit_demo/object_types/milling_machine.py create mode 100644 src/python/arcor2_fit_demo/object_types/weighing_machine.py diff --git a/build-support/install_ur_dependencies.sh b/build-support/install_ur_dependencies.sh index e02c92eb2..afe9b0993 100755 --- a/build-support/install_ur_dependencies.sh +++ b/build-support/install_ur_dependencies.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash apt-get install -y -q --no-install-recommends \ - ros-jazzy-ros-base=0.11.0-1noble.20241018.114811 \ - ros-jazzy-ur=2.4.13-1noble.20241118.195218 \ - ros-jazzy-moveit-py=2.10.0-1noble.20241108.205840 + ros-jazzy-ros-base=0.11.0-1noble.20250115.204954 \ + ros-jazzy-ur=3.0.2-1noble.20250202.035908 \ + ros-jazzy-moveit-py=2.12.1-1noble.20250202.033533 diff --git a/compose-files/fit-demo/docker-compose.yml b/compose-files/fit-demo/docker-compose.yml index 1697b55c1..5db726243 100644 --- a/compose-files/fit-demo/docker-compose.yml +++ b/compose-files/fit-demo/docker-compose.yml @@ -100,7 +100,7 @@ services: - ./calibration.yaml:/root/calibration.yaml fit-demo-dobot-magician: - image: arcor2/arcor2_dobot:1.3.0 + image: arcor2/arcor2_dobot:1.3.1 container_name: fit-demo-dobot-magician depends_on: fit-demo-scene: @@ -116,7 +116,7 @@ services: - ARCOR2_DOBOT_MODEL=magician fit-demo-dobot-magician2: - image: arcor2/arcor2_dobot:1.3.0 + image: arcor2/arcor2_dobot:1.3.1 container_name: fit-demo-dobot-magician2 depends_on: fit-demo-scene: @@ -132,7 +132,7 @@ services: - ARCOR2_DOBOT_MODEL=magician fit-demo-dobot-m1: - image: arcor2/arcor2_dobot:1.3.0 + image: arcor2/arcor2_dobot:1.3.1 container_name: fit-demo-dobot-m1 depends_on: fit-demo-scene: @@ -212,7 +212,7 @@ services: - fit-demo-asset fit-demo-upload-object-types: - image: arcor2/arcor2_upload_fit_demo:1.5.0 + image: arcor2/arcor2_upload_fit_demo:1.5.1 container_name: "fit-demo-upload-object-types" depends_on: fit-demo-project: diff --git a/src/docker/arcor2_3d_mouse/Dockerfile b/src/docker/arcor2_3d_mouse/Dockerfile index f4acc4ca6..44cd977c6 100644 --- a/src/docker/arcor2_3d_mouse/Dockerfile +++ b/src/docker/arcor2_3d_mouse/Dockerfile @@ -13,7 +13,7 @@ FROM python:3.11.10-bookworm # curl is for healthcheck RUN apt-get update \ && apt-get -f satisfy ffmpeg -y \ - && apt-get install -y -q --no-install-recommends sudo=1.9.13p3-1+deb12u1 libhidapi-dev=0.13.1-1 libpulse0=16.1+dfsg1-2+b1 libasound2=1.2.8-1+b1 libasound2-plugins=1.2.7.1-1 curl=7.88.1-10+deb12u5 \ + && apt-get install -y -q --no-install-recommends sudo=1.9.13p3-1+deb12u1 libhidapi-dev=0.13.1-1 libpulse0=16.1+dfsg1-2+b1 libasound2=1.2.8-1+b1 libasound2-plugins=1.2.7.1-1 curl=7.88.1-10+deb12u8 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_arserver/Dockerfile b/src/docker/arcor2_arserver/Dockerfile index 2fc597aa4..bb9bf1e61 100644 --- a/src/docker/arcor2_arserver/Dockerfile +++ b/src/docker/arcor2_arserver/Dockerfile @@ -9,7 +9,7 @@ RUN PEX_TOOLS=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /b FROM python:3.11.10-bookworm RUN apt-get update \ - && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.80.0-6ubuntu3.2 \ + && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.74.6-2+deb12u5 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_build/Dockerfile b/src/docker/arcor2_build/Dockerfile index b0d1ce8cf..8897f1fa6 100644 --- a/src/docker/arcor2_build/Dockerfile +++ b/src/docker/arcor2_build/Dockerfile @@ -10,7 +10,7 @@ FROM python:3.11.10-bookworm # curl is for healthcheck RUN apt-get update \ - && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.80.0-6ubuntu3.2 curl=7.88.1-10+deb12u5 \ + && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.74.6-2+deb12u5 curl=7.88.1-10+deb12u8 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_calibration/Dockerfile b/src/docker/arcor2_calibration/Dockerfile index d820ce7f0..3c7871aaa 100644 --- a/src/docker/arcor2_calibration/Dockerfile +++ b/src/docker/arcor2_calibration/Dockerfile @@ -11,7 +11,7 @@ FROM python:3.11.10-bookworm # libgomp1 and libusb-1.0-0 are because of Open3D # curl is for healthcheck RUN apt-get update \ - && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.80.0-6ubuntu3.2 libgomp1=12.2.0-14 libusb-1.0-0=2:1.0.26-1 curl=7.88.1-10+deb12u5 \ + && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.74.6-2+deb12u5 libgomp1=12.2.0-14 libusb-1.0-0=2:1.0.26-1 curl=7.88.1-10+deb12u8 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_dobot/BUILD b/src/docker/arcor2_dobot/BUILD index a0ae1a275..8ec2c6f29 100644 --- a/src/docker/arcor2_dobot/BUILD +++ b/src/docker/arcor2_dobot/BUILD @@ -1 +1 @@ -docker_image(name="arcor2_dobot", repository="arcor2/arcor2_dobot", image_tags=["1.3.0"]) +docker_image(name="arcor2_dobot", repository="arcor2/arcor2_dobot", image_tags=["1.3.1"]) diff --git a/src/docker/arcor2_dobot/Dockerfile b/src/docker/arcor2_dobot/Dockerfile index bb8092c7a..0d4d92642 100644 --- a/src/docker/arcor2_dobot/Dockerfile +++ b/src/docker/arcor2_dobot/Dockerfile @@ -10,7 +10,7 @@ FROM python:3.11.10-bookworm # curl is for healthcheck RUN apt-get update \ - && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.80.0-6ubuntu3.2 libgomp1=12.2.0-14 libusb-1.0-0=2:1.0.26-1 curl=7.88.1-10+deb12u5 \ + && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.74.6-2+deb12u5 libgomp1=12.2.0-14 libusb-1.0-0=2:1.0.26-1 curl=7.88.1-10+deb12u8 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_execution/Dockerfile b/src/docker/arcor2_execution/Dockerfile index 9b87c545d..a8f010a44 100644 --- a/src/docker/arcor2_execution/Dockerfile +++ b/src/docker/arcor2_execution/Dockerfile @@ -9,7 +9,7 @@ RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope= FROM python:3.11.10-bookworm RUN apt-get update \ - && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.80.0-6ubuntu3.2 \ + && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.74.6-2+deb12u5 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_execution_proxy/Dockerfile b/src/docker/arcor2_execution_proxy/Dockerfile index 56cb186d9..41ffc01c2 100644 --- a/src/docker/arcor2_execution_proxy/Dockerfile +++ b/src/docker/arcor2_execution_proxy/Dockerfile @@ -13,7 +13,7 @@ RUN mkdir -p /root/tokens \ # curl is for healthcheck RUN apt-get update \ - && apt-get install -y -q --no-install-recommends curl=7.88.1-10+deb12u5 \ + && apt-get install -y -q --no-install-recommends curl=7.88.1-10+deb12u8 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_fanuc/Dockerfile b/src/docker/arcor2_fanuc/Dockerfile index 1b256b96e..f8f6624cd 100644 --- a/src/docker/arcor2_fanuc/Dockerfile +++ b/src/docker/arcor2_fanuc/Dockerfile @@ -10,7 +10,7 @@ FROM python:3.11.10-bookworm # curl is for healthcheck RUN apt-get update \ - && apt-get install -y -q --no-install-recommends curl=7.88.1-10+deb12u5 \ + && apt-get install -y -q --no-install-recommends curl=7.88.1-10+deb12u8 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_scene/Dockerfile b/src/docker/arcor2_scene/Dockerfile index 1e664940e..f5706cfa6 100644 --- a/src/docker/arcor2_scene/Dockerfile +++ b/src/docker/arcor2_scene/Dockerfile @@ -11,7 +11,7 @@ FROM python:3.11.10-bookworm # libgomp1 and libusb-1.0-0 are because of Open3D # curl is for healthcheck RUN apt-get update \ - && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.80.0-6ubuntu3.2 libgomp1=12.2.0-14 libusb-1.0-0=2:1.0.26-1 curl=7.88.1-10+deb12u5 \ + && apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.74.6-2+deb12u5 libgomp1=12.2.0-14 libusb-1.0-0=2:1.0.26-1 curl=7.88.1-10+deb12u8 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/docker/arcor2_upload_fit_demo/BUILD b/src/docker/arcor2_upload_fit_demo/BUILD index 8efd7c608..5eb4b8602 100644 --- a/src/docker/arcor2_upload_fit_demo/BUILD +++ b/src/docker/arcor2_upload_fit_demo/BUILD @@ -1 +1 @@ -docker_image(name="arcor2_upload_fit_demo", repository="arcor2/arcor2_upload_fit_demo", image_tags=["1.5.0"]) \ No newline at end of file +docker_image(name="arcor2_upload_fit_demo", repository="arcor2/arcor2_upload_fit_demo", image_tags=["1.5.1"]) \ No newline at end of file diff --git a/src/docker/arcor2_ur/Dockerfile b/src/docker/arcor2_ur/Dockerfile index 5d58b3b04..9689f3dd6 100644 --- a/src/docker/arcor2_ur/Dockerfile +++ b/src/docker/arcor2_ur/Dockerfile @@ -41,7 +41,7 @@ COPY build-support/install_ur_dependencies.sh /root/install_ur_dependencies.sh RUN apt-get update \ && /root/install_ur_dependencies.sh \ && apt-get install -y -q --no-install-recommends \ - libglib2.0-0=2.80.0-6ubuntu3.2 \ + libglib2.0-0=2.74.6-2+deb12u5 \ libgomp1=14.2.0-4ubuntu2~24.04 libusb-1.0-0=2:1.0.27-1 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/src/python/arcor2_dobot/CHANGELOG.md b/src/python/arcor2_dobot/CHANGELOG.md index 7d8b96206..2b8f1c028 100644 --- a/src/python/arcor2_dobot/CHANGELOG.md +++ b/src/python/arcor2_dobot/CHANGELOG.md @@ -2,6 +2,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +## [1.3.1] - 2025-02-24 + +### Fixed + +- Conveyor belt direction. + ## [1.3.0] - 2024-04-11 ### Changed diff --git a/src/python/arcor2_dobot/scripts/dobot.py b/src/python/arcor2_dobot/scripts/dobot.py index 81132d1d6..f012085d9 100644 --- a/src/python/arcor2_dobot/scripts/dobot.py +++ b/src/python/arcor2_dobot/scripts/dobot.py @@ -228,10 +228,10 @@ def put_conveyor_distance() -> RespT: name: direction schema: type: string - default: forward + default: left enum: - - forward - - backwards + - left + - right description: Direction responses: 204: @@ -245,11 +245,11 @@ def put_conveyor_distance() -> RespT: """ speed = float(request.args.get("velocity", default=50.0)) - direction = request.args.get("direction", default="forward") + direction = request.args.get("direction", default="left") distance = float(request.args.get("distance", default=0.1)) assert _dobot is not None - _dobot.conveyor_distance(speed, distance * 1000, 1 if direction == "forward" else -1) + _dobot.conveyor_distance(speed, distance * 1000, 1 if direction == "left" else -1) return Response(status=204) diff --git a/src/python/arcor2_fit_demo/CHANGELOG.md b/src/python/arcor2_fit_demo/CHANGELOG.md index fcca72ab6..6fe916ecb 100644 --- a/src/python/arcor2_fit_demo/CHANGELOG.md +++ b/src/python/arcor2_fit_demo/CHANGELOG.md @@ -2,6 +2,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +## [1.5.1] - 2025-02-24 + +### Changed + +- Some actions were renamed, etc. + ## [1.5.0] - 2024-04-11 ### Changed diff --git a/src/python/arcor2_fit_demo/object_types/abstract_dobot.py b/src/python/arcor2_fit_demo/object_types/abstract_dobot.py index 52006ba52..9ff6d6f3f 100644 --- a/src/python/arcor2_fit_demo/object_types/abstract_dobot.py +++ b/src/python/arcor2_fit_demo/object_types/abstract_dobot.py @@ -61,7 +61,7 @@ def home(self, *, an: None | str = None) -> None: def move( self, pose: Pose, - move_type: MoveType, + move_type: MoveType = MoveType.JOINTS, velocity: float = 50.0, acceleration: float = 50.0, safe: bool = True, diff --git a/src/python/arcor2_fit_demo/object_types/conveyor_belt.py b/src/python/arcor2_fit_demo/object_types/conveyor_belt.py index 922e70eba..9f4147a86 100644 --- a/src/python/arcor2_fit_demo/object_types/conveyor_belt.py +++ b/src/python/arcor2_fit_demo/object_types/conveyor_belt.py @@ -65,7 +65,7 @@ def set_velocity( set_velocity.__action__ = ActionMetadata() # type: ignore - def set_distance( + def move_distance( self, velocity: float = 0.5, distance: float = 0.55, @@ -91,4 +91,4 @@ def set_distance( params={"velocity": velocity * 100, "distance": distance, "direction": direction}, ) - set_distance.__action__ = ActionMetadata() # type: ignore + move_distance.__action__ = ActionMetadata() # type: ignore diff --git a/src/python/arcor2_fit_demo/object_types/milling_machine.py b/src/python/arcor2_fit_demo/object_types/milling_machine.py deleted file mode 100644 index 79f542049..000000000 --- a/src/python/arcor2_fit_demo/object_types/milling_machine.py +++ /dev/null @@ -1,26 +0,0 @@ -import random -import time - -from arcor2.data.common import ActionMetadata -from arcor2.object_types.abstract import CollisionObject - - -class MillingMachine(CollisionObject): - _ABSTRACT = False - - def do_milling(self, *, an: None | str = None) -> bool: - """Performs a (simulated) milling process. Returns False if something - goes wrong. - - :param an: - :return: - """ - - if random.uniform(0, 1) > 0.3: - time.sleep(3) - return True - else: - time.sleep(5) - return False - - do_milling.__action__ = ActionMetadata() # type: ignore diff --git a/src/python/arcor2_fit_demo/object_types/optical_quality_control.py b/src/python/arcor2_fit_demo/object_types/optical_quality_control.py index 3174223fb..60f48bdaf 100644 --- a/src/python/arcor2_fit_demo/object_types/optical_quality_control.py +++ b/src/python/arcor2_fit_demo/object_types/optical_quality_control.py @@ -2,11 +2,10 @@ import time from arcor2.data.common import ActionMetadata -from arcor2.object_types.abstract import CollisionObject +from arcor2.object_types.abstract import GenericWithPose -class OpticalQualityControl(CollisionObject): - mesh_filename = "kinect_azure.dae" +class OpticalQualityControl(GenericWithPose): _ABSTRACT = False def measure_quality(self, *, an: None | str = None) -> bool: diff --git a/src/python/arcor2_fit_demo/object_types/weighing_machine.py b/src/python/arcor2_fit_demo/object_types/weighing_machine.py new file mode 100644 index 000000000..c7779d5b0 --- /dev/null +++ b/src/python/arcor2_fit_demo/object_types/weighing_machine.py @@ -0,0 +1,29 @@ +import random +import time + +from arcor2.data.common import ActionMetadata +from arcor2.object_types.abstract import CollisionObject + + +class WeighingMachine(CollisionObject): + _ABSTRACT = False + + def check_weight(self, required: float = 1.0, max_diff: float = 0.1, *, an: None | str = None) -> bool: + """Returns true if weight of an object being measured is within. + + . + + :param required: Required (target) weight. + :param max_diff: Maximal allowed difference. + :param an: + :return: True if object weight is OK. + """ + + if random.uniform(0, 1) > 0.3: + time.sleep(1) + return True + else: + time.sleep(1) + return False + + check_weight.__action__ = ActionMetadata() # type: ignore diff --git a/src/python/arcor2_fit_demo/scripts/upload_objects.py b/src/python/arcor2_fit_demo/scripts/upload_objects.py index e5f9611c5..99340e8bf 100755 --- a/src/python/arcor2_fit_demo/scripts/upload_objects.py +++ b/src/python/arcor2_fit_demo/scripts/upload_objects.py @@ -9,8 +9,8 @@ from arcor2_fit_demo.object_types.dobot_magician import DobotMagician from arcor2_fit_demo.object_types.erp import Erp from arcor2_fit_demo.object_types.fit_common_mixin import FitCommonMixin -from arcor2_fit_demo.object_types.milling_machine import MillingMachine from arcor2_fit_demo.object_types.optical_quality_control import OpticalQualityControl +from arcor2_fit_demo.object_types.weighing_machine import WeighingMachine def main() -> None: @@ -26,12 +26,8 @@ def main() -> None: upload_whatever(FitCommonMixin) upload_def(Erp) - upload_def(MillingMachine, Box(MillingMachine.__name__, 0.1, 0.1, 0.1)) - upload_def( - OpticalQualityControl, - Mesh(OpticalQualityControl.__name__, OpticalQualityControl.mesh_filename), - file_to_upload=get_data(OpticalQualityControl.mesh_filename), - ) + upload_def(WeighingMachine, Box(WeighingMachine.__name__, 0.15, 0.15, 0.17)) + upload_def(OpticalQualityControl) if __name__ == "__main__":