mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-30 12:30:27 +08:00
implement gazebo simulation based on RTPS for multiple UAVs (#15463)
- add t option for target - add iris_rtps model (PX4/sitl_gazebo#558)
This commit is contained in:
@@ -1,2 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
micrortps_client start -t UDP
|
|
||||||
|
micrortps_client start -t UDP -r $((2019+2*px4_instance)) -s $((2020+2*px4_instance))
|
||||||
|
|||||||
@@ -9,15 +9,19 @@
|
|||||||
function cleanup() {
|
function cleanup() {
|
||||||
pkill -x px4
|
pkill -x px4
|
||||||
pkill gzclient
|
pkill gzclient
|
||||||
|
pkill gzserver
|
||||||
}
|
}
|
||||||
|
|
||||||
function spawn_model() {
|
function spawn_model() {
|
||||||
MODEL=$1
|
MODEL=$1
|
||||||
N=$2 #Instance Number
|
N=$2 #Instance Number
|
||||||
|
|
||||||
if [ "$MODEL" != "iris" ] && [ "$MODEL" != "plane" ] && [ "$MODEL" != "standard_vtol" ]
|
SUPPORTED_MODELS=("iris" "iris_rtps" "plane" "standard_vtol")
|
||||||
|
if [[ " ${SUPPORTED_MODELS[*]} " != *"$MODEL "* ]];
|
||||||
then
|
then
|
||||||
echo "Currently only the following vehicle models are supported! [iris, plane, standard_vtol]"
|
echo "ERROR: Currently only vehicle model $MODEL is not supported!"
|
||||||
|
echo " Supported Models: [${SUPPORTED_MODELS[@]}]"
|
||||||
|
trap "cleanup" SIGINT SIGTERM EXIT
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -47,7 +51,7 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while getopts n:m:w:s: option
|
while getopts n:m:w:s:t: option
|
||||||
do
|
do
|
||||||
case "${option}"
|
case "${option}"
|
||||||
in
|
in
|
||||||
@@ -55,19 +59,20 @@ do
|
|||||||
m) VEHICLE_MODEL=${OPTARG};;
|
m) VEHICLE_MODEL=${OPTARG};;
|
||||||
w) WORLD=${OPTARG};;
|
w) WORLD=${OPTARG};;
|
||||||
s) SCRIPT=${OPTARG};;
|
s) SCRIPT=${OPTARG};;
|
||||||
|
t) TARGET=${OPTARG};;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
num_vehicles=${NUM_VEHICLES:=3}
|
num_vehicles=${NUM_VEHICLES:=3}
|
||||||
export PX4_SIM_MODEL=${VEHICLE_MODEL:=iris}
|
|
||||||
world=${WORLD:=empty}
|
world=${WORLD:=empty}
|
||||||
|
target=${TARGET:=px4_sitl_default}
|
||||||
|
export PX4_SIM_MODEL=${VEHICLE_MODEL:=iris}
|
||||||
|
|
||||||
echo ${SCRIPT}
|
echo ${SCRIPT}
|
||||||
|
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
src_path="$SCRIPT_DIR/.."
|
src_path="$SCRIPT_DIR/.."
|
||||||
|
|
||||||
build_path=${src_path}/build/px4_sitl_default
|
build_path=${src_path}/build/${target}
|
||||||
mavlink_udp_port=14560
|
mavlink_udp_port=14560
|
||||||
mavlink_tcp_port=4560
|
mavlink_tcp_port=4560
|
||||||
|
|
||||||
@@ -76,7 +81,7 @@ pkill -x px4 || true
|
|||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
source ${src_path}/Tools/setup_gazebo.bash ${src_path} ${src_path}/build/px4_sitl_default
|
source ${src_path}/Tools/setup_gazebo.bash ${src_path} ${src_path}/build/${target}
|
||||||
|
|
||||||
echo "Starting gazebo"
|
echo "Starting gazebo"
|
||||||
gzserver ${src_path}/Tools/sitl_gazebo/worlds/${world}.world --verbose &
|
gzserver ${src_path}/Tools/sitl_gazebo/worlds/${world}.world --verbose &
|
||||||
|
|||||||
+1
-1
Submodule Tools/sitl_gazebo updated: 037ce1b3b8...0da08f0333
Reference in New Issue
Block a user