These are some basic instructions for setting up the Basler Ace GigE cameras (A640) to work with ROS Kinetic on Ubuntu 16.04. We use the driver Aravis. Aravis changed the API at some points, and the available ROS nodes have not been well maintained. Thus, we will use older code sets to get things working.
1. Install some necessary packages:
sudo apt-get install intltool gobject-introspection gtk-doc-tools
2. Download an older version of aravis (0.3.7) here:
3. From inside the aravis_0.3.7 directory, run the following commands:
sudo make install
4. Now you will need to set up your ethernet interface.
4a. Install a dhcp server:
sudo apt-get install isc-dhcp-server
4b. Check your interfaces by running
ifconfig. Note the interfaces (e.g. eth1, enp3s0f1, etc.) that correspond to the port where you intend to plug in your camera.
4c. Edit the following files, using the linked github files as templates. The …93… in the ip addresses can be whatever you like, so long as it does not collide with other ip’s on the local network.
iii. /etc/dhcp/dhcpd.conf (note, all punctation including ‘;’ is important!)
4d. Restart the computer. If you have trouble connecting to the internet, try removing any mention of the interface you use to connect to the internet from the /etc/network/interfaces file.
5. Download the ROS node (git clone into your catkin workspace):
Note: this is forked from a no longer existing github repo, which was forked from ssafarik. I keep a copy just so I can make sure I know where to find a compatible version.
6. In ROS kinetic and newer, the driver_base stack is no longer supported, but it is necessary for the camera_aravis node. You can resolve this by manually installing the following (git clone into your catkin workspace):
Note: this is forked from ros-drivers, just so I can make sure I know where to find a compatible version.
7. From inside the catkin workspace base directory run:
8. If all goes well, you can now run:
rosrun camera_aravis camnode
rosrun image_view image_view image:=/camera/image_raw
Tips for debugging
1. Check that the camera works.
On another computer (e.g. a laptop), plug the camera into your ethernet port and run pylon view app: https://www.baslerweb.com/en/support/downloads/software-downloads/
2. Double check that your dhcp config is correct.
sudo systemctl status isc-dhcp-server
Will tell you if there is an error in the dhcpd.config.
More tips: https://killtacknine.com/building-an-ubuntu-16-04-router-part-2-dhcp/
3. If the encoding is strange.
Launch the pylon viewer app and switch to mono 8: https://www.baslerweb.com/en/support/downloads/software-downloads/