Skip to content

juztamau5/deliverator

Repository files navigation

Deliverator

Cosa Nostra Pizza Delivery

Image credit: https://www.artstation.com/artwork/cosa-nostra-pizza-delivery-vehicle

Setup Instructions

Contents

  1. Set up Raspberry Pis with ROS
  2. Create catkin workspace
  3. Clone repository
  4. Configure which packages to use
  5. Download dependencies
  6. Compilation
  7. Test Setup in Simulation

1. Set up Raspberry Pis with ROS

If installing on a Raspberry Pi, see README-PI.md for instructions on installing Rasbian and compiling ROS from source.

2. Create catkin workspace

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

3. Clone repository

Clone the deliverator repository into your catkin workspace.

cd ~/deliverator_ws/src
git clone https://github.com/juztamau5/deliverator.git

4. Configure which packages to use

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

5. Download dependencies

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.

Cannot locate rosdep definition for [gscam]

git clone https://github.com/ros-drivers/gscam.git

Missing resource camera_calibration_parsers

git clone https://github.com/ros-perception/image_common.git

Unable to locate package ros-kinetic-ackermann-msgs

git clone https://github.com/ros-drivers/ackermann_msgs.git

Unable to locate package ros-kinetic-joy

git clone https://github.com/ros-drivers/joystick_drivers.git

Missing gazebo_ros_control

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 ..

Missing hector_gazebo

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 ..

fatal error: netlink/genl/ctrl.h: No such file or directory

sudo apt-get install libnl-3-dev libnl-genl-3-dev

Could not find a package configuration file provided by "libp8_platform"

git clone --recursive https://github.com/juztamau5/libp8_platform.git

Could NOT find CAP (missing: CAP_LIBRARY CAP_INCLUDE_DIR)

sudo apt-get install libcap-dev

6. Compilation

To compile run catkin_make from the catkin workspace folder.

cd ~/deliverator_ws
catkin_make

7. Test Setup in Simulation

To test that your setup process was successful, run the simulator with the following command:

roslaunch deliverator_gazebo ackermann_vehicle.launch

About

Autonomous vehicle project built on ROS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published