RoboWorks currently does not support inbuilt movies from its animations. However, you can create these movies using the same method that we have used to create movies that are on the main RoboWorks. This method has two steps: 1) Take snapshots of the RoboWorks 3D windows which you want to capture in your movie. For this, various shareware and other software are available. Examples are Corel Capture, Flash 32, HyperSnap, etc. You can set these software to take a snapshot of the RoboWorks window at a fixed time interval. 2) After you have taken the snapshots, you can create a movie using any software such as Microsoft GIF Animator, HyperCam, Adobe Premiere, etc. Again various shareware are available. Most software such as Flash32 and HyperCam combine step 1 and 2 and take the screen snap shots and also create the movie.
RoboWorks supports the RoboTalk mechanism for real time communication with an external program. When you build your 3D model in RoboWorks, you can assign names (know as tag names) to the various transformation nodes that RoboWorks supports. These tag names can then be used to communicate with RoboWorks. RoboTalk is based on TCP/IP and as such can be used on any platform that supports it. The source code for RoboTalk and details of the protocol will also be made available shortly. Currently RoboTalk is implemented for the Win32 platform and comes with RoboWorks. It consists of a programming interface that implements the communication protocol and also the TCP/IP software. This interface is available as a Windows DLL. You can call this DLL from your programming environment to get real-time control of the RoboWorks model. A RoboTalk example comes with the software.
Yes you can build complex shapes in RoboWorks. You can use RoboWorks primitive shapes and combine them to make groups. These groups can then be treated as one shape. Also, geometries not supported by the basic RoboWorks shapes can be created by applying the scaling transformation. For example, a sphere can be stretched into an ellipsoid. See the F-18 screen shot for example.
RoboWorks is based on the industry standard OpenGL graphics library. If your version of Windows operating system (i.e., older versions of Windows 95) does not support OpenGL, you can download OpenGL libraries from Microsoft.
RoboWorks currently supports four models to animate a robot. These are: 1) keyboard keys, 2) data file and 3) from an external program using the RoboTalk interface.
RoboTalk is an API (Applications Programming Interface) that allows an external program to interact with a RoboWorks model. Animation in RoboWorks is based on Tag Names. These Tag Names can be used in a data file or in the RoboTalk interface and their values can be queried or set. RoboTalk is a simple implementation of this functionality. RoboTalk is based on TCP/IP and as such can be used on all platforms that support TCP/IP. So, you can have a Linux machine act as the controller and control a RoboWorks simulation running on a Windows PC. RoboTalk is currently packaged as a Windows DLL and has 4 functions. These are Connect(...), SetTagValues(...), GetTagValues(....) and Disconnect(...). By calling these functions from your program written in any language that allows DLL calls, you can interact with RoboWorks in real-time. RoboTalk source code is available in Version 2.0.
In essence, there are two ways Matlab can be interfaced with RoboWorks. The first is through a data file and the second is through RoboTalk. From a Matlab program you can generate the required data file in the correct format and then use that data file to animate your simulation in RoboWorks. RoboWorks uses RoboTalk to allow external programs to interface with it. Matlab can also use this interface to communicate with RoboWorks. Matlab can call into the RoboTalk DLL using its CMEX interface. Another way is to directly call TCP sockets library from Matlab and use the low level RoboTalk communication protocol.
There are two ways LabView can communicate with RoboWorks. The first is through data files that are created using LabView and then used to animate a RoboWorks model. The other means of communication is RoboTalk. RoboTalk offers realtime connectivity between LabView and RoboWorks. You can build your control and user interface application in LabView and use RoboWorks as a 3D display of your model. LabView vi's are installed with RoboWorks that allow you to communicate with it. These vi's are Connect, GetTagValues, SetTagValues, and Disconnect. An example vi is also installed with RoboWorks that demonstrates this interface.
RoboWorks comes with the RoboTalk interface that is supported using a Windows DLL. You can make calls into the DLL from Visual Basic.
RoboWorks is based on a hierarchical modeling scheme. Basically, this means that there is a root of the tree and then there are branches off this root. The tree is executed starting from the root and moving towards the branches. Different nodes on this tree can be combined using a group node. The various types of nodes supported in RoboWorks are Shape, Transformation, Group, and Material.
The transformation nodes are basically used to animate a model in RoboWorks. Each Transformation node can be static or dynamic. If it is static, then the value of the transformation is fixed. If it is dynamic, the value of the transformation can be changed through either of the animation methods (keyboard, data file, and RoboTalk). Each transformation node that is dynamic can have a tag name. By giving two different transformations the same tag name you can make them dependent. Also, you can assign a scaling factor to each transformation. This scaling factor again will define the relationship between different transformation that have the same tag name.
There is no known limit to the number of tag names in RoboWorks. Obviously, the more the number of tag names, the more memory is required.
You can create your own primitives by combining the basic RoboWorks shapes, grouping them and storing them in separate files. Then you can insert these primitives wherever you want using the copy and paste mechanism built into RoboWorks. You can use scaling transforms to change the size of the custom shape you have created.
You can have multiple 3D views of your RoboWorks model. You can create a new 3D view of your model by selecting Window->New Window. Once you have a new window, you can rotate, translate and zoom in the window to get the desired view. When you save the file, all the corresponding view properties will also be saved.
You can do this by using the On/Off nodes provided in RoboWorks. These are available in the Insert Dialog Box under the Other Tab. You can surround a group of RoboWorks nodes with a pair of On/Off nodes. The second On/Off node in this set is always set to On. The value of the first node can be set to On to make the surrounded shape visible or to Off to make the surrounded shape invisible.
There are four different modes to interact with a RoboWorks 3D view. The first one is Rotation and it allows you to use the left mouse to rotate the scene. The second is translation and it allows you to pan through the scene. The third is zooming and it allows you to zoom in and out of the scene using the left mouse. The fourth is picking. This allows you to select and edit parts of your scene by double clicking on it.
RoboTalk is based on the TCP/IP protocol and used TCP sockets to communicate with external programs. This means that you have to have the TCP/IP protocol installed on your system. For Windows users, this is under your Network setting under the Control Panel. If you are able to access the Internet from your computer, the TCP/IP protocol is already installed.
RoboWorks does not support forward and inverse kinematics. You can use other software packages for this purpose in conjunction with RoboWorks. One such package is available at the Robotics Research Group, UT Austin.
I need special hardware for RoboWorks?
All transformation nodes (rotations, translations, scaling, on/off) can have varying values associated with them. However, there is a default value for each of these nodes at which they start when a RoboWorks model is opened. You can create a model, move it (animate it) using any of the mechanisms supported and then by selecting 'Make Default' you can set the current values of all the transformation nodes to be the default values. Next time you open the model, it will open at this configuration.
This command basically sets the value of all transformation nodes to their default values. As such your model moves to the same configuration at which it is when the model file is first loaded?
Transformation start/stops are used to isolate the effect of transformations that are applied to some nodes to have effect on the other nodes following it. These should always be used in pairs
RoboWorks supports Cube, Wedge, Cylinder (with varying top and bottom radii), annular disk, disk, cone and sphere.
RoboWorks supports Rotation, Translation, and Scaling as the basic transformations. An On/Off node is also available for dynamically enabling or disabling a certain portion of the RoboWorks model tree. A Transformation Stop and Transformation Stop are also available to control the effect of transformations.
Send mail to firstname.lastname@example.org
with questions or comments about this web site.