Skip to content

atom-robotics-lab/MR-Robot

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn


Logo

MR Robot

This is the repo for the MR-Robot: ModulaR Robot Project, Mr robot is autonomous navigation robot made by A.T.O.M Robotics capable of doing multiple day to day operations such as mapping, navigation for transportation, sanitaion etc. Various other operations can also be performed thanks to its modularity. If you’re interested in helping to improve our Project, find out how to contribute.
Demo video »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact
  7. Acknowledgments

About The Project

This is the repo for the MR-Robot: ModulaR Robot Project, Mr robot is autonomous navigation robot made by A.T.O.M Robotics capable of doing multiple day to day operations such as mapping, navigation for transportation, sanitaion etc. Various other operations can also be performed thanks to its modularity. If you’re interested in helping to improve our Project, find out how to contribute.

(back to top)

Built With

  • ROS
  • OpenCV
  • Blender
  • Raspberry Pi
  • Espressif
  • Arduino
  • Ubuntu
  • Python

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • Ros

    • Refer to our Ros installation guide
    • Installing Navigation specific dependencies: map-server, move_base and amcl
      sudo apt install ros-noetic-map-server ros-noetic-move-base ros-noetic-amcl
  • Opencv

    sudo apt install libopencv-dev python3-opencv

Installation

  1. Clone the repo inside your Ros Workspace
    git clone [email protected]:atom-robotics-lab/MR-Robot.git
    cd wiki
  2. Build the package
    cd ~/catkin_ws
    catkin_make
  3. Launch the packages file by
    roslaunch <package_name> <launch_file>

(back to top)

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

  • The mr_robot_description dir contains all the bot model description files.
  • The mr_robot_gazebo dir contains all the world description files.
  • The mr_robot_nav dir contains all the config files for enabling navigation and planning.



In order to run the simulation you are required to do the following:

  • For running the navigation simulation.

    • Switch to the main branch of the repository.

      git checkout main
    • Launch the gazebo world.

      roslaunch mr_robot_gazebo turtlebot3_house.launch camera_enabled:=true lidar_enabled:=true kinect_enabled:=true

      Alternatively, you can toggle the value of the camera_enabled, lidar_enabled and kinect_enabled arguments to enable the 2D camera, LiDAR and the depth camera resp. according to your needs(By default, all three of them are enabled)

    • Launch the navigation file.

      roslaunch mr_robot_nav navigation.launch

      NOTE: Make sure that you have installed the navigation dependencies before running the navigation launch file.

    • Setting the goal In the Rviz add a 2d on the map.

    Voila! The bot will start moving towards the goal now.

  • For running Octomapping simulation.

    • Switch to the point_cloud_navigation branch.
      git checkout point_cloud_navigation

(back to top)

Roadmap

  • Alpha version
  • Version 1
    • Adding camera
    • Adding 3d camera
    • Hardware prototype

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

For more info refer to contributing.md

(back to top)

Contacts

Our Socials - Linktree - [email protected]

Demo: Video

(back to top)

Acknowledgement

(back to top)