30
30
31
31
PERSISTENT_BASE=" ${HOME} /.ursim"
32
32
URCAP_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"
33
36
34
37
help ()
35
38
{
@@ -46,7 +49,10 @@ help()
46
49
If not specified, will fallback to ${PERSISTENT_BASE} /${ROBOT_SERIES} /${ROBOT_MODEL} /programs"
47
50
echo " -u <folder> Location from which URCaps are read / to which URCaps are written.
48
51
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."
50
56
echo " -h Print this Help."
51
57
echo
52
58
}
@@ -131,7 +137,7 @@ validate_ursim_version()
131
137
}
132
138
133
139
134
- while getopts " :hm:v:p:u:d" option; do
140
+ while getopts " :hm:v:p:u:i:f:n: d" option; do
135
141
case $option in
136
142
h) # display Help
137
143
help
@@ -148,6 +154,15 @@ while getopts ":hm:v:p:u:d" option; do
148
154
u) # urcaps_folder
149
155
URCAP_STORAGE_ARG=${OPTARG}
150
156
;;
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
+ ;;
151
166
d) # detached mode
152
167
DETACHED=true
153
168
;;
@@ -189,28 +204,29 @@ else
189
204
docker network create --subnet=192.168.56.0/24 ursim_net
190
205
fi
191
206
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
201
217
202
218
# Stop container when interrupted
203
219
TRAP_CMD="
204
220
echo \" 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;
207
223
echo \" done\" ;
208
224
exit
209
225
"
210
226
trap " $TRAP_CMD " SIGINT SIGTERM
211
227
212
228
echo " 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"
214
230
215
231
if [ " $DETACHED " = false ]; then
216
232
echo " To exit, press CTRL+C"
@@ -219,5 +235,5 @@ echo "To exit, press CTRL+C"
219
235
sleep 1
220
236
done
221
237
else
222
- echo " To kill it, please execute 'docker stop ursim '"
238
+ echo " To kill it, please execute 'docker stop $CONTAINER_NAME '"
223
239
fi
0 commit comments