🤖 Robotics Laboratory (AIL332)

Welcome to the Robotics Laboratory (AIL332) repository! This comprehensive collection contains implementations and documentation for experiments conducted as part of the BTech Robotics Laboratory course. Designed to provide a hands-on experience with robotics systems, this lab covers everything from basic Arduino interfacing to advanced ROS-based navigation.
Detail |
Description |
Course Code |
AIL332 |
Department |
Computer Science and Engineering (Artificial Intelligence) |
Category |
PCC (Professional Core Course) |
Credits |
2 (0-0-3) |
Year of Introduction |
2022 |
Syllabus |
Click Here |
Semester |
S6 (Sixth Semester) |
🎯 Course Outcomes
After completing this course, students will be able to:
- CO1: Interface various peripherals to Arduino boards for robotics applications
- CO2: Assemble mobile robots with different sensors and actuators
- CO3: Understand and implement mobile robot localization techniques
- CO4: Apply standard algorithms to enhance robot intelligence and functionality
- CO5: Master robot navigation principles and implement autonomous navigation systems
🔧 Prerequisites
- ✅ Basic knowledge of robotics principles and autonomous systems
- ✅ Programming experience in Python and C++
- ✅ Understanding of Arduino programming and microcontroller basics
- ✅ Familiarity with ROS (Robot Operating System) concepts
- ✅ Basic electronics knowledge for sensor and actuator interfacing
🌐 ROS Essentials
This laboratory introduces the Robot Operating System (ROS) as a framework for robot software development:
- 🔹 Installing and configuring ROS environment (Kinetic/Melodic/Noetic or compatible versions)
- 🔹 ROS fundamentals: Master, nodes, topics, messages, services, parameters, and actions
- 🔹 ROS Tools: Gazebo (simulation), Moveit (motion planning), Rviz (visualization)
- 🔹 Creating Workspaces and Packages in ROS for modular development
- 🔹 Implementing Publisher-Subscriber and Service-Client communication patterns
🧪 Laboratory Experiments
Part A: Interfacing Sensors and Actuators
1. Arduino Basics
2. Sensor Interfacing
3. DC Motor Control
4. Servo Motor Control
5. Sensor Calibration
- IR Sensor Calibration - Calibrate sensors for accurate readings
- Sonar Calibration - Configure ultrasonic sensors for precise distance measurement
- Calibration Curves - Generate and interpret sensor calibration data
6. Mobile Robot Assembly
7. Arduino Networking (Coming Soon)
- GSM Integration - Connect robots to cellular networks
- Bluetooth Communication - Implement wireless robot control
Part B: Intelligent Systems
8. ROS Programming Basics
9. Mobile Robot Localization (Coming Soon)
- LIDAR-based Localization - Implement laser-based robot positioning
- ROS Implementation - Integrate localization algorithms in ROS
10. Touch Sensing (Coming Soon)
- Sensor Interfacing - Connect touch sensors to robots
- Feedback System Implementation - Create responsive touch-based feedback systems
11. Line Following Robot
12. Obstacle Avoidance
13. Object Detection
14. ROS Navigation
Additional Programs and Resources
- Push Button Interfacing - Learn how to use push buttons for robot interaction
- More examples and utilities will be added throughout the course
Study Materials
Experiment Questions
- Clone the repository:
git clone https://github.com/venkideshVenu/KTU-S6-Robotics-Lab-AIL332
cd KTU-S6-Robotics-Lab-AIL332
- Install prerequisites:
# Arduino IDE
sudo apt-get install arduino
# ROS Installation (Ubuntu 20.04 - ROS Noetic example)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install ros-noetic-desktop-full
# Python packages
pip install numpy matplotlib pandas
- Navigate to specific experiment directory
cd "01 Familiarisation of Arduino IDE, microcontroller & IO interfacing"
- Follow instructions in individual experiment READMEs
 Arduino |
 ROS |
 Python |
 C++ |
 Gazebo |
🤖 Moveit |
🔍 Rviz |
🔌 Sensors & Motors |
📊 Assessment Pattern
Component |
Marks |
Details |
Continuous Internal Evaluation (CIE) |
75 |
Lab performance, records & viva voce |
End Semester Examination (ESE) |
75 |
Practical exam (2.5 hours) |
Total |
150 |
|
Grading Criteria
- Lab Performance: 40% - Quality of implementation and demonstration
- Lab Records: 30% - Documentation and analysis of experiments
- Viva Voce: 30% - Understanding of concepts and applications
📚 References
- Siegwart, Roland, “Introduction to Autonomous Mobile Robots”, MIT Press
- Peter Corke, “Robotics, Vision and Control: Fundamental Algorithms in MATLAB”, Springer
- John. J. Craig, “Introduction to Robotics (Mechanics and control)”, Pearson
- S K Saha, “Introduction to Robotics”, McGraw Hill
- R K Mittal and I J Nagrath, “Robotics and Control”, Tata McGraw Hill
- Dahiya, Ravinder S., Valle, Maurizio, “Robotic Tactile Sensing”, Springer
- TurtleBot3 e-Manual
- ROS Wiki
- Arduino Documentation
🔄 Contributing
Contributions to improve this repository are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
)
- Commit your changes (
git commit -m 'Add amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.