作者简介 阿尼尔·马哈塔尼 is a computer scientist who has dedicated an important part of his career to underwater robotics. He first started working in the field with his master thesis, where he developed a software architecture for a low-cost ROV. During the development of his thesis, he also became the team leader and lead developer of AVORA, a team of university students that designed and developed an autonomous underwater vehicle for the Students Autonomous Underwater Challenge - Europe (SAUC-E) in 2012. That same year, Anil Mahtani completed his thesis and his MSc in Computer Science at the University of Las Palmas de Gran Canaria and then became a Software Engineer at SeeByte Ltd, a world leader in smart software solutions for underwater systems. In 2015, he joined Dell Secureworks as a Software Engineer,where he applies his knowledge and skills toward developing intrusion detection and prevention systems. During his time at SeeByte Ltd, Anil Mahtani played a key role in the development of several semi-autonomous and autonomous underwater systems for the military and oil and gas industries. In those projects, he was heavily involved in the development of autonomy systems, the design of distributed software architectures,and low-level software development and also contributed in providing Computer Vision solutions for front-looking sonar imagery. At SeeByte Ltd, he also achieved the position of project manager, managing a team of engineers developing and maintaining the internal core C++ libraries.
目录 Preface Chapter 1: Getting Started with ROS PC installation Installing ROS Kinetic using repositories Configuring your Ubuntu repositories Setting up your source.list file Setting up your keys Installing ROS Initializing rosdep Setting up the environment Getting rosinstall How to install VirtualBox and Ubuntu Downloading VirtualBox Creating the virtual machine Using ROS from a Docker image Installing Docker Getting and using ROS Docker images and containers Installing ROS in BeagleBone Black Prerequisites Setting up the local machine and source.list file Setting up your keys Installing the ROS packages Initializing rosdep for ROS Setting up the environment in the BeagleBone Black Getting rosinstall for BeagleBone Black Basic ROS example on the BeagleBone Black Summary Chapter 2: ROS Architecture and Concepts Understanding the ROS Filesystem level The workspace Packages Metapackages Messages Services Understanding the ROS Computation Graph level Nodes and nodelets Topics Services Messages Bags The ROS master Parameter Server Understanding the ROS Community level Tutorials to practise with ROS Navigating through the ROS filesystem Creating our own workspace Creating an ROS package and metapackage Building an ROS package Playing with ROS nodes Learning how to interact with topics Learning how to use services Using Parameter Server Creating nodes Building the node Creating msg and srv files Using the new srv and msg files The launch file Dynamic parameters Summary Chapter 3: Visualization and Debugging Tools Debugging ROS nodes Using the GDB debugger with ROS nodes Attaching a node to GDB while launching ROS Profiling a node with valgrind while launching ROS Enabling core dumps for ROS nodes Logging messages Outputting logging messages Setting the debug message level Configuring the debugging level of a particular node Giving names to messages Conditional and filtered messages Showing messages once, throttling, and other combinations Using rqt_console and rqt_loggerlevel to modify the logging level on the fly Inspecting the system Inspecting the nodes graph online with rqt_graph Setting dynamic parameters Dealing with the unexpected Visualizing nodes diagnostics Plotting scalar data Creating a time series plot with rqt plot Image visualization Visualizing a single image 3D visualization Visualizing data in a 3D world using rqt_rviz The relationship between topics and frames Visualizing frame transformations Saving and playing back data What is a bag file? Recording data in a bag file with rosbag Playing back a bag file Inspecting all the topics and messages in a bag file Using the rqtgui and rqt plugins Summary Chapter 4: 3D Modeling and Simulation Chapter 5: The Navigation Stack - Robot Setups Chapter 6: The Navigation Stack - Beyond Setups Chapter 7: Manipulation with Movelt! Chapter 8: Using Sensors and Actuators with ROS Chapter 9: Computer Vision Chapter 10: Point Clouds Index
以下为对购买帮助不大的评价