Description
Book SynopsisChapter 1: Introduction to Robotics Part I.- Chapter 2: Introduction to Robotics Part II.- Chapter 3: Setting Up Workstation for Simulation.- Chapter 4: ROS Framework.- Chapter 5: Robot Simulation & Visualization.- Chapter 6: Arduino and ROS.- Chapter 7: Simulating Bumblebot: A Simple Two-Wheeled Robot.- Chapter 8: Building Bumblebot in Hardware.- Chapter 9: Additional Sensors and Sensor Fusion in Bumblebot.- Chapter 10: Bonus Materials: Web Interface and Autonomous Docking Using Bumblebot.
Table of ContentsChapter 1: Introduction to Robotics
· Basic Mathematics for Robotics
· Basic Electronics
· Basic 3D Modelling and 3D Printing
· Basic Linux
· Basic Programming
· Basic Robotics Algorithms
· Robot Navigation Basics
o Odometry
o Transforms
o Sensor Data
o Map
o SLAM
o Localization
o Path planners
▪ Global
▪ Local
o Drive Systems
▪ Differential Drive
▪ Skid Steer
▪ Ackermann
▪ Holonomic etc.
o Actuator Control
Chapter 2: Setting Up Your Computer
· Installing Linux
· Installing ROS
· Installing IDE
Chapter 3: ROS Framework
· Why ROS
· ROS Architecture
· ROS Installation
· ROS File System
· Creating a workspace and building it
· Publisher/Subscriber
· Services
· Actions
· Implementing publishers/subscribers, services, and actions using python
· Basic ROS commands
· Coordinate Transformation (TF)
· ROS Debugging Tools
· ROS Navigation Stack
Chapter 4: Robot Simulation
· Rviz and Gazebo
· Turtlesim – A cute virtual turtle
o Simulating turtle in Turtlesim
o Controlling turtle in Turtlesim
· Turtlebot – Autonomous Mobile Robot o Simulating Turtlebot in Gazebo
o Visualizing Turtlebot in Rviz
o Controlling Turtlebot
· PR2 – Autonomous Mobile Manipulator Robot
o Simulating PR2 in Gazebo o Visualizing PR2 in Rviz
o Controlling PR2
Chapter 5: Arduino and ROS
· What is Arduino
· Basic Arduino Programming
· Examples
· Interfacing Arduino with ROS
Chapter 6: Building Bumblebot: A Simple 2-Wheeled Robot
· Part I – Simulation
o Building robot model
o Design robot parts using a 3D modeling software
o Add the designed parts to URDF file
o Visualize the robot in Rviz
o Load the robot into a virtual world in Gazebo simulator o Teleoperate the virtual robot using keyboard
o Teleoperate the virtual robot using joystick
o Teleoperate the virtual robot using android device
· Part II – Hardware
o 3D Print the robot parts o Electronic components o Wiring
o Assembling
o Configuring Single Board Computer for autonomous navigation o Configuring Arduino to control peripherals
o Interfacing Arduino with ROS
o Interfacing Lidar with ROS
o Interfacing Motors with ROS
o Interfacing Encoders with ROS
o Interfacing other electronic devices (LEDs, LCD, Buzzer, Switch, etc) with ROS o Motor gear ratio calculation
o Write your own motor controller and ROS interface
o Differential driver and Odometry
o Tele operation using ROS
o Odometry correction – rotation and translation
Chapter 7: Enabling Bumblebot to Perform Mapping and Autonomous Navigation
· Part I – Simulation
o Map building
o Autonomous navigation
· Part II – Hardware
o Map building
o Autonomous navigation
· Part III – Navigation Tuning
Chapter 8: Additional Sensors and Sensor Fusion in Bumblebot
· Part I – Adding lidar based odometry
· Part II – Adding IMU based odometry
o IMU Calibration
o Interfacing with ROS
· Part III - Sensor fusion for robustness and accuracy
Chapter 9: Autonomous Delivery Using Bumblebot
· Building delivery applications using Python
· Defining user interaction
· Defining status behaviors
Chapter 10: Bonus Materials: Web Interface and Autonomous Docking Using Bumblebot
· Web interface
o Building basic web page for robot control using html and javascript
o Commanding robot using various controls in the web page
o Monitor status of the robot in the web page
· Autonomous Docking
o Camera Calibration
o Camera Interfacing with ROS
o Autodocking
Audience: Beginner