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
The detailed problem statement can be found here
Robotics as a domain can be divided as:
- Design (Mechanical and Electronics: What components and sensors is the robot made of)
- Perception (Obtaining information about the robot's environment using the sensors)
- Planning (Calculating a series of behavious to execute based on what is desired and what the environment looks like)
- 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.
Use Fusion 360 for CAD modelling.
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.
The following are the system requirements for simulating the automation task:
- Linux (Ubuntu 20.04 dual boot recommended. Refer to problem statement for alternatives.)
- ROS Noetic
- It is recommended that you install
ros-noetic-desktop-full
as it also installs other required packages along with it
- 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)
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.