3030
3131PERSISTENT_BASE=" ${HOME} /.ursim"
3232URCAP_VERSION=" 1.0.5"
33+ IP_ADDRESS=" 192.168.56.101"
34+ PORT_FORWARDING=" -p 30001-30004:30001-30004 -p 29999:29999"
35+ CONTAINER_NAME=" ursim"
3336
3437help ()
3538{
@@ -46,7 +49,10 @@ help()
4649 If not specified, will fallback to ${PERSISTENT_BASE} /${ROBOT_SERIES} /${ROBOT_MODEL} /programs"
4750 echo " -u <folder> Location from which URCaps are read / to which URCaps are written.
4851 If not specified, will fallback to ${PERSISTENT_BASE} /${ROBOT_SERIES} /urcaps"
49- echo " -d Detached mode - start in backgound"
52+ echo " -n Name of the docker container. Defaults to '$CONTAINER_NAME '"
53+ echo " -i IP address the container should get. Defaults to $IP_ADDRESS "
54+ echo " -d Detached mode - start in backgound"
55+ echo " -f Specify port forwarding to use. Defaults to '$PORT_FORWARDING '. Set to empty string to disable port forwarding."
5056 echo " -h Print this Help."
5157 echo
5258}
@@ -131,7 +137,7 @@ validate_ursim_version()
131137}
132138
133139
134- while getopts " :hm:v:p:u:d" option; do
140+ while getopts " :hm:v:p:u:i:f:n: d" option; do
135141 case $option in
136142 h) # display Help
137143 help
@@ -148,6 +154,15 @@ while getopts ":hm:v:p:u:d" option; do
148154 u) # urcaps_folder
149155 URCAP_STORAGE_ARG=${OPTARG}
150156 ;;
157+ i) # IP address
158+ IP_ADDRESS=${OPTARG}
159+ ;;
160+ f) # forward ports
161+ PORT_FORWARDING=${OPTARG}
162+ ;;
163+ n) # container_name
164+ CONTAINER_NAME=${OPTARG}
165+ ;;
151166 d) # detached mode
152167 DETACHED=true
153168 ;;
@@ -189,28 +204,29 @@ else
189204 docker network create --subnet=192.168.56.0/24 ursim_net
190205fi
191206
192- # run docker contain
193- docker run --rm -d --net ursim_net --ip 192.168.56.101\
194- -v " ${URCAP_STORAGE} " :/urcaps \
195- -v " ${PROGRAM_STORAGE} " :/ursim/programs \
196- -e ROBOT_MODEL=" ${ROBOT_MODEL} " \
197- -p 30001-30004:30001-30004 \
198- -p 29999:29999 \
199- --name ursim \
200- universalrobots/ursim_${ROBOT_SERIES} :$URSIM_VERSION || exit
207+ docker_cmd=" docker run --rm -d --net ursim_net --ip $IP_ADDRESS \
208+ -v ${URCAP_STORAGE} :/urcaps \
209+ -v ${PROGRAM_STORAGE} :/ursim/programs \
210+ -e ROBOT_MODEL=${ROBOT_MODEL} \
211+ $PORT_FORWARDING \
212+ --name $CONTAINER_NAME \
213+ universalrobots/ursim_${ROBOT_SERIES} :$URSIM_VERSION || exit"
214+
215+ # echo $docker_cmd
216+ $docker_cmd
201217
202218# Stop container when interrupted
203219TRAP_CMD="
204220echo \" killing ursim\" ;
205- docker container kill ursim >> /dev/null;
206- docker container wait ursim >> /dev/null;
221+ docker container kill $CONTAINER_NAME >> /dev/null;
222+ docker container wait $CONTAINER_NAME >> /dev/null;
207223echo \" done\" ;
208224exit
209225"
210226trap " $TRAP_CMD " SIGINT SIGTERM
211227
212228echo " Docker URSim is running"
213- printf " \nTo access Polyscope, open the following URL in a web browser.\n\thttp://192.168.56.101 :6080/vnc.html\n\n"
229+ printf " \nTo access Polyscope, open the following URL in a web browser.\n\thttp://$IP_ADDRESS :6080/vnc.html\n\n"
214230
215231if [ " $DETACHED " = false ]; then
216232echo " To exit, press CTRL+C"
@@ -219,5 +235,5 @@ echo "To exit, press CTRL+C"
219235 sleep 1
220236 done
221237else
222- echo " To kill it, please execute 'docker stop ursim '"
238+ echo " To kill it, please execute 'docker stop $CONTAINER_NAME '"
223239fi
0 commit comments