Skip to content

Commit 2c8b9f6

Browse files
authored
Update to Tesseract 0.21.4 and build for Python 3.12 (#62)
* Update to tesseract 0.21.4 * Fix LD_LIBRARY_PATH during docs build for wheels workflow * Bump version to 0.3.0 * Add python 3.12 build * Update generated api docs * Update docs requirements * Update docs requirements * Update docs build configs * Update docs build configs * Update docs build configs
1 parent df6b19d commit 2c8b9f6

20 files changed

+172
-163
lines changed

.github/workflows/wheels.yml

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,43 @@ jobs:
3535
container: ubuntu:20.04
3636
py_platform: manylinux_2_31_x86_64
3737
python_version: "3.7"
38+
docs: false
39+
docs_cmake: OFF
3840
- os: ubuntu-20.04
3941
runs_on: ubuntu-20.04
4042
container: ubuntu:20.04
4143
py_platform: manylinux_2_31_x86_64
4244
python_version: "3.8"
45+
docs: true
46+
docs_cmake: ON
4347
- os: ubuntu-20.04
4448
runs_on: ubuntu-20.04
4549
container: ubuntu:20.04
4650
py_platform: manylinux_2_31_x86_64
4751
python_version: "3.9"
52+
docs: true
53+
docs_cmake: ON
4854
- os: ubuntu-20.04
4955
runs_on: ubuntu-20.04
5056
container: ubuntu:20.04
5157
py_platform: manylinux_2_31_x86_64
5258
python_version: "3.10"
59+
docs: true
60+
docs_cmake: ON
5361
- os: ubuntu-20.04
5462
runs_on: ubuntu-20.04
5563
container: ubuntu:20.04
5664
py_platform: manylinux_2_31_x86_64
5765
python_version: "3.11.0"
66+
docs: true
67+
docs_cmake: ON
68+
- os: ubuntu-20.04
69+
runs_on: ubuntu-20.04
70+
container: ubuntu:20.04
71+
py_platform: manylinux_2_31_x86_64
72+
python_version: "3.12.0"
73+
docs: true
74+
docs_cmake: ON
5875
env:
5976
DEBIAN_FRONTEND: noninteractive
6077
steps:
@@ -91,6 +108,9 @@ jobs:
91108
run: |
92109
python -m pip install --upgrade pip
93110
python -m pip install auditwheel wheel numpy setuptools colcon-common-extensions vcstool patchelf
111+
- name: pip
112+
if: matrix.config.docs == true
113+
run: |
94114
python -m pip install -r ws/src/tesseract_python/docs/requirements.txt
95115
- name: vcs import
96116
working-directory: ws/src
@@ -108,7 +128,7 @@ jobs:
108128
-DTESSERACT_PYTHON_BUILD_WHEEL=ON
109129
-DTESSERACT_PYTHON_WHEEL_PLATFORM=${{ matrix.config.py_platform }}
110130
-DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_PLUGIN_FACTORY_CALLBACKS=ON
111-
-DTESSERACT_PYTHON_BUILD_DOCUMENTATION=ON
131+
-DTESSERACT_PYTHON_BUILD_DOCUMENTATION=${{ matrix.config.docs_cmake }}
112132
- name: test
113133
shell: bash
114134
run: |
@@ -122,9 +142,11 @@ jobs:
122142
cd ws/src/tesseract_python/tesseract_python
123143
pytest -s
124144
- name: build docs
145+
if: matrix.config.docs == true
125146
shell: bash
126147
working-directory: ws/build/tesseract_python
127148
run: |
149+
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GITHUB_WORKSPACE/ws/install/lib
128150
cmake --build . --config Release --target tesseract_python_doc
129151
- name: archive wheels
130152
uses: actions/upload-artifact@v2
@@ -162,6 +184,10 @@ jobs:
162184
vcpkg_triplet: x64-windows-release
163185
cmake_arch: x64
164186
python_version: "3.11.0"
187+
- arch: x64
188+
vcpkg_triplet: x64-windows-release
189+
cmake_arch: x64
190+
python_version: "3.12.0"
165191
steps:
166192
- uses: actions/checkout@v2
167193
with:

README.md

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ from tesseract_robotics.tesseract_command_language import CartesianWaypoint, Way
127127
MoveInstructionPoly_wrap_MoveInstruction, StateWaypointPoly_wrap_StateWaypoint, \
128128
CartesianWaypointPoly_wrap_CartesianWaypoint, JointWaypointPoly_wrap_JointWaypoint
129129

130-
from tesseract_robotics.tesseract_task_composer import TaskComposerPluginFactory, PlanningTaskComposerProblemUPtr, \
131-
TaskComposerDataStorage, TaskComposerInput, TaskComposerProblemUPtr, PlanningTaskComposerProblemUPtr_as_TaskComposerProblemUPtr
130+
from tesseract_robotics.tesseract_task_composer import TaskComposerPluginFactory, PlanningTaskComposerProblem, \
131+
TaskComposerDataStorage, TaskComposerContext
132132

133133
from tesseract_robotics_viewer import TesseractViewer
134134

@@ -199,8 +199,7 @@ factory = TaskComposerPluginFactory(config_path)
199199
# Create the task composer node. In this case the FreespacePipeline is used. Many other are available.
200200
task = factory.createTaskComposerNode("FreespacePipeline")
201201

202-
# Get the input and output keys for the task
203-
input_key = task.getInputKeys()[0]
202+
# Get the output keys for the task
204203
output_key = task.getOutputKeys()[0]
205204

206205
# Create a profile dictionary. Profiles can be customized by adding to this dictionary and setting the profiles
@@ -211,24 +210,19 @@ profiles = ProfileDictionary()
211210
# support implicit conversion from the CompositeInstruction to the AnyPoly.
212211
program_anypoly = AnyPoly_wrap_CompositeInstruction(program)
213212

214-
# Create the task data storage and set the data
215-
task_data = TaskComposerDataStorage()
216-
task_data.setData(input_key, program_anypoly)
217-
218213
# Create the task problem and input
219-
task_planning_problem = PlanningTaskComposerProblemUPtr.make_unique(t_env, task_data, profiles)
220-
task_problem = PlanningTaskComposerProblemUPtr_as_TaskComposerProblemUPtr(task_planning_problem)
221-
task_input = TaskComposerInput(task_problem)
214+
task_planning_problem = PlanningTaskComposerProblem(t_env, profiles)
215+
task_planning_problem.input = program_anypoly
222216

223217
# Create an executor to run the task
224218
task_executor = factory.createTaskComposerExecutor("TaskflowExecutor")
225219

226220
# Run the task and wait for completion
227-
future = task_executor.run(task.get(), task_input)
221+
future = task_executor.run(task.get(), task_planning_problem)
228222
future.wait()
229223

230224
# Retrieve the output, converting the AnyPoly back to a CompositeInstruction
231-
results = AnyPoly_as_CompositeInstruction(task_input.data_storage.getData(output_key))
225+
results = AnyPoly_as_CompositeInstruction(future.context.data_storage.getData(output_key))
232226

233227
# Display the output
234228
# Print out the resulting waypoints

dependencies.rosinstall

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
- git:
22
local-name: ros_industrial_cmake_boilerplate
33
uri: https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
4-
version: 0.4.5
4+
version: 0.5.4
55
- git:
66
local-name: tesseract
77
uri: https://github.com/tesseract-robotics/tesseract.git
8-
version: 0.18.1
8+
version: 0.21.4
99
- git:
1010
local-name: tesseract_planning
1111
uri: https://github.com/tesseract-robotics/tesseract_planning.git
12-
version: 0.18.2
12+
version: 0.21.4
1313
- git:
1414
local-name: trajopt
1515
uri: https://github.com/tesseract-robotics/trajopt.git
16-
version: 0.6.0
16+
version: 0.7.0
1717
- git:
1818
local-name: descartes_light
1919
uri: https://github.com/swri-robotics/descartes_light.git
20-
version: 0.3.1
20+
version: 0.4.2
2121
- git:
2222
local-name: opw_kinematics
2323
uri: https://github.com/Jmeyer1292/opw_kinematics.git

dependencies_with_ext.rosinstall

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
- git:
22
local-name: ros_industrial_cmake_boilerplate
33
uri: https://github.com/ros-industrial/ros_industrial_cmake_boilerplate.git
4-
version: 0.4.5
4+
version: 0.5.4
55
- git:
66
local-name: tesseract
77
uri: https://github.com/tesseract-robotics/tesseract.git
8-
version: 0.18.1
8+
version: 0.21.4
99
- git:
1010
local-name: tesseract_planning
1111
uri: https://github.com/tesseract-robotics/tesseract_planning.git
12-
version: 0.18.2
12+
version: 0.21.4
1313
- git:
1414
local-name: trajopt
1515
uri: https://github.com/tesseract-robotics/trajopt.git
16-
version: 0.6.0
16+
version: 0.7.0
1717
- git:
1818
local-name: descartes_light
1919
uri: https://github.com/swri-robotics/descartes_light.git
20-
version: 0.3.1
20+
version: 0.4.2
2121
- git:
2222
local-name: opw_kinematics
2323
uri: https://github.com/Jmeyer1292/opw_kinematics.git

docs/_source/modules/tesseract_motion_planners/api_docs_generated.rst

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,6 @@ Classes
33
*******
44

55

6-
JointGroupInstructionInfo Class
7-
===================================================================================================
8-
.. autoclass:: tesseract_robotics.tesseract_motion_planners.JointGroupInstructionInfo
9-
:noindex:
10-
:exclude-members: thisown
11-
:members:
12-
13-
KinematicGroupInstructionInfo Class
14-
===================================================================================================
15-
.. autoclass:: tesseract_robotics.tesseract_motion_planners.KinematicGroupInstructionInfo
16-
:noindex:
17-
:exclude-members: thisown
18-
:members:
19-
206
MotionPlanner Class
217
===================================================================================================
228
.. autoclass:: tesseract_robotics.tesseract_motion_planners.MotionPlanner
@@ -64,21 +50,6 @@ formatProgram Function
6450
.. autofunction:: tesseract_robotics.tesseract_motion_planners.formatProgram
6551
:noindex:
6652

67-
generateInterpolatedProgram Function
68-
===================================================================================================
69-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.generateInterpolatedProgram
70-
:noindex:
71-
72-
getClosestJointSolution Function
73-
===================================================================================================
74-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getClosestJointSolution
75-
:noindex:
76-
77-
getInterpolatedInstructions Function
78-
===================================================================================================
79-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getInterpolatedInstructions
80-
:noindex:
81-
8253
getJointTurns Function
8354
===================================================================================================
8455
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getJointTurns
@@ -89,36 +60,6 @@ getRobotConfig Function
8960
.. autofunction:: tesseract_robotics.tesseract_motion_planners.getRobotConfig
9061
:noindex:
9162

92-
interpolate Function
93-
===================================================================================================
94-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolate
95-
:noindex:
96-
97-
interpolateCartCartWaypoint Function
98-
===================================================================================================
99-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateCartCartWaypoint
100-
:noindex:
101-
102-
interpolateCartJointWaypoint Function
103-
===================================================================================================
104-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateCartJointWaypoint
105-
:noindex:
106-
107-
interpolateJointCartWaypoint Function
108-
===================================================================================================
109-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateJointCartWaypoint
110-
:noindex:
111-
112-
interpolateJointJointWaypoint Function
113-
===================================================================================================
114-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolateJointJointWaypoint
115-
:noindex:
116-
117-
interpolate_waypoint Function
118-
===================================================================================================
119-
.. autofunction:: tesseract_robotics.tesseract_motion_planners.interpolate_waypoint
120-
:noindex:
121-
12263
toToolpath Function
12364
===================================================================================================
12465
.. autofunction:: tesseract_robotics.tesseract_motion_planners.toToolpath

docs/_source/modules/tesseract_motion_planners_simple/api_docs_generated.rst

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,20 @@ Classes
33
*******
44

55

6+
JointGroupInstructionInfo Class
7+
===================================================================================================
8+
.. autoclass:: tesseract_robotics.tesseract_motion_planners_simple.JointGroupInstructionInfo
9+
:noindex:
10+
:exclude-members: thisown
11+
:members:
12+
13+
KinematicGroupInstructionInfo Class
14+
===================================================================================================
15+
.. autoclass:: tesseract_robotics.tesseract_motion_planners_simple.KinematicGroupInstructionInfo
16+
:noindex:
17+
:exclude-members: thisown
18+
:members:
19+
620
SimpleMotionPlanner Class
721
===================================================================================================
822
.. autoclass:: tesseract_robotics.tesseract_motion_planners_simple.SimpleMotionPlanner
@@ -126,6 +140,51 @@ ProfileDictionary_removeProfile_SimplePlannerPlanProfile Function
126140
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.ProfileDictionary_removeProfile_SimplePlannerPlanProfile
127141
:noindex:
128142

143+
generateInterpolatedProgram Function
144+
===================================================================================================
145+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.generateInterpolatedProgram
146+
:noindex:
147+
148+
getClosestJointSolution Function
149+
===================================================================================================
150+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.getClosestJointSolution
151+
:noindex:
152+
153+
getInterpolatedInstructions Function
154+
===================================================================================================
155+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.getInterpolatedInstructions
156+
:noindex:
157+
158+
interpolate Function
159+
===================================================================================================
160+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolate
161+
:noindex:
162+
163+
interpolateCartCartWaypoint Function
164+
===================================================================================================
165+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateCartCartWaypoint
166+
:noindex:
167+
168+
interpolateCartJointWaypoint Function
169+
===================================================================================================
170+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateCartJointWaypoint
171+
:noindex:
172+
173+
interpolateJointCartWaypoint Function
174+
===================================================================================================
175+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateJointCartWaypoint
176+
:noindex:
177+
178+
interpolateJointJointWaypoint Function
179+
===================================================================================================
180+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolateJointJointWaypoint
181+
:noindex:
182+
183+
interpolate_waypoint Function
184+
===================================================================================================
185+
.. autofunction:: tesseract_robotics.tesseract_motion_planners_simple.interpolate_waypoint
186+
:noindex:
187+
129188
Container Templates
130189
*******************
131190

docs/_source/modules/tesseract_task_composer/api_docs_generated.rst

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,20 @@ RuckigTrajectorySmoothingMoveProfile Class
8080
:exclude-members: thisown
8181
:members:
8282

83+
TaskComposerContext Class
84+
===================================================================================================
85+
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerContext
86+
:noindex:
87+
:exclude-members: thisown
88+
:members:
89+
90+
TaskComposerContextUPtr Class
91+
===================================================================================================
92+
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerContextUPtr
93+
:noindex:
94+
:exclude-members: thisown
95+
:members:
96+
8397
TaskComposerDataStorage Class
8498
===================================================================================================
8599
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerDataStorage
@@ -143,20 +157,6 @@ TaskComposerGraphUPtr Class
143157
:exclude-members: thisown
144158
:members:
145159

146-
TaskComposerInput Class
147-
===================================================================================================
148-
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerInput
149-
:noindex:
150-
:exclude-members: thisown
151-
:members:
152-
153-
TaskComposerInputUPtr Class
154-
===================================================================================================
155-
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerInputUPtr
156-
:noindex:
157-
:exclude-members: thisown
158-
:members:
159-
160160
TaskComposerNode Class
161161
===================================================================================================
162162
.. autoclass:: tesseract_robotics.tesseract_task_composer.TaskComposerNode

docs/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
sphinx
1+
sphinx==6.2.1
22
sphinx_rtd_theme
33
gitpython
44
recommonmark
5+
opencv-python

0 commit comments

Comments
 (0)