diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e6698a1..0ddb098 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,22 +7,22 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.9", "3.10"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip - pip install pylint toml + pip install "pylint==3.2.7" toml pip install . - name: Analysing the code with pylint run: | pylint ./src/pyLineFollowerTrackGenerator - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: coverage-report path: coverage_report/ diff --git a/LICENSE b/LICENSE index b3a1e7e..b57af6a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Andreas Merkle +Copyright (c) 2024 - 2025 Andreas Merkle Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 8e35dd3..a21099a 100644 --- a/README.md +++ b/README.md @@ -35,10 +35,10 @@ Example: A arena 2 x 2 m generated with splines through 30 points. The line widt ```bash $ ./pyLineFollowerTrackGenerator Parameters: etrack -a "Andreas Merkle" -d "Line follower track along a 'E'." -e web@blue-andi.de -mg cardboard -mr rubber -mp dry etrack ``` -![example_etrack](./doc/examples/etrack/example_etrack.png) +![example_etrack](./examples/etrack/example_etrack.png) Files: -* [etrack.wbt](./doc/examples/etrack/etrack.wbt) -* [etrack.png](./doc/examples/etrack/etrack.png) +* [etrack.wbt](./examples/etrack/etrack.wbt) +* [etrack.png](./examples/etrack/etrack.png) ## Track: Grid Geneate a line follower track in a fixed grid by coordinates in a JSON file. @@ -49,11 +49,11 @@ Example: A arena 3 x 3 m generated with quarter circles. The line width is 1.5 c ```bash $ .pyLineFollowerTrackGenerator grid -a "Andreas Merkle" -d "Line follower grid track." -e web@blue-andi.de -mg cardboard -mr rubber -mp dry -s 3 grid.wbt grid_points.json ``` -![example_grid](./doc/examples/grid/example_grid.png) +![example_grid](./examples/grid/example_grid.png) Files: -* [grid_points.json](./doc/examples/grid/grid_points.json) -* [grid.wbt](./doc/examples/grid/grid.wbt) -* [grid.png](./doc/examples/grid/grid.png) +* [grid_points.json](./examples/grid/grid_points.json) +* [grid.wbt](./examples/grid/grid.wbt) +* [grid.png](./examples/grid/grid.png) ## Track: Simple Generate a simple line follower track with the "simple" command. @@ -64,10 +64,10 @@ Example: A arena 2 x 2 m generated with splines through 12 points. The line widt ```bash $ ./pyLineFollowerTrackGenerator simple simple.wbt -s=2 -np=12 ``` -![example_simple](./doc/examples/simple/example_simple.png) +![example_simple](./examples/simple/example_simple.png) Files: -* [simple.wbt](./doc/examples/simple/simple.wbt) -* [simple.png](./doc/examples/simple/simple.png) +* [simple.wbt](./examples/simple/simple.wbt) +* [simple.png](./examples/simple/simple.png) ## Track: <...> You are invited to extend it with more different kind of tracks. ;-) diff --git a/doc/examples/etrack/etrack.png b/doc/examples/etrack/etrack.png deleted file mode 100644 index 3f4c26d..0000000 Binary files a/doc/examples/etrack/etrack.png and /dev/null differ diff --git a/doc/examples/etrack/etrack.wbt b/doc/examples/etrack/etrack.wbt deleted file mode 100644 index 0f255c1..0000000 --- a/doc/examples/etrack/etrack.wbt +++ /dev/null @@ -1,47 +0,0 @@ -#VRML_SIM R2023b utf8 - -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackground.proto" -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto" -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto" - -WorldInfo { - info [ - "Line follower track along a 'E'." - "Andreas Merkle " - "2024-03-23" - "Parameters: etrack -a Andreas Merkle -d Line follower track along a 'E'. -e web@blue-andi.de -mg cardboard -mr rubber -mp dry etrack" - ] - title "my world" - basicTimeStep 8 - contactProperties [ - ContactProperties { - material1 "cardboard" - material2 "rubber" - coulombFriction [ - 0.5658597043160902 - ] - } - ] -} -Viewpoint { - orientation -0.21731789124848477 0.8379643241690167 0.5005883793729883 0.955999172465028 - position -2.3680840829884233 -1.2976240930158087 2.7219141988796696 -} -TexturedBackground { -} -TexturedBackgroundLight { -} -RectangleArena { - contactMaterial "cardboard" - floorSize 2 2 - floorTileSize 2 2 - floorAppearance PBRAppearance { - baseColorMap ImageTexture { - url [ - "etrack.png" - ] - } - roughness 1 - metalness 0 - } -} diff --git a/doc/examples/simple/simple.png b/doc/examples/simple/simple.png deleted file mode 100644 index 563343b..0000000 Binary files a/doc/examples/simple/simple.png and /dev/null differ diff --git a/examples/etrack/etrack.png b/examples/etrack/etrack.png new file mode 100644 index 0000000..5ad8ee0 Binary files /dev/null and b/examples/etrack/etrack.png differ diff --git a/examples/etrack/etrack.wbt b/examples/etrack/etrack.wbt new file mode 100644 index 0000000..bca81ec --- /dev/null +++ b/examples/etrack/etrack.wbt @@ -0,0 +1,101 @@ +#VRML_SIM R2025a utf8 + +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto" + +WorldInfo { + title "my world" + info [ "Line follower track along a 'E'.", "Andreas Merkle ", "2025-02-06", "Parameters: -v etrack -a Andreas Merkle -d Line follower track along a 'E'. -e web@blue-andi.de -mg cardboard -mr rubber -mp dry examples/etrack/etrack" ] + window "" + gravity 9.81 + CFM 1e-05 + ERP 0.2 + physics "" + basicTimeStep 8 + FPS 60 + optimalThreadCount 1 + physicsDisableTime 1 + physicsDisableLinearThreshold 0.01 + physicsDisableAngularThreshold 0.01 + defaultDamping NULL + inkEvaporation 0 + coordinateSystem "ENU" + gpsCoordinateSystem "local" + gpsReference 0 0 0 + lineScale 0.1 + dragForceScale 30.0 + dragTorqueScale 5.0 + randomSeed 0 + contactProperties [ ContactProperties { + material1 "cardboard" + material2 "rubber" + coulombFriction [ 0.6612954068122848 ] + frictionRotation 0 0 + rollingFriction 0 0 0 + bounce 0.5 + bounceVelocity 0.01 + forceDependentSlip [ 0 ] + softERP 0.2 + softCFM 0.001 + bumpSound "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/bump.wav" + rollSound "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/roll.wav" + slideSound "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/slide.wav" + maxContactJoints 10 + } + ] +} + +Viewpoint { + fieldOfView 0.785398 + orientation 0 1 0 0.7853981633974483 + position -4 0 4 + description "" + near 0.05 + far 0.0 + exposure 1.0 + follow "" + followType "Tracking Shot" + followSmoothness 0.5 + lensFlare NULL + ambientOcclusionRadius 2 + bloomThreshold 21 +} + +TexturedBackground { +} + +TexturedBackgroundLight { +} + +RectangleArena { + floorSize 2 2 + floorTileSize 2 2 + floorAppearance PBRAppearance { + baseColor 1 1 1 + baseColorMap ImageTexture { + url [ "examples/etrack/etrack.png" ] + repeatS TRUE + repeatT TRUE + filtering 4 + } + + transparency 0 + roughness 1 + roughnessMap NULL + metalness 0 + metalnessMap NULL + IBLStrength 1 + normalMap NULL + normalMapFactor 1 + occlusionMap NULL + occlusionMapStrength 1 + emissiveColor 0 0 0 + emissiveColorMap NULL + emissiveIntensity 1 + textureTransform NULL + name "PBRAppearance" + } + + contactMaterial "cardboard" +} diff --git a/doc/examples/etrack/example_etrack.png b/examples/etrack/example_etrack.png similarity index 100% rename from doc/examples/etrack/example_etrack.png rename to examples/etrack/example_etrack.png diff --git a/examples/etrack/generate.bat b/examples/etrack/generate.bat new file mode 100644 index 0000000..08591cd --- /dev/null +++ b/examples/etrack/generate.bat @@ -0,0 +1,5 @@ +@echo off + +cd ../../ +pyLineFollowerTrackGenerator etrack -a "Andreas Merkle" -d "Line follower track along a 'E'." -e web@blue-andi.de -mg cardboard -mr rubber -mp dry examples/etrack/etrack +cd examples/etrack diff --git a/doc/examples/grid/example_grid.png b/examples/grid/example_grid.png similarity index 100% rename from doc/examples/grid/example_grid.png rename to examples/grid/example_grid.png diff --git a/examples/grid/generate.bat b/examples/grid/generate.bat new file mode 100644 index 0000000..255add4 --- /dev/null +++ b/examples/grid/generate.bat @@ -0,0 +1,5 @@ +@echo off + +cd ../../ +pyLineFollowerTrackGenerator grid -a "Andreas Merkle" -d "Line follower grid track." -e web@blue-andi.de -mg cardboard -mr rubber -mp dry -s 3 examples/grid/grid.wbt examples/grid/grid_points.json +cd examples/grid diff --git a/doc/examples/grid/grid.png b/examples/grid/grid.png similarity index 100% rename from doc/examples/grid/grid.png rename to examples/grid/grid.png diff --git a/doc/examples/grid/grid.wbt b/examples/grid/grid.wbt similarity index 78% rename from doc/examples/grid/grid.wbt rename to examples/grid/grid.wbt index 205582e..0e46d6d 100644 --- a/doc/examples/grid/grid.wbt +++ b/examples/grid/grid.wbt @@ -1,12 +1,12 @@ -#VRML_SIM R2023b utf8 +#VRML_SIM R2025a utf8 -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackground.proto" -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto" -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto" WorldInfo { title "my world" - info [ "Line follower grid track.", "Andreas Merkle ", "2024-04-02", "Parameters: grid -a Andreas Merkle -d Line follower grid track. -e web@blue-andi.de -mg cardboard -mr rubber -mp dry -s 3 grid.wbt grid_points.json" ] + info [ "Line follower grid track.", "Andreas Merkle ", "2025-02-06", "Parameters: grid -a Andreas Merkle -d Line follower grid track. -e web@blue-andi.de -mg cardboard -mr rubber -mp dry -s 3 examples/grid/grid.wbt examples/grid/grid_points.json" ] window "" gravity 9.81 CFM 1e-05 @@ -30,7 +30,7 @@ WorldInfo { contactProperties [ ContactProperties { material1 "cardboard" material2 "rubber" - coulombFriction [ 0.7462734870965546 ] + coulombFriction [ 0.6699351427316589 ] frictionRotation 0 0 rollingFriction 0 0 0 bounce 0.5 @@ -38,9 +38,9 @@ WorldInfo { forceDependentSlip [ 0 ] softERP 0.2 softCFM 0.001 - bumpSound "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/bump.wav" - rollSound "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/roll.wav" - slideSound "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/slide.wav" + bumpSound "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/bump.wav" + rollSound "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/roll.wav" + slideSound "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/slide.wav" maxContactJoints 10 } ] @@ -74,7 +74,7 @@ RectangleArena { floorAppearance PBRAppearance { baseColor 1 1 1 baseColorMap ImageTexture { - url [ "grid.png" ] + url [ "examples/grid/grid.png" ] repeatS TRUE repeatT TRUE filtering 4 diff --git a/doc/examples/grid/grid_points.json b/examples/grid/grid_points.json similarity index 100% rename from doc/examples/grid/grid_points.json rename to examples/grid/grid_points.json diff --git a/doc/examples/simple/example_simple.png b/examples/simple/example_simple.png similarity index 100% rename from doc/examples/simple/example_simple.png rename to examples/simple/example_simple.png diff --git a/examples/simple/generate.bat b/examples/simple/generate.bat new file mode 100644 index 0000000..fbf49f5 --- /dev/null +++ b/examples/simple/generate.bat @@ -0,0 +1,5 @@ +@echo off + +cd ../../ +pyLineFollowerTrackGenerator simple examples/simple/simple.wbt -s=2 -np=12 +cd examples/simple diff --git a/examples/simple/simple.png b/examples/simple/simple.png new file mode 100644 index 0000000..8e612d2 Binary files /dev/null and b/examples/simple/simple.png differ diff --git a/doc/examples/simple/simple.wbt b/examples/simple/simple.wbt similarity index 81% rename from doc/examples/simple/simple.wbt rename to examples/simple/simple.wbt index 6fcc3b2..3c9377c 100644 --- a/doc/examples/simple/simple.wbt +++ b/examples/simple/simple.wbt @@ -1,12 +1,12 @@ -#VRML_SIM R2023b utf8 +#VRML_SIM R2025a utf8 -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackground.proto" -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto" -EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto" +EXTERNPROTO "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto" WorldInfo { title "my world" - info [ "Line follower track generated by pyLineFollowerTrackGenerator.", "anonymous <>", "2024-02-28", "Parameters: simple simple.wbt -s=2 -np=12" ] + info [ "Line follower track generated by pyLineFollowerTrackGenerator.", "anonymous <>", "2025-02-06", "Parameters: simple examples/simple/simple.wbt -s=2 -np=12" ] window "" gravity 9.81 CFM 1e-05 @@ -58,7 +58,7 @@ RectangleArena { floorAppearance PBRAppearance { baseColor 1 1 1 baseColorMap ImageTexture { - url [ "simple.png" ] + url [ "examples/simple/simple.png" ] repeatS TRUE repeatT TRUE filtering 4 diff --git a/pyproject.toml b/pyproject.toml index 39e0f82..4b339cd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "pyLineFollowerTrackGenerator" -version = "0.1.0" +version = "1.0.0" description = "A CLI tool to generate a Webots world with a random line follower track." readme = "README.md" requires-python = ">=3.9" @@ -16,7 +16,10 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10" + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13" ] dependencies = [ "matplotlib >= 3.8.3", @@ -43,3 +46,6 @@ pyLineFollowerTrackGenerator = "pyLineFollowerTrackGenerator.__main__:main" pythonpath = [ "src" ] + +[tool.setuptools.package-data] +pyLineFollowerTrackGenerator = ["pyproject.toml"] diff --git a/scripts/generate.py b/scripts/generate.py index 45fdee8..d518d64 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -5,7 +5,7 @@ import urllib.request import re -WEBOTS_VERSION = "R2023b" +WEBOTS_VERSION = "R2025a" WEBOTS_DOCS_REFERENCE_URL = "https://raw.githubusercontent.com/cyberbotics/webots/master/docs/reference" # pylint: disable=line-too-long def get_file_from_url(url: str) -> str: diff --git a/setup.cfg b/setup.cfg index 97e0acd..80ae100 100644 --- a/setup.cfg +++ b/setup.cfg @@ -14,6 +14,9 @@ classifiers = Operating System :: OS Independent Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 project_urls = Documentation = https://github.com/BlueAndi/pyLineFollowerTrackGenerator Source = https://github.com/BlueAndi/pyHepyLineFollowerTrackGeneratorxDump diff --git a/setup.py b/setup.py index dab8f3d..3aa7a5f 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/__init__.py b/src/pyLineFollowerTrackGenerator/__init__.py index de0636b..6e21dd6 100644 --- a/src/pyLineFollowerTrackGenerator/__init__.py +++ b/src/pyLineFollowerTrackGenerator/__init__.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/__main__.py b/src/pyLineFollowerTrackGenerator/__main__.py index 4dfe795..131fdf9 100644 --- a/src/pyLineFollowerTrackGenerator/__main__.py +++ b/src/pyLineFollowerTrackGenerator/__main__.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/base/__init__.py b/src/pyLineFollowerTrackGenerator/base/__init__.py index 133e24d..1ec41dd 100644 --- a/src/pyLineFollowerTrackGenerator/base/__init__.py +++ b/src/pyLineFollowerTrackGenerator/base/__init__.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/base/world_file.py b/src/pyLineFollowerTrackGenerator/base/world_file.py index 2fe54cf..971ecf1 100644 --- a/src/pyLineFollowerTrackGenerator/base/world_file.py +++ b/src/pyLineFollowerTrackGenerator/base/world_file.py @@ -15,7 +15,7 @@ def __init__(self, protos: list[Proto], nodes: list[Node]) -> None: def _get_header(self, code_format: CodeFormat) -> str: line_ending = code_format.line_ending() - return f"#VRML_SIM R2023b utf8{line_ending}{line_ending}" + return f"#VRML_SIM R2025a utf8{line_ending}{line_ending}" def export(self, code_format: CodeFormat) -> str: """Export to string. diff --git a/src/pyLineFollowerTrackGenerator/cmd_etrack.py b/src/pyLineFollowerTrackGenerator/cmd_etrack.py index 6b5bbc6..fb0509a 100644 --- a/src/pyLineFollowerTrackGenerator/cmd_etrack.py +++ b/src/pyLineFollowerTrackGenerator/cmd_etrack.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -245,13 +245,13 @@ def _exec(args): world_info = create_world_info(world_title, world_description, world_author, world_email, _BASIC_TIME_STEP) viewpoint = create_viewpoint(arena_width, arena_height) - proto_textured_background = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackground.proto") # pylint: disable=line-too-long + proto_textured_background = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto") # pylint: disable=line-too-long textured_background = create_textured_background() - proto_textured_background_light = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto") # pylint: disable=line-too-long + proto_textured_background_light = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto") # pylint: disable=line-too-long textured_background_light = create_textured_background_light() - proto_rectangle_arena = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto") # pylint: disable=line-too-long + proto_rectangle_arena = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto") # pylint: disable=line-too-long rectangle_arena = create_rectangle_arena(arena_width, arena_height, image_file_name) if add_friction_to_world(world_info, material_ground, material_robot, material_property) is True: diff --git a/src/pyLineFollowerTrackGenerator/cmd_friction.py b/src/pyLineFollowerTrackGenerator/cmd_friction.py index 58469f8..94cae05 100644 --- a/src/pyLineFollowerTrackGenerator/cmd_friction.py +++ b/src/pyLineFollowerTrackGenerator/cmd_friction.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/cmd_grid.py b/src/pyLineFollowerTrackGenerator/cmd_grid.py index 32fa66c..46e1638 100644 --- a/src/pyLineFollowerTrackGenerator/cmd_grid.py +++ b/src/pyLineFollowerTrackGenerator/cmd_grid.py @@ -4,7 +4,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -368,13 +368,13 @@ def _exec(args): world_info = create_world_info(world_title, world_description, world_author, world_email, _BASIC_TIME_STEP) viewpoint = create_viewpoint(arena_width, arena_height) - proto_textured_background = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackground.proto") # pylint: disable=line-too-long + proto_textured_background = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto") # pylint: disable=line-too-long textured_background = create_textured_background() - proto_textured_background_light = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto") # pylint: disable=line-too-long + proto_textured_background_light = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto") # pylint: disable=line-too-long textured_background_light = create_textured_background_light() - proto_rectangle_arena = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto") # pylint: disable=line-too-long + proto_rectangle_arena = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto") # pylint: disable=line-too-long rectangle_arena = create_rectangle_arena(arena_width, arena_height, image_file_name) if add_friction_to_world(world_info, material_ground, material_robot, material_property) is True: diff --git a/src/pyLineFollowerTrackGenerator/cmd_simple.py b/src/pyLineFollowerTrackGenerator/cmd_simple.py index 4c29cbc..3d44b80 100644 --- a/src/pyLineFollowerTrackGenerator/cmd_simple.py +++ b/src/pyLineFollowerTrackGenerator/cmd_simple.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -189,13 +189,13 @@ def _exec(args): world_info = create_world_info(world_title, world_description, world_author, world_email, _BASIC_TIME_STEP) viewpoint = create_viewpoint(arena_width, arena_height) - proto_textured_background = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackground.proto") # pylint: disable=line-too-long + proto_textured_background = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackground.proto") # pylint: disable=line-too-long textured_background = create_textured_background() - proto_textured_background_light = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto") # pylint: disable=line-too-long + proto_textured_background_light = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/backgrounds/protos/TexturedBackgroundLight.proto") # pylint: disable=line-too-long textured_background_light = create_textured_background_light() - proto_rectangle_arena = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/objects/floors/protos/RectangleArena.proto") # pylint: disable=line-too-long + proto_rectangle_arena = Proto("https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/objects/floors/protos/RectangleArena.proto") # pylint: disable=line-too-long rectangle_arena = create_rectangle_arena(arena_width, arena_height, image_file_name) if add_friction_to_world(world_info, material_ground, material_robot, material_property) is True: diff --git a/src/pyLineFollowerTrackGenerator/constants.py b/src/pyLineFollowerTrackGenerator/constants.py index 0e66f50..0677ea8 100644 --- a/src/pyLineFollowerTrackGenerator/constants.py +++ b/src/pyLineFollowerTrackGenerator/constants.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/friction.py b/src/pyLineFollowerTrackGenerator/friction.py index c108a92..d87a82f 100644 --- a/src/pyLineFollowerTrackGenerator/friction.py +++ b/src/pyLineFollowerTrackGenerator/friction.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2022 - 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2022 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/nodes/ContactProperties.py b/src/pyLineFollowerTrackGenerator/nodes/ContactProperties.py index d1ddedf..eabc438 100644 --- a/src/pyLineFollowerTrackGenerator/nodes/ContactProperties.py +++ b/src/pyLineFollowerTrackGenerator/nodes/ContactProperties.py @@ -24,8 +24,8 @@ def __init__(self) -> None: MFFloat("forceDependentSlip", [ 0 ]), SFFloat("softERP", 0.2), SFFloat("softCFM", 0.001), - SFString("bumpSound", "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/bump.wav"), # pylint: disable=line-too-long - SFString("rollSound", "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/roll.wav"), # pylint: disable=line-too-long - SFString("slideSound", "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/slide.wav"), # pylint: disable=line-too-long + SFString("bumpSound", "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/bump.wav"), # pylint: disable=line-too-long + SFString("rollSound", "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/roll.wav"), # pylint: disable=line-too-long + SFString("slideSound", "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/slide.wav"), # pylint: disable=line-too-long SFInt32("maxContactJoints", 10) ]) diff --git a/src/pyLineFollowerTrackGenerator/nodes/LinearMotor.py b/src/pyLineFollowerTrackGenerator/nodes/LinearMotor.py index c409cb1..e7010d2 100644 --- a/src/pyLineFollowerTrackGenerator/nodes/LinearMotor.py +++ b/src/pyLineFollowerTrackGenerator/nodes/LinearMotor.py @@ -16,5 +16,5 @@ def __init__(self) -> None: self.add_fields([ SFString("name", [ "linear, motor" ]), SFFloat("maxForce", 10), - SFString("sound", "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/linear_motor.wav") # pylint: disable=line-too-long + SFString("sound", "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/linear_motor.wav") # pylint: disable=line-too-long ]) diff --git a/src/pyLineFollowerTrackGenerator/nodes/RotationalMotor.py b/src/pyLineFollowerTrackGenerator/nodes/RotationalMotor.py index 9441ec4..e8581d6 100644 --- a/src/pyLineFollowerTrackGenerator/nodes/RotationalMotor.py +++ b/src/pyLineFollowerTrackGenerator/nodes/RotationalMotor.py @@ -16,5 +16,5 @@ def __init__(self) -> None: self.add_fields([ SFString("name", [ "rotational, motor" ]), SFFloat("maxTorque", 10), - SFString("sound", "https://raw.githubusercontent.com/cyberbotics/webots/R2023b/projects/default/worlds/sounds/rotational_motor.wav") # pylint: disable=line-too-long + SFString("sound", "https://raw.githubusercontent.com/cyberbotics/webots/R2025a/projects/default/worlds/sounds/rotational_motor.wav") # pylint: disable=line-too-long ]) diff --git a/src/pyLineFollowerTrackGenerator/nodes/__init__.py b/src/pyLineFollowerTrackGenerator/nodes/__init__.py index 133e24d..1ec41dd 100644 --- a/src/pyLineFollowerTrackGenerator/nodes/__init__.py +++ b/src/pyLineFollowerTrackGenerator/nodes/__init__.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/prg_arg_parser.py b/src/pyLineFollowerTrackGenerator/prg_arg_parser.py index 078f97c..b0c92c0 100644 --- a/src/pyLineFollowerTrackGenerator/prg_arg_parser.py +++ b/src/pyLineFollowerTrackGenerator/prg_arg_parser.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2022 - 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2022 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -50,7 +50,7 @@ def __init__(self): def _create_main_parser(self): main_parser = argparse.ArgumentParser( \ description="Generate a Webots world with a random line follower track.", - epilog="Copyright (c) 2024 " + __author__ + " - " + __license__ + \ + epilog="Copyright (c) 2022 - 2025 " + __author__ + " - " + __license__ + \ " - Find the project on github: " + __repository__) main_parser.set_defaults(which="") diff --git a/src/pyLineFollowerTrackGenerator/util.py b/src/pyLineFollowerTrackGenerator/util.py index f5d3c1d..43bcdd1 100644 --- a/src/pyLineFollowerTrackGenerator/util.py +++ b/src/pyLineFollowerTrackGenerator/util.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/src/pyLineFollowerTrackGenerator/version.py b/src/pyLineFollowerTrackGenerator/version.py index dd6e615..2be21a8 100644 --- a/src/pyLineFollowerTrackGenerator/version.py +++ b/src/pyLineFollowerTrackGenerator/version.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2022 - 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2022 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/tests/__init__.py b/tests/__init__.py index 133e24d..1ec41dd 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -2,7 +2,7 @@ # MIT License # -# Copyright (c) 2024 Andreas Merkle (web@blue-andi.de) +# Copyright (c) 2024 - 2025 Andreas Merkle (web@blue-andi.de) # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal