Карточка | Таблица | RUSMARC | |
Japon, Bernardo Ronquillo. Hands-on ROSs for robotics programming: a practical guide to programming highly autonomous robots with ROS / Bernardo Ronquillo Japon. — 1 online resource — <URL:http://elib.fa.ru/ebsco/2381024.pdf>.Дата создания записи: 14.02.2020 Тематика: Robots — Programming. Коллекции: EBSCO Разрешенные действия: –
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа: Анонимные пользователи Сеть: Интернет |
Права на использование объекта хранения
Место доступа | Группа пользователей | Действие | ||||
---|---|---|---|---|---|---|
Локальная сеть Финуниверситета | Все | |||||
Интернет | Читатели | |||||
Интернет | Анонимные пользователи |
Оглавление
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Table of Contents
- Preface
- Section 1: Physical Robot Assembly and Testing
- Chapter 1: Assembling the Robot
- Understanding the GoPiGo3 robot
- The robotics perspective
- The programming perspective
- Robot kit and resources
- Getting familiar with the embedded hardware
- The GoPiGo3 board
- Raspberry Pi 3B+
- Why does a robot need a CPU?
- Deep diving into the electromechanics
- The most useful sensors
- Distance sensor
- Line follower
- IMU sensor
- Pi Camera
- The most useful sensors
- Putting it all together
- Quick hardware test
- Resources
- Getting started with DexterOS
- Coding with Bloxter
- Calibrating the robot
- Driving the robot
- Checking the sensors
- Shutting down the robot
- Summary
- Questions
- Further reading
- Understanding the GoPiGo3 robot
- Chapter 2: Unit Testing of GoPiGo3
- Technical requirements
- Getting started with Python and JupyterLab
- Launching JupyterLab for GoPiGo3
- Hardware testing
- Testing battery, LEDs, and motors/encoders
- Battery level
- Hardware information and current voltage levels
- LEDs and blinkers
- Motors and encoders test
- Testing battery, LEDs, and motors/encoders
- Unit testing of sensors and drives
- Quick start with sensors and motors
- Driving around
- Distance sensor
- Check port connections
- Distance sensor unit test
- GoPiGo3 API library
- DI sensors API library
- Servo package
- Servo package unit test
- Line follower
- Line follower unit test
- Inertial Measurement Unit (IMU)
- IMU unit test
- Raspberry Pi
- Pi unit test
- GoPiGo3 projects
- Summary
- Questions
- Further reading
- Chapter 3: Getting Started with ROS
- Technical requirements
- ROS basic concepts
- The ROS graph
- roscore
- Workspaces and catkin
- Configuring your ROS development environment
- Installing ROS
- Ubuntu and ROS in the Raspberry Pi
- Integrated Development Environment (IDE)
- Installing RoboWare Studio
- Installing ROS
- Communication between ROS nodes – messages and topics
- Creating a workspace
- Creating a workspace and building it using RoboWare
- Setting up the ROS package
- Accessing package files and building the workspace using RoboWare
- A node publishing a topic
- A node that listens to the topic
- Combining the publisher and subscriber in the same node
- Creating a workspace
- Using publicly available packages for ROS
- Summary
- Questions
- Further reading
- Section 2: Robot Simulation with Gazebo
- Chapter 4: Creating the Virtual Two-Wheeled ROS Robot
- Technical requirements
- Getting started with RViz for robot visualization
- Building a differential drive robot with URDF
- Overview of URDF for GoPiGo3
- URDF robot body
- Caster
- The URDF model's left and right wheels
- Inspecting the GoPiGo3 model in ROS with RViz
- Understanding the roslaunch command
- Using Roboware to execute a launch file
- Controlling the GoPiGo3 robot's wheels from RViz
- Using the joint_state_publisher package
- Understanding the roslaunch command
- Robot frames of reference in the URDF model
- Using RViz to check the model while building
- Changing the aspect of the model in the RViz window
- Helpful ROS tools for checking purposes
- Summary
- Questions
- Further reading
- Chapter 5: Simulating Robot Behavior with Gazebo
- Technical requirements
- Getting started with the Gazebo simulator
- Making modifications to the robot URDF
- Extending URDF to produce an SDF robot definition
- Collisions and physical properties
- Gazebo tags
- Verifying a Gazebo model and viewing the URDF
- Launching the GoPiGo model in Gazebo
- Explaining configurable launch files using the
tag
- Explaining configurable launch files using the
- Launching the GoPiGo model in Gazebo
- Moving your model around
- Guidelines for tuning the Gazebo model
- Summary
- Questions
- Further reading
- Section 3: Autonomous Navigation Using SLAM
- Chapter 6: Programming in ROS - Commands and Tools
- Technical requirements
- Setting up a physical robot
- Downloading and setting up Ubuntu Mate 18.04
- Access customization
- Updating your system and installing basic utilities
- Enabling SSH access
- Setting up a VNC server (x11vnc)
- Setting up autostart on boot
- Forcing the HDMI output and screen layout
- The Geany IDE
- Installing drivers for the GoPiGo3 and DI Sensors
- Setting up the Pi Camera
- Installing ROS Melodic
- Installing a Pi Camera ROS package
- A quick introduction to ROS programming
- Setting up the workspace
- Cloning a ROS package
- Our first execution of a ROS node
- Case study 1 – writing a ROS distance-sensor package
- Creating a new package
- Producing your source code
- Including the required libraries – rospy and msgs.msg
- Assigning a node name to the script
- Defining the publisher
- Setting up the msg_range object
- Changing units to the International System of Units
- Adding a measured distance and timestamp to the msg_range object
- Setting the reading frequency
- Running an infinite loop
- Publishing each new event
- Waiting until the next reading
- Launching the ROS execution environment
- Working with ROS commands
- Shell commands
- Changing the current location
- Listing files and folders inside a package
- Editing any file inside a package
- Execution commands
- The central process of the ROS environment
- Executing a single node
- Information commands
- Exploring topics
- Exploring nodes
- The rosmsg command
- The rosbag command
- Packages and the catkin workspace
- Shell commands
- Creating and running publisher and subscriber nodes
- Automating the execution of nodes using roslaunch
- Case study 2 – ROS GUI development tools – the Pi Camera
- Analyzing the ROS graph using rqt_graph
- Displaying image data using rqt_image_view
- Graphing time series of sensor data with rqt_plot
- Playing a recorded ROS session with rqt_bag
- Distance sensor
- The Pi Camera
- Customizing robot features using ROS parameters
- Summary
- Questions
- Further reading
- Chapter 7: Robot Control and Simulation
- Technical requirements
- Setting up the GoPiGo3 development environment
- ROS networking between the robot and the remote computer
- Communication between ROS environments
- Robot network configuration
- Laptop network configuration
- Launching the master node and connecting
- Communication between ROS environments
- ROS networking between the robot and the remote computer
- Case study 3 – remote control using the keyboard
- Running the gopigo3 node in the robot
- Inspecting published topics and messages
- Teleoperation package
- Running teleoperation on a laptop
- Teleoperation with the mouse
- Running the gopigo3 node in the robot
- Remote control using ROS topics
- The motion control topic – /cmd_vel
- Using /cmd_vel to directly drive GoPiGo3
- Checking the X, Y, and Z axes of GoPiGo3
- Composing motions
- Remotely controlling both physical and virtual robots
- Reverting the ROS master to the local computer
- Simulating GoPiGo3 with Gazebo
- Adding the controller to the Gazebo model of the robot
- Real-world and simulation at once
- Summary
- Questions
- Further reading
- Chapter 8: Virtual SLAM and Navigation Using Gazebo
- Technical requirements
- ROS navigation packages
- ROS master running on the local computer
- Dynamic simulation using Gazebo
- Adding sensors to the GoPiGo3 model
- Camera model
- Simulating the camera
- Distance sensor
- Simulating the distance sensor
- Camera model
- Adding sensors to the GoPiGo3 model
- Components in navigation
- Costmaps for safe navigation
- Robot perception and SLAM
- Adding a Laser Distance Sensor (LDS)
- Simulating the LDS
- SLAM concepts
- Occupancy Grid Map (OGM)
- The SLAM process
- The navigation process
- Adding a Laser Distance Sensor (LDS)
- Practising SLAM and navigation with the GoPiGo3
- Exploring the environment to build a map using SLAM
- Driving along a planned trajectory using navigation
- Summary
- Questions
- Further reading
- Technical requirements
- Chapter 9: SLAM for Robot Navigation
- Technical requirements
- Setting the ROS master to be in the robot
- Preparing an LDS for your robot
- Setting up YDLIDAR
- Integrating with the remote PC
- Running the YDLIDAR ROS package
- Integrating with Raspberry Pi
- Checking that YDLIDAR works with GoPiGo3
- Visualizing scan data in the Raspberry Pi desktop
- Grouping launch files
- Visualizing scan data from the remote laptop
- Processing YDLIDAR data from a remote laptop
- Setting up YDLIDAR
- Creating a navigation application in ROS
- Practicing navigation with GoPiGo3
- Building a map of the environment
- Navigating GoPiGo3 in the real world
- Summary
- Questions
- Further reading
- Technical requirements
- Section 4: Adaptive Robot Behavior Using Machine Learning
- Chapter 10: Applying Machine Learning in Robotics
- Technical requirements
- Setting up the system for TensorFlow
- Installing pip
- Installing the latest version
- Installing TensorFlow and other dependencies
- Achieving better performance using the GPU
- Installing pip
- ML comes to robotics
- Core concepts in ML
- Selecting features in ML
- The ML pipeline
- Core concepts in ML
- From ML to deep learning
- ML algorithms
- Regression
- Logistic regression
- Product recommendation
- Clustering
- Deep learning
- Deep learning and neural networks
- The input layer
- The hidden layer(s)
- The output layer
- ML algorithms
- A methodology to programmatically apply ML in robotics
- A general approach to application programming
- Integrating an ML task
- Deep learning applied to robotics – computer vision
- Object recognition in Gazebo
- Object recognition in the real world
- Summary
- Questions
- Further reading
- Chapter 11: Machine Learning with OpenAI Gym
- Technical requirements
- An introduction to OpenAI Gym
- Installing OpenAI Gym
- Without Anaconda (optional)
- Installing gym in development mode (optional)
- Installing OpenAI ROS
- Agents, artificial intelligence, and machine learning
- The cart pole example
- Environments
- Spaces
- Observations
- Running the full cart pole example
- Q-learning explained – the self-driving cab example
- How to run the code for the self-driving cab
- Reward table
- Action space
- State space
- Self-driving cab example using the RL algorithm
- Evaluating the agent
- Hyperparameters and optimization
- Installing OpenAI Gym
- Running an environment
- Configuring the environment file
- Running the simulation and plotting the results
- Checking your progress with the logger
- Summary
- Questions
- Further reading
- Chapter 12: Achieve a Goal through Reinforcement Learning
- Technical requirements
- Preparing the environment with TensorFlow, Keras, and Anaconda
- TensorFlow backend
- Deep learning with Keras
- ROS dependency packages
- Understanding the ROS Machine Learning packages
- Training scenarios
- ROS package structure for running a reinforcement learning task
- Setting the training task parameters
- Training GoPiGo3 to reach a target location while avoiding obstacles
- How to run the simulations
- Scenario 1 – travel to a target location
- Scenario 2 – travel to a target location avoiding the obstacles
- Testing the trained model
- Summary
- Questions
- Further reading
- Assessment
- Chapter 1: Assembling the Robot
- Chapter 2: Unit Testing of GoPiGo3
- Chapter 3: Getting Started with ROS
- Chapter 4: Creating the Virtual Two-Wheeled ROS Robot
- Chapter 5: Simulating Robot Behavior with Gazebo
- Chapter 6: Programming in ROS - Commands and Tools
- Chapter 7: Robot Control and Simulation
- Chapter 8: Virtual SLAM and Navigation Using Gazebo
- Chapter 9: SLAM for Robot Navigation
- Chapter 10: Applying Machine Learning in Robotics
- Chapter 11: Machine Learning with OpenAI Gym
- Chapter 12: Achieve a Goal through Reinforcement Learning
- Other Books You May Enjoy
- Index
Статистика использования
Количество обращений: 0
За последние 30 дней: 0 Подробная статистика |