In this chapter, we will combine some of the techniques introduced in previous chapters to program a robot to move items around in a stockroom. This type of task is common in many industries where goods are stored with controlled access, from the relatively small “cage” rooms in retail stores where high-value items are stored, to the chemical and medical supply rooms in hospitals, and all the way up through the massive, highly controlled warehouses used to fulfill ecommerce orders and handle the supply chains of large manufacturing corporations. Despite the varied applications, many tasks in these stockrooms are quite similar: items are precisely organized in a restricted-access area, and they need to be gathered in response to incoming requests.
As we have emphasized throughout this book, it is all but impossible to write robust, complex robot software without a simulation environment. Accordingly, we will spend the first portion of this chapter creating a simulated stockroom. As always, the time spent creating a good simulation model pays huge dividends in robot software development!
Let’s get started by creating a workspace called
ws for our
user@hostname$ mkdir -p ~/ws/src/stockroom_bot user@hostname$ cd ~/ws/src/stockroom_bot
Next, we’ll create a minimal package.xml file in this directory, shown in Example 14-1, that will allow the ROS package management system to find the files we’ll create during this ...