%global _empty_manifest_terminate_build 0 Name: python-swift-sim Version: 1.1.0 Release: 1 Summary: A Python/Javascript Robot Simulator and Visualiser License: MIT License Copyright (c) 2020 jhavl Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. URL: https://pypi.org/project/swift-sim/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4a/4e/a3babcf2aef18e5a2c1968c442b2255d1c63f521199f81c6aa2bba5a5644/swift-sim-1.1.0.tar.gz Requires: python3-numpy Requires: python3-spatialgeometry Requires: python3-websockets Requires: python3-black Requires: python3-roboticstoolbox-python Requires: python3-swift-sim Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-flake8 Requires: python3-pyyaml Requires: python3-sphinx Requires: python3-sphinx-rtd-theme Requires: python3-sphinx-autorun Requires: python3-ipython Requires: python3-notebook Requires: python3-aiortc Requires: python3-opencv-python %description # Swift [![A Python Robotics Package](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/master/.github/svg/py_collection.min.svg)](https://github.com/petercorke/robotics-toolbox-python) [![QUT Centre for Robotics Open Source](https://github.com/qcr/qcr.github.io/raw/master/misc/badge.svg)](https://qcr.github.io) [![PyPI version](https://badge.fury.io/py/swift-sim.svg)](https://badge.fury.io/py/swift-sim) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/swift-sim)](https://img.shields.io/pypi/pyversions/swift-sim) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Swift is a light-weight browser-based simulator built on top of the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python). This simulator provides robotics-specific functionality for rapid prototyping of algorithms, research, and education. Built using Python and Javascript, Swift is cross-platform (Linux, MacOS, and Windows) while also leveraging the ubiquity and support of these languages. Through the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python), Swift can visualise over 30 supplied robot models: well-known contemporary robots from Franka-Emika, Kinova, Universal Robotics, Rethink as well as classical robots such as the Puma 560 and the Stanford arm. Swift is under development and will support mobile robots in the future. Swift provides: * visualisation of mesh objects (Collada and STL files) and primitive shapes; * robot visualisation and simulation; * recording and saving a video of the simulation; * source code which can be read for learning and teaching; ## Installing ### Using pip Swift is designed to be controlled through the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python). By installing the toolbox through PyPI, swift is installed as a dependency ```shell script pip3 install roboticstoolbox-python ``` Otherwise, Swift can be install by ```shell script pip3 install swift-sim ``` Available options are: - `nb` provides the ability for Swift to be embedded within a Jupyter Notebook - `vision` implements an RTC communication strategy allowing for visual feedback from Swift and allows Swift to be run on Google Colab Put the options in a comma-separated list like ```shell script pip3 install swift-sim[optionlist] ``` ### From GitHub To install the latest version from GitHub ```shell script git clone https://github.com/jhavl/swift.git cd swift pip3 install -e . ``` ## Code Examples ### Robot Plot We will load a model of the Franka-Emika Panda robot and plot it. We set the joint angles of the robot into the ready joint configuration qr. ```python import roboticstoolbox as rp panda = rp.models.Panda() panda.plot(q=panda.qr) ```

### Resolved-Rate Motion Control We will load a model of the Franka-Emika Panda robot and make it travel towards a goal pose defined by the variable Tep. ```python import roboticstoolbox as rtb import spatialmath as sm import numpy as np from swift import Swift # Make and instance of the Swift simulator and open it env = Swift() env.launch(realtime=True) # Make a panda model and set its joint angles to the ready joint configuration panda = rtb.models.Panda() panda.q = panda.qr # Set a desired and effector pose an an offset from the current end-effector pose Tep = panda.fkine(panda.q) * sm.SE3.Tx(0.2) * sm.SE3.Ty(0.2) * sm.SE3.Tz(0.45) # Add the robot to the simulator env.add(panda) # Simulate the robot while it has not arrived at the goal arrived = False while not arrived: # Work out the required end-effector velocity to go towards the goal v, arrived = rtb.p_servo(panda.fkine(panda.q), Tep, 1) # Set the Panda's joint velocities panda.qd = np.linalg.pinv(panda.jacobe(panda.q)) @ v # Step the simulator by 50 milliseconds env.step(0.05) ```

### Embed within a Jupyter Notebook To embed within a Jupyter Notebook Cell, use the `browser="notebook"` option when launching the simulator. ```python # Try this example within a Jupyter Notebook Cell! import roboticstoolbox as rtb import spatialmath as sm import numpy as np from swift import Swift # Make and instance of the Swift simulator and open it env = Swift() env.launch(realtime=True, browser="notebook") # Make a panda model and set its joint angles to the ready joint configuration panda = rtb.models.Panda() panda.q = panda.qr # Set a desired and effector pose an an offset from the current end-effector pose Tep = panda.fkine(panda.q) * sm.SE3.Tx(0.2) * sm.SE3.Ty(0.2) * sm.SE3.Tz(0.45) # Add the robot to the simulator env.add(panda) # Simulate the robot while it has not arrived at the goal arrived = False while not arrived: # Work out the required end-effector velocity to go towards the goal v, arrived = rtb.p_servo(panda.fkine(panda.q), Tep, 1) # Set the Panda's joint velocities panda.qd = np.linalg.pinv(panda.jacobe(panda.q)) @ v # Step the simulator by 50 milliseconds env.step(0.05) ``` %package -n python3-swift-sim Summary: A Python/Javascript Robot Simulator and Visualiser Provides: python-swift-sim BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip BuildRequires: python3-cffi BuildRequires: gcc BuildRequires: gdb %description -n python3-swift-sim # Swift [![A Python Robotics Package](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/master/.github/svg/py_collection.min.svg)](https://github.com/petercorke/robotics-toolbox-python) [![QUT Centre for Robotics Open Source](https://github.com/qcr/qcr.github.io/raw/master/misc/badge.svg)](https://qcr.github.io) [![PyPI version](https://badge.fury.io/py/swift-sim.svg)](https://badge.fury.io/py/swift-sim) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/swift-sim)](https://img.shields.io/pypi/pyversions/swift-sim) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Swift is a light-weight browser-based simulator built on top of the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python). This simulator provides robotics-specific functionality for rapid prototyping of algorithms, research, and education. Built using Python and Javascript, Swift is cross-platform (Linux, MacOS, and Windows) while also leveraging the ubiquity and support of these languages. Through the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python), Swift can visualise over 30 supplied robot models: well-known contemporary robots from Franka-Emika, Kinova, Universal Robotics, Rethink as well as classical robots such as the Puma 560 and the Stanford arm. Swift is under development and will support mobile robots in the future. Swift provides: * visualisation of mesh objects (Collada and STL files) and primitive shapes; * robot visualisation and simulation; * recording and saving a video of the simulation; * source code which can be read for learning and teaching; ## Installing ### Using pip Swift is designed to be controlled through the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python). By installing the toolbox through PyPI, swift is installed as a dependency ```shell script pip3 install roboticstoolbox-python ``` Otherwise, Swift can be install by ```shell script pip3 install swift-sim ``` Available options are: - `nb` provides the ability for Swift to be embedded within a Jupyter Notebook - `vision` implements an RTC communication strategy allowing for visual feedback from Swift and allows Swift to be run on Google Colab Put the options in a comma-separated list like ```shell script pip3 install swift-sim[optionlist] ``` ### From GitHub To install the latest version from GitHub ```shell script git clone https://github.com/jhavl/swift.git cd swift pip3 install -e . ``` ## Code Examples ### Robot Plot We will load a model of the Franka-Emika Panda robot and plot it. We set the joint angles of the robot into the ready joint configuration qr. ```python import roboticstoolbox as rp panda = rp.models.Panda() panda.plot(q=panda.qr) ```

### Resolved-Rate Motion Control We will load a model of the Franka-Emika Panda robot and make it travel towards a goal pose defined by the variable Tep. ```python import roboticstoolbox as rtb import spatialmath as sm import numpy as np from swift import Swift # Make and instance of the Swift simulator and open it env = Swift() env.launch(realtime=True) # Make a panda model and set its joint angles to the ready joint configuration panda = rtb.models.Panda() panda.q = panda.qr # Set a desired and effector pose an an offset from the current end-effector pose Tep = panda.fkine(panda.q) * sm.SE3.Tx(0.2) * sm.SE3.Ty(0.2) * sm.SE3.Tz(0.45) # Add the robot to the simulator env.add(panda) # Simulate the robot while it has not arrived at the goal arrived = False while not arrived: # Work out the required end-effector velocity to go towards the goal v, arrived = rtb.p_servo(panda.fkine(panda.q), Tep, 1) # Set the Panda's joint velocities panda.qd = np.linalg.pinv(panda.jacobe(panda.q)) @ v # Step the simulator by 50 milliseconds env.step(0.05) ```

### Embed within a Jupyter Notebook To embed within a Jupyter Notebook Cell, use the `browser="notebook"` option when launching the simulator. ```python # Try this example within a Jupyter Notebook Cell! import roboticstoolbox as rtb import spatialmath as sm import numpy as np from swift import Swift # Make and instance of the Swift simulator and open it env = Swift() env.launch(realtime=True, browser="notebook") # Make a panda model and set its joint angles to the ready joint configuration panda = rtb.models.Panda() panda.q = panda.qr # Set a desired and effector pose an an offset from the current end-effector pose Tep = panda.fkine(panda.q) * sm.SE3.Tx(0.2) * sm.SE3.Ty(0.2) * sm.SE3.Tz(0.45) # Add the robot to the simulator env.add(panda) # Simulate the robot while it has not arrived at the goal arrived = False while not arrived: # Work out the required end-effector velocity to go towards the goal v, arrived = rtb.p_servo(panda.fkine(panda.q), Tep, 1) # Set the Panda's joint velocities panda.qd = np.linalg.pinv(panda.jacobe(panda.q)) @ v # Step the simulator by 50 milliseconds env.step(0.05) ``` %package help Summary: Development documents and examples for swift-sim Provides: python3-swift-sim-doc %description help # Swift [![A Python Robotics Package](https://raw.githubusercontent.com/petercorke/robotics-toolbox-python/master/.github/svg/py_collection.min.svg)](https://github.com/petercorke/robotics-toolbox-python) [![QUT Centre for Robotics Open Source](https://github.com/qcr/qcr.github.io/raw/master/misc/badge.svg)](https://qcr.github.io) [![PyPI version](https://badge.fury.io/py/swift-sim.svg)](https://badge.fury.io/py/swift-sim) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/swift-sim)](https://img.shields.io/pypi/pyversions/swift-sim) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Swift is a light-weight browser-based simulator built on top of the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python). This simulator provides robotics-specific functionality for rapid prototyping of algorithms, research, and education. Built using Python and Javascript, Swift is cross-platform (Linux, MacOS, and Windows) while also leveraging the ubiquity and support of these languages. Through the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python), Swift can visualise over 30 supplied robot models: well-known contemporary robots from Franka-Emika, Kinova, Universal Robotics, Rethink as well as classical robots such as the Puma 560 and the Stanford arm. Swift is under development and will support mobile robots in the future. Swift provides: * visualisation of mesh objects (Collada and STL files) and primitive shapes; * robot visualisation and simulation; * recording and saving a video of the simulation; * source code which can be read for learning and teaching; ## Installing ### Using pip Swift is designed to be controlled through the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python). By installing the toolbox through PyPI, swift is installed as a dependency ```shell script pip3 install roboticstoolbox-python ``` Otherwise, Swift can be install by ```shell script pip3 install swift-sim ``` Available options are: - `nb` provides the ability for Swift to be embedded within a Jupyter Notebook - `vision` implements an RTC communication strategy allowing for visual feedback from Swift and allows Swift to be run on Google Colab Put the options in a comma-separated list like ```shell script pip3 install swift-sim[optionlist] ``` ### From GitHub To install the latest version from GitHub ```shell script git clone https://github.com/jhavl/swift.git cd swift pip3 install -e . ``` ## Code Examples ### Robot Plot We will load a model of the Franka-Emika Panda robot and plot it. We set the joint angles of the robot into the ready joint configuration qr. ```python import roboticstoolbox as rp panda = rp.models.Panda() panda.plot(q=panda.qr) ```

### Resolved-Rate Motion Control We will load a model of the Franka-Emika Panda robot and make it travel towards a goal pose defined by the variable Tep. ```python import roboticstoolbox as rtb import spatialmath as sm import numpy as np from swift import Swift # Make and instance of the Swift simulator and open it env = Swift() env.launch(realtime=True) # Make a panda model and set its joint angles to the ready joint configuration panda = rtb.models.Panda() panda.q = panda.qr # Set a desired and effector pose an an offset from the current end-effector pose Tep = panda.fkine(panda.q) * sm.SE3.Tx(0.2) * sm.SE3.Ty(0.2) * sm.SE3.Tz(0.45) # Add the robot to the simulator env.add(panda) # Simulate the robot while it has not arrived at the goal arrived = False while not arrived: # Work out the required end-effector velocity to go towards the goal v, arrived = rtb.p_servo(panda.fkine(panda.q), Tep, 1) # Set the Panda's joint velocities panda.qd = np.linalg.pinv(panda.jacobe(panda.q)) @ v # Step the simulator by 50 milliseconds env.step(0.05) ```

### Embed within a Jupyter Notebook To embed within a Jupyter Notebook Cell, use the `browser="notebook"` option when launching the simulator. ```python # Try this example within a Jupyter Notebook Cell! import roboticstoolbox as rtb import spatialmath as sm import numpy as np from swift import Swift # Make and instance of the Swift simulator and open it env = Swift() env.launch(realtime=True, browser="notebook") # Make a panda model and set its joint angles to the ready joint configuration panda = rtb.models.Panda() panda.q = panda.qr # Set a desired and effector pose an an offset from the current end-effector pose Tep = panda.fkine(panda.q) * sm.SE3.Tx(0.2) * sm.SE3.Ty(0.2) * sm.SE3.Tz(0.45) # Add the robot to the simulator env.add(panda) # Simulate the robot while it has not arrived at the goal arrived = False while not arrived: # Work out the required end-effector velocity to go towards the goal v, arrived = rtb.p_servo(panda.fkine(panda.q), Tep, 1) # Set the Panda's joint velocities panda.qd = np.linalg.pinv(panda.jacobe(panda.q)) @ v # Step the simulator by 50 milliseconds env.step(0.05) ``` %prep %autosetup -n swift-sim-1.1.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-swift-sim -f filelist.lst %dir %{python3_sitearch}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 1.1.0-1 - Package Spec generated