Skip to content

CDonosoK/robocop_description

Repository files navigation

🤖 RoboCop🤖

Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation

Made by Clemente Donoso, 📍 Chile 🇨🇱

RoboCop Lateral
alt text alt text
Front Back
alt text alt text

About the project: ✏️

This work seeks the construction and creation of a small autonomous mobile robot, capable of navigating, mapping and locating in controlled environments. It will use sensors such as lidars and depth cameras to locate itself in the environment.

As progress is made, new features will be added. First, nodes will be made that allow teleoperation, then nodes will be added to control the camera and track lines, then the lidar will be integrated and the limits of the environment will be identified to finish with autonomous navigation by the robot.

I will upload the code and the documentation in the next update and in the next iteration. Fell free to contact me if you have any questions.

Last Update: 📅

  • 2022 - September - 6: Add mapping node, teleoperation node and respective launch files.
  • 2022 - August - 14: First commit, with the basic structure of the project.
  • ...

How to setup your workspace: 📋

  • First you need to install ROS. For this project we will use ROS Noetic, if you are using windows, you can use WSL.

  • Then you need to install the packages that we will use:

  • Once you have installed ROS and your packages, create your catkin workspace (with the name that you want):

        mkdir -p ~/catkin_ws/src
        cd ~/catkin_ws
        catkin build
    
  • Then copy the repository to your catkin workspace:

        cd ~/catkin_ws/src
        git clone https://github.com/CDonosoK/robocop_description
    
  • Finally, you need to source your catkin workspace:

        source ~/catkin_ws/devel/setup.bash
    

If everything went well, your workspace should be structure like this:

    ~/catkin_ws
        |- build
        |- devel
        |- logs
        |- src
            |- robocop_description
                |- codes
                |- gazebo
                |- images
                |- ...
            |- ...
        
        |- ...

The Simulation: 🚀

I'm using the gazebo simulator to test the robot and rviz to visualize the results. If you want to try the simulation, you can run the following command:

  • For visualize on gazebo: roslaunch robocop_description gazebo.launch
  • For visualize on rviz: roslaunch robocop_description display.launch
  • To control the robot: roslaunch robocop_description controller.launch

How it's estructured: 📚

Codes:

  • The codes are in the folder codes, in this folder you can find the codes that are represented as nodes for controlling the robot, controlling the camera and tracking lines and other things.

Gazebo:

  • The gazebo main files such the materials, the physics and the plugins are in the folder gazebo, in this folder you can find evrything that is related to the gazebo.

Launch

  • The launch files are in the folder launch, in this folder you can find the launch files that are used to start the robot and the camera and everything that is related to the gazebo and rviz.

Worlds

  • The worlds are in the folder worlds, in this folder you can find the worlds that will create the environment for the robot, if you create your own world, save it in this folder.

URDF

  • The URDF files are in the folder urdf, in this folder you can find the URDF files that are used to create the robot.

Shopping list: 🛒

When using ROS, Gazebo and Rviz for the simulations it will not be necessary to have the robot physically, however, the shopping list of the components that are used will be left here.

Contribute:

If you want to contribute monetarily to the creation of the project, you can do so via PayPal: https://paypal.me/cdonosok