Book Image

Practical Arduino Robotics

By : Lukas Kaul
Book Image

Practical Arduino Robotics

By: Lukas Kaul

Overview of this book

Every robot needs a “brain,” and the Arduino platform provides an incredibly accessible way to bring your Arduino robot to life. Anyone can easily learn to build and program their own robots with Arduino for hobby and commercial uses, making Arduino-based robots the popular choice for school projects, college courses, and the rapid prototyping of industrial applications! Practical Arduino Robotics is a comprehensive guide that equips you with the necessary skills and techniques that can be applied to various projects and applications, from automating repetitive tasks in a laboratory to building engaging mobile robots. Building on basic knowledge of programming and electronics, this book teaches you how to choose the right components, such as Arduino boards, sensors, and motors, and write effective code for your robotics project, including the use of advanced third-party Arduino libraries and interfaces, such as Analog, SPI, I2C, PWM, and UART. You'll also learn different ways to command your robots wirelessly, such as over Wi-Fi. Finally, with basic to advanced project examples, this book illustrates how to build exciting autonomous robots like a self-balancing telepresence robot. By the end of this book, you'll be able to design and create your own custom robots for a wide variety of applications.
Table of Contents (21 chapters)
1
Part 1: Selecting the Right Components for Your Robots
6
Part 2: Writing Effective and Reliable Robot Programs for Arduino
10
Part 3: Building the Hardware, Electronics, and UI of Your Robot
15
Part 4: Advanced Example Projects to Put Your Robotic Skills into Action

Controlling the robot

With all that we have discussed so far, we have the inputs and outputs of the control system in place. The inputs are as follows:

  • The sensed PWM pulse widths from the RC receiver
  • The motor encoder velocities estimated with the moving average
  • The pitch rate sensed by IMU’s gyroscope
  • The pitch angle, estimated from the IMU’s gyroscope, and the accelerometers by the complementary filter

The outputs of the control system are the motor PWM values for the left and right motor drivers. The goal of the control system is to drive the motors such that the robot 1) automatically balances upright and 2) follows the joystick commands, driving forward and backward, steering left and right, and turning in place. We can, therefore, naturally split the discussion of the control system into two parts: the balance control and the remote control. We can formulate both parts of the control system as individual controllers that both generate...