あなたのロボットライフを応援します!
言語:  English  Japanese  



Learning ROS robot programming with Raspberry Pi

¥4,950.-(税込)

数量:
Raspberry Piで学ぶ ROSロボット入門の英語版が出ました!2018年5月出版です。


内容紹介

本書は、Raspberry Piを搭載した車輪型ロボットを題材に、Linuxで動くロボットのプログラミングについて扱ったものです。千葉工業大学の上田先生渾身の一冊です。
業界標準となったロボット用ミドルウエア「ROS」(ロス)を中心に、その技術全体を、実際にロボット「Raspberry Pi Mouse」(アールティ製)を動かしながら経験できるようにしました。

ROSのセットアップと活用はもちろん、「技術の総合格闘家」であるロボットの開発者、研究者が押さえておきたい技術や知識を網羅しています。
具体的には、デバイスドライバの書き方、Linuxシステムの扱い方、Webサーバーとの連携、GitHubの使い方、ライセンスの選択、基本的なテスト方法などを取り上げました。

さらに、USBカメラを使った顔認識、音声認識ソフトを使った音声制御、スマートフォンなどのWebブラウザーから操作できるWebアプリの作成、測域センサーを使った地図の生成に取り組みます。

ROSを実機で動かすための知識とワザを凝縮した書籍です。

英語版目次 Contents



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


●目次

写真で見る「ROSロボット入門」(上田隆一著、日経BP社)

≪第1部 準備編≫
第1章 はじめに
第2章 セットアップ
第3章 端末を使った基本操作
第4章 GitやGitHubを用いたソフトウェアの管理

≪第2部 ROS基礎編≫
第5章 ROSツアー
第6章 ROSパッケージの
第7章 トピック、メッセージの実装とテスト
第8章 サービス、アクションの実装とテスト
第9章 ROSでロボットを走らせる

≪第3部 ROS応用編≫
第10章 USBカメラとOpenCVで人の顔を追う
第11章 音声認識ソフトでロボットを操作
第12章 ウェブアプリを作ってスマホから操作
第13章 測域センサで地図を作成
第14章 おわりに

付録 デバイスドライバのプログラミングなど

  • ISBN978-4-8222-5681-4 


【関連商品】
 

Raspberry Pi Mouse V2 フルキット(Ubuntu+ROS版)