Visual Simulation Environment VSE provides the ability to simulate and test robotic applications using a 3D physics-based simulation tool. This allows developers to create robotics applications without the hardware.
Sample simulation models and environments enable you to test your application in a variety of 3D virtual environments. Office Office Exchange Server. Not an IT pro? United States English. The values for these properties can be changed once the entity is created, but the entity type defines which properties are included. VSE requires an entity type in order to add an entity to a simulation.
This will bring up the New Entity dialog box see Figure 3. This means you can add a new Create robot to your simulation by simply using the New Entity dialog box. MSRS offers more than one way to create and work with simulations. Creating a new DSS service using the template will result in the creation of two class files. The implementation class, which by default has the same name as the project, is where you will add code to create a new entity. Simulations created programmatically will require access to assemblies not included with the Simple DSS Service template.
Therefore, you will need to add references to the assemblies listed in Figure 5. After adding the references, you will need to add the following namespace declarations to the implementation class file:. To understand what code is needed for your simulation, you should first examine the simulation tutorials provided with MSRS. For example, the basic simulation environment is the same as the SimulationTutorial1 project. If you open the SimulationTutorial1 project using Visual Studio , you can view the code used to create the basic simulation environment.
The first thing to notice is the Start method, which is called automatically when a service is started:. The Start method is where you add code to define your simulation environment.
In addition to the main camera, the basic simulation environment contains entities used to represent the sky, ground, box, and world globe. The code to insert the world globe, or textured sphere, is listed in Figure 6. This type represents an entity with a single geometric shape, such as a sphere, and it is useful when you need to add an entity with a very simple physical geometry.
In this case, I am creating an entity with a mass of 10 kilograms, or approximately four and one half pounds. The mesh assigned to this entity is an object file, which has an.
The object file is created with a 3D graphical editing tool and exported into an alias object format. MSRS requires that the mesh object file is in this format. The last thing you do in the AddTexturedSphere method is to insert the sphere entity into the simulation environment. Now let's create a new robot entity to represent the Boe-Bot by Parallax.
The Boe-Bot is a small wheeled robot that supports a two-wheel differential drive system for a photo, see Figure 7. For more information about the Boe-Bot, visit the Parallax Web site at parallax. This means the MSRS installation includes the basic services used to operate the Boe-Bot's drive system and built-in contact sensors.
By deriving from the DifferentialDriveEntity class, I'm able to reuse code that defines how the Boe-Bot should behave when it is moving through a simulation. The code used to create the BoeBot entity type is shown in Figure 8. The constructor for the BoeBot class is used to set values for several variables defined in the DifferentialDriveEntity class.
For example, the Mass is set with a value of 0. Additionally, the Boe-Bot chassis is defined in terms of the width, length, and height. These measurements were obtained by weighing the actual robot and measuring it using a metric tape measure.
The position of the Boe-Bot is defined through a set of coordinates that are passed in when the entity is created. These coordinates represent the X, Y, and Z axis points. The MSRS simulation engine uses a right-handed coordinate system, which affects the direction toward which the Z axis points.
The BoeBot constructor also defines the position of the chassis and the wheels within the entity. The DifferentialDriveSystem class makes the assumption that your robot will have two main wheels and a small rear wheel that is mostly used for balancing. Power will be assigned to the left and right motors, which control the main wheels.
The difference between the power levels assigned to each wheel determines whether it moves forward, backward, left, or right. This is the same method used to drive the physical robot. What makes the simulation so attractive is that, in theory, it does not matter whether your robot is virtual or physical—the code used to power the robot and receive data from the sensors will be the same. Some of the code that is used in the simulation project can be reused when working with the actual robot.
Now, you may have noticed that I said "in theory. The simulation cannot account for noise—the stuff you do not expect, such as obstacles being in the wrong location. What the simulation can do is give you a fairly realistic opportunity to experiment with a new robot design or simulate the interaction of multiple robots.
This can be very useful in academic environments where resources are limited and the number of students is high. Each entity can be associated with a mesh, which is what makes the entity appear realistic. For example, in the case of the globe, the mesh is what makes the globe entity appear like the planet Earth.
Strictly speaking, it is not necessary to associate an entity with a mesh, but in the case of complex entities, such as robots, a mesh object is preferable. Just about any 3D graphical editing tool can be used to create the mesh.
For this article, I was fortunate enough to have a colleague, Steve Grand, create a Boe-Bot mesh for me using a 3D package called SoftImage see softimage. The files associated with this mesh are included with the downloadable. To follow along with the article, download the.
SoftImage is capable of exporting the image to the. Not all packages are capable of doing this. For example, SolidWorks see solidworks. Unfortunately, SolidWorks is not capable of exporting to the. Keep this in mind when selecting a graphics package to create your mesh file. The details involved with creating the Boe-Bot mesh are beyond the scope of this article, but you should know that it was created by joining multiple polygon mesh shapes.
For example, the metal chassis began as a cube shape that was modified to represent the size and shape of the Boe-Bot. Additional cylinder shapes were then added to represent the wheels. A hierarchy was established to bind the wheels to the chassis and allow the entire object to function as a single shape.
The result as seen in Figure 9 is an image that represents the physical Boe-Bot. MSRS offers a command-line tool that is capable of converting an. The benefit of this type of file is that it loads more quickly than the. The command-line tool, called Obj2bos. Net Framework is currently included as a part of Windows. Hence it makes sense that there is no redistribution charge for it. Net as we are working on then this may effect their licensing policy.
And if you also wish to avoid purchasing the toolkit for distribution of your CCR applications, you could advise customers to download that and they will get CCR installed. However, if you want to avoid paying for it just to use CCR, shortly you will be able to. This edition is free for non-commercial use. Just be aware that this was a late CTP, not the final V2. However, I doubt that you will notice any difference in CCR.
If you plan to use CCR in a product then you should purchase a copy. You pay only for developer licenses, and you can then redistribute the runtime in your product for free. This is explained on the web site in the licensing information. If it is only for personal use, then you will need to install Robotics Studio which contains the same core components. The Express Edition is free, but the final V2. I don't know how the new licensing was decided. It does not matter if you are a commercial organization, you can still install Express at no cost.
This is the same code as in the Toolkit. Just ignore all the robotics stuff. If you have hundreds of developers, talk to us! Volume licensing is available. The content you requested has been removed.
Ask a question.
0コメント