The camera driver has two components
tiscamerawhich is the core drivertiscamera-dutilwhich contains many additional useful features, such as tonemapping
For Intel-based processor, you may choose to install the official compiled tiscamera package from here: https://github.com/TheImagingSource/tiscamera/releases
Note:
- As of Jan 2021, we are using version 0.12.0
- For TX2 or Xavier, if cannot build from source, can try to install the official compiled tiscamera package
tiscamera_0.12.0_arm64.debdirectly.
However, it is strongly recommanded to build from source, for the main tiscamera driver, especially on Nvidia arm64 platform.
-
Install
GStreamerthrough apt first -
Clone
https://github.com/TheImagingSource/tiscameraand checkout the release version, for examplev-tiscamera-0.12.0git clone https://github.com/TheImagingSource/tiscamera.git git checkout v-tiscamera-0.12.0
-
Change CMakeList.txt
BUILD_TOOLStoON -
(Jetson TX2) Install dependencies
gstreamer-1.0 libusb-1.0 libglib2.0 libgirepository1.0-dev libudev-dev libtinyxml-dev libzip-dev libnotify-dev -
Install python dependencies
python3-gi python3-pyqt5 -
Uninstall existing apt package
sudo apt remove tiscamera -
use CMake build and install:
mkdir build && cd build cmake -DBUILD_ARAVIS=OFF .. make sudo make install
Also install the dutils package here tiscamera-dutils_1.0.0.160
https://github.com/chengguizi/tiscamera_ros/tree/master/sdk_debs
Tip:
To verify driver installation, connect the camera using usb cable, then run tcam-capture, and there should be an option for tonemapping showing up. Otherwise, the installation is unsuccessful.
Also, in gst-inspect-1.0 tcambin, the dutil should have default to be true.
The ROS driver could be found at https://github.com/chengguizi/tiscamera_ros/
Dependencies:
- mavlink (install by apt
ros-melodic-mavlink) - mavros (https://github.com/chengguizi/mavros, Feb 2021 Release)
There are two files important for configuration, in the launch folder
- the
device_listfile, which defines the camera string name, as well as serial numberhardware_sync_modeset tononeif no hardware synchronisation is used- if hardware sync is used, it should set to
slave
- the
paramfile, which sets the exposure settings for all cameras
Tip: install missing ROS dependency with rosdep install --from-paths src --ignore-src -r -y (require python-rosdep package)
Remember to enable serial access, by adding current user to dialout group:
sudo adduser nvidia dialoutAfter catkin build tiscamera_ros, the snapimage executable should reside in the build\tiscamera_ros\tests folder. It could be used to take snapshot images without running ROS.