Errata

Programming Robots with ROS

Errata for Programming Robots with ROS

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected

5. Actions: Defining an Action

Updating package.xml file with lines
<build_depend>actionlib_msgs</build_depend>
and (maybe ?)
<run_depend>actionlib_msgs</run_depend>

Note from the Author or Editor:
Fixed in reprint.

Ivan  Feb 19, 2016 
Printed
Page 34
5th paragraph

The paragraph refers to the "basics directory", which was not created yet. The examples in Chapter 3 are intended to be in a directory/package called basics , but the text does not describe the required terminal command to create this package.

Assuming (as in Chapter 2) your workspace is ~/catkin_ws, the following commands would create a basics package in that workspace that depends on rospy:

user@hostname$ cd ~/catkin_ws/src
user@hostname$ catkin_create_pkg basics rospy

The examples and discussion in Chapter 3 should then work as expected, in the ~/catkin_ws/src/basics directory.

The other way to make the examples work in this chapter, besides typing them in manually, is to clone this entire repository; then you will have the basics directory (with all the examples) that you can symlink into your workspace. For example, assuming there is an existing workspace in ~/catkin_ws

user@hostname$ git clone https://github.com/osrf/rosbook ~/rosbook
user@hostname$ ln -s ~/rosbook/code/basics ~/catkin_ws/src
user@hostname$ cd ~/catkin_ws
user@hostname$ catkin_make

(that last step will ensure there is a valid setup file for this workspace created in ~/catkin_ws/devel/setup.bash)

Then you can source the setup file of that workspace:

user@hostname$ . ~/catkin_ws/devel/setup.bash

and the examples should work.

Note from the Author or Editor:
Fixed in reprint

Morgan Quigley
 
Jan 25, 2016 
Printed
Page 64
1st paragraph

It's written that "with all this information in place, running catkin_make in the top level..." with explaining just the CMakeLists.txt modifications without necessary package.xml modifications as follows (not sure if all is necessary or not!):

<build_depend>actionlib</build_depend>
<build_depend>actionlib_msgs</build_depend>
<run_depend>actionlib</run_depend>
<run_depend>actionlib_msgs</run_depend>

This produces catkin_make error...

Note from the Author or Editor:
Fixed in reprint.

Tuncay Aksungurlu  May 02, 2016 
Printed
Page 64
end of the page

I can confirm that as found by Tuncay Aksungurlu, without modifying Package.xml to include build_dep and run_dep (actionlib and actionlib_msgs)
catkin_make produces an "build dep" error.

you have to add in Package.xml the following lines:
------------------------------------------------------------
<build_depend>actionlib</build_depend>
<run_depend>actionlib</run_depend>

<build_depend>actionlib_msgs</build_depend>
<run_depend>actionlib_msgs</run_depend>
------------------------------------------------------------

Note from the Author or Editor:
Fixed in reprint.

Luca Di Taranto  Nov 23, 2016 
Printed, PDF
Page 68
below "Implementing a More Sophisticated Action Server"

Random number "508.450" at the beginning of paragraph.

Note from the Author or Editor:
Fixed in reprint.

Anonymous  Jan 06, 2016 
PDF
Page 68
pub = rospy.Publisher('map', nav_msgs/OccupancyGrid, latched=True)

keyword argument `latched` should be `latch`

Note from the Author or Editor:
In the printed version, this mistake appears in Chapter 3 on page 39 and under the hood resides in 3-topics.asciidoc.

Anonymous  Jul 15, 2016 
Printed
Page 99
Under "Creating a Package"

cd ~wanderbot_ws/src

is missing /

cd ~/wanderbot_ws

Also next page the letter "W" is wrong

"W must include these ..."

Note from the Author or Editor:
Thank you for finding and correcting these errors.

Anonymous  Jan 15, 2016 
Printed
Page 101
3 row

the line in the code:

if light_change_time > raspy.Time.now():

should read instead:

if light_change_time < raspy.Time.now():

The comparison operator is wrong. With the current code the note does not change from one state to another.

Note from the Author or Editor:
Thank you for submitting this erratum. As you pointed out, this comparison is incorrect. The error is now corrected in the github repository of the example code: http://github.com/osrf/rosbook

Anonymous  Jan 17, 2016 
Printed
Page 204
Example 12-4, third line

The Twist message needs to be imported. Immediately after the Image import line, the following line needs to be added:

from geometry_msgs.msg import Twist

This line has been added to the github repository for the book: https://github.com/osrf/rosbook

Morgan Quigley
 
Jan 28, 2016 
Printed, PDF
Page 343
Middle of the page

unedited sentence "We just need to bring up rviz in a? with a? suitable configuration to
send those goals." (i.e. decide on either "in a" or "with a").

Note from the Author or Editor:
Thank you for pointing out this error. The sentence should read, "We just need to bring up rviz in a suitable configuration to send these goals."

Anonymous  Jan 06, 2016 
Printed, PDF
Page 382
below "/rosout Versus /rosout_agg"

Random number "2107.140" at the beginning of paragraph.

Note from the Author or Editor:
Fixed in reprint.

Anonymous  Jan 06, 2016 
Printed, PDF
Page 385
Command prompt below "Problem: Mismatched Topic Names"

text describes misspelling but command line is actually correctly spelled ("rostopic pub /chatter std_msgs/String -r 1 "Hello world 2" \
__name:=talker2" but should be "rostopic pub /chattter std_msgs/String -r 1 "Hello world 2" \
__name:=talker2" to match Fig. 21-5 [i.e. chattter with 3xt instead of chatter with 2xt]).

Note from the Author or Editor:
Thank you for pointing out this error.

Fixed in reprint.

Anonymous  Jan 06, 2016 
PDF
Page 415
first line

The filename is incorrect in this phrase "create a new file, config/controller.yaml". It should be "create a new file, config/controllers.yaml" with an 's' in 'controllers'. The Example 18-18 is expecting "config/controllers.yaml".

Note from the Author or Editor:
Fixed in reprint.

Daniel Snider  Feb 02, 2017