Labview
Contents
Introduction
LabVIEW drivers are also available for Robotino. Using these drivers Robotino's functionality can be manipulated in LabVIEW. The drivers come with a set of easy to understand examples and an extensive help manual which illustrates the use of each Robotino LabVIEW VI. |
Package links |
---|
LabVIEW Drivers available
- AnalogInput
- Bumper
- Com
- Camera
- DigitalInput
- DigitalOutput
- DistanceSensor
- EncoderInput
- Gripper
- LaserRangeFinder
- Manipulator
- Motor
- NorthStar
- Odometry
- OmniDrive
- PowerManagement
- Relay
Have a look at the Robotino LabView Online Help.
An example of Robotino with LabVIEW
Using the LabVIEW drivers, a scenario has been created where Robotino moves around in an obstacle cluttered environment by avoiding the obstacles.
In the figure above, the block diagram of the line follow example can be seen. Many of the Robotino's LabVIEW VIs (such as Com, LaserRangeFinder, OmniDrive and Motor) have been used to create this example.
You may note that the error stream traverses through all the Robotino LabVIEW VIs used in this example. Errors or warnings from previous VIs are carried to subsequent VIs and finally to an error sink.
In this example, Com takes the Hostname and two additional Boolean inputs, namely Connect and Disconnect. If Connect is set to true a connection to Robotino is initiated and if Disconnect is set to true, the connection is terminated. Upon establishment of a successful connection, a Com Id is returned which is then used by the other VIs to communicate with Robotino.
As you may note from the block diagram above, the LaserRangeFinder returns the readings from the Robotino's laser scanner. There are about 666 range values returned by the laser scanner. We then loop through the values between 283 - 383 (in front of the robot) and if any of those values is less than 0.8 (meters), that means the robot is in the vicinity of an obstacle. This check is done inside the for-loop (as seen above).
In case that the robot is close to an obstacle (the Boolean check in the for-loop returns true), we stop and rotate the robot until the front of the robot is clear of obstacles.
In case the output is false (no obstacle detected) then a constant velocity of 500 mm/s in the X direction is applied (see block diagram below). This causes Robotino to move forward.
The Motor Speed 1, Motor Speed 2 and Motor Speed 3 outputs of the OmniDrive are then connected as input for the 3 motors respectively which causes the 3 motors to turn and hence, moving the robot.
Video of the rangefinder example
The Openrobotino Forum
The Openrobotino Forum connects the developers with the users. Here you will find more support and you can also post your questions/problems/bugs etc and get a quick response.