Every time the Jetson board is turned off, the clock resets. This causes an issue with the ROS timestamps if you were to simply turn on the Jetson and Iggy and run the launch file. I tried to set up Iggy as an NTP server for the Jetson board, but have been unable to get it to work consistently. Instead, I ssh into the Jetson board from Iggy and manually set the time with "sudo date --set="[DATE_STR]"". Below is a simple set of instructions for this
- Open two terminals on Iggy. In the first, ssh into the Jetson board with "ssh ubuntu@[Jetson_IP]" and the password is ubuntu (super secure).
- Get a stop watch.
- In the second terminal, type "date" to get the date string. AT THE SAME TIME, start he stop watch.
- Copy the date string from the first terminal and prepare to enter it into the second terminal in the command: "sudo date --set="[DATE_STRING]""
- Add the elapsed time on the stop watch to the date string in the first terminal and press enter.
Running the launch file that starts Iggy in a state where she is ready to run the course shoudl also start an rqt_reconfigure gui. This gui should have an option for zed_stereo, if not hit the refresh button and it should show up. The filters will not use the correct parameters until the rqt callback is invoked by changing one of the parameters, so go ahead and change one of the filter values by one just to see how well the current set of values performs.
There are two launch files in the launch foler. One is used to launch the code from the Jetson and one to launch the code from Iggy. You can copy the text of the igvc_stere.launch file into any other .launch file on Iggy and it will launch a zed-stereo node publishing the filtered point clouds. That file also contains a transform from zed_current_fram to map that places the point clouds where they belong relative to the camera's actual location on Iggy.
- Get TK1 version of ZED SKD from:
- cd {Download locaiton}
- chmod 777 ZED*
- ./ZED
- sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
- sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 0xB01FA116
- sudo apt-get update
- sudo apt-get install ros-indigo-ros-base
- sudo apt-get install python-rosdep
- sudo rosdep init
- rosdep update
- echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
- source ~/.bashrc
- sudo apt-get install python-rosinstall
- sudo apt-get install ros-indigo-rviz
- sudo apt-get install ros-indigo-robot-model
- echo "unset GTK_IM_MODULE" >> ~/.bashrc
- source ~/.bashrc
- sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
- sudo apt-get update
- sudo apt-get install libpcl-all
- sudo apt-get install ros-indigo-pcl-ros
- cd ~/[CATKIN_WOKRSPACE]/src
- git clone https://github.com/stereolabs/zed-ros-wrapper
- cd ~/[CATKIN_WORKSPACE]
- catkin_make zed-ros-wrapper
- source ./devel/setup.bash
- cd ~/[CATKIN_WORKSPACE]/src
- git clone https://github.com/ros-perception/vision_opencv
- cd ..
- catkin_make --pkg vision_opencv
- echo export ROS_MASTER_URI=http://[REMOTE_PC_IP]:11311 >> ~/.bashrc
- echo export ROS_HOSTNAME=[JETSON_IP] >> ~/.bashrc
- echo export ROS_MASTER_URI=http://[REMOTE_PC_IP]:11311 >> ~/[CATKIN_WORKSPACE]/devel/setup.sh
- echo export ROS_HOSTNAME=[JETSON_IP] >> ~/[CATKIN_WORKSPACE]/devel/setup.sh
- export ROS_IP=[JETSON_IP]
- echo export ROS_MASTER_URI=http://localhost:11311 >> ~/.bashrc
- echo export ROS_HOSTNAME=[PC_IP] >> ~/.bashrc
- echo export ROSLAUNCH_SSH_UNKNOWN = 1 >> ~/.bashrc