Robot Modeling and Simulation

Kinematic and motion models, Gazebo co-simulation

When working with robots, modeling and simulation enable you to prototype algorithms quickly and test scenarios by mimicking the behavior of real-world systems. These functions provide kinematic models for both manipulators and mobile robots to model their motion. The toolbox also supports synchronized stepping of Simulink® with Gazebo to design your robotics algorithms with physical simulations.

Functions

expand all

rateControlExecute loop at fixed frequency
statisticsStatistics of past execution periods
waitforPause code execution to achieve desired execution rate
resetReset Rate object
ackermannKinematicsCar-like steering vehicle model
bicycleKinematicsBicycle vehicle model
differentialDriveKinematicsDifferential-drive vehicle model
unicycleKinematicsUnicycle vehicle model
jointSpaceMotionModelModel rigid body tree motion given joint-space inputs
taskSpaceMotionModelModel rigid body tree motion given task-space reference inputs
gazebogenmsgGenerate dependencies for Gazebo custom message support
packageGazeboPluginCreate Gazebo plugin package for Simulink

Blocks

expand all

Gazebo Apply CommandSend command to Gazebo simulator
Gazebo Blank MessageCreate blank Gazebo command
Gazebo PacerSettings for synchronized stepping between Gazebo and Simulink
Gazebo ReadReceive messages from Gazebo server
Gazebo PublishSend custom messages to Gazebo server
Gazebo SubscribeReceive custom messages from Gazebo server
Gazebo Select EntitySelect a Gazebo entity
Ackermann Kinematic ModelCar-like vehicle motion using Ackermann kinematic model
Bicycle Kinematic ModelCompute car-like vehicle motion using bicycle kinematic model
Differential Drive Kinematic ModelCompute vehicle motion using differential drive kinematic model
Joint Space Motion ModelModel rigid body tree motion given joint-space inputs
Task Space Motion ModelModel rigid body tree motion given task-space inputs
Unicycle Kinematic ModelCompute vehicle motion using unicycle kinematic model

Topics

Execute Code at a Fixed-Rate

By executing code at constant intervals, you can accurately time and schedule tasks.

Simulate Different Kinematic Models for Mobile Robots

This example shows how to model different robot kinematics models in an environment and compare them.

Perform Co-Simulation between Simulink and Gazebo

This example shows how to setup synchronized simulation between Simulink and Gazebo, how to receive data from Gazebo, and send commands to Gazebo.

Control A Differential-Drive Robot in Gazebo With Simulink

This example shows how to control a differential drive robot in Gazebo co-simulation using Simulink.

Control and Simulate Multiple Warehouse Robots

This example shows how to control and simulate multiple robots working in a warehouse facility or distribution center.

Simulate a Mobile Robot in a Warehouse Using Gazebo

This example shows how to simulate a warehouse robot in Gazebo.

Plan and Execute Task- and Joint-space Trajectories using KINOVA Gen3 Manipulator

This example shows how to generate and simulate interpolated joint trajectories to move from an initial to a desired end-effector pose.

Plan and Execute Collision-Free Trajectories using KINOVA Gen3 Manipulator

This example shows how to plan closed-loop collision-free robot trajectories from an initial to a desired end-effector pose using nonlinear model predictive control.

Simulate Joint-Space Trajectory Tracking in MATLAB

This example shows how to simulate the joint-space motion of a robotic manipulator under closed-loop control.

Featured Examples