The LabVIEW KUKA youBot APIs were designed to follow the graphical system design approach with the ability to switch from the simulated youBot to the real physical youBot. There are three major components of the KUKA youBot VIs and we will discussion each of the components in this section.
- Initialization VIs - to initialize simulated or physical KUKA youBot
- Arm VIs - to configure KUKA youBot manipulator
- Platform VIs - to configure KUKA youBot platform
Figure 3. LabVIEW Robotics KUKA youBot APIs
KUKA youBot Initialization APIs
The initialization Vis contain two instances: KUKA youBot and Simulated KUKA youBot. The design utilizes the hardware abstraction layer that will be discussed in the following section to allow the user to maintain the same codebase and architecture for both environments. This is a very powerful technology to enable rapid prototyping for robotics design.
Figure 4. LabVIEW Block Diagram for Controlling Simulated KUKA youBot
KUKA youBot Arm APIs
Figure. 5 KUKA youBot Arm APIs
The joints of the KUKA youBot arm are equipped with position encoders to measure joint angles. The used encoders are relative position encoders, which means, they do not yield an absolute joint angle but an angular displacement relative to a reference position. We also call these positions home positions or rest positions to indicate the arm should start its movement from these positions.
Figure 6. Movement of the Manipulator to Calibrate Joints to the Home Position
The Calibrate Arm. VI will calibrate and move the motors of KUKA youBot arm joints to the home position as shown above. It is recommended to utilize this VI as part of the initialization process to ensure a safe position for the arm. The other Vis will allow the user to send and read position commands in radians to commend the position of each joint. The built-in Inverse or Forward Kinematics APIs in the Robotics Module is often used in conjunction with KUKA youBot arm APIs. You can find these APIs in Robotics>>Robotic Arm>>Kinematics.
KUKA youBot Platform APIs
Figure 7. KUKA youBot Platform APIs
The KUKA youBot base is an omni-directional mobile platform with four mecanum wheels. Figure below illustrates the attached base (coordinate) frame. Positive values for rotation about the z axis result in a counterclockwise movement, as indicated by the blue arrow. The wheel numbering for the mecanum wheels is also shown. The motor controllers of the four omni-directional wheels can be accessed via Ethernet and EtherCAT. The Ethernet cable can be either plugged into the onboard PC or to an external computer. The plug is a standard network cable plug that fits into each standard Ethernet port.
Figure 8. Overview of KUKA youBot Base
Create Platform Steering Frame.VI utilizes the configuration above and generates the steering frame for the KUKA youBot platform. Other APIs include Set Wheel Motor Speed. VI and Get Wheel Motor Speed.VI give access to control each of the four wheels of the youBot platform to achieve the desirable steering behavior. These VIs are typically used in conjunction with Apply Velocity to Motors.VI which can be found in Robotics>>Steering>>Apply Velocity to Motors.VI. These built-in functions in the LabVIEW Robotics Module allows the user to set and read steering frame velocities in all directions.
Utilizing all KUKA youBot APIs, the user can build and develop various applications from analyzing simple pick and place tasks to multi-agent collaborative work as shown below. LabVIEW Robotics Module can further extend the use of these APIs and we will go through a couple key technologies in the LabVIEW Robotics Module in the following section.
Figure 9. LabVIEW Front Panel of a Simulated KUKA youBot Application
Figure 10. Multiple KUKA youBots for Collaborative Mapping Application