mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-04 04:52:09 +08:00
baab5d7a7b
* acados_ocp_solver_pyx.pyx: implement get_stats for timings and ints * long_mpc: use acados timers * acados_ocp_solver_pyx.pyx: fix dynamics_get * acados_ocp_solver_pyx.pyx: get statistics * use acados_ocp_solver_pyx.pyx from commaai/cython2 branch * acados_ocp_solver_pyx.pyx: implement store_iterate * acados_ocp_solver_pyx.pyx: implement get_residuals * acados_ocp_solver_pyx.pyx: fix set() for empty fields * acados_ocp_solver_pyx.pyx: load_iterate * cython acados: add print_statistics * test_following_distance: fix typo * test_longitudinal: unique names for test maneuvers * longitudinal MPC: comments for evaluation * longitudinal MPC: add comments to eval acados residuals * long_mpc: use qp_solver_cond_N = 1 * long MPC: comments, simplify set_cur_state * update acados version in build script * longitudinal mpc: weigh a_change in 1 place only * update ref * Update ref Co-authored-by: Harald Schafer <harald.the.engineer@gmail.com> old-commit-hash: d09dffb7cd99aefb7e3c251265f2cfd9ae9e72f8
76 lines
2.0 KiB
Bash
Executable File
76 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/bash -e
|
|
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
|
|
|
ARCHNAME="x86_64"
|
|
BLAS_TARGET="X64_AUTOMATIC"
|
|
if [ -f /TICI ]; then
|
|
ARCHNAME="larch64"
|
|
BLAS_TARGET="ARMV8A_ARM_CORTEX_A57"
|
|
elif [ -f /EON ]; then
|
|
ARCHNAME="aarch64"
|
|
BLAS_TARGET="ARMV8A_ARM_CORTEX_A57"
|
|
fi
|
|
|
|
if [ ! -d acados_repo/ ]; then
|
|
#git clone https://github.com/acados/acados.git $DIR/acados
|
|
git clone https://github.com/commaai/acados.git $DIR/acados_repo
|
|
fi
|
|
cd acados_repo
|
|
git fetch
|
|
git checkout 92b85c61f7358a1b08b7cd30aeb9d32ad15942e8
|
|
git submodule update --recursive --init
|
|
|
|
# build
|
|
mkdir -p build
|
|
cd build
|
|
cmake -DACADOS_WITH_QPOASES=ON -UBLASFEO_TARGET -DBLASFEO_TARGET=$BLAS_TARGET ..
|
|
make -j4 install
|
|
|
|
INSTALL_DIR="$DIR/$ARCHNAME"
|
|
rm -rf $INSTALL_DIR
|
|
mkdir -p $INSTALL_DIR
|
|
|
|
rm $DIR/acados_repo/lib/*.json
|
|
|
|
cp -r $DIR/acados_repo/include $DIR
|
|
cp -r $DIR/acados_repo/lib $INSTALL_DIR
|
|
cp -r $DIR/acados_repo/interfaces/acados_template/acados_template $DIR/../../pyextra
|
|
#pip3 install -e $DIR/acados/interfaces/acados_template
|
|
|
|
# hack to workaround no rpath on android
|
|
if [ -f /EON ]; then
|
|
pushd $INSTALL_DIR/lib
|
|
for lib in $(ls .); do
|
|
if ! readlink $lib; then
|
|
patchelf --set-soname $PWD/$lib $lib
|
|
|
|
if [ "$lib" = "libacados.so" ]; then
|
|
for nlib in "libhpipm.so" "libblasfeo.so" "libqpOASES_e.so.3.1"; do
|
|
patchelf --replace-needed $nlib $PWD/$nlib $lib
|
|
done
|
|
fi
|
|
|
|
if [ "$lib" = "libhpipm.so" ]; then
|
|
patchelf --replace-needed libblasfeo.so $PWD/libblasfeo.so $lib
|
|
fi
|
|
|
|
# pad extra byte to workaround bionic linker bug
|
|
# https://android.googlesource.com/platform/bionic/+/93ce35434ca5af43a7449e289959543f0a2426fa%5E%21/#F0
|
|
dd if=/dev/zero bs=1 count=1 >> $lib
|
|
fi
|
|
done
|
|
popd
|
|
|
|
cd $DIR
|
|
git checkout $INSTALL_DIR/t_renderer
|
|
fi
|
|
|
|
# build tera
|
|
# build with commaai/termux-packages for NEOS
|
|
if [ ! -f /EON ]; then
|
|
cd $DIR/acados_repo/interfaces/acados_template/tera_renderer/
|
|
cargo build --verbose --release
|
|
cp target/release/t_renderer $INSTALL_DIR/
|
|
fi
|