Skip to content

Commit 534bd3c

Browse files
authored
Documentation initial (#65)
1 parent 51cba59 commit 534bd3c

44 files changed

Lines changed: 795 additions & 3488 deletions

Some content is hidden

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

‎.gitignore‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ cmake-*/
1414
__pycache__/
1515
*.pyc
1616

17+
### Documentation build artifacts
18+
docs/_build/
19+
docs/_doxygen/
20+
1721

1822
### Standard C++ ignores
1923
# Prerequisites

‎.readthedocs.yaml‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# ReadTheDocs build configuration.
2+
# https://docs.readthedocs.io/en/stable/config-file/v2.html
3+
version: 2
4+
5+
build:
6+
os: ubuntu-24.04
7+
tools:
8+
python: "3.12"
9+
apt_packages:
10+
- doxygen
11+
- cmake
12+
jobs:
13+
# Generate the C++ XML that Breathe consumes, before Sphinx runs.
14+
pre_build:
15+
- doxygen docs/Doxyfile
16+
17+
sphinx:
18+
configuration: docs/conf.py
19+
fail_on_warning: false
20+
21+
python:
22+
install:
23+
# Sphinx + extensions.
24+
- requirements: docs/requirements.txt
25+
# Compile and install the `blast` extension so Python autodoc can import it.
26+
- method: pip
27+
path: .

‎blast/blast_optimization.hpp‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ struct ConstraintSelection {
102102
};
103103

104104
struct Optimization {
105-
OptimizationMethod method;
105+
OptimizationMethod method = OptimizationMethod::with_segments;
106106
Manipulator manip;
107107
Bspline bspline;
108108
Guess guess;
@@ -111,7 +111,7 @@ struct Optimization {
111111
Matrix task;
112112
World world;
113113
real trajectory_start_time = 0.0;
114-
real success_tolerance = 0.0; // % of constraint violation after optimization that is still considered a success
114+
real success_tolerance = 0.01; // constraint violation after optimization that is still considered a success
115115
int max_tries = 1; // Maximum number of tries in the optimization loop.
116116
int max_eval = 1000; // Maximum number of function evaluations for a single NLopt call.
117117
real max_time = 30.0; // Maximum time (seconds) for a single NLopt call.
@@ -156,7 +156,6 @@ inline void nlopt_constraints_with_analytical_dynamics(unsigned m, double* resul
156156

157157
// inline real bound_constraint(const real& value, const real& value_min, const real& value_max);
158158
// inline Matrix get_J_tool(const Optimization* opt);
159-
// inline bool validate_task(Optimization* opt);
160159
} // namespace blast
161160

162161
#include "optimization/constraints.hpp"

‎docs/Doxyfile‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Doxygen configuration for Blast — emits XML only, consumed by Breathe/Sphinx.
2+
#
3+
# Run from the repository root:
4+
# doxygen docs/Doxyfile
5+
#
6+
# Output lands in docs/_doxygen/xml, which conf.py's breathe_projects points at.
7+
# Only non-default tags are listed; Doxygen supplies defaults for the rest.
8+
9+
PROJECT_NAME = "Blast"
10+
PROJECT_BRIEF = "Fast C++ trajectory optimization for robot manipulators"
11+
12+
# Inputs (paths are relative to the working directory = repo root).
13+
INPUT = blast
14+
FILE_PATTERNS = *.hpp *.h
15+
RECURSIVE = YES
16+
EXCLUDE = blast/extern
17+
18+
# We only want machine-readable XML for Breathe.
19+
GENERATE_HTML = NO
20+
GENERATE_LATEX = NO
21+
GENERATE_XML = YES
22+
OUTPUT_DIRECTORY = docs/_doxygen
23+
XML_OUTPUT = xml
24+
25+
# Extraction: surface everything so undocumented members still appear,
26+
# and pick up plain // comments as brief descriptions where present.
27+
EXTRACT_ALL = YES
28+
EXTRACT_STATIC = YES
29+
JAVADOC_AUTOBRIEF = YES
30+
QT_AUTOBRIEF = YES
31+
MULTILINE_CPP_IS_BRIEF = YES
32+
33+
# Keep the macro-heavy header-only API readable.
34+
MACRO_EXPANSION = YES
35+
EXPAND_ONLY_PREDEF = YES
36+
PREDEFINED = "blast_fn=" \
37+
"host_fn=" \
38+
"device_fn=" \
39+
"__host__=" \
40+
"__device__=" \
41+
"PROFILE_SCOPE(x)=" \
42+
"PROFILE_FUNCTION="
43+
44+
QUIET = YES
45+
WARN_IF_UNDOCUMENTED = NO
-18 KB
Binary file not shown.

‎docs/_build/doctrees/index.doctree‎

-4.56 KB
Binary file not shown.
-11.2 KB
Binary file not shown.

‎docs/_build/html/.buildinfo‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)