
Learn to design and build a low-cost ros powered autonomous robot at home, with mechanical design, electronics, software configuration, and lidar-based mapping using the ros navigation stack.
Explore the theoretical aspects of autonomous navigation before building a robot. Gain a quick grasp of concepts to inform your robot project.
See how a sensor detects static and dynamic obstacles, feeds localization and the central planner, and how the map and velocity guide motor commands via the velocity splitter.
Explore how the ROS navigation stack combines localization, mapping, global and local planning, and obstacle avoidance with sensor data and recovery behaviors to enable autonomous robot navigation.
Access all required resources through the links mentioned to support your build of an autonomous navigation robot using ros in simulation and hardware.
Build a robot in simulation and hardware, design parts and robot model, visualize and simulate, control via keyboard, or joystick, create maps with slam, and perform autonomous navigation and delivery.
Learn how to build a robot in simulation, gaining an introduction to autonomous navigation concepts within a simulated environment.
Follow a four-step setup to configure the workspace, install packages and dependencies, combine components, and source the workspace via a batch rc file.
Build a robot model using the unified robot description format by defining links, joints, base footprint, mass, inertia, and axis for a three-link arm.
Design robot parts using a 3d modelling software, featuring Fusion 360, Blender, Tinker, Cat, and SolidWorks, with Tango Cat used and parts downloadable for 3d printing.
Add the designed parts to the URDF file by attaching 3D model files to the link visuals, enabling better visualization and ROS-based simulation of the robot.
Visualize the robot in RViz to view the robot model, laser scan map, obstacle maps, and navigation goals during Gazebo simulations, with ROS launch and parameter server data.
Simulate the robot in Gazebo to validate behavior in a virtual world, using lidar, camera sensors, and drive systems such as differential drive and skid steer.
Operate the virtual robot using keyboard inputs to publish direction and speed values, which Gazebo uses to simulate wheel movement.
Teleoperate the virtual robot using a joystick by typing the shown command in a terminal and using analogue joystick keys to control it; the steps mirror keyboard control.
Teleoperate the virtual robot with an Android device, connect the mobile app over the same wifi, and use an on-screen joystick to control velocity.
Discover slam, which lets a robot localize itself and map its world, with parallel mapping that marks obstacles as it moves, configurable via gene mapping yaml and teleoperation in gazebo.
Execute autonomous navigation in Gazebo by entering the terminal command, selecting a reachable goal location with the goal button, and observe the robot travel toward the blinking green star.
Build the real robot by setting up software, hardware, Arduino, and 3D printed parts. Tele-operate the robot via keyboard, joystick, or mobile; map with Flamm for autonomous navigation.
Flash a prebuilt image or install Ubuntu with ROS Melodic to initialize the robot software, then configure udev rules for device access and Arduino control of the LCD and buzzer.
Print robot parts in 3D with a budget printer using VLA ProPlus filament, or assemble parts in a box if no printer is available, while software converts models to layers.
Identify the electronic components used in the autonomous navigation robot and learn the purpose of each component as listed.
Wiring the autonomous navigation robot by connecting a single board computer to USB/HDMI devices, powering motors via a 12-step down circuit, and wiring the Arduino Mega according to the diagram.
View the complete 3d printed robot parts, note redesigned components, download all parts from the provided link, and start assembling the autonomous navigation robot.
Calculate motor gear ratio to convert velocity commands from radians per second to rpm, enabling motor speed control with Rhino DC Servo software and monitoring current position.
Develop a motor controller and ros interface to drive motors with a protocol. The system subscribes to speed commands and publishes encoder data, supporting set speed, acceleration, and turns.
Explore how a differential drive robot uses two wheels to split velocity from the local planner, generates odometry, and localizes position and orientation with encoder data.
Perform tele operation by typing the command to your chosen device, following the same procedure used in the simulation.
Master odometry correction for rotation in a ROS simulation, validating 360-degree tests with laser scan data; observe translation variation of obstacles around 10 to 15 degrees within a manageable limit.
Adjust translation and odometry correction by tuning the fixed frame and laser scan to 15, which moves the robot about one meter, with obstacle variation around 1–2 cm.
Explore the map building procedure, which mirrors the prior simulation, and follow the corresponding commands shown to see a robot-generated map.
Learn to enable autonomous navigation by following the command shown, leveraging ROS-based simulation and hardware integration.
Tune autonomous navigation by adjusting the navigation parameters and amplifier and location values in step two, using Killdeer Reconfigure tool started via step three command, and save settings after tuning.
Install and configure the robot upstart ROS package to automatically start robot operations on power-on, using a single launch file and service with git clone, catkin_make, and enable commands.
Control a robot using four preset locations—home, goal one, goal two, and goal three—and move to the last selected goal after a 10-second delay, then wait for a new goal.
Explore improvements such as a customized graphical interface to command the robot, imu-based localization, easy access to components, camera for object detection, vision-based navigation, outdoor use, telepresence, cleaning and mopping.
Explore how autonomous navigation enables robots to sort packages, transport materials, surveil buildings, and serve food and medicine. Learn to build a robot from scratch and create a delivery application.
There are many courses on ROS which provides good insights on theoretical aspects and building Robots in simulation. But, in this course, we will be discussing how to build a low cost ROS-powered autonomous robot at home from scratch. Step-by-step instructions will be given in detail on how to build the Autonomous Robot.
This course covers lessons on how to physically build a customized Robot including elements like Mechanical design, Electronic circuit assembly, software configuration, ROS navigation stack integration, Arduino integration, Software simulation, real-world navigation and a sample delivery application
By the end of this course, you will be able to achieve the following:
Design and build your customized physical robot with autonomous navigation capability
Create a map of your house using the lidar scanner of the robot
Command robot to go to any accessible location on the created map
Interact with the robot using a mobile app, joystick, keyboard, push-button, or remote computer
Monitor robot updates via LCD, mobile app, sound, and status LEDs
Automate delivery of small payload and return to home base
This course is for anyone interested in Robotics who wish to learn about autonomous navigation in robots and build a low-cost ROS Powered robot platform.
Everything you need to know about building this robot would be explained in this course. A basic understanding of python programming language, ROS basics, Arduino basics, and little bit of 3D printing knowledge would be handy.
Now let's start to build our Robot !