If anyone expresses interest then I will happily write this project up properly. Otherwise I shall leave it as is and spend my time tinkering :)
Things I learnt:
- ROS is AWESOME! Having not known anything about robotics before I started, I can now see how I would have overlooked many of the pitfalls. ROS already has implementations for pretty much anything I can think of, plus hardware drivers for a large range of components. It also has powerful debug tools and simulation environments.
- The ZED camera is not all that great. It continues to be intermittently flaky but then it was bought used off ebay so perhaps it is just faulty. I will be trying one of the Intel Realsense cameras if I use stereo again.
- Doing SLAM with a stereo camera in ROS for a large area is possibly not doable on the TX2. With the whole system running with just a small map (30m x 8m), the GPU is around 30% utilised with far less demand on the CPU's, however the system was sluggish and there would often be warnings about the frame rate processing time of the ZED stream when at only 15FPS and on it's lowest resolution. This could all be down to me being a ROS and TX2 newb though...
- As a result of the above, it seems that using GPS with an IMU, wheel encoders and LIDAR would be far less demanding and probably more accurate. I only chose the ZED to start with because it works outdoors, whereas an equivalent field of view outdoor LIDAR is very expensive.