Skip to content

Brazilian-Institute-of-Robotics/doogie_simulator

Repository files navigation

doogie_simulator

The doogie_simulator stack provides a ROS interface communication to simulate Doogie Mouse plataform. For tutorials, please check doogie_gazebo/Tutorials on wiki.

Keywords: Micromouse, Gazebo, ROS

Author: Caio Amaral
Affiliation: BIR - Brazilian Institute of Robotics
Maintainer: Caio Amaral, [email protected]

Supported Versions

  • Kinetic: Built and tested under ROS Kinetic and Ubuntu 16.04

Dependencies

  • doogie_base : ROS metapackage with all common packages for working with Doogie Mouse

Table of Contents

Simulators Supported

Gazebo

  • doogie_gazebo : ROS package with all launchfiles required to simulate Doogie Mouse in Gazebo

Installation

Building from Source:

Attention, if you haven't installed ROS yet, please check Ubuntu install of ROS Kinetic. Desktop-Full Install is the recommended one in order to work with this repository.

Building:

First, lets create a catkin workspace.

mkdir -p ~/doogie_ws/src

doogie_simulator depends on doogie_base metapackage. So let's clone it inside our workspace source and install it.

cd ~/doogie_ws/src
git clone http://github.com/doogie-mouse/doogie_base.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

Then, clone doogie_simulator also in your workspace source.

git clone http://github.com/doogie-mouse/doogie_simulator.git

Now, just build your catkin workspace.

cd ~/doogie_ws
catkin_make

Don't forget to source your workspace before using it.

source devel/setup.bash

Example of Usage

Launch Doogie Mouse at Gazebo:

There are two launch files in simulation. The first one is to run the solver application. The second launch the simulation to send manual goals to the robot.

To launch de solver application, run

roslaunch doogie_gazebo sim_solver_application.launch

and to start the simulation, publish the actual pose of the robot in the maze

rostopic pub -1 /doogie/doogie_pose doogie_msgs/DoogiePose "orientation:
  direction: 1
position:
  row: 0
  column: 0" 

To launch the move base interface, run

roslaunch doogie_gazebo sim_move_base_interface.launch

To fill the first cell wall on rviz maze visualization, repeat the step above to publish the initial pose of the robot. Thus to move the robot, just send manually the goals (see DoogieMove.action to understand the goal message)

rostopic pub /doogie/move_base_action_server/goal doogie_msgs/DoogieMoveAcnGoal "header:
  seq: 0
  stamp:
    secs: 0
    nsecs: 0
  frame_id: ''
goal_id:
  stamp:
    secs: 0
    nsecs: 0
  id: ''
goal:
  direction: 0
  cells: 1
  turns: 0"

It is also possible send the goals by the axclient interface

rosrun actionlib axclient.py /doogie/move_base_action_server/goal

Purpose of the Project

Doogie Mouse platform was originally developed in 2019 as an undergraduate thesis (Theoprax methodoly) at Centro Universitário SENAI CIMATEC in partnership with Brazillian Institute of Robotics, for teaching principles of artificial intelligence using high level framework for writing and reusing robot software.

It's a open source project and expects modifications and contributions from it's users.

License

Doogie Mouse Simulator source code is released under a Apache 2.0.

Bugs & Feature Requests

Please report bugs and request features using the Issue Tracker.

About

Provides all ROS packages for Doogie Mouse simulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published