Hands-On Robotics Programming with C++

Hands-On Robotics Programming with C++
Author: Dinesh Tavasalkar
Publisher: Packt Publishing Ltd
Total Pages: 300
Release: 2019-03-30
Genre: Computers
ISBN: 1789131073

Enhance your programming skills to build exciting robotic projects Key FeaturesBuild an intelligent robot that can detect and avoid obstacles and respond to voice commandsDetect and track objects and faces using OpenCVControl your robot with a GUI button designed using Qt5Book Description C++ is one of the most popular legacy programming languages for robotics, and a combination of C++ and robotics hardware is used in many leading industries. This book will bridge the gap between Raspberry Pi and C/C++ programming and enable you to develop applications for Raspberry Pi. To follow along with the projects covered in the book, you can implement C programs in Raspberry Pi with the wiringPi library. With this book, you’ll develop a fully functional car robot and write programs to move it in different directions. You’ll then create an obstacle - avoiding robot using an ultrasonic sensor. Furthermore, you’ll find out how to control the robot wirelessly using your PC/Mac. This book will also help you work with object detection and tracking using OpenCV, and guide you through exploring face detection techniques. Finally, you will create an Android app and control the robot wirelessly with an Android smartphone. By the end of this book, you will have gained experience in developing a robot using Raspberry Pi and C/C++ programming. What you will learnInstall software in Raspberry Pi compatible with C++ programmingProgram the Raspberry Pi in C++ to run a motorControl RPi-powered robot wirelessly with your laptop or PCProgram an RPi camera using OpenCV Control a Raspberry Pi robot with voice commandsImplement face and object detection with Raspberry PiWho this book is for This book is for developers, programmers, and robotics enthusiasts interested in leveraging C++ to build exciting robotics applications. Prior knowledge of C++ is necessary to understand the projects covered in this book.

Hands-On ROS for Robotics Programming

Hands-On ROS for Robotics Programming
Author: Bernardo Ronquillo Japón
Publisher: Packt Publishing Ltd
Total Pages: 414
Release: 2020-02-26
Genre: Computers
ISBN: 183855288X

Take your ROS skills to the next level by implementing complex robot structures in a ROS simulation Key FeaturesLearn fundamental ROS concepts and apply them to solve navigation tasksWork with single board computers to program smart behavior in mobile robotsUnderstand how specific characteristics of the physical environment influence your robot’s performanceBook Description Connecting a physical robot to a robot simulation using the Robot Operating System (ROS) infrastructure is one of the most common challenges faced by ROS engineers. With this book, you'll learn how to simulate a robot in a virtual environment and achieve desired behavior in equivalent real-world scenarios. This book starts with an introduction to GoPiGo3 and the sensors and actuators with which it is equipped. You'll then work with GoPiGo3's digital twin by creating a 3D model from scratch and running a simulation in ROS using Gazebo. Next, the book will show you how to use GoPiGo3 to build and run an autonomous mobile robot that is aware of its surroundings. Finally, you'll find out how a robot can learn tasks that have not been programmed in the code but are acquired by observing its environment. You'll even cover topics such as deep learning and reinforcement learning. By the end of this robot programming book, you'll be well-versed with the basics of building specific-purpose applications in robotics and developing highly intelligent autonomous robots from scratch. What you will learnGet to grips with developing environment-aware robotsGain insights into how your robots will react in physical environmentsBreak down a desired behavior into a chain of robot actionsRelate data from sensors with context to produce adaptive responsesApply reinforcement learning to allow your robot to learn by trial and errorImplement deep learning to enable your robot to recognize its surroundingsWho this book is for If you are an engineer looking to build AI-powered robots using the ROS framework, this book is for you. Robotics enthusiasts and hobbyists who want to develop their own ROS robotics projects will also find this book useful. Knowledge of Python and/or C++ programming and familiarity with single board computers such as Raspberry Pi is necessary to get the most out of this book.

Robot Programming

Robot Programming
Author: Cameron Hughes
Publisher: Que Publishing
Total Pages: 735
Release: 2016-05-02
Genre: Computers
ISBN: 0134176693

Start programming robots NOW! Learn hands-on, through easy examples, visuals, and code This is a unique introduction to programming robots to execute tasks autonomously. Drawing on years of experience in artificial intelligence and robot programming, Cameron and Tracey Hughes introduce the reader to basic concepts of programming robots to execute tasks without the use of remote controls. Robot Programming: A Guide to Controlling Autonomous Robots takes the reader on an adventure through the eyes of Midamba, a lad who has been stranded on a desert island and must find a way to program robots to help him escape. In this guide, you are presented with practical approaches and techniques to program robot sensors, motors, and translate your ideas into tasks a robot can execute autonomously. These techniques can be used on today’s leading robot microcontrollers (ARM9 and ARM7) and robot platforms (including the wildly popular low-cost Arduino platforms, LEGO® Mindstorms EV3, NXT, and Wowee RS Media Robot) for your hardware/Maker/DIY projects. Along the way the reader will learn how to: Program robot sensors and motors Program a robot arm to perform a task Describe the robot’s tasks and environments in a way that a robot can process using robot S.T.O.R.I.E.S. Develop a R.S.V.P. (Robot Scenario Visual Planning) used for designing the robot’s tasks in an environment Program a robot to deal with the “unexpected” using robot S.P.A.C.E.S. Program robots safely using S.A.R.A.A. (Safe Autonomous Robot Application Architecture) Approach Program robots using Arduino C/C++ and Java languages Use robot programming techniques with LEGO® Mindstorms EV3, Arduino, and other ARM7 and ARM9-based robots.

Learn Robotics Programming

Learn Robotics Programming
Author: Danny Staple
Publisher: Packt Publishing Ltd
Total Pages: 462
Release: 2018-11-29
Genre: Computers
ISBN: 1789345936

Gain experience of building a next-generation collaboration robot Key FeaturesGet up and running with the fundamentals of robotic programmingProgram a robot using Python and the Raspberry Pi 3Learn to build a smart robot with interactive and AI-enabled behaviorsBook Description We live in an age where the most difficult human tasks are now automated. Smart and intelligent robots, which will perform different tasks precisely and efficiently, are the requirement of the hour. A combination of Raspberry Pi and Python works perfectly when making these kinds of robots. Learn Robotics Programming starts by introducing you to the basic structure of a robot, along with how to plan, build, and program it. As you make your way through the book, you will gradually progress to adding different outputs and sensors, learning new building skills, and writing code for interesting behaviors with sensors. You’ll also be able to update your robot, and set up web, phone, and Wi-Fi connectivity in order to control it. By the end of the book, you will have built a clever robot that can perform basic artificial intelligence (AI) operations. What you will learnConfigure a Raspberry Pi for use in a robotInterface motors and sensors with a Raspberry PiImplement code to make interesting and intelligent robot behaviorsUnderstand the first steps in AI behavior such as speech recognition visual processingControl AI robots using Wi-FiPlan the budget for requirements of robots while choosing partsWho this book is for Learn Robotics Programming is for programmers, developers, and enthusiasts interested in robotics and developing a fully functional robot. No major experience required just some programming knowledge would be sufficient.

Practical Robotics in C++

Practical Robotics in C++
Author: Lloyd Brombach
Publisher: BPB Publications
Total Pages: 501
Release: 2021-01-29
Genre: Technology & Engineering
ISBN: 9389423465

Learn how to build and program real autonomous robots KEY FEATURES _ÊSimplified coverage on fundamentals of building a robot platform. _ÊLearn to program Raspberry Pi for interacting with hardware. _ÊCutting-edge coverage on autonomous motion, mapping, and path planning algorithms for advanced robotics. Ê DESCRIPTION Practical Robotics in C++ teaches the complete spectrum of Robotics, right from the setting up a computer for a robot controller to putting power to the wheel motors. The book brings you the workshop knowledge of the electronics, hardware, and software for building a mobile robot platform.Ê You will learn how to use sensors to detect obstacles, how to train your robot to build itself a map and plan an obstacle-avoiding path, and how to structure your code for modularity and interchangeability with other robot projects. Throughout the book, you can experience the demonstrations ofÊcomplete coding of robotics with the use of simple and clear C++ programming. In addition, you will explore how to leverage the Raspberry Pi GPIO hardware interface pins and existing libraries to make an incredibly capable machine on the most affordable computer platform ever. Ê WHAT YOU WILL LEARN Ê _ÊWrite code for the motor drive controller. _ÊBuild a Map from Lidar Data. _ÊWrite and implement your own autonomous path-planning algorithm. _ÊWrite code to send path waypoints to the motor drive controller autonomously. _ÊGet to know more about robot mapping and navigation.Ê WHO THIS BOOK IS FOR This book is most suitable for C++ programmers who have keen interest in robotics and hardware programming. All you need is just a good understanding of C++ programming to get the most out of this book. Ê TABLE OF CONTENTS 1. Choose and Set Up a Robot Computer 2. GPIO Hardware Interface Pins Overview and Use 3. The Robot Platform 4. Types of Robot Motors and Motor Control 5. Communication with Sensors and other Devices 6. Additional Helpful Hardware 7. Adding the Computer to Control your Robot 8. Robot Control Strategy 9. Coordinating the Parts 10. Maps for Robot Navigation 11. Robot Tracking and Localization 12. Autonomous Motion 13. Autonomous Path Planning 14. Wheel Encoders for Odometry 15. Ultrasonic Range Detectors 16. IMUs: Accelerometers, Gyroscopes, and Magnetometers 17. GPS and External Beacon Systems 18. LIDAR Devices and Data 19. Real Vision with Cameras 20. Sensor Fusion 21. Building and Programming an Autonomous Robot

Hands-On System Programming with C++

Hands-On System Programming with C++
Author: Dr. Rian Quinn
Publisher: Packt Publishing Ltd
Total Pages: 541
Release: 2018-12-26
Genre: Computers
ISBN: 1789131774

A hands-on guide to making system programming with C++ easy Key FeaturesWrite system-level code leveraging C++17Learn the internals of the Linux Application Binary Interface (ABI) and apply it to system programmingExplore C++ concurrency to take advantage of server-level constructsBook Description C++ is a general-purpose programming language with a bias toward system programming as it provides ready access to hardware-level resources, efficient compilation, and a versatile approach to higher-level abstractions. This book will help you understand the benefits of system programming with C++17. You will gain a firm understanding of various C, C++, and POSIX standards, as well as their respective system types for both C++ and POSIX. After a brief refresher on C++, Resource Acquisition Is Initialization (RAII), and the new C++ Guideline Support Library (GSL), you will learn to program Linux and Unix systems along with process management. As you progress through the chapters, you will become acquainted with C++'s support for IO. You will then study various memory management methods, including a chapter on allocators and how they benefit system programming. You will also explore how to program file input and output and learn about POSIX sockets. This book will help you get to grips with safely setting up a UDP and TCP server/client. Finally, you will be guided through Unix time interfaces, multithreading, and error handling with C++ exceptions. By the end of this book, you will be comfortable with using C++ to program high-quality systems. What you will learnUnderstand the benefits of using C++ for system programmingProgram Linux/Unix systems using C++Discover the advantages of Resource Acquisition Is Initialization (RAII)Program both console and file input and outputUncover the POSIX socket APIs and understand how to program themExplore advanced system programming topics, such as C++ allocatorsUse POSIX and C++ threads to program concurrent systemsGrasp how C++ can be used to create performant system applicationsWho this book is for If you are a fresh developer with intermediate knowledge of C++ but little or no knowledge of Unix and Linux system programming, this book will help you learn system programming with C++ in a practical way.

Robot Operating System (ROS) for Absolute Beginners

Robot Operating System (ROS) for Absolute Beginners
Author: Lentin Joseph
Publisher: Apress
Total Pages: 294
Release: 2018-05-24
Genre: Computers
ISBN: 1484234057

Learn how to get started with robotics programming using Robot Operation System (ROS). Targeted for absolute beginners in ROS, Linux, and Python, this short guide shows you how to build your own robotics projects. ROS is an open-source and flexible framework for writing robotics software. With a hands-on approach and sample projects, Robot Operating System for Absolute Beginners will enable you to begin your first robot project. You will learn the basic concepts of working with ROS and begin coding with ROS APIs in both C++ and Python. What You’ll Learn Install ROS Review fundamental ROS concepts Work with frequently used commands in ROS Build a mobile robot from scratch using ROS Who This Book Is For Absolute beginners with little to no programming experience looking to learn robotics programming.

Modern Robotics

Modern Robotics
Author: Kevin M. Lynch
Publisher: Cambridge University Press
Total Pages: 545
Release: 2017-05-25
Genre: Computers
ISBN: 1107156300

A modern and unified treatment of the mechanics, planning, and control of robots, suitable for a first course in robotics.

Programming Robots with ROS

Programming Robots with ROS
Author: Morgan Quigley
Publisher: "O'Reilly Media, Inc."
Total Pages: 447
Release: 2015-11-16
Genre: Computers
ISBN: 1449325513

Chapter 3. Topics; Publishing to a Topic; Checking That Everything Works as Expected; Subscribing to a Topic; Checking That Everything Works as Expected; Latched Topics; Defining Your Own Message Types; Defining a New Message; Using Your New Message; When Should You Make a New Message Type?; Mixing Publishers and Subscribers; Summary; Chapter 4. Services; Defining a Service; Implementing a Service; Checking That Everything Works as Expected; Other Ways of Returning Values from a Service; Using a Service; Checking That Everything Works as Expected; Other Ways to Call Services; Summary.

Robot Programming by Demonstration

Robot Programming by Demonstration
Author: Sylvain Calinon
Publisher: EPFL Press
Total Pages: 248
Release: 2009-08-24
Genre: Computers
ISBN: 9781439808672

Recent advances in RbD have identified a number of key issues for ensuring a generic approach to the transfer of skills across various agents and contexts. This book focuses on the two generic questions of what to imitate and how to imitate and proposes active teaching methods.