Skip to content

Commit 87a265c

Browse files
committed
Project cleanup
1 parent b730796 commit 87a265c

File tree

339 files changed

+277
-2793
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

339 files changed

+277
-2793
lines changed

.github/build-wheels.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ done
2626

2727
# Install packages and test
2828
for PYBIN in /opt/python/cp3[5-8]*/bin/; do
29-
"${PYBIN}/pip" install ropy --no-index -f /io/wheelhouse
29+
"${PYBIN}/pip" install roboticstoolbox --no-index -f /io/wheelhouse
3030
("${PYBIN}/pytest")
3131
done
3232

.github/workflows/pythonpackage.yml

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -55,50 +55,50 @@ jobs:
5555
- name: Run coverage
5656
run: |
5757
pip install .
58-
pytest --cov=ropy --cov-report xml:coverage.xml
58+
pytest --cov=roboticstoolbox --cov-report xml:coverage.xml
5959
coverage report
6060
cat .coverage
6161
- name: upload coverage to Codecov
6262
uses: codecov/codecov-action@master
6363
with:
6464
file: ./coverage.xml
65-
sphinx:
66-
# If the above worked:
67-
# Build docs and upload to GH Pages
68-
needs: unittest
69-
runs-on: ubuntu-latest
70-
steps:
71-
- uses: actions/checkout@v2
72-
- name: Set up Python 3.7
73-
uses: actions/setup-python@v1
74-
with:
75-
python-version: 3.7
76-
- name: Install dependencies
77-
run: |
78-
python -m pip install --upgrade pip
79-
pip install -r .github/dev_requirements.txt
80-
pip install .
81-
- name: Build docs
82-
run: |
83-
cd docs
84-
make html
85-
# Tell GitHub not to use jekyll to compile the docs
86-
touch build/html/.nojekyll
87-
cd ../
88-
- name: Commit documentation changes
89-
run: |
90-
git clone https://github.com/jhavl/ropy.git --branch gh-pages --single-branch gh-pages
91-
cp -r docs/build/html/* gh-pages/
92-
cd gh-pages
93-
git config --local user.email "action@github.com"
94-
git config --local user.name "GitHub Action"
95-
git add .
96-
git commit -m "Update documentation" -a || true
97-
# The above command will fail if no changes were present, so we ignore
98-
# that.
99-
- name: Push changes
100-
uses: ad-m/github-push-action@master
101-
with:
102-
branch: gh-pages
103-
directory: gh-pages
104-
github_token: ${{ secrets.GITHUB_TOKEN }}
65+
# sphinx:
66+
# # If the above worked:
67+
# # Build docs and upload to GH Pages
68+
# needs: unittest
69+
# runs-on: ubuntu-latest
70+
# steps:
71+
# - uses: actions/checkout@v2
72+
# - name: Set up Python 3.7
73+
# uses: actions/setup-python@v1
74+
# with:
75+
# python-version: 3.7
76+
# - name: Install dependencies
77+
# run: |
78+
# python -m pip install --upgrade pip
79+
# pip install -r .github/dev_requirements.txt
80+
# pip install .
81+
# - name: Build docs
82+
# run: |
83+
# cd docs
84+
# make html
85+
# # Tell GitHub not to use jekyll to compile the docs
86+
# touch build/html/.nojekyll
87+
# cd ../
88+
# - name: Commit documentation changes
89+
# run: |
90+
# git clone https://github.com/petercorke/robotics-toolbox-python.git --branch gh-pages --single-branch gh-pages
91+
# cp -r docs/build/html/* gh-pages/
92+
# cd gh-pages
93+
# git config --local user.email "action@github.com"
94+
# git config --local user.name "GitHub Action"
95+
# git add .
96+
# git commit -m "Update documentation" -a || true
97+
# # The above command will fail if no changes were present, so we ignore
98+
# # that.
99+
# - name: Push changes
100+
# uses: ad-m/github-push-action@master
101+
# with:
102+
# branch: gh-pages
103+
# directory: gh-pages
104+
# github_token: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 13 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -1,165 +1,31 @@
1-
[![PyPI version](https://badge.fury.io/py/ropy.svg)](https://badge.fury.io/py/ropy)
2-
[![Build Status](https://github.com/jhavl/ropy/workflows/build/badge.svg?branch=master)](https://github.com/jhavl/ropy/actions?query=workflow%3Abuild)
3-
[![Coverage](https://codecov.io/gh/jhavl/ropy/branch/master/graph/badge.svg)](https://codecov.io/gh/jhavl/ropy)
1+
[![PyPI version](https://badge.fury.io/py/roboticstoolbox-python.svg)](https://badge.fury.io/py/roboticstoolbox-python)
2+
[![Build Status](https://github.com/petercorke/robotics-toolbox-python/workflows/build/badge.svg?branch=master)](https://github.com/petercorke/robotics-toolbox-python/actions?query=workflow%3Abuild)
3+
[![Coverage](https://codecov.io/gh/petercorke/robotics-toolbox-python/branch/master/graph/badge.svg)](https://codecov.io/gh/petercorke/robotics-toolbox-python)
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
55

6-
# ropy
7-
A robotics library for Python
6+
## Work in progress
87

9-
* GitHub repository [https://github.com/jhavl/ropy](https://github.com/jhavl/ropy)
10-
* Documentation [https://jhavl.github.io/ropy](https://jhavl.github.io/ropy)
11-
12-
13-
**Used in**
14-
15-
J. Haviland and P. Corke, "Maximising manipulability during resolved-rate motion control," _arXiv preprint arXiv:2002.11901_, 2020.
16-
[[arxiv](https://arxiv.org/abs/2002.11901)] [[project website](https://jhavl.github.io/mmc)] [[video](https://youtu.be/zBGLPoPNZ10)]
8+
This is a Python implementation of the [Robotics Toolbox for MATLAB<sup>&reg;</sup>](https://github.com/petercorke/robotics-toolbox-matlab).
179

10+
* GitHub repository [https://github.com/petercorke/robotics-toolbox-python](https://github.com/petercorke/robotics-toolbox-python)
11+
* Documentation [https://petercorke.github.io/robotics-toolbox-python](https://petercorke.github.io/robotics-toolbox-python)
1812

1913
## Installing
2014

2115
Requires Python ≥ 3.5.
2216

2317
```shell script
24-
git clone https://github.com/jhavl/ropy.git
25-
cd ropy
18+
git clone https://github.com/petercorke/robotics-toolbox-python.git
19+
cd robotics-toolbox-python
2620
pip3 install -e .
2721
```
2822

29-
## Usage
30-
31-
### Arm-Type Robots
32-
33-
```python
34-
import ropy as rp
35-
import numpy as np
36-
37-
# Initialise a Franka-Emika Panda robot
38-
panda = rp.Panda()
39-
40-
# Set the joint angles of the robot
41-
q0 = np.array([0, -1.57, -1.57, 1.57, 0, -1.57, 1.57])
42-
panda.q = q0
43-
44-
# Calculate the forward kinematics of the robot at joint angles q0
45-
panda.fkine(q0)
46-
# or
47-
panda.fkine() # Use the robot's attribute q set by panda.q =
48-
49-
# Calculate the Kinematic Jacobian (in the world frame) at joint angles q0
50-
panda.jacob0(q0)
51-
# or
52-
panda.jacob0()
53-
54-
# Calculate the manipulability of the robot at joint angles q0
55-
panda.manipulability(q0)
56-
# or
57-
panda.manipulability()
23+
# Getting going
5824

59-
# Calculate the Kinematic Hessian (in the world frame) at joint angles q0
60-
panda.hessian0(q0)
61-
# or
62-
panda.hessian0()
25+
## Using pip
6326

64-
# Print the Elementary Transform Sequence (ETS) of the robot
65-
print(panda)
27+
Install a snapshot from PyPI
6628

6729
```
68-
69-
### Manipulability Motion Control Example
70-
This example implements Manipulability Motion Control from [this paper](https://arxiv.org/abs/2002.11901) within a position-based servoing scheme. We use the library [qpsolvers](https://pypi.org/project/qpsolvers/) to solve the optimisation function. However, you can use whichever solver you wish.
71-
72-
```python
73-
import ropy as rp
74-
import numpy as np
75-
import spatialmath as sm
76-
import qpsolvers as qp
77-
78-
# Initialise a Franka-Emika Panda Robot
79-
panda = rp.Panda()
80-
81-
# The current joint angles of the Panda
82-
# You need to obtain these from however you interfave with your robot
83-
# eg. ROS messages, PyRep etc.
84-
panda.q = np.array([0, -3, 0, -2.3, 0, 2, 0])
85-
86-
# The current pose of the robot
87-
wTe = panda.fkine()
88-
89-
# The desired pose of the robot
90-
# = Current pose offset 20cm in the x-axis
91-
wTep = wTe * sm.SE3.Tx(0.2)
92-
93-
# Gain term (lambda) for control minimisation
94-
Y = 0.005
95-
96-
# Quadratic component of objective function
97-
Q = Y * np.eye(7)
98-
99-
arrived = False
100-
while not arrived:
101-
102-
# The current joint angles of the Panda
103-
# You need to obtain these from however you interfave with your robot
104-
# eg. ROS messages, PyRep etc.
105-
panda.q = np.array([0, -3, 0, -2.3, 0, 2, 0])
106-
107-
# The desired end-effecor spatial velocity
108-
v, arrived = rp.p_servo(wTe, wTep)
109-
110-
# Form the equality constraints
111-
# The kinematic Jacobian in the end-effecor frame
112-
Aeq = panda.jacobe()
113-
beq = v.reshape((6,))
114-
115-
# Linear component of objective function: the manipulability Jacobian
116-
c = -panda.jacobm().reshape((7,))
117-
118-
# Solve for the joint velocities dq
119-
dq = qp.solve_qp(Q, c, None, None, Aeq, beq)
120-
121-
# Send the joint velocities to the robot
122-
# eg. ROS messages, PyRep etc.
123-
```
124-
125-
### Resolved-Rate Motion Control Example
126-
This example implements resolved-rate motion control within a position-based servoing scheme
127-
128-
```python
129-
import ropy as rp
130-
import numpy as np
131-
import spatialmath as sm
132-
133-
# Initialise a Franka-Emika Panda Robot
134-
panda = rp.Panda()
135-
136-
# The current joint angles of the Panda
137-
# You need to obtain these from however you interfave with your robot
138-
# eg. ROS messages, PyRep etc.
139-
panda.q = np.array([0, -3, 0, -2.3, 0, 2, 0])
140-
141-
# The current pose of the robot
142-
wTe = panda.fkine()
143-
144-
# The desired pose of the robot
145-
# = Current pose offset 20cm in the x-axis
146-
wTep = wTe * sm.SE3.Tx(0.2)
147-
148-
arrived = False
149-
while not arrived:
150-
151-
# The current joint angles of the Panda
152-
# You need to obtain these from however you interfave with your robot
153-
# eg. ROS messages, PyRep etc.
154-
panda.q = np.array([0, -3, 0, -2.3, 0, 2, 0])
155-
156-
# The desired end-effecor spatial velocity
157-
v, arrived = rp.p_servo(wTe, wTep)
158-
159-
# Solve for the joint velocities dq
160-
# Perfrom the pseudoinverse of the manipulator Jacobian in the end-effector frame
161-
dq = np.linalg.pinv(panda.jacobe()) @ v
162-
163-
# Send the joint velocities to the robot
164-
# eg. ROS messages, PyRep etc.
30+
% # Coming soon
16531
```

docs/source/arm_dh.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Arm Type Robots - DH
55

66
SerialLink
77
------------
8-
.. automodule:: ropy.robot.SerialLink
8+
.. automodule:: roboticstoolbox.robot.SerialLink
99
:members:
1010
:undoc-members:
1111
:show-inheritance:
@@ -15,7 +15,7 @@ SerialLink
1515

1616
Revolute
1717
------------
18-
.. automodule:: ropy.robot.Revolute
18+
.. automodule:: roboticstoolbox.robot.Revolute
1919
:members:
2020
:undoc-members:
2121
:show-inheritance:
@@ -25,7 +25,7 @@ Revolute
2525

2626
Prismatic
2727
------------
28-
.. automodule:: ropy.robot.Prismatic
28+
.. automodule:: roboticstoolbox.robot.Prismatic
2929
:members:
3030
:undoc-members:
3131
:show-inheritance:
@@ -35,7 +35,7 @@ Prismatic
3535

3636
Link
3737
------------
38-
.. automodule:: ropy.robot.Link
38+
.. automodule:: roboticstoolbox.robot.Link
3939
:members:
4040
:undoc-members:
4141
:show-inheritance:

docs/source/arm_ets.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Arm Type Robots - ETS
55

66
ETS
77
------------
8-
.. automodule:: ropy.robot.ETS
8+
.. automodule:: roboticstoolbox.robot.ETS
99
:members:
1010
:undoc-members:
1111
:show-inheritance:
@@ -15,7 +15,7 @@ ETS
1515

1616
ET
1717
------------
18-
.. automodule:: ropy.robot.ET
18+
.. automodule:: roboticstoolbox.robot.ET
1919
:members:
2020
:undoc-members:
2121
:show-inheritance:

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
html_theme_options = {
7575
# 'logo': '../../../../figs/icon.png',
7676
# 'github_user': 'jhavl',
77-
# 'github_repo': 'ropy',
77+
# 'github_repo': 'roboticstoolbox',
7878
# 'logo_name': False,
7979
# 'description': 'Robotics Toolbox for Python',
8080
'analytics_id': 'UA-102222819-3'

0 commit comments

Comments
 (0)