Overview¶
Problem with Prosilica camera. Hi, I am trying to use an Allied Prosicila GC650C in C-Turtle. I have set a fixed IP to the camera to 192.168.1.92 so that it can be seen by my. Hi all, I'm using the prosilicadriver node to access images from my camera (AVT Manta G235B) in ROS indigo running under Ubuntu 14.04. The problem I'm experiencing is twofold First, a lower framerate (about 10 Hz according to rostopic hz) than the expected one (50 Hz from datasheet and about 50 Hz tested on Windows with the camera provider software). Start by getting the dependencies and compiling the driver. $ rosdep install prosilicacamera $ rosmake prosilicacamera Powered On and Plugged in. Make sure that your Prosilica camera is powered at 12V, connected to your computer, and the green and orange network lights are lit. If more than one Prosilica camera is used in a Scorpion profile, only one type of Scorpion Prosilica drivers can be used in the same profile. Camera visibility Prosilica cameras are visible to the driver only if they are connected to the same subnet as the computer and they are not blocked by the computer firewall. ROS driver and SDK for AVT/Prosilica GigE cameras. See prosilicacamera for usage and tutorials. Prior to Fuerte, these packages resided in cameradrivers. Hardware Requirements. This stack works with Allied Vision Tech / Prosilica Gigabit Ethernet (GigE) cameras. Report a Bug prosilicadriver).
Scorpion Vision Software supports the complete range of AVT Prosilica and AVT GigE cameras using the
- PVGrab.dll - Scorpion Camera Driver, standard mode
- PVGrabNoBroadcast.dll - Scorpion Camera Driver, initializes in no-broadcast mode only
- PVAPI.dll - Prosilica API dll
Standard or No Broadcast mode driver - which one to choose
In standard mode broadcast messages are sent periodically over the network in order to discover new cameras.The advantage is that in Scorpion user can choose camera from a list of names. The broadcast messages are not affecting image grabbing efficiency and are not visible, unless user is monitoring network traffic.However if broadcast messages are annoying to the user, there is an alternative driver version PVGrabNoBroadcast.dll, which does not send any broadcast messages. As a consequence, Scorpion cannot present camera list, so the user has to specify cameras by their IP addresses in the camera name field. Other than that, the two drivers are identical.
Note
- Please specify cameras by their IP addresses when using PVGrabNoBroadcast.dll
- IP addresses (instead of camera names) can be used with PVGrab.dll as well.
Installing Scorpion camera driver¶
Prosilica Camera Driver Ros
Scorpion driver PVGrab.dll or PVGrabNoBroadcast.dll require Prosilica API library PVAPI.dll.
Usually all ddl’s are installed together with Scorpion.
However if another driver version is required, please make sure both PVGrab.dll and Prosilica’s PVAPI.dll are copied into Scorpion folder.
See Release notes for download links.
Note
- The camera must answer a ping.
- If the camera is on a different subnet, it will not hear the ping, and so will not answer.
- In order for the Prosilica Viewer to see a camera, the camera and the NIC must talk on the same subnet and the subnet mask must be set properly too.
- The Prosilica Viewer only sees cameras that are on the local subnet.
- The GigEIPConfig utility however sees beyond the subnet and will list every camera on the local network without regard to subnet.
- Use the GigEIPConfig program to manage / configure the ip-address of a connected camera
- Use the Prosilica Viewer to test a configured and connected camera
See the Prosilica documentation for more details on camera installation.
More information about Prosilica - http://www.prosilica.com/
More information about ethernet - http://computer.howstuffworks.com/ethernet.htm/printable>
Selecting the Prosilica Camera driver¶
Perform the following steps to select Prosilica camera driver in Scorpion:
- Activate the Service.Camera tab
- Right-click mouse over the Camera Settings menu
- Select Cameradriver
- Select the PVGrab.dll
Note
- Important: When switching between PVGrab.dll and PVGrabNoBroadcast.dll please first remove all cameras from Scorpion camera list and then restart Scorpion.
- After that you can select another driver and start selecting/adding cameras. You may need to recreate image which is removed along with camera removal.
- If more than one Prosilica camera is used in a Scorpion profile, only one type of Scorpion Prosilica drivers can be used in the same profile.
Camera visibility
Prosilica cameras are visible to the driver only if they are connected to the same subnet as the computer and they are not blocked by the computer firewall. Normally cameras can be selected using the browse button (marked as ‘...’).
Note
To access cameras on different subnets you can type the IP address (e.g. 192.0.0.1) in the Camera field of the Camera Settings dialog.
Prosilica GigE Property Pages¶
Below are the property pages explained.
The camera setup dialog allows the user to set the most common properties of the camera.
To access other properties use the Scorpion commands described in the command section or by the Python interface.
General Page
Supported Image formats
Trigger mode
- Freerun - continuous video stream.
- This option reduces the acquisition time but increases the Ethernet load.
- SyncIn1..4 - hardware triggered. Triggered due to the Trigger event settings
- FixedRate - acquires images at a fixed rate set by the frame rate value
- Software - a trigger command is sent to the camera for each image request. This option reduces the Ethernet load to a minimum but increases the acquisition time.
Note
- Freerun is a fast streaming mode using bandwidth continously
- Software Trigger is slower but uses less bandwidth
Trigger Event
- Applies to Trigger mode SyncIn1..4 only. See actual camera documentation for event settings.
Framerate
- Applies to Trigger mode FixedRate only.
- Defines number of frames per second (fps)
- The framerate maximum depends of physical Ethernet capacity, GigE settings and image size.
Controls Page
Ros Prosilica Driver
Sets the most common controls for the camera. See the camera specification for actual camera for further information.
LUT Page
Apply lookup table. Lookup table must follow some rules, see lookup table example.
LUT File
Column
- In drop down list choose column to use.
Generate LUT Table
GigE Page
PacketSize
This parameter determines the Ethernet packet size. Generally speaking this number should be set to as large as the network adapter will allow. If this number is reduced, then CPU loading will increase. These large packet sizes are called Jumbo Packets in Ethernet terminology. If your Gigabit Ethernet - 1000baseT network adaptor does not support Jumbo Packets of at least 9 Kbytes, then you will need to reduce PacketSize parameter of the camera to match the maximum Jumbo packet size supported by your Gigabit Ethernet inteface. The default value for GigE is 8332.
Note
- Use 1500 as packetsize for fast ethernet - 100baseT
- Make sure network adapter and camera driver have the same packet size specified
StreamBytesPerSecond
- This control is very useful. This control can be used to moderate the data rate of the camera.
- This is particularly useful for slowing the camera down so that it can operate over slower links such as Fast Ethernet - 100 MBit or wireless networks.
- It is also an important control for multicamera situations. When multiple cameras are connected to a single Gigabit Ethernet port (usually through a switch), StreamBytesPerSecond for each camera needs to be set to a value so that the sum of each cameras StreamBytesPerSecond parameter does not exceed the data rate of the GigE port.
Note
- Setting this number to 994952 = 8 MBit is good for 100baseT.
- On 1000baseT a value corresponding to 80 to 100 MBit.
- One byte is 8 bits. The practical capacity on a 100BaseT is 60 - 80 - 100 MBit.
Attributes Page
The Attribute Page lists all available camera properties:
- Attribute - attribute name, this is the name to be used in get/set property commands
- Type
- C - command
- E - enumeration
- S - string
- I - integer
- F - float
- Flags
- R - readable
- W - writable
- C - constant
- V - volatile (camera controlled value)
- Value - current value
- Range - attribute range
- Category - the attribute category
For detailed attribute information see http://www.prosilica.com
Setting properties using Python¶
Use the following python interface to read and modify camera properties:
- long values:
- setProperty (‘propertyName’, value)
- getProperty (‘propertyName’)
- float or text values:
- executeCmd(‘set’, ‘propertyName=value’)
- executeCmd(‘get’, ‘propertyName’)
Note
- Obtain Property name from Attributes page
- Property names are case sensitive
Example 1: Setting white balance from Central script
Set long value.
Example 2: Setting trigger event
Set enumeration value, which is set the same way as text values.
Example 3: Setting framerate
Set float value.