This project demonstrates the process of creating simulation models for various types of robots and manipulators, with a detailed explanation of building a URDF model of a four-wheeled mobile robot using ROS Noetic and Gazebo. It includes the development and design of the model, as well as integration with simulation environments and programming of robot behavior.
This work aims to assist beginner developers in mastering the process of creating and testing simulation models of robots. It provides a foundation for further work and research in the field of robotics by offering practical knowledge and skills for developing complex robotic systems.
- URDF Model: Detailed description and creation of a URDF model for the mobile robot.
- Docker Container: Development of a Docker container for ease of deployment and configuration.
- Configuration Files: Setup and explanation of configuration files for operating within Gazebo.
- Custom Gazebo World: Formation of a custom simulation environment in Gazebo.
- PID Controllers: Setup and tuning of PID controllers for optimal motion control.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- ROS Noetic
- Gazebo (compatible with ROS Noetic)
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/AntonSHBK/mobile_robot_base_ros1.git
-
Build the project using catkin_make:
cd mobile_robot_base_ros1 catkin_make -DCATKIN_WHITELIST_PACKAGES="mobile_robot_base_ros1"
- Build the Docker image:
cd mobile_robot_base_ros1/docker docker-compose build
- Run the Docker image:
docker-compose up
- Launch the simulation environment in Gazebo and RViz:
source devel/setup.bash roslaunch mobile_robot_base_ros1 robot_base.launch
To adjust the PID settings, modify the pid_params.yaml
under the config
directory.
The custom world can be modified by editing the empty_world.world
file located in the world
directory to change simulation parameters or environment layouts.
- Anton Pisarenko - Initial work - AntonSHBK
This project is licensed under the MIT License - see the LICENSE.md file for details.
@misc{pisarenko2023mobile,
author = {Pisarenko, Anton},
title = {Mobile Robot Simulation in {ROS} Noetic and Gazebo},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/AntonSHBK/mobile_robot_base_ros1}}
}