Skip to content

Commit a683f9b

Browse files
committed
Readme with install instructions for MacOS
1 parent 455601b commit a683f9b

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# HelixNavigator
2+
HelixNavigator is a trajectory optimization-based path planning app. You can currently use it to generate trajectories for FRC swerve robots to follow.
3+
4+
HelixNavigator provides the graphical interface to build autonomous paths, the trajectory optimizer, HelixTrajectory, takes these paths and converts them to trajectories that your robot can follow.
5+
6+
## MacOS Installation
7+
8+
Download this repository to a working directory on your Mac.
9+
10+
### Installing HelixNavigator
11+
12+
First download a [distribution](https://github.com/jlbabilino/HelixTrajectoryJ/releases/) of HelixTrajectory for MacOS. Place `helixtrajectoryj.jar` in the `libs/jar` directory of the HelixNavigator project.
13+
14+
A MacOS app can be built using `jpackage`. The Gradle script (`app/build.gradle.kts`) includes a task called `jpackage` to do this:
15+
```
16+
./gradlew app:jpackage
17+
```
18+
will generate generate a file called `HelixNavigator-$VERSION.dmg`. Install the app by opening the `dmg` and dragging the application into `/Applications`.
19+
20+
### Installing HelixTrajectory
21+
22+
If you try to run the app you've just built, it will crash when trying to generate trajectories. This is because the Java interface will fail to locate the native optimization code. In your distribution of HelixTrajectory, there is a zip file containing `libhelixtrajectory.dylib` and dependencies in a `lib` folder. After installing the app as `/Applications/HelixNavigator.app`, place `libhelixtrajectorycpp.dylib` in `/Applications/HelixNavigator.app/Contents/app`. Then place the dependencies in the `lib` directory into `/Applications/HelixNavigator.app/Contents/runtime/Contents/Home/lib/server`. Now the `HelixTrajectory` Java interface should be able to locate the native code.

0 commit comments

Comments
 (0)