Hola Bot

Holonomic Drive Robot: A Versatile Path-Planning Machine !assets/Pasted image 20241201191055.png Overview The Holonomic Drive Robot is an innovative, three-wheeled robot designed for precision path planning and image-based drawing. It combines advanced robotics algorithms, custom hardware, and creative problem-solving to deliver exceptional performance in a variety of tasks, from geometric pattern generation to drawing intricate images like logos. Key Highlights 1. Motion Planning and Control Implemented a novel path-planning approach to optimize motor velocity and trajectory precision. Designed custom algorithms to address trajectory distortion caused by motor speed limitations. 2. Hardware and Software Integration Successfully integrated ESP32, eYFI Mega, stepper motors, and LiPo batteries into a cohesive system. Overcame challenges such as faulty motor drivers and optimized power delivery for reliability. 3. Image Processing and Simulation Extracted contours from images and translated them into robot motion commands. Utilized ROS and Gazebo for testing and refining the system in a simulated environment. 4. Real-Time Problem Solving Debugged critical hardware issues, such as malfunctioning motor drivers and damaged LiPo cells. Enhanced communication latency between the laptop and ESP32 from 1 second to 200ms by identifying and resolving protocol bottlenecks. 5. Creative Outputs Enabled the robot to draw patterns such as Lissajous figures (infinity loops) and complex logos. Developed a custom ink mixture to ensure visibility and erasability for pattern drawing. Technologies Used Hardware: ESP32, eYFI Mega, LiPo batteries, and stepper motors. Software: ROS for robot control, Gazebo for simulation, and Python, C for software logic. Tools & Libraries: OpenCV for image processing, AccelStepper for motor control, and custom ROS packages for integration. Development Timeline January - February 2023: Prototyping and Hardware Development Designed and built the physical robot body, integrating motor drivers, sensors, and controllers. Calibrated the camera with over 100 samples for precise localization. Debugged and optimized motor driver configurations, achieving simultaneous operation of all wheels. Developed non-blocking motor control using the AccelStepper library. March 2023: Software Refinement and Final Tests Created a contour extraction function for converting images into path points for drawing. Integrated a servo-based pen mechanism for on/off control during drawing operations. Conducted intensive testing, fixing indexing bugs, and optimizing scripts for various patterns, including the Snapchat logo and infinity shapes. Demonstrated successful path-following in a simulation environment using Gazebo. !assets/hola-collage 1.jpg Challenges Overcome Latency in Data Transmission: Resolved slow communication by identifying a missing newline character in transmitted data, reducing latency from 1 second to 200ms. Battery and Power Issues: Diagnosed and replaced faulty LiPo battery cells, ensuring uninterrupted operation. Hardware Failures: Addressed motor driver failures and loose connections with creative soldering solutions and robust wiring techniques. Achievements Successfully implemented conditional path-following to optimize motor velocity during complex path execution. Demonstrated precise image drawing with minimal distortion using camera-calibrated localization. Created a detailed documentation repository and shared project outcomes through YouTube videos, showcasing the robot’s capabilities. Media Video Demonstrations: Watch Demo Video Conclusion The Holonomic Drive Robot is a testament to innovative thinking, technical expertise, and perseverance. It serves as a versatile platform for robotics experimentation, offering potential applications in art, industrial automation, and beyond. ...

March 30, 2023 · 3 min

Vitarana Drone

Duration: Oct 2020 – Feb 2021 Team Members: Rishav Singh, Kashyap Joshi Technology: Python, ROS, Drone/Quadcopter, Gazebo, Git, Linux Overview Vitarana Drone was part of the e-Yantra Robotics Competition 2020-21, an international robotics outreach program hosted by IIT Bombay. Competing against 2,603 teams from 572 colleges, we designed an autonomous drone-based delivery system to execute precise object handling and delivery tasks in a simulated environment. Project Journey Beginning Entered the competition in our 2nd year of B.Tech. Started with 4 members but 2 left in between, we try to bring em on board but it was unavoidable. So work increased on 2 people. But still managed to divide the task in smaller, easily doable parts and divided according to the skills Focused on breaking tasks into manageable parts and acquiring new skills on the go. Key Milestones Task 1: Position and Altitude Control Developed and tuned PID controllers for roll, pitch, yaw, and throttle. Achieved precise setpoint control after extensive testing and parameter tuning. Took around 5 days to study and impliment the algorithm but tuning the PID required 10 days straight. Task 2: Obstacle Avoidance Considering we were given 4 sensors on 4 sides with 25 meters range each, we searched and studied about many path planning algorithms. Implemented a 2D custom Bug Algorithm for object avoidance using sensor inputs. Designed ROS actions for barcode scanning and delivery location determination. Task 3: Advanced Pathfinding Enhanced pathfinding for 3D environments to navigate complex obstacles by changing height(throttle). Used image processing for accurate marker detection and landing precision. Task 4: Delivery Optimization Developed a mechanism for retrieving delivery boxes from a warehouse grid and delivering them to specified locations. Improved marker scanning by adjusting drone altitude to enhance accuracy during detection. Enhanced the obstacle avoidance algorithm for more reliable navigation. Despite being one day late for the deadline, implemented major improvements within a single day, incurring a 25% penalty while ensuring task completion. Task 5: Time-Limited Arena Challenge Tasked with delivering and picking up as many boxes as possible within an 8-minute timeframe, with scoring based on delivery distance. Prioritized delivering boxes to distant locations to maximize points, balancing quality and speed (race against time). We had 2 choices either to deliver near boxes first to increase number of boxes or to deliver furthest boxes first to maximize distance points. We selected the later one because our algo was taking more time to detect and land on marker. Overcame many difficulties like sometimes the markers were so near to each roof that drone scanned wrong marker sometimes. So we had to resolve the issue by taking the nearest path to the provided approx location of marker. Introduced a velocity controller to increase drone speed in obstacle-free zones, enhancing overall efficiency. Task 6: Final Round Challenge Faced a more complex delivery and pickup task with tighter constraints and only two days for completion. Focused on improving code robustness and refining interconnections between controllers to prevent errors and crashes. Documented the code extensively on the final night of submission, working under high pressure with short power naps to maintain productivity. Me and my partner waking up each other after taking 10 min power naps. Main difference between our solution and top 6 solution was that we focused more on stability over speed. Although we missed the finals, the task highlighted the importance of stability and meticulous planning in achieving high performance. Conclusion Participating in this competition provided invaluable lessons in technical problem-solving, team collaboration, and time management. Despite the challenges of a reduced team and tight deadlines, we demonstrated resilience and adaptability, balancing stability with performance optimization. While we narrowly missed the finals, the experience significantly enhanced our expertise in control systems, path planning, and autonomous systems, preparing us for future complex engineering challenges. ...

October 1, 2020 · 4 min