Skip to content

ERC-BPGC/robotics-hackathon-2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 

Repository files navigation

ERC Robotics Hackathon 2022

This repository contains all of the instructions and files required to solve the Electronics and Robotics Club's Robotics Hackathon 2022.

The hackathon is focused on the design of an autonomous floor cleaning robot. Your team has to provide a solution consisting of the mechanical design, electronics interfacing and an implementation of autonomous behavior. All three tasks are linked to the same final goal and yet can be completed independently.

The registration form link can be found here.

The tentative deadline for submission is 11:59 P.M. on 31st August 2022

In case of any queries contact:
Aditya Parandekar: +919922924118
Atharva Ghotavadekar: +919767280239
Dhruv Potdar: +917045030300

Teams with complete submissions will be inducted into ERC!


Problem Statement

The detailed problem statement can be found here

Robotics as a domain can be divided as:

  1. Design (Mechanical and Electronics: What components and sensors is the robot made of)
  2. Perception (Obtaining information about the robot's environment using the sensors)
  3. Planning (Calculating a series of behavious to execute based on what is desired and what the environment looks like)
  4. Control (Executing the planned behaviours and ensuring the goal is actually achieved via the robot's actuators)

All four are closely linked to each other and most autonomous robotic systems will need all four.

The hackathon contains atleast one task from each broad divison. However this hackathon is structured such that every task is independent of each other. This will not be the case in a real world robot, but it is a good place to dive into designing a functional robotic system.

Setting up the environment

Mechanical Design and Analysis

Use Fusion 360 for CAD modelling.

Electronics Design and Interfacing

The circuit simulation is to be done using the TinkerCad simulator which does not require any installation.

Important Clarification: Use an Arduino Uno along with other required components for the electronics simulation task.

Automation (Perception, Planning and Control)

The following are the system requirements for simulating the automation task:

  1. Linux (Ubuntu 20.04 dual boot recommended. Refer to problem statement for alternatives.)
  2. ROS Noetic
  • It is recommended that you install ros-noetic-desktop-full as it also installs other required packages along with it
  1. Gazebo (Not required separately if you have installed ros-noetic-desktop-full)
    To verify, use this command:
gazebo --version

If you are able to see the version, Gazebo is installed.

4. TurtleBot3 Setup manual (NOTE: Change kinetic to noetic if you follow the instructions in the link)

Detailed setup instructions for turtlebot3:

Run the following commands sequentially
Install dependent packages:

sudo apt-get install ros-noetic-joy ros-noetic-teleop-twist-joy \
ros-noetic-teleop-twist-keyboard ros-noetic-laser-proc \
ros-noetic-rgbd-launch ros-noetic-depthimage-to-laserscan \
ros-noetic-rosserial-arduino ros-noetic-rosserial-python \
ros-noetic-rosserial-server ros-noetic-rosserial-client \
ros-noetic-rosserial-msgs ros-noetic-amcl ros-noetic-map-server \
ros-noetic-move-base ros-noetic-urdf ros-noetic-xacro \
ros-noetic-compressed-image-transport ros-noetic-rqt* \
ros-noetic-gmapping ros-noetic-navigation ros-noetic-interactive-markers

Install turtlebot3:

sudo apt-get install ros-noetic-dynamixel-sdk
sudo apt-get install ros-noetic-turtlebot3-msgs
sudo apt-get install ros-noetic-turtlebot3

Install turtlebot3 simulation package:
Navigate to your catkin workspace source folder

cd ~/catkin_ws/src/

Clone the turtlebot3_simulations repo:

git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git

Build your workspace

cd ~/catkin_ws && catkin_make



Automation task package
Clone this repository in your catkin workspace source folder.

cd ~/catkin_ws/src/
git clone https://github.com/ERC-BPGC/robotics-hackathon-2022.git

The ROS package robotics_hackathon_automation contains all the files required.
This completes the environment setup for the autonmation task.