GithubHelp home page GithubHelp logo

kugle-gazebo's Introduction

Kugle-Gazebo

This repository contains the Gazebo Simulation model of the Kugle robot developed as part of the master thesis work described in Kugle - Modelling and Control of a Ball-balancing Robot.

Gazebo simulation

Notice that this model is not a complete simulation model of the ballbot but is only used as an abstraction to simulate and test navigation and planning algorithms for the Kugle robot using its' holonomic properties.

Install catkin tool

sudo apt-get install python-catkin-tools

Cloning

To set up the simulation environment you need to clone the necessary repositories into an existing or new catkin workspace. Follow the steps below to set up a new catkin workspace and clone:

mkdir -p ~/kugle_ws/src
cd ~/kugle_ws/src
catkin_init_workspace
git clone https://github.com/mindThomas/Kugle-Gazebo
git clone -b melodic https://github.com/mindThomas/Kugle-ROS
git clone -b melodic https://github.com/mindThomas/realsense_gazebo_plugin
cd ..
rosdep install --from-paths src --ignore-src -r -y

Building

Build the project with catkin build

cd ~/kugle_simulation_ws
catkin build
source devel/setup.bash

Launch simulation

The Gazebo simulation can be launched with

roslaunch kugle_gazebo gazebo.launch

But it is recommended to launch the simulation within the Kugle-ROS driver. See more at https://github.com/mindThomas/Kugle-ROS#simulation

Reset simulation

The Gazebo simulation/world can be reset without having to restart Gazebo by calling:

rosservice call /gazebo/reset_world

Adjusting the real-time factor

The real-time factor can be adjusted to e.g. simulate slower than real-time if some code takes longer time to execute on the computer running the simulation. In this case the ROS time will be slowed down accordingly such that computation time can be made negligible.

Videos

A few videos illustrating the Gazebo simulation environment is listed below.

Joystick control of Kugle V1 simulation model in Gazebo
Joystick control of Kugle V1 simulation model in Gazebo

Kugle V1 Gazebo simulation with AMCL localization
Kugle V1 Gazebo simulation with AMCL localization

First success with MPC combined with ROS move_base
First success with MPC combined with ROS move_base

Gazebo simulation of ACADO MPC integrated with ROS move_base
Gazebo simulation of ACADO MPC integrated with ROS move_base

kugle-gazebo's People

Contributors

mindthomas avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.