Image credit: https://www.artstation.com/artwork/cosa-nostra-pizza-delivery-vehicle
- Set up Raspberry Pis with ROS
- Create catkin workspace
- Clone repository
- Configure which packages to use
- Download dependencies
- Compilation
- Test Setup in Simulation
If installing on a Raspberry Pi, see README-PI.md for instructions on installing Rasbian and compiling ROS from source.
If you aren't cloning to an existing catkin workspace, you should create one for this project now:
mkdir -p ~/deliverator_ws/src
cd ~/deliverator_ws/src
catkin_init_workspace
cd ..
catkin_make
Before continuing source your new setup.*sh file (and add to .bashrc
):
source ~/deliverator_ws/devel/setup.bash
Clone the deliverator repository into your catkin workspace.
cd ~/deliverator_ws/src
git clone https://github.com/juztamau5/deliverator.git
Lightweight nodes (such as the RPi Zero) can disable packages to avoid heavy dependencies (such as Gazebo).
Packages can be whitelisted or blacklisted. Whitelisting can be accomplished using git sparse checkout:
cd deliverator
git config core.sparsecheckout true
echo gazebo_ros_core/ > .git/info/sparse-checkout
git checkout
Packages can also be blacklisted by adding a CATKIN_IGNORE
file to their folder:
touch deliverator_gazebo/CATKIN_IGNORE
Dependencies are installed using rosdep
.
rosdep install --from-path . --ignore-src -y
If rosdep
can't locate a package for the system, it will fail and report the package name. If a package is missing for your system, match the error message below and follow the commands.
git clone https://github.com/ros-drivers/gscam.git
git clone https://github.com/ros-perception/image_common.git
git clone https://github.com/ros-drivers/ackermann_msgs.git
git clone https://github.com/ros-drivers/joystick_drivers.git
git clone -b kinetic-devel https://github.com/ros-simulation/gazebo_ros_pkgs.git
cd gazebo_ros_pkgs
git config core.sparsecheckout true
echo gazebo_ros_control/ > .git/info/sparse-checkout
git checkout
cd ..
git clone -b kinetic-devel https://github.com/tu-darmstadt-ros-pkg/hector_gazebo.git
cd hector_gazebo
git config core.sparsecheckout true
echo hector_gazebo_plugins/ > .git/info/sparse-checkout
git checkout
cd ..
sudo apt-get install libnl-3-dev libnl-genl-3-dev
git clone --recursive https://github.com/juztamau5/libp8_platform.git
sudo apt-get install libcap-dev
To compile run catkin_make
from the catkin workspace folder.
cd ~/deliverator_ws
catkin_make
To test that your setup process was successful, run the simulator with the following command:
roslaunch deliverator_gazebo ackermann_vehicle.launch