|
28 | 28 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
29 | 29 | # POSSIBILITY OF SUCH DAMAGE. |
30 | 30 |
|
31 | | -PERSISTENT_BASE="${HOME}/.ursim" |
32 | | -URCAP_VERSION="1.0.5" |
| 31 | +ORANGE='\033[0;33m' |
| 32 | +NC='\033[0m' # No Color |
33 | 33 |
|
34 | | -help() |
35 | | -{ |
36 | | - # Display Help |
37 | | - echo "Starts URSim inside a docker container" |
38 | | - echo |
39 | | - echo "Syntax: `basename "$0"` [-m|s|h]" |
40 | | - echo "options:" |
41 | | - echo " -m <model> Robot model. One of [ur3, ur3e, ur5, ur5e, ur10, ur10e, ur16e]. Defaults to ur5e." |
42 | | - echo " -h Print this Help." |
43 | | - echo |
44 | | -} |
| 34 | +URSIM_CMD="ros2 run ur_client_library start_ursim.sh" |
45 | 35 |
|
46 | | -ROBOT_MODEL=UR5 |
47 | | -ROBOT_SERIES=e-series |
48 | | - |
49 | | -validate_model() |
50 | | -{ |
51 | | - case $ROBOT_MODEL in |
52 | | - ur3|ur5|ur10) |
53 | | - ROBOT_MODEL=${ROBOT_MODEL^^} |
54 | | - ROBOT_SERIES=cb3 |
55 | | - ;; |
56 | | - ur3e|ur5e|ur10e|ur16e) |
57 | | - ROBOT_MODEL=${ROBOT_MODEL^^} |
58 | | - ROBOT_MODEL=$(echo ${ROBOT_MODEL:0:$((${#ROBOT_MODEL}-1))}) |
59 | | - ROBOT_SERIES=e-series |
60 | | - ;; |
61 | | - *) |
62 | | - echo "Not a valid robot model: $ROBOT_MODEL" |
63 | | - exit |
64 | | - ;; |
65 | | - esac |
66 | | -} |
67 | | - |
68 | | - |
69 | | -while getopts ":hm:s:" option; do |
70 | | - case $option in |
71 | | - h) # display Help |
72 | | - help |
73 | | - exit;; |
74 | | - m) # robot model |
75 | | - ROBOT_MODEL=${OPTARG} |
76 | | - validate_model |
77 | | - ;; |
78 | | - \?) # invalid option |
79 | | - echo "Error: Invalid option" |
80 | | - help |
81 | | - exit;; |
82 | | - esac |
83 | | -done |
84 | | - |
85 | | -URCAP_STORAGE="${PERSISTENT_BASE}/${ROBOT_SERIES}/urcaps" |
86 | | -PROGRAM_STORAGE="${PERSISTENT_BASE}/${ROBOT_SERIES}/programs" |
87 | | - |
88 | | -# Create local storage for programs and URCaps |
89 | | -mkdir -p "${URCAP_STORAGE}" |
90 | | -mkdir -p "${PROGRAM_STORAGE}" |
91 | | - |
92 | | -# Download external_control URCap |
93 | | -if [[ ! -f "${URCAP_STORAGE}/externalcontrol-${URCAP_VERSION}.jar" ]]; then |
94 | | - curl -L -o "${URCAP_STORAGE}/externalcontrol-${URCAP_VERSION}.jar" \ |
95 | | - "https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCap/releases/download/v${URCAP_VERSION}/externalcontrol-${URCAP_VERSION}.jar" |
96 | | -fi |
97 | | - |
98 | | -# Check whether network already exists |
99 | | -docker network inspect ursim_net > /dev/null |
100 | | -if [ $? -eq 0 ]; then |
101 | | - echo "ursim_net already exists" |
102 | | -else |
103 | | - echo "Creating ursim_net" |
104 | | - docker network create --subnet=192.168.56.0/24 ursim_net |
105 | | -fi |
106 | | - |
107 | | -# run docker container |
108 | | -docker run --rm -d --net ursim_net --ip 192.168.56.101\ |
109 | | - -v "${URCAP_STORAGE}":/urcaps \ |
110 | | - -v "${PROGRAM_STORAGE}":/ursim/programs \ |
111 | | - -e ROBOT_MODEL="${ROBOT_MODEL}" \ |
112 | | - --name ursim \ |
113 | | - universalrobots/ursim_${ROBOT_SERIES} || exit |
114 | | - |
115 | | -trap "echo killing; docker container kill ursim; exit" SIGINT SIGTERM |
116 | | - |
117 | | -echo "Docker URSim is running" |
118 | | -printf "\nTo access Polyscope, open the following URL in a web browser.\n\thttp://192.168.56.101:6080/vnc.html\n\n" |
119 | | -echo "To exit, press CTRL+C" |
120 | | - |
121 | | -while : |
122 | | -do |
123 | | - sleep 1 |
124 | | -done |
| 36 | +echo -e "${ORANGE} DEPRECATION WARNING: The script starting URSim was moved to the ur_client_library package. This script here does still work, but will be removed with ROS Jazzy. Please use `${URSIM_CMD}` to start URSim in future." |
| 37 | +$URSIM_CMD |
0 commit comments