diff options
Diffstat (limited to 'docker/README.md')
-rw-r--r-- | docker/README.md | 80 |
1 files changed, 41 insertions, 39 deletions
diff --git a/docker/README.md b/docker/README.md index 4cbc84e..4f02a35 100644 --- a/docker/README.md +++ b/docker/README.md | |||
@@ -19,8 +19,7 @@ This TI OpenVX + ROS development framework works with | |||
19 | ### Ubuntu PC | 19 | ### Ubuntu PC |
20 | A Ubuntu (18.04 recommended) PC is required. For RViz visualization of input/output topics published from the J7, it is assumed that ROS (Melodic recommended) is installed on the Ubuntu PC. | 20 | A Ubuntu (18.04 recommended) PC is required. For RViz visualization of input/output topics published from the J7, it is assumed that ROS (Melodic recommended) is installed on the Ubuntu PC. |
21 | 21 | ||
22 | Once finding the IP address assigned to J7 EVM (using a serial port communications program, for example, `minicom`), connect to J7 Linux with SSH: | 22 | Once finding the IP address assigned to J7 EVM (using a serial port communications program, for example, `minicom`), connect to J7 Linux with SSH:<br> |
23 | |||
24 | ``` | 23 | ``` |
25 | ssh root@<J7_IP_address> | 24 | ssh root@<J7_IP_address> |
26 | ``` | 25 | ``` |
@@ -38,7 +37,8 @@ Figure 1 shows the hardware setup and high-level installation steps on the J7 ta | |||
38 | 37 | ||
39 | <!-- ================================================================================= --> | 38 | <!-- ================================================================================= --> |
40 | ## Clone Git Repository | 39 | ## Clone Git Repository |
41 | 1. Set up the project directory and the catkin workspace: | 40 | |
41 | 1. Set up the project directory and the catkin workspace:<br> | ||
42 | ``` | 42 | ``` |
43 | WORK_DIR=$HOME/j7ros_home | 43 | WORK_DIR=$HOME/j7ros_home |
44 | CATKIN_WS=$WORK_DIR/catkin_ws | 44 | CATKIN_WS=$WORK_DIR/catkin_ws |
@@ -46,19 +46,19 @@ Figure 1 shows the hardware setup and high-level installation steps on the J7 ta | |||
46 | mkdir -p $CATKIN_WS/src | 46 | mkdir -p $CATKIN_WS/src |
47 | cd $CATKIN_WS/src | 47 | cd $CATKIN_WS/src |
48 | ``` | 48 | ``` |
49 | 49 | 2. Clone the project GIT repository:<br> | |
50 | 2. Clone the project GIT repository: | ||
51 | ``` | 50 | ``` |
52 | git clone https://git.ti.com/git/processor-sdk-vision/jacinto_ros_perception.git | 51 | git clone https://git.ti.com/git/processor-sdk-vision/jacinto_ros_perception.git |
53 | ``` | 52 | ``` |
53 | |||
54 | ## Download TIDL Model & ROSBAG File | 54 | ## Download TIDL Model & ROSBAG File |
55 | 55 | ||
56 | 1. For convenience, set up following soft-links: | 56 | 1. For convenience, set up following soft-links:<br> |
57 | ``` | 57 | ``` |
58 | cd $WORK_DIR | 58 | cd $WORK_DIR |
59 | ln -s $CATKIN_WS/src/jacinto_ros_perception/docker/Makefile | 59 | ln -s $CATKIN_WS/src/jacinto_ros_perception/docker/Makefile |
60 | ``` | 60 | ``` |
61 | 2. To download data files, run the following in `$WORK_DIR`: | 61 | 2. To download data files, run the following in `$WORK_DIR`:<br> |
62 | ``` | 62 | ``` |
63 | make data_download | 63 | make data_download |
64 | ``` | 64 | ``` |
@@ -69,13 +69,12 @@ Figure 1 shows the hardware setup and high-level installation steps on the J7 ta | |||
69 | 69 | ||
70 | 1. Following [this link](https://docs.docker.com/get-started/#test-docker-installation), | 70 | 1. Following [this link](https://docs.docker.com/get-started/#test-docker-installation), |
71 | check that Docker and network work correctly on the J7 host Linux. | 71 | check that Docker and network work correctly on the J7 host Linux. |
72 | 72 | 2. To generate bash scripts for building and running a Docker image for the project:<br> | |
73 | 2. To generate bash scripts for building and running a Docker image for the project: | ||
74 | ``` | 73 | ``` |
75 | make scripts | 74 | make scripts |
76 | ``` | 75 | ``` |
77 | Make sure that two bash scripts named `docker_build.sh` and `docker_run.sh` are generated. | 76 | Make sure that two bash scripts named `docker_build.sh` and `docker_run.sh` are generated. |
78 | 3. To build the Docker image, at `$WORK_DIR` run: | 77 | 3. To build the Docker image, at `$WORK_DIR` run:<br> |
79 | ``` | 78 | ``` |
80 | ./docker_build.sh | 79 | ./docker_build.sh |
81 | ``` | 80 | ``` |
@@ -85,90 +84,93 @@ check that Docker and network work correctly on the J7 host Linux. | |||
85 | 84 | ||
86 | <!-- ================================================================================= --> | 85 | <!-- ================================================================================= --> |
87 | ## Set Up Remote PC for Visualization | 86 | ## Set Up Remote PC for Visualization |
88 | |||
89 | Open another terminal on Ubuntu PC to set up environment for RViz visualization. | 87 | Open another terminal on Ubuntu PC to set up environment for RViz visualization. |
90 | 88 | ||
91 | 1. Clone GIT repository: | 89 | 1. Clone GIT repository:<br> |
92 | ```sh | 90 | ``` |
93 | CATKIN_WS=$HOME/j7ros_home/catkin_ws | 91 | CATKIN_WS=$HOME/j7ros_home/catkin_ws |
94 | mkdir -p $CATKIN_WS/src | 92 | mkdir -p $CATKIN_WS/src |
95 | cd $CATKIN_WS/src | 93 | cd $CATKIN_WS/src |
96 | git clone https://git.ti.com/git/processor-sdk-vision/jacinto_ros_perception.git | 94 | git clone https://git.ti.com/git/processor-sdk-vision/jacinto_ros_perception.git |
97 | ``` | 95 | ``` |
98 | 2. Build ROS nodes: | 96 | 2. Build ROS nodes:<br> |
99 | ``` | 97 | ``` |
100 | cd $CATKIN_WS | 98 | cd $CATKIN_WS |
101 | catkin_make | 99 | catkin_make |
102 | ``` | 100 | ``` |
103 | 101 | 3. ROS network setting: For convenience, set up a soft-link:<br> | |
104 | 3. ROS network setting: For convenience, set up a soft-link: | 102 | ``` |
105 | ```sh | ||
106 | ln -s src/jacinto_ros_perception/setup_env_pc.sh | 103 | ln -s src/jacinto_ros_perception/setup_env_pc.sh |
107 | ``` | 104 | ``` |
108 | 105 | ||
109 | Update the following lines in `setup_env_pc.sh`: | 106 | Update the following lines in `setup_env_pc.sh`:<br> |
110 | ``` | 107 | ``` |
111 | PC_IP_ADDR=<PC_IP_address> | 108 | PC_IP_ADDR=<PC_IP_address> |
112 | J7_IP_ADDR=<J7_IP_address> | 109 | J7_IP_ADDR=<J7_IP_address> |
113 | ``` | 110 | ``` |
114 | `<J7_IP_address>` can be found by running "`make ip_show`" on **J7 terminal**. | 111 | `<J7_IP_address>` can be found by running `make ip_show` on **J7 terminal**. |
115 | 112 | ||
116 | To set up the PC environment, run the following: | 113 | To set up the PC environment, run the following:<br> |
117 | ``` | 114 | ``` |
118 | source setup_env_pc.sh | 115 | source setup_env_pc.sh |
119 | ``` | 116 | ``` |
120 | After launching ROS nodes on the J7, we can check the all the ROS topics by running "`rostopic list`". | 117 | |
118 | After launching ROS nodes on the J7, we can check the all the ROS topics by running `rostopic list`. | ||
121 | 119 | ||
122 | <!-- ================================================================================= --> | 120 | <!-- ================================================================================= --> |
123 | ## Build Demo ROS Applications | 121 | ## Build Demo ROS Applications |
124 | 1. To run the docker image: | 122 | |
123 | 1. To run the docker image:<br> | ||
125 | ``` | 124 | ``` |
126 | ./docker_run.sh | 125 | ./docker_run.sh |
127 | ``` | 126 | ``` |
128 | 2. To build ROS applications, inside the Docker container: | 127 | 2. To build ROS applications, inside the Docker container:<br> |
129 | ```sh | 128 | ``` |
130 | cd $CATKIN_WS | 129 | cd $CATKIN_WS |
131 | catkin_make | 130 | catkin_make |
132 | source devel/setup.bash | 131 | source devel/setup.bash |
133 | ``` | 132 | ``` |
134 | 133 | ||
135 | ## Run Stereo Vision Application | 134 | ## Run Stereo Vision Application |
136 | 1. **[J7]** To launch `ti_sde` node with playing back a ROSBAG file, run the following in `$WORK_DIR` on the J7 host Linux: | 135 | |
137 | ```sh | 136 | 1. **[J7]** To launch `ti_sde` node with playing back a ROSBAG file, run the following in `$WORK_DIR` on the J7 host Linux:<br> |
137 | ``` | ||
138 | ./docker_run.sh roslaunch ti_sde bag_sde.launch | 138 | ./docker_run.sh roslaunch ti_sde bag_sde.launch |
139 | ``` | 139 | ``` |
140 | Alternatively, you can run the following `roslaunch` command **inside** the Docker container: | 140 | Alternatively, you can run the following `roslaunch` command **inside** the Docker container:<br> |
141 | ```sh | 141 | ``` |
142 | roslaunch ti_sde bag_sde.launch | 142 | roslaunch ti_sde bag_sde.launch |
143 | ``` | 143 | ``` |
144 | 2. **[Remote PC]** For visualization, on the PC: | 144 | 2. **[Remote PC]** For visualization, on the PC:<br> |
145 | ``` | 145 | ``` |
146 | roslaunch ti_sde rviz.launch | 146 | roslaunch ti_sde rviz.launch |
147 | ``` | 147 | ``` |
148 | 148 | ||
149 | ## Run CNN Semantic Segmentation Application | 149 | ## Run CNN Semantic Segmentation Application |
150 | 1. **[J7]** To launch `ti_semseg_cnn` node with playing back a ROSBAG file, run the following in `$WORK_DIR` on the J7 host Linux: | 150 | |
151 | ```sh | 151 | 1. **[J7]** To launch `ti_semseg_cnn` node with playing back a ROSBAG file, run the following in `$WORK_DIR` on the J7 host Linux:<br> |
152 | ``` | ||
152 | ./docker_run.sh roslaunch ti_semseg_cnn bag_semseg_cnn.launch | 153 | ./docker_run.sh roslaunch ti_semseg_cnn bag_semseg_cnn.launch |
153 | ``` | 154 | ``` |
154 | Alternatively, you can run the following `roslaunch` command **inside** the Docker container: | 155 | Alternatively, you can run the following `roslaunch` command **inside** the Docker container:<br> |
155 | ```sh | 156 | ``` |
156 | roslaunch ti_semseg_cnn bag_semseg_cnn.launch | 157 | roslaunch ti_semseg_cnn bag_semseg_cnn.launch |
157 | ``` | 158 | ``` |
158 | 2. **[Remote PC]** For visualization, on the PC: | 159 | 2. **[Remote PC]** For visualization, on the PC:<br> |
159 | ``` | 160 | ``` |
160 | roslaunch ti_semseg_cnn rviz.launch | 161 | roslaunch ti_semseg_cnn rviz.launch |
161 | ``` | 162 | ``` |
162 | ## Run Stereo Vision and CNN Semantic Segmentation Together | 163 | ## Run Stereo Vision and CNN Semantic Segmentation Together |
163 | 1. **[J7]** To launch `ti_sde` and `ti_semseg_cnn` tigether with playing back a ROSBAG file, run the following in `$WORK_DIR` on the J7 host Linux: | 164 | |
164 | ```sh | 165 | 1. **[J7]** To launch `ti_sde` and `ti_semseg_cnn` tigether with playing back a ROSBAG file, run the following in `$WORK_DIR` on the J7 host Linux:<br> |
166 | ``` | ||
165 | ./docker_run.sh roslaunch ti_sde bag_sde_semseg.launch | 167 | ./docker_run.sh roslaunch ti_sde bag_sde_semseg.launch |
166 | ``` | 168 | ``` |
167 | Alternatively, you can run the following `roslaunch` command **inside** the Docker container: | 169 | Alternatively, you can run the following `roslaunch` command **inside** the Docker container:<br> |
168 | ```sh | 170 | ``` |
169 | roslaunch ti_sde bag_sde_semseg.launch | 171 | roslaunch ti_sde bag_sde_semseg.launch |
170 | ``` | 172 | ``` |
171 | 2. **[Remote PC]** For visualization, on the PC: | 173 | 2. **[Remote PC]** For visualization, on the PC:<br> |
172 | ``` | 174 | ``` |
173 | roslaunch ti_sde rviz_sde_semseg.launch | 175 | roslaunch ti_sde rviz_sde_semseg.launch |
174 | ``` | 176 | ``` |