ROS
compile
how-to
Build Soar with ROS 1
Soar for ROS 2
For ROS 2, a package called soar_ros
is available from
GitHub that includes
documentation. The last ROS 1 distribution
is end of life (EOL) as of May 2025.
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
python2 scons/scons.py all --use-ros --python= <insert/path/copied/above>
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
cd ~/svs_utils_ws
catkin_make
cd src
git clone https://[ your_username] @bitbucket.org/emgoeddel/svs_util.git ( Ask Lizzie for access to the Bitbucket)
cd ..
catkin_make
echo "source ~/svs_util_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc