Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 1.98 KB

README.md

File metadata and controls

46 lines (32 loc) · 1.98 KB

pysbpl

build-test codecov

Edits Made By: Schmittle, Alrick

Python 2/3 bindings and utilities for SBPL (Search Based Planning Library, see https://github.com/sbpl/sbpl).

NOTE
Only have bindings for ARASTAR and EnvironmentNAVXYTHETALAT.

Install & Run

  1. Install SBPL from source.
  2. Clone this repo
    git clone https://github.com/schmittlema/pysbpl.git
  3. Build with pip (python2 or python3). Feel free to remove user to make install system wide
    • For Development: pip install -e . --user
    • For Use: pip install . --user
  4. Test by running: python3 examples/run_sbpl_xytheta.py.

If everything worked a visualization should appear

To create new motion primitives

See pysbpl/gen_mprim.py. Run with:

python pysbpl/gen_mprim.py

mushr.mprim and mushr.json files should be created

See gen_exmaple_prims() for some examples. There are two types of motion primitives: line and arc.

MPrim_line
{"kind": MPrim_line,"params": {"len_c": 2, "cost": 2},}

  • len_c: the discretized length in cells of the straight line. Negative for reverse.
  • cost: cost of using that primitive in the plan.

MPrim_arc
{"kind": MPrim_arc,"params": {"R": 0.627, "dth_curr": 1, "cost": 1}

  • R: turning radius. Negative if reverse.
  • dth_curr: discretized angle change (minimum 1) from beginning to end. Left turn is positive, right turn negative.
  • cost: cost of using that primitive in the plan.

Troubleshooting

I properly installed SBPL but pip install is saying it doesnt exist: This is likely a path linking issue. Add the path to libsbpl.so (usually /usr/share/lib or /usr/local/lib) to $LD_LIBRARY_PATH