Set Up Gazebo Simulation Environment
All examples showcasing Gazebo based VEX® simulation use a virtual machine (VM) that is available for download. To download and install the same, use the link available under Download Virtual Machine section in Get Started with Gazebo and a Simulated TurtleBot.
Note
By default, the virtual machine is configured to use 4 GB RAM and two CPU Cores. For better performance, you can extend the RAM and CPU cores depending on the specifications of your host machine.
Once the virtual machine opens, ensure that it displays an IP address in the top right corner. Enter this IP address in the Simulink®, so that Simulink can reach the Gazebo server running on this IP address. If the IP address does not show, restart the Virtual Machine. If the issue persists, configure the network correctly on the virtual machine.
Test Connection
Perform these steps to test the connection.
Open the Command Prompt window.
Contact the virtual machine using the ping command with the IP address of the virtual machine. Use this command.
ping 192.168.23.128
If the ping command times out, check if the network is configured correctly on the Ubuntu® virtual machine.
Open Gazebo World
To open the preconfigured VEX Robot environment, on the Ubuntu desktop, click Gazebo VEX Clawbot icon.
Preconfigured Gazebo Simulation Environment
The desktop shortcut opens Gazebo simulator with VEX Robot and an environment with game objects. For more information on the Gazebo graphical user interface, see Gazebo User Interface.
If the Gazebo simulator fails to open, the default Gazebo port (11345) might be blocked by some other application. Restart the Virtual Machine to fix this issue.
Required Products
Robotics System Toolbox™
Simulink
Stateflow®
Simulink 3D Animation™
Simulink Coder™
Computer Vision Toolbox™
Image Processing Toolbox™
Install Simulink Coder Support Package for VEX EDR V5 Robot Brain
Other Dependencies
Install a C++ Compiler supported by gazebogenmsg
.
After installing the C++ Compiler, start MATLAB® and run these commands.
mex -setup c mex -setup c++
If you have installed multiple compilers in your machine, select the compiler that
is supported by gazebogenmsg
command.
Set Up and Run Simulink Model
A Simulink template or preconfigured simulink examples are available in the support package. Instructions to configure/run the template or examples are similar.
You can use the Gazebo Simulation template to model a system and then simulate the dynamic behavior of that system in Gazebo. Perform these steps to build your model.
On the MATLAB Home tab click Simulink.
On the Simulink Start Page, navigate to Simulink Coder Support Package for VEX EDR V5 Robot Brain and select the Gazebo Simulation template. Click Create Model.
The Gazebo Simulation template model opens. This is a blank template setup to work with Gazebo Simulator. It contains blocks for simulating the following devices.
Distance Sensor
Inertial Sensor
Bumper Switch
Vision Sensor
Encoders on Arm, Claw, and drivetrain
Smart Motors on Arm, Claw, and drivetrain
Game pad simulator for providing manual inputs to the simulation from joystick.
Various autonomous tasks can be simulated by using combinations of these sensors and actuators.
From the Simulation tab, select Save > Save as. In the File name text box, enter a name for your model. Click Save. The model is saved with the file extension
.slx
.To get started with basic robot movement in Gazebo simulator, connect left and right motor outputs from Stateflow chart to Smart Motors block.
Double-click the Gazebo Pacer block.
In the block parameter dialog box, click Configure Gazebo network and simulation settings. Enter the virtual machine IP Address. Set the Port to
14581
.Gazebo and Simulink communicate over network using Co-simulation blocks from Robotics System Toolbox. To enable this communication, you must specify the IP address of the machine which is running Gazebo. In this case, it will be Virtual Machine’s IP address.
Click Test to verify the connection to Gazebo model. Click Ok to complete setting up the Gazebo simulation environment.
See Also
Simulate a VEX Robot with Simulink and Gazebo | Troubleshooting Gazebo Simulation