We can export items by EMS. Feel free to order.
Languages:  English  Japanese  



Learning ROS robot programming with Raspberry Pi (English edition)

¥4,950.-RT_TAX_INCLUDED


This book is printed in English.
This book introduces ROS (robot operating system) with an actual robot that has a Raspberry Pi as its computer. To understand ROS and actual robot systems, we need to know various surrounding technologies. Therefore, this book covers Linux, web programming, Git/GitHub, software licenses, and software testing. Though they are mainly handled in books on software engineering, these topicsare integrated with robot programming in this book.


Buy Now with Robot!(Japan Domestic model is available now. Intl. version will be released in Dec. 2018. Pls wait for it.)
Robots


Contents


Illustrated introduction of Learning ROS robot programming with Raspberry Pi

Preface
Part 1 Preparation
Chapter 1 Introduction

1.1 Purpose of this book
1.2 Chapters in this book and their purposes
1.3 Information for reading this book
1.4 Precautions
1.5 Summary

Chapter 2 Setting up

2.1 Installation and setting up of Ubuntu Linux
2.1.1 Selection of distribution
2.1.2 Preparation of PC to work with and understanding terminals and shells
2.1.3 Writing OS image
2.1.4 Starting up Ubuntu on Raspberry Pi
2.1.5 SSH Connection
2.1.6 Rewriting a configuration file
2.2 Setting up GitHub
2.2.1 Creating a GitHub account
2.2.2 Setting up keys
2.3 ROS Installation
2.4 Mounting Raspberry Pi on Raspberry Pi Mouse
2.4.1 Setting up Wi-Fi
2.4.2 Mounting Raspberry Pi on the robot
2.5 Summary

Chapter 3 Basic operation using a terminal

3.1 Device operation via Sysfs
3.1.1 Raspberry Pi's GPIO
3.1.2 Lighting an LED
3.1.3 Reading tactile switches
3.2 Using device driver
3.2.1 Setting up the device driver
3.2.2 Installation of the device driver after reboot
3.2.3 Operation of each device
3.3 Installation of the device driver on boot
3.3.1 Shell script to set up the device driver
3.3.2 Setting cron for running the shell script at boot
3.3.3 Outputting the log
3.3.4 Checking the system log
3.3.5 Completion of the shell script
3.4 Summary

Chapter 4 Software management using Git and GitHub

4.1 Initial setting of Git
4.2 Putting the directory under Git control
4.2.1 Committing
4.2.2 Restoring commit
4.3 Pushing repository on GitHub
4.3.1 Making a repository on GitHub
4.3.2 Software license
4.3.3 Synchronizing local and remote
4.4 Branch operation
4.4.1 Branching
4.4.2 Pushing branch to remote
4.4.3 Merging branches
4.4.4 Conflict
4.5 Summary
Part 2 ROS Basics

Chapter 5 ROS Tour

5.1 Setting up a workspace
5.2 Starting a tour: downloading and setting up a package
5.3 Going inside the package
5.4 Master and nodes
5.5 Topic, message, publisher, and subscriber
5.6 Types of topic and message
5.6.1 Standard types
5.6.2 User-defined types
5.7 Service
5.7.1 Using a service
5.7.2 Definition of a service
5.8 Action
5.9 Roslaunch and launch file
5.9.1 Launch file
5.9.2 Change of name
5.10 Parameter
5.11 Summary

Chapter 6 Release and test of ROS package

6.1 Creating a package
6.2 Editing package information
6.3 Uploading a package to GitHub
6.4 Creating a ROS node
6.5 Writing tests
6.5.1 Description of a test node
6.5.2 Executing a test using a launch file
6.5.3 Judging test results using exit status
6.5.4 Merging branches
6.6 Testing on Travis CI
6.6.1 Setting up ROS on Travis CI
6.6.2 catkin_make on Travis CI
6.6.3 Executing the test
6.6.4 Pasting a status image in the GitHub repository
6.7 Summary

Chapter 7 Implementing topics and their tests

7.1 Creating a subscriber
7.2 Implementing a publisher for I/O test
7.3 Defining a type
7.3.1 Creating a class of a type
7.3.2 Generating a module
7.3.3 Writing a publisher using the type
7.4 Reading parameters
7.5 Testing sensor nodes
7.6 Controlling motors
7.6.1 Specifications of the subscriber to implement
7.6.2 Preparation for creating a type
7.6.3 Implementation of subscribers
7.6.4 Writing tests
7.7 Summary

Chapter 8 Implementing services and actions, and their tests

8.1 Implementation of services using std_srvs
8.1.1 Setting
8.1.2 Writing a code
8.1.3 Test script for motor_on/motor_off
8.2 Implementation of service with user defined type
8.2.1 Definition and setting of type for service
8.2.2 Implementation in the motor node
8.2.3 Creation of tests for TimedMotion
8.3 Implementation of action server
8.3.1 Definition and setting of types
8.3.2 Launching the action server
8.3.3 Implementing procedures
8.3.4 Testing the action
8.4 Summary

Chapter 9 Robot programming on ROS

9.1 Preparation of packages and its test settings
9.2 Collaboration of sensors and motors via ROS
9.2.1 Writing a test first
9.2.2 Implementation of the motion
9.3 Acceleration of the robot
9.4 Making the robot go straight along a wall
9.5 Making the robot go along the walls
9.6 Summary
Part 3 ROS Application

Chapter 10 Face tracking using a USB camera and OpenCV

10.1 Preparation for using camera and OpenCV with ROS
10.2 Implementation of control using image processing
10.2.1 Capturing images into the node and converting it to OpenCV format
10.2.2 Using face detection function
10.2.3 Monitoring the result of real-time image processing
10.2.4 Making the robot turn to the face
10.3 Test using rosbag
10.3.1 Recording and playing video streams using rosbag
10.3.2 Infusing the video into the control node
10.3.3 Creating a test using bag files
10.4 Summary

Chapter 11 Voice recognition using a microphone and Julius

11.1 Setting up a microphone
11.2 Setting up Julius
11.3 Creating a dictonary file
11.4 Creating a node
11.4.1 Creating a package and Julius execution node
11.4.2 Receiving voice recognition results by socket communication
11.4.3 Extracting a recognition result
11.4.4 Controlling the robot
11.5 Summary

Chapter 12 Web-based controller using a web browser and rosbridge

12.1 Preparation
12.1.1 Creating a package
12.1.2 Preparation of software to be used
12.1.3 Debugging tool
12.2 Creating and launching a web server node
12.2.1 Wrapper node of web server
12.2.2 Launch file
12.3 Creating a real-time monitor of range sensor values
12.3.1 Creating an HTML file
12.3.2 Implementation of communication
12.3.3 Laying out
12.4 Displaying streaming video
12.5 Implementing a motor controller
12.5.1 Preparation of HTML
12.5.2 Calling services
12.5.3 Transmitting velocities
12.6 Summary

Chapter 13 Map building with LiDAR and SLAM algorithm

13.1 Setting up
13.2 Checking messages on RViz
13.2.1 Configuration of communication between Raspberry Pi and PC
13.2.2 Displaying scan data
13.3 Creating a map building package
13.3.1 Preparation of package
13.3.2 Publishing dead reckoning information
13.3.3 Checking messages
13.3.4 Gmapping configuration using launch files
13.3.5 Creating and saving a map
13.4 Shifting computation load from Raspberry Pi to PC
13.5 Summary

Chapter 14 Afterword

APPENDIX
Appendix A Device driver programming
Appendix B Conversion between motor frequencies and velocities
Appendix C Commands and tools
Appendix D Python tips
Appendix E Simulator "raspimouse_sim"
Bibliography
Index

Add to Cart:

  • Model: ISBN978-4-8222-5681-4
  • Shipping Weight: 0.3lbs
  • Manufactured by: 日経BP社 / Nikkei BP

This product was added to our catalog on Thursday 31 May, 2018.