Build Soar with ROS¶
Requirements¶
- Ubuntu 18.04.4 LTS Bionic THIS IS NOT OPTIONAL. NO OTHER LINUX DISTRO WORKS
- Relatively recent GPU YOUR COMPUTER MUST HAVE A DISPLAY
- ROS Melodic ONLY MELODIC WILL WORK
- Gazebo 9 MUST BE 9
- Point Cloud Library version 1.8.1 Must be 1.8.1
ROS Installation (from http://wiki.ros.org/melodic/Installation/Ubuntu):
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Point Cloud Library should also be installed. Run sudo apt install libpcl-dev to make sure.
Download and Build Soar¶
git clone https://github.com/SoarGroup/Soar.git -b svs_overhaul
sudo apt install build-essential swig openjdk-8-jdk python-all-dev
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SOAR_HOME:/opt/ros/melodic/lib/
export CPATH=$CPATH:/usr/include/pcl-1.8/:/opt/ros/melodic/include/
cd Soar
python2 scons/scons.py all --use-ros
If you want Python 3 support, replace step 4 with:
Copy the file path returned
Recommended: If you want to use Lizzie's svs_utils ROS package to make a world with a Fetch robot, follow these steps: Install the Fetch ROS and Gazebo packages: sudo apt install ros-melodic-fetch-ros ros-melodic-fetch-gazebo Create a catkin workspace: mkdir ~/svs_utils_ws/src