Intro
The current project I am working on will require data generation, collection, and processing of events that occur with in a simulated environment, thus I plan to use Gazebo + ROS heavily. The base robot model will be a Turtlebot 2, though the model definition will require some modifications. The modifications will require similar edits to the simulated Turtlebot, thus will require some modifications to the robot model defined in the .sdf file (Simulator Description Format).
Model Database Structure
Gazebo has a nice step by step intro to building your own robot, which I will quickly introduce here. Before getting started with the construction, a brief detour, (well worth the read here), discusses the best practices for the construction of the file directory related to the robot models.
Further, the writers of the tutorial have kindly provided a link to a repository that has many models defined, which comes in great use for those getting initially involved. Each model is a self contained tutorial to a certain extent.
Robot Construction
In terms of creating the robot model, the tutorial is self contained, and very straightforward. By the end of the tutorial, you should have a model of a robot with 2 wheels + 1 caster. A couple of concepts to direct attention:
- Keep
<static>True</static>
while building out the robot, as this will allow the robot to be ignored by the physics engine, and will be easier to visualize the intermediate result, instead of having parts falling apart having succumbed to gravitational forces. - With respect to the orientation of axis, the right hand rule is followed. The robot front facing surface is in the positive x direction, left facing being in the positive y direction, top facing being in the positive z direction and so forth.
Recap
Here is a snapshot of the final result after messing around with the file. I also copy/pasted the turtlebot model and loaded a couple into the Gazebo environment. Overall, the take away thus far, is that this will be a relatively straightforward process to build out a personal robot to use in the coming experimentation.
References
- Make a Mobile Robot,http://gazebosim.org/tutorials?tut=build_robot&cat=build_robot