A concise Introduction to Robot Programming with ROS 2, Second Edition

The second edition of my book ๐˜ผ ๐˜พ๐™ค๐™ฃ๐™˜๐™ž๐™จ๐™š ๐™„๐™ฃ๐™ฉ๐™ง๐™ค๐™™๐™ช๐™˜๐™ฉ๐™ž๐™ค๐™ฃ ๐™ฉ๐™ค ๐™๐™ค๐™—๐™ค๐™ฉ ๐™‹๐™ง๐™ค๐™œ๐™ง๐™–๐™ข๐™ข๐™ž๐™ฃ๐™œ ๐™ฌ๐™ž๐™ฉ๐™ ๐™๐™Š๐™Ž ๐Ÿฎ will be released ๐—ป๐—ฒ๐˜…๐˜ ๐—๐˜‚๐—น๐˜† ๐Ÿฐ๐˜๐—ต. The first edition was highly appreciated by readers and became the foundation for the training of thousands who purchased it. I hope this new edition will live up to expectations.

It was written during the summer of 2024, targeting ROS 2 Jazzy, although updates for Rolling and Kilted are already being incorporated into the repository [1].

In addition to several corrections contributed by the ROS community (to whom I am sincerely grateful), this second edition removes the code appendices. Instead, readers are referred to the online repository [2], and I have included ๐˜๐˜„๐—ผ ๐—ฒ๐—ป๐˜๐—ถ๐—ฟ๐—ฒ๐—น๐˜† ๐—ป๐—ฒ๐˜„ ๐—ฐ๐—ต๐—ฎ๐—ฝ๐˜๐—ฒ๐—ฟ๐˜€:

  • ๐——๐—ฒ๐—ฒ๐—ฝ ๐—ฅ๐—ข๐—ฆ ๐Ÿฎ: This chapter provides an in-depth explanation of ROS 2โ€™s execution model, including details about executors and callback groups. It also features an extensive section on developing real-time applications.
  • ๐—–๐—ผ๐—ป๐˜๐—ฟ๐—ถ๐—ฏ๐˜‚๐˜๐—ถ๐—ป๐—ด ๐˜๐—ผ ๐—ฅ๐—ข๐—ฆ ๐Ÿฎ ๐—ฆ๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ: This chapter outlines key aspects of contributing to existing projects (including a Git introduction and cheat sheet), as well as technical guidelines and best practices for managing your own project (such as GitHub Actions). It also includes a discussion on open-source software licenses, with insights provided by renowned open-source experts Gregorio Robles and Jesus Gonzalez-Barahona.

The book also features a wonderful foreword by @esteve.

[1] Rolling updates by fmrico ยท Pull Request #42 ยท fmrico/book_ros2 ยท GitHub
[2] GitHub - fmrico/book_ros2

You can already ๐—ผ๐—ฟ๐—ฑ๐—ฒ๐—ฟ ๐—ถ๐˜ at:

I hope you like it!! :nerd_face:

(Please, if you consider that this is not the correct category for this post, move it or let me know where to put it.)

14 Likes