diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..d4b2aa6f5 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,11 @@ +We thank you in advance for your pull request, and for your interest and support of the Robotics Toolbox for Python. + +You could help us a lot by: + +* Making your pull request relative to the `future` branch. This is where we fix issues and merge pull requests prior to pushing out a new release. +* Including a reference/link to any related issues. +* Providing a clear description of the problem you are addressing with the pull request, the changes proposed, and their rationale. + * We appreciate code comments explaining what your added block of code does. + * If your PR tackles a number of different issues, please submit multiple smaller/simpler PRs that we can individually accept or not. Otherwise we have to ask you to modify your PR and leave some changes out. Unfortunately GH doesn't let us pick and choose. +* Making your PR as small as possible. Don't include test files, data files, or notebooks that are specific to your project; ensure that notebooks, if of general interest, are saved with output values cleared, and that robot models include only those files required. PyPI has strict size limits on packages, and already RTB is split into a toolbox and data package. + diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2fc23db67..0e402dba7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,11 +13,11 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.7, 3.8, 3.9, "3.10"] + os: [windows-latest, ubuntu-latest] + python-version: [3.7, 3.8, 3.9, "3.10", 3.11, 3.12] steps: - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python ${{ matrix.python-version }} for ${{ matrix.os }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/test_future.yml b/.github/workflows/test_future.yml index ce8f8b0c6..7471d76f5 100644 --- a/.github/workflows/test_future.yml +++ b/.github/workflows/test_future.yml @@ -10,37 +10,37 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.7, 3.8, 3.9, '3.10'] + os: [windows-latest, ubuntu-latest, macos-12] + python-version: [3.8, 3.9, '3.10', '3.11', '3.12'] steps: - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Checkout future branch - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: ref: future path: robotics-toolbox-python - name: Checkout Swift - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: ref: future repository: jhavl/swift path: swift - name: Checkout Spatialmath - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: ref: future repository: petercorke/spatialmath-python path: sm - name: Checkout Spatialgeometry - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: ref: future repository: jhavl/spatialgeometry diff --git a/README.md b/README.md index 1403b22a6..3091d25e9 100644 --- a/README.md +++ b/README.md @@ -197,7 +197,7 @@ orientation parallel to y-axis (O=+Y)). from spatialmath import SE3 Tep = SE3.Trans(0.6, -0.3, 0.1) * SE3.OA([0, 1, 0], [0, 0, -1]) -sol = robot.ik_lm_chan(Tep) # solve IK +sol = robot.ik_LM(Tep) # solve IK print(sol) (array([ 0.20592815, 0.86609481, -0.79473206, -1.68254794, 0.74872915, @@ -239,14 +239,14 @@ We can also experiment with velocity controllers in Swift. Here is a resolved-ra ```python import swift -import roboticstoolbox as rp +import roboticstoolbox as rtb import spatialmath as sm import numpy as np env = swift.Swift() env.launch(realtime=True) -panda = rp.models.Panda() +panda = rtb.models.Panda() panda.q = panda.qr Tep = panda.fkine(panda.q) * sm.SE3.Trans(0.2, 0.2, 0.45) @@ -258,7 +258,7 @@ dt = 0.05 while not arrived: - v, arrived = rp.p_servo(panda.fkine(panda.q), Tep, 1) + v, arrived = rtb.p_servo(panda.fkine(panda.q), Tep, 1) panda.qd = np.linalg.pinv(panda.jacobe(panda.q)) @ v env.step(dt) diff --git a/docs/source/intro.rst b/docs/source/intro.rst index 569f553b9..45fe6d241 100644 --- a/docs/source/intro.rst +++ b/docs/source/intro.rst @@ -661,9 +661,9 @@ whole robots, discrete links, and objects in the world. For example a :math:`1 just one link, of the robot by:: >>> panda = rtb.models.Panda() - >>> obstacle = rtb.Box([1, 1, 1], SE3(1, 0, 0)) - >>> iscollision = panda.collided(obstacle) # boolean - >>> iscollision = panda.links[0].collided(obstacle) + >>> obstacle = Cuboid([1, 1, 1], pose = SE3(1, 0, 0)) + >>> iscollision = panda.iscollided(panda.q, obstacle) # boolean + >>> iscollision = panda.links[0].iscollided(obstacle) Additionally, we can compute the minimum Euclidean distance between whole @@ -777,4 +777,4 @@ References .. [SMTB-P] `Spatial Math Toolbox for Python `_ .. [bdsim] `Block diagram simulator for Python `_ .. [neo] `NEO: A Novel Expeditious Optimisation Algorithm for Reactive Motion Control of Manipulatorshttps://jhavl.github.io/neo>`_ -.. [corke21a] P. Corke and J. Haviland, "Not your grandmother’s toolbox – the Robotics Toolbox reinvented for Python", Proc. ICRA 2021. \ No newline at end of file +.. [corke21a] P. Corke and J. Haviland, "Not your grandmother’s toolbox – the Robotics Toolbox reinvented for Python", Proc. ICRA 2021. diff --git a/pyproject.toml b/pyproject.toml index 51e830282..29c7cc339 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ name = "roboticstoolbox-python" description = "A Python library for robotics education and research" -version = "1.1.0" +version = "1.1.1" authors = [ { name = "Jesse Haviland", email = "j.haviland@qut.edu.au" }, @@ -90,7 +90,7 @@ docs = [ "sphinx_rtd_theme", "sphinx-autorun", "sphinx_autodoc_typehints", - "sphinx-favicon" + "sphinx-favicon", ] diff --git a/roboticstoolbox/backends/PyPlot/PyPlot.py b/roboticstoolbox/backends/PyPlot/PyPlot.py index 055ec0c94..f5149a78f 100644 --- a/roboticstoolbox/backends/PyPlot/PyPlot.py +++ b/roboticstoolbox/backends/PyPlot/PyPlot.py @@ -416,9 +416,9 @@ def getframe(self): ) # make the background white, looks better than grey stipple - self.ax.w_xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0)) - self.ax.w_yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0)) - self.ax.w_zaxis.set_pane_color((1.0, 1.0, 1.0, 1.0)) + self.ax.xaxis.set_pane_color((1.0, 1.0, 1.0, 1.0)) + self.ax.yaxis.set_pane_color((1.0, 1.0, 1.0, 1.0)) + self.ax.zaxis.set_pane_color((1.0, 1.0, 1.0, 1.0)) plt.gcf().canvas.draw() # render the frame and save as a PIL image in the list diff --git a/roboticstoolbox/mobile/EKF.py b/roboticstoolbox/mobile/EKF.py index 27c7d37ec..bc9129f4c 100644 --- a/roboticstoolbox/mobile/EKF.py +++ b/roboticstoolbox/mobile/EKF.py @@ -3,10 +3,11 @@ @Author: Peter Corke, original MATLAB code and Python version @Author: Kristian Gibson, initial MATLAB port """ + from collections import namedtuple import numpy as np from math import pi -from scipy import integrate, randn +from scipy import integrate from scipy.linalg import sqrtm, block_diag from scipy.stats.distributions import chi2 import matplotlib.pyplot as plt diff --git a/rtb-data/setup.py b/rtb-data/setup.py index 1bcfb219f..6318a0fb2 100644 --- a/rtb-data/setup.py +++ b/rtb-data/setup.py @@ -8,7 +8,7 @@ with open(os.path.join(here, "README.md"), encoding="utf-8") as f: long_description = f.read() -release = "1.0.0" +release = "1.1.0" # list all data folders here, to ensure they get packaged pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy