top of page
Robot Sensoring Man

PROJECTS

HIGHLIGHTS

images-removebg-preview (1).png

SAE International - ROBOTICS FOR AUTONOMOUS VEHICLE SYSTEMS BOOTCAMP (May-August 2023)

Capstone Project on Real TurtleBot3 Burger Robot 

Autonomous Wall Following

➢ Developed wall following algorithm for Turtlebot3 Burger.

➢ Ensured accurate following of centerline between two walls.

➢ Enhanced algorithm for obstacle avoidance. Line Following with Object Detection

➢ Created sinewave-like line for Turtlebot3 to follow.

➢ Integrated object detection for traffic light. Go-to-Goal Navigation using Navigation Stack

➢ Mapped environment with SLAM.

➢ Localized Turtlebot3 with AMCL.

➢ Integrated Simple Commander API for goal navigation.

Skills Utilized: ROS Development SLAM (Simultaneous Localization and Mapping) Object Detection and Tracking Navigation Algorithms Python Programming OpenCV for Image Processing

Outcome: Fully autonomous navigation of Turtlebot3 Burger in a structured environment. Integration of wall following, line following, and go-to-goal navigation. Implementation of obstacle avoidance using laser scans and object detection. Autonomous switching between navigation tasks based on predefined triggers or positions.

Automatic Emergency Braking (AEB) Implementation

  1. Developed collision prevention system using ROS2 and Gazebo.

  2. Implemented P-controller and sensor data analysis.

  3. Tuned controller for optimal performance.

  4. Documented codebase and provided instructions.

  5. Presented system capabilities via video demonstration.

Skills : ROS2

Gazebo

Sensor Data Analysis

P-Controller Tuning

Outcome: Successful AEB system development.

Proficient in ROS2 and Gazebo.

Wall Following Implementation

Developed ROS2 steering control system for wall following. Implemented controllers for right wall and center line following. Utilized LIDAR sensor data for precise angle and distance calculations. Integrated PID controller variants for optimized performance at high speeds. Documented codebase and provided clear instructions. Conducted testing and optimization for fast lap completion.

Skills: ROS2 LIDAR Data Processing PID Controller Tuning Optimization

Outcome: Successful wall following controllers implementation. Proficient in ROS2 for robotics applications.​

Advanced Lane Detection and Keeping

Developed ROS2 node for lane detection and keeping using camera data. Implemented image manipulation algorithms to extract lane lines. Utilized Canny edge detection and Hough transform for lane detection. Calculated average centerline of lanes to derive error for the controller. Integrated controller for vehicle velocity and steering angle adjustment. Documented codebase and provided clear instructions. Addressed transformation from camera frame to robot's world frame.

Skills: ROS2 Computer Vision OpenCV Image Processing Lane Detection Algorithms Controller Design

Outcome: Successful implementation of lane keeping algorithm. Demonstrated ability to solve real-world robotics challenges using ROS2 and computer vision techniques.​

Working with Trained Models in ROS2

Configured ROS environment for camera data acquisition. Created custom ROS2 node for object detection using TinyYOLOv3 model. Integrated custom functions for interpreting predictions and publishing results. Utilized launch files for running the code and visualizing predictions. Explored using pre-trained models from Keras, such as ResNet50. Developed ROS2 wrapper around ResNet50 for image classification. Tested the implementation with laptop camera.

Skills: CUDA and cuDNN Installation Deep Learning Model Integration ROS2 Development Object Detection Image Classification

Outcome: Successful implementation of deep learning models within ROS2 environment. Demonstrated ability to integrate pre-trained models and custom functions for real-world applications

Localization and Navigation in ROS2

Developed ROS2 node for lane detection and keeping using camera data. Implemented image manipulation algorithms to extract lane lines. Utilized Canny edge detection and Hough transform for lane detection. Calculated average centerline of lanes to derive error for the controller. Integrated controller for vehicle velocity and steering angle adjustment. Documented codebase and provided clear instructions. Addressed transformation from camera frame to robot's world frame.

Skills: ROS2 Computer Vision OpenCV Image Processing Lane Detection Algorithms Controller Design

Outcome: Successful implementation of lane keeping algorithm. Demonstrated ability to solve real-world robotics challenges using ROS2 and computer vision techniques.​

Pure Pursuit (Carrot Planner) Implementation

Recorded waypoints using waypoint_logger.py and manual driving. Developed pure pursuit algorithm in pure_pursuit.py for waypoint following. Parsed waypoint .csv file and implemented logic for 'instantaneous carrot position'. Tested and adjusted LOOKAHEAD_DISTANCE for accurate interpolation. Implemented pure pursuit control code for the car to follow waypoints.

Skills: ROS and ROS1/ROS2 Bridge Data Logging and Processing Path Planning with Pure Pursuit Control System Design

Outcome: Successfully implemented waypoint following with pure pursuit.

NH-removebg-preview.png

The Construct - Robotics Developer MasterClass Program 2023 (September 2023 -March 2024)

Project Experience:

Trash Table detection using Lidar sensor : - 

Developed a trash table detection system using 2D Lidar segmentation algorithms. Implemented Nav2 for autonomous navigation of the Cleaner robot to pick up and drop off trash tables. Created ROS2 nodes for controlling the robot's approach to the trash table and its elevator mechanism.

Skills: Lidar Segmentation for Object detection without any use of Camera Proficient in ROS2 for robot software development and navigation stack implementation. Experienced in 2D Lidar segmentation techniques for object detection and localization. Skilled in developing ROS2 services and nodes for controlling robot behaviors and interactions.

Outcome: Successfully deployed a real-world application on the Cleaner robot for autonomously detecting, approaching, and picking up trash tables. Improved cleanliness and efficiency in the Starbots cafeteria by automating the process of table collection and disposal. Demonstrated adaptability in working with different robot platforms and environments, including simulation and real-world scenarios.

Robot Used: Cleaner (Turtlebot 4 base) in the real-world environment, RB-1 in the simulated environment.

ROSBOT XL Control Project 

Developed PID controllers for forward movement and turning for a mobile robot. Integrated controllers into a program enabling efficient navigation through maze-like environments. Tested program in simulation and real robot lab, ensuring functionality in diverse settings.

Skills: Strong understanding of control theory and PID algorithms. Experience in robot navigation and motion planning.

Outcome: Successfully implemented and tested navigation algorithm for Rosbot XL robot. Demonstrated ability to develop and deploy control systems in both simulated and realworld environments. Robot Used: Rosbot XL

UR3e Pick and Place Project using Perception 

Developed a Perception node to detect the position of a cube on a table using point cloud data from the UR3e robot's wrist camera. Created a C++ program named get_pose_client.cpp to interact with the Perception action server and obtain the X and Y coordinates of the detected object. Integrated perception-based object detection into the Pick&Place pipeline by updating the Pick position to use coordinates obtained from the Perception action server.

Skills: Moveit2 Proficient in ROS2 development, including the creation of Perception nodes, action client implementation, and manipulation of point cloud data. Experienced in integrating perception systems with robotic manipulation tasks to enhance object detection and localization capabilities. Skilled in real-world testing of robotic applications, including simulation setup, debugging, and validation using both simulated and physical robotic platforms.

Outcome: Successfully developed a Perception node capable of detecting the position of a cube on the table with respect to the UR3e robot's base. Implemented a C++ client program to communicate with the Perception action server and retrieve object coordinates for use in the Pick&Place task. Integrated perception-based object detection into the Pick&Place pipeline, enabling the robot to autonomously pick and place objects based on real-time perception data.

Robot Used: UR3e Robotic Arm (Simulation and Real Robot Lab)

RB1 robot warehouse Navigation Project 

Developed a Python script utilizing the Simple Commander API to orchestrate navigation tasks for the RB1 mobile robot in a simulated warehouse environment. Implemented a Costmap Filter to generate a Keepout Mask, enabling the robot to avoid predefined obstacle areas during navigation. Configured navigation launch files, planner settings, and controller parameters to integrate the Costmap Filter into the navigation stack seamlessly.

Skills: Proficient in ROS2 development, including script creation, action client implementation, and configuration of navigation stack components. Experienced in utilizing navigation algorithms and path planning techniques to ensure efficient and obstacle-free robot movement. Skilled in ROS1-ROS2 bridging and conducting real-world testing of robotic applications in lab environments. Outcome: Successfully orchestrated navigation tasks for the RB1 robot using the Simple Commander API, including localization, shelf manipulation, and waypoint navigation. Implemented a dynamic obstacle avoidance mechanism using Costmap Filters, enhancing the robot's ability to navigate complex environments safely. Validated script functionality and navigation behavior through simulation and real-world testing in the RB-1 robot lab. Robot Used: RB1 Mobile Robot (Simulation and Real Robot Lab)

Mobile Robot Simulation Project

Created a URDF model for the RB1 robot using ROS and Gazebo. Integrated actuators and sensors into the robot model. Configured Gazebo simulation environment for robot testing.

Skills: ROS and Gazebo simulation URDF modeling Actuator and sensor integration Gazebo environment setup Version control with Git Outcome: Successfully developed a mobile robot simulation from scratch. Proficient in ROS and Gazebo for robotics simulation and development.

ROS GUI Project

Set up the project by cloning the repository and compiling the codebase. Developed a graphical user interface (GUI) node using C++ and the CVUI library for ROS. Implemented functionality to display robot information, control teleoperation, show current velocities, and visualize robot position. Integrated ROS nodes for robot information and distance tracking service.

Skills: C++ programming ROS node development GUI design with CVUI library ROS service integration

Outcome: Successfully created a user-friendly GUI for remote robot control and monitoring. Enhanced understanding of ROS architecture and C++ programming in robotics applications.

Turtlebot3 Burger Patrolling Project

Created a ROS2 package named robot_patrol containing the patrol.cpp file. Implemented a C++ class named Patrol to control the robot's patrolling behavior. Subscribed to the laser topic to capture laser data. Identified the safest direction to move based on laser data and computed the angular velocity. Published velocity commands to the /cmd_vel topic to move the robot safely. Created a launch file named start_patrolling.launch.py to start the patrol program.

Skills: ROS2 development C++ programming Sensor data processing Control loop implementation

Outcome: Developed a program to enable the Turtlebot3 robot to patrol an area while avoiding obstacles. Tested the program successfully in both simulation and on the real Turtlebot3 robot.

Robot Used: Turtlebot3 Burger

Turtlebot3 Burger Patrol using ROS2 actions and servers

Developed ROS2 nodes for service and action servers to control robot behavior. Integrated service client into existing patrol program for dynamic obstacle avoidance. Tested code in simulation and on real Turtlebot3 robot.

Skills: Proficient in ROS2 framework for robot software development. Strong understanding of service-oriented and action-based architectures. Experience in integrating sensors and actuators for robot control.

Outcome: Successfully implemented dynamic obstacle avoidance using laser data analysis. Developed action server for precise navigation to specified positions. Tested and validated code in both simulation and real-world environments. Robot Used: Turtlebot3 (Simulation and Real Robot)

Barista Robot Chase using TFs

Developed ROS2 nodes for simulating multiple robots and implementing robot chase behavior. Utilized URDF and XACRO macros to create and refactor robot models for simulation. Implemented TF frame transformations and simple control algorithms for robot pursuit.

Skills: Proficiency in ROS2 framework for robot simulation and control. Strong understanding of URDF and XACRO for robot modeling. Experience in implementing TF frame transformations and control algorithms for robot behavior.

Outcome: Successfully simulated multiple robots in Gazebo with unique namespaces. Implemented a ROS2 node for robot pursuit based on TF frame transformations. Validated robot chase behavior in simulation environment using teleop_twist_keyboard. Robot Used: Barista Robot (Simulation)

RB1 robot warehouse project

Developed ROS2 components based so that RB1 robot goes to the cart and picks it up, adapting them for composition. Configured components to replicate node behavior, utilizing hardcoded values for parameters.

Skills: Proficient in ROS2 development, including package creation, component development, and parameter handling. Experienced in adapting existing code to different architectures for improved modularity and flexibility. Skilled in implementing ROS2 services for communication between components.

Outcome: Successfully transformed ROS2 nodes into components, enhancing system modularity and flexibility. Demonstrated competency in ROS2 development practices, including manual and run-time composition approaches. Validated component functionality in simulating robot behavior within a warehouse environment.

Robot Used: RB1 Robot (Simulation)

Web Development Project For Robotics :

Developed a web application for controlling the TortoiseBot robot in real-time. Integrated features including map visualization, 3D robot model display, live camera feed, virtual joystick for manual control, and waypoint buttons for navigation. Utilized HTML, CSS, JavaScript (Vue.js), and ROSLIB for web development and ROS integration.

Skills: Proficient in web development technologies including HTML, CSS, and JavaScript. Experience with Vue.js framework for building interactive web interfaces. Familiarity with ROS (Robot Operating System) for robot control and integration.

Outcome: Successfully created an intuitive and user-friendly interface for operating the TortoiseBot robot. Provided real-time visualization of mapping progress, robot model, and camera feed. Implemented control features enabling manual driving and waypoint navigation.

Robot Used: TortoiseBot

Docker Project For Robotics :

Developed Docker images for managing the bring-up of the TortoiseBot robot in both ROS1 and ROS2 environments. Created separate images for simulation and real robot setups, including components for Gazebo simulation, mapping, waypoints, web application, camera, and laser. Utilized Docker and Docker Compose for containerization and orchestration of robot applications.

Skills: Proficient in Docker containerization and Docker Compose for managing complex software systems. Experience in creating Docker images and Dockerfiles for ROS-based robotic applications. Familiarity with ROS (Robot Operating System) for robot control and simulation.

Outcome: Simplified the setup and deployment process for the TortoiseBot robot by containerizing its applications, facilitating use by new users. Ensured consistent and reproducible environments across different platforms, enhancing development and deployment workflows. Streamlined the management of both simulation and real robot configurations through Docker containerization.

Robot Used: TortoiseBot

CI/CD Project For Robotics in Jenkins :

Developed continuous integration pipelines using Jenkins for both ROS1 and ROS2 environments for the TortoiseBot project. Created Dockerfiles to set up Docker containers with ROS installations, Gazebo packages, and project-specific dependencies. Configured Jenkins jobs to automate building Docker images, testing ROS nodes, and triggering builds upon new pull requests.

Skills: Proficient in setting up and configuring Jenkins for continuous integration and continuous deployment (CI/CD) workflows. Experienced in writing Dockerfiles and Docker Compose files for containerizing ROS-based robotic applications. Familiarity with ROS1 and ROS2 environments, including Gazebo simulation and ROS package development. Outcome: Established automated CI processes to ensure consistent and reliable builds for the TortoiseBot project across ROS1 and ROS2 platforms. Improved development efficiency by automating testing procedures and integrating them into the version control workflow. Facilitated collaboration among team members by enabling automated builds upon the acceptance of new pull requests.

Robot Used: TortoiseBot

rosbot

Ritwik Rohan

A Robotics Developer

Subscribe Now

SOCIAL

icons8-phone-100 (1).png

​+919953001443

  • LinkedIn
  • GitHub

© 2024 by Ritwik Rohan

bottom of page