mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-29 03:36:07 +08:00
SIH in SITL with lockstep (#19028)
* sih: Move sih out of work queue
This reverts commit bb7dd0cf00.
* sih-sim: Enable sih in sitl, together with lockstep
* sih-sim: new files for sih: quadx and airplane
* sih: Added tailsitter for sih-sitl simulation
* sitl_target: Added seperate target loop for sih
* jmavsim_run: Allow jmavsim to run in UDP mode
* lockstep: Post semaphore on last lockstep component removed
* sih-sim: Added display for effectively achieved speed
* sih: increase stack size
* sih-sim: Improved sleep time computation, fixes bug of running too fast
* sitl_target: place omnicopter in alphabethic order
Co-authored-by: romain-chiap <romain.chiap@gmail.com>
Co-authored-by: Matthias Grob <maetugr@gmail.com>
This commit is contained in:
+12
-4
@@ -5,12 +5,13 @@ set -e
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cd "$SCRIPT_DIR/jMAVSim"
|
||||
|
||||
tcp_port=4560
|
||||
port=4560
|
||||
extra_args=
|
||||
baudrate=921600
|
||||
device=
|
||||
ip="127.0.0.1"
|
||||
while getopts ":b:d:p:qsr:f:i:loat" opt; do
|
||||
protocol="tcp"
|
||||
while getopts ":b:d:u:p:qsr:f:i:loat" opt; do
|
||||
case $opt in
|
||||
b)
|
||||
baudrate=$OPTARG
|
||||
@@ -18,11 +19,14 @@ while getopts ":b:d:p:qsr:f:i:loat" opt; do
|
||||
d)
|
||||
device="$OPTARG"
|
||||
;;
|
||||
u)
|
||||
protocol="udp"
|
||||
;;
|
||||
i)
|
||||
ip="$OPTARG"
|
||||
;;
|
||||
p)
|
||||
tcp_port=$OPTARG
|
||||
port=$OPTARG
|
||||
;;
|
||||
q)
|
||||
extra_args="$extra_args -qgc"
|
||||
@@ -53,7 +57,11 @@ while getopts ":b:d:p:qsr:f:i:loat" opt; do
|
||||
done
|
||||
|
||||
if [ "$device" == "" ]; then
|
||||
device="-tcp $ip:$tcp_port"
|
||||
if [ "$protocol" == "tcp" ]; then
|
||||
device="-tcp $ip:$port"
|
||||
else
|
||||
device="-udp $port"
|
||||
fi
|
||||
else
|
||||
device="-serial $device $baudrate"
|
||||
fi
|
||||
|
||||
@@ -74,6 +74,9 @@ if [ "$model" == "" ] || [ "$model" == "none" ]; then
|
||||
if [ "$program" == "jsbsim" ]; then
|
||||
echo "empty model, setting rascal as default for jsbsim"
|
||||
model="rascal"
|
||||
elif [ "$program" == "sihsim" ]; then
|
||||
echo "empty model, setting quadx as default for sihsim"
|
||||
model="quadx"
|
||||
else
|
||||
echo "empty model, setting iris as default"
|
||||
model="iris"
|
||||
@@ -214,6 +217,12 @@ elif [ "$program" == "jsbsim" ] && [ -z "$no_sim" ]; then
|
||||
fi
|
||||
"${build_path}/build_jsbsim_bridge/jsbsim_bridge" ${model} -s "${src_path}/Tools/jsbsim_bridge/scene/${world}.xml" 2> /dev/null &
|
||||
JSBSIM_PID=$!
|
||||
elif [ "$program" == "sihsim" ] && [ ! -n "$no_sim" ]; then
|
||||
export SIM_MODE="sihsim"
|
||||
if [ "$model" != "airplane" ] && [ "$model" != "quadx" ] && [ "$model" != "xvert" ]; then
|
||||
echo "Model ${model} not compatible with with sih. sih supports [quadx,airplane,xvert]."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
pushd "$rootfs" >/dev/null
|
||||
|
||||
Reference in New Issue
Block a user