Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Learn Robotics Programming

You're reading from  Learn Robotics Programming

Product type Book
Published in Nov 2018
Publisher Packt
ISBN-13 9781789340747
Pages 472 pages
Edition 1st Edition
Languages
Concepts
Author (1):
Danny Staple Danny Staple
Profile icon Danny Staple
Toc

Table of Contents (21) Chapters close

Preface 1. Introduction to Robotics 2. Exploring Robot Building Blocks - Code and Electronics 3. Introducing the Raspberry Pi - Starting with Raspbian 4. Preparing a Raspberry Pi for a Robot - Headless by Default 5. Backing Up the Code with Git and SD Card Copies 6. Building Robot Basics - Wheels, Power, and Wiring 7. Drive and Turn - Moving Motors with Python 8. Programming Line-Following Sensors Using Python 9. Programming RGB Strips in Python 10. Using Python to Control Servo Motors 11. Programming Distance Sensors with Python 12. Programming Encoders with Python 13. Robot Vision - Using a Pi Camera and OpenCV 14. Voice Communication with a Robot Using Mycroft 15. Programming a Gamepad on Raspberry Pi with Python 16. Taking Your Robot Programming Skills Further 17. Planning Your Next Robot Project - Putting It All Together 18. Assessments 19. Other Books You May Enjoy Appendix

Advanced and impressive robots

Now you have an overview of robots in general, I'll introduce some specific examples that represent the most impressive robots around, and what they are capable of. These robots are technical demonstrations, and with the exception of the Mars robots, have favored their closeness to human or animal adaptability and form over their practical and repeated use.

Robots that look like humans and animals

Take a look at the following picture and understand the similarities between robots and humans/animals:


A selection of human and animal-like robots. Cog: an Mit Project, Honda ASIMO By Morio, Nao From Softbank Robotic, Boston Dynamics Atlas, Boston Dynamics BigDog (https://commons.wikimedia.org/)

What these robots have in common is that they try to emulate humans and animals in the following ways:

  • The first robot on the left is Cog, from the Massachusetts Institute of Technology. Cog attempted to be human-like in its movements and sensors.
  • The second robot is the Honda ASIMO, which walks and talks a little like a human. ASIMO's two cameras perform object avoidance, and gestures and face recognition, and have a laser distance sensor to sense the floor. It can follow marks on the floor with infrared sensors. ASIMO is able to accept voice commands in English and Japanese.
  • The third robot in this selection is the Nao robot from Softbank Robotics. This rather cute, 58 cm tall robot was designed as a learning and play robot for users to program. It has sensors to detect its motion, including if it is falling, and ultrasonic distance sensors to avoid bumps. Nao uses speakers and a microphone for voice processing. Nao includes multiple cameras to perform similar feats to the ASIMO.
  • The fourth robot is Atlas from Boston Dynamics. This robot is speedy on two legs and is capable of natural looking movement. It has a laser radar (LIDAR) array, which it uses to sense what is around it to plan and avoid collisions.
  • The right-most robot is the Boston Dynamics BigDog, a four legged robot, or quadruped, which is able to run and is one of the most stable four legged robots, capable of being pushed, shoved, and walking in icy conditions while remaining stable.

We will incorporate some features like these in the robot we will build, using distance sensors to avoid obstacles, a camera for visual processing, line sensors to follow marks on the floor, and voice processing to follow and respond to spoken commands. We will use ultrasonic distance sensors like Nao, and experiment with distance sensors a little like Asimo. We will also look at pan and tilt mechanisms for camera a little like the head used in Cog.

The Mars rovers

The Mars rover robots are designed to function on a different planet, where there is no chance of human intervention if something goes wrong. They are robust by design. New code can only be sent to a Mars rover via a remote connection as it is not practical to send up a person with a screen and keyboard. The Mars rover is headless by design. Refer to the following photo:

The Curiosity Mars rover by NASA

Mars rovers depend on wheels instead of legs, since this is far simpler to make a robot stable, and there is far less that can go wrong. Each wheel on the Mars rovers has it's own motor. They are arranged to provide maximum grip and stability to tackle the rocky terrain and reduced gravity on Mars.

The Curiosity rover was deposited on Mars with its sensitive camera folded up. After landing, the camera was unfolded and positioned with servo motors. The camera package can be positioned using a pan and tilt mechanism so it can take in as much of the Mars landscape as it can, sending back footage and pictures to NASA for analysis.

Like the Mars robot, the robot we will build in this book will use motor-driven wheels. Our robot will also be designed to run without a keyboard and mouse, being headless by design. As we expand the capabilities of our robot in this book, we will also use servo motors to drive a pan and tilt mechanism.

You have been reading a chapter from
Learn Robotics Programming
Published in: Nov 2018 Publisher: Packt ISBN-13: 9781789340747
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at AU $19.99/month. Cancel anytime