Muutke küpsiste eelistusi

E-raamat: Robot Operating System (ROS) for Absolute Beginners: Robotics Programming Made Easy

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 08-Feb-2022
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484277508
  • Formaat - EPUB+DRM
  • Hind: 61,74 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 08-Feb-2022
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484277508

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Start programming your own robots using Robot Operation System (ROS). Targeted for absolute beginners in ROS, Linux, and Python, this guide lets you build your own robotics projects. 

You'll learn the basic foundation of Ubuntu Linux. Begin with the fundamentals. Installation and useful commands will give you the basic tools you need while programming a robot. Then add useful software applications that can be used while making robots. Programming robots can be done using any of the programming languages. Most popular programming languages are Python and C++. You will incorporate the fundamentals of C++ by learning object oriented programing concepts from example and building  C++ projects.

Finally, tackle an ROS hands-on project to apply all the concepts of ROS you've learned. The aim of the project is to perform a dead-reckoning using a cheap mobile robot. You can command your robot's position on Rviz and your robot will move to that position! Not only will you learn to program, you'll gain hands-on experience working with hardware to create a real robot.


What You’ll Learn
  • Install Ubuntu 20
  • Install ROS Noetic
  • Use ROS Programming with roscpp and rospy 
  • Build a mobile robot from scratch using ROS

Who This Book Is For

Robotics enthusiast with little or no prior programming experience.
About the Authors xi
About the Technical Reviewer xiii
Chapter 1 Getting Started with Ubuntu Linux for Robotics
1(52)
Getting Started with GNU/Linux
1(1)
What Is Ubuntu?
2(1)
Why Ubuntu for Robotics?
3(1)
Installing Ubuntu
3(1)
Minimum PC Requirements
4(1)
Downloading Ubuntu
4(1)
Installing VirtualBox
5(1)
Creating a VirtualBox Machine
6(11)
Step 1 Adding a New Virtual Machine
6(1)
Step 2 Naming the Guest Operating System
7(1)
Step 3 Allocating RAM for the Guest OS
7(1)
Step 4 Creating a Virtual Hard Disk
8(2)
Step 5 Configuring the Type of Virtual Disk
10(2)
Step 6 Choosing Ubuntu DVD Image
12(4)
Step 7 Starting Virtual Machine
16(1)
Installing Ubuntu on VirtualBox
17(11)
Installing Ubuntu on a PC
28(2)
Playing with the Ubuntu Graphical User Interface
30(1)
The Ubuntu File System
31(2)
Useful Ubuntu Applications
33(1)
Getting Started with Shell Commands
34(2)
Terminal Commands Cheat Sheet
36(16)
Man: Manual Pages for Shell Commands
36(1)
Is: List Directory Content
36(1)
Cd: Change Directory
37(1)
Pwd: Current Terminal Path
37(1)
Mkdir: Create a Folder
38(1)
Rm: Delete a File
38(1)
Rmdir: Delete a Folder
39(1)
Mv: Move a File from One Place to Another
40(1)
Cp: Copy a File from One Path to Another
41(1)
Dmesg: Display a Kernel Message
41(1)
Ispci: List of PCI Devices in the System
42(1)
Isusb: List of USB Devices in the System
43(1)
Sudo: Run a Command in Administrative Mode
43(1)
Ps: List the Running Process
44(1)
Kill: Kill a Process
45(1)
Apt-get: Install a Package in Ubuntu
45(3)
Dpkg-i: Install a Package in Ubuntu
48(1)
Reboot: Reboot the System
49(1)
Poweroff: Switch Off the System
49(1)
Htop: Terminal Process View
50(1)
Nano: Text Editor in Terminal
51(1)
Summary
52(1)
Chapter 2 Fundamentals of C++ for Robotics Programming
53(40)
Getting Started with C++
54(1)
Timeline: The C++ Language
54(1)
C/C++ in Ubuntu Linux
54(1)
Introduction to GCC and G++ Compilers
55(2)
Installing C/C++ Compiler
55(1)
Verifying Installation
56(1)
Introduction to GNU Project Debugger (GDB)
57(2)
Installing GDB in Ubuntu Linux
57(1)
Verifying Installation
58(1)
Writing Your First Code
59(7)
Explaining Code
61(1)
Compiling Your Code
61(2)
Debugging Your Code
63(3)
Learning OOP Concepts from Examples
66(18)
The Differences Between Classes and Structs
67(3)
C++ Classes and Objects
70(2)
Class Access Modifier
72(1)
C++ Inheritance
73(5)
C++ Files and Streams
78(2)
Namespaces in C++
80(2)
C++ Exception Handling
82(2)
C++ Standard Template Libraries
84(1)
Building a C++ Project
84(1)
Creating a Linux Makefile
85(5)
Creating a CMake File
88(2)
Summary
90(3)
Chapter 3 Fundamentals of Python for Robotics Programming
93(32)
Getting Started with Python
94(1)
Timeline: The Python Language
94(1)
Python in Ubuntu Linux
95(2)
Introduction to Python Interpreter
95(1)
Setting Python 3 on Ubuntu 20.04 LTS
95(1)
Verifying Python Installation
96(1)
Writing Your First Code
97(2)
Running Python Code
99(1)
Understanding Python Basics
100(1)
What's New in Python?
101(19)
Static and Dynamic Typing
101(1)
Code Indentation
102(1)
Semicolons
102(1)
Python Variables
102(2)
Python Input and Conditional Statement
104(2)
Python: Loops
106(2)
Python: Functions
108(2)
Python: Handling Exception
110(1)
Python: Classes
111(3)
Python: Files
114(1)
Python: Modules
115(2)
Python: Handling Serial Ports
117(1)
Installing PySerial in Ubuntu 20.04
118(2)
Python: Scientific Computing and Visualization
120(3)
Python: Machine Learning and Deep Learning
121(1)
Python: Computer Vision
122(1)
Python: Robotics
122(1)
Python: IDEs
122(1)
Summary
123(2)
Chapter 4 Kick-Starting Robot Programming Using ROS
125(48)
What Is Robot Programming?
125(2)
Why Robot Programming Is Different
127(3)
Getting Started with ROS
130(7)
The ROS Equation
133(1)
Robot Programming Before and After ROS
133(1)
The History of ROS
134(3)
Before and After ROS
137(1)
Why Use ROS?
137(1)
Installing ROS
138(8)
Robots and Sensors Supporting ROS
146(3)
Popular ROS Computing Platforms
149(1)
ROS Architecture and Concepts
150(3)
The ROS File System
153(2)
ROS Computation Concepts
155(1)
The ROS Community
156(1)
ROS Command Tools
156(5)
ROS Demo: Hello World Example
161(7)
ROS Demo: turtlesim
163(3)
Moving the Turtle
166(2)
Moving the Turtle in a Square
168(1)
ROS GUI Tools: Rviz and Rqt
169(2)
Summary
171(2)
Chapter 5 Programming with ROS
173(68)
Programming Using ROS
173(1)
Creating a ROS Workspace and Package
174(4)
ROS Build System
178(2)
ROS Catkin Workspace
179(1)
Src Folder
179(1)
Build Folder
179(1)
Devel Folder
179(1)
Install Folder
180(1)
Creating a ROS Package
180(2)
Using ROS Client Libraries
182(1)
Roscpp and Rospy
183(1)
Header Files and ROS Modules
183(2)
Initializing a ROS Node
185(1)
Printing Messages in a ROS Node
186(1)
Creating a Node Handle
186(1)
Creating a ROS Message Definition
187(1)
Publishing a Topic in ROS Node
187(1)
Subscribing a Topic in ROS Node
188(1)
Writing the Callback Function in ROS Node
189(1)
The ROS Spin Function in ROS Node
190(1)
The ROS Sleep Function in ROS Node
190(1)
Setting and Getting a ROS Parameter
191(1)
The Hello World Example Using ROS
192(13)
Creating a hello_world Package
192(2)
Creating a ROS C++ Node
194(2)
Editing the CMakeLists.txt File
196(1)
Building C++ Nodes
197(1)
Executing C++ Nodes
198(3)
Creating Python Nodes
201(1)
Executing Python Nodes
202(1)
Creating Launch Files
203(2)
Visualizing a Computing Graph
205(1)
Programming turtlesim Using rospy
206(6)
Moving turtlesim
207(5)
Printing the Robot's Position
212(5)
Moving the Robot with Position Feedback
217(2)
Reset and Change the Background Color
219(5)
Programming TurtleBot Simulation Using rospy
224(1)
Installing TurtleBot 3 Packages
224(1)
Launching the TurtleBot Simulation
225(2)
Gazebo Simulation
226(1)
Moving a Fixed Distance Using a Python Node
227(2)
Finding Obstacles
229(1)
Programming Embedded Boards Using ROS
230(1)
Interfacing Arduino with ROS
230(7)
Installing ROS on a Raspberry Pi
237(2)
Burning an Ubuntu Mate Image to a Micro SD Card
239(1)
Booting to Ubuntu
239(1)
Installing ROS on a Raspberry Pi
240(1)
Summary
240(1)
Chapter 6 Robotics Project Using ROS
241(34)
Getting Started with Wheeled Robots
241(1)
Differential Drive Robot Kinematics
242(4)
Building Robot Hardware
246(1)
Buying Robot Components
247(8)
Robot Chassis
247(1)
Additional Motors and Wheels
248(1)
Motor Driver
248(1)
Optical Encoder
249(2)
Microcontroller Board
251(1)
Bluetooth Breakout
251(1)
Sharp IR Range Sensor
252(1)
Block Diagram of the Robot
253(2)
Assembling Robot Hardware
255(1)
Creating a 3D ROS Model Using URDF
255(6)
Working with Robot Firmware
261(3)
Programming Robot Using ROS
264(4)
The Teleop Node
268(1)
The Twist Message to Motor Velocity Node
269(1)
The Diff to TF Node
269(1)
The Dead-Reckoning Node
270(1)
Final Run
271(3)
Summary
274(1)
Index 275
Lentin Joseph is an author, roboticist and robotics entrepreneur from India. He runs a robotics software company called Qbotics Labs in Kochi/Kerala. He has 10 years of experience in the robotics domain primarily in Robot Operating System, OpenCV, and PCL.     He has authored 8 books in ROS, namely, Learning Robotics using Python first and second edition, Mastering ROS for Robotics Programming first and second edition, ROS Robotics Projects first and second edition, ROS Learning Path and Robot Operating System for Absolute Beginners.     He has his Masters in Robotics and Automation from India and has also worked at Robotics Institute, CMU, USA. He is a TEDx speaker.      Aleena Johny is a robotics software engineer currently working at Qbotics Labs from India. She completed her M. Tech and B. Tech from Rajagiri School of Engineering and Technology (RSET), Kerala. After her post-graduation, she worked as an Asst. Professor in computer science for 1 year. After that, she started working in Qbotics Labs.  She has experience with robotics software platforms such as Robot Operating System (ROS), Open-CV, and Gazebo. She has published a research paper in International Journal and National Conferences.