This repository contains all of the instructions and files required to solve the Electronics and Robotics Club's Hackathon 2023.
The hackathon is focused on the design of an autonomous land-mine detection and extraction 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 21st August
In case of any queries contact:
Arjun Puthli: 9594333307
Shantanu Deshmuk: 8983172114
Aasim Sayyed: 7058577593
Aditya Kurande: 7722030520
Ishan Gokhale: 7057401698
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 and ANSYS for structural analysis.
The circuit simulation is to be done using the TinkerCad simulator which does not require any installation. PCB design is to be done using EAGLE. EAGLE is a paid software but is free for students (make use of your BITS mail, since you would have already made an autodesk account for EG).
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 (Note: Most resources including the book by Morgan Quigley use catkin_make instead of catkin build, but make sure you use catkin build instead)
cd ~/catkin_ws && catkin build
Automation task package
Clone this repository in your catkin workspace source folder.
cd ~/catkin_ws/src/
git clone https://github.com/ERC-BPGC/ERC-hackathon-2023.git
The ROS package robotics_hackathon_automation
contains all the files required.
This completes the environment setup for the autonmation task.