-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Release for CNURobotics ROS2 Humble setup
- Loading branch information
David Conner
committed
Jul 4, 2022
0 parents
commit 832e823
Showing
16 changed files
with
561 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
*~ | ||
.rosinstall | ||
.rosinstall.bak | ||
.catkin_workspace | ||
.ssh/ | ||
build/ | ||
log/ | ||
install/ | ||
setup.bash | ||
src/ | ||
stacks/ | ||
scripts/ | ||
rosinstall/optional/custom | ||
logs/ | ||
videos/ | ||
external/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# CNU Robotics CHRISLab ROS Workspace Installation | ||
|
||
Install and setup files for the basic setup of our software. | ||
|
||
Computer Setup | ||
-------------- | ||
|
||
* Follow the [ROS Installation] instructions for setting up your ROS system on Ubuntu. | ||
* This system has been tested on ROS 2 Humble Release on `Ubuntu 22.04`. | ||
* We recommend `ros-humble-desktop` as the base for this system; it includes most of the required packages, including the Gazebo simulator for testing. | ||
* Install ROS stand alone tools | ||
* `sudo apt-get install python3-rosinstall` | ||
* `sudo apt-get install python3-rosdep` | ||
* `sudo apt-get install python3-wstool` | ||
* Our install script (below) uses rosinstall tools | ||
* Install your favorite editor or IDE. (e.g. atom, QtCreator, CLion, ...) | ||
|
||
|
||
|
||
|
||
CNURobotics Software Setup | ||
----------------------- | ||
|
||
#### *If installing a new workspace, remove existing workspace setup from .bashrc, and | ||
#### reopen terminal sourcing only the /opt/ros/humble/setup.bash prior to running this script.* | ||
|
||
1. Create workspace root folder (e.g. ~/CHRISLab) and change to that directory | ||
<pre> | ||
cd ~ | ||
mkdir CHRISLab | ||
cd CHRISLab | ||
</pre> | ||
|
||
2. Clone the install setup | ||
* **Note: This is for the public CNURobotics GitHub Server for development** | ||
* `git clone https://github.com/CNURobotics/chris_install.git .` | ||
* *_Note: the dot at end of below command is critical!_* | ||
* We are choosing to clone within our workspace root folder, as opposed to creating the folder during the clone. | ||
* The cloned folder should *NOT* be named chris_install. | ||
* Alternately, you could replaced dot ('.') with desired name of the workspace and clone from home directory (skipping step 1 above) | ||
|
||
3. Change to correct branch | ||
* e.g., `git checkout humble-devel-github` | ||
* **Note: This is for the public CNURobotics GitHub Server for development** | ||
* This version has options for selectively installing the standard ROS 2 Turtlebot3 and CHRISLab Kobuki-based Turtlebot2 demonstrations for | ||
`flexible_navigation` and `flexible_behavior_trees` demonstrations. | ||
|
||
4. Run the install script | ||
`./install.sh` | ||
|
||
5. Follow on-screen instructions to add the new setup to bashrc and re-source the terminal | ||
* You can open a new terminal, or just `. ~/.bashrc` | ||
6. Test the setup | ||
`rws` | ||
* you should be in the workspace root (e.g. ~/CHRISLab ) | ||
|
||
7. Install the CHRISLab specific code by choosing one of the following | ||
* `./rosinstall/install_scripts/install_flex_base.sh` for just base software without demonstrations, or | ||
* `./rosinstall/install_scripts/install_flex_turtlebot3.sh` for base + Turtlebot 3 Simulation demonstration setup | ||
* `./rosinstall/install_scripts/install_chris_turtlebot2.sh` for base + CHRISLab specific Turtlebot 2 simulation and hardware setup | ||
|
||
For basic demonstration with minimal dependencies, choose the `install_flex_turtlebot3.sh` installation. | ||
|
||
The installations can be run separated with the required packages merged in the rosinstall files. | ||
|
||
8. Build and install any external libraries installed in the `$WORKSPACE_ROOT/external` folder | ||
* For example: | ||
<pre> | ||
cd $WORKSPACE_ROOT/external/sbpl | ||
mkdir build | ||
cd build | ||
cmake .. | ||
make | ||
sudo make install | ||
</pre> | ||
|
||
Currently we do *NOT* require any external builds for these demonstrations. | ||
|
||
9. Build our system | ||
<pre> | ||
ccb | ||
. setup.bash | ||
</pre> | ||
|
||
> NOTE: `ccb` is using a safe alias for `colcon build` defined in the setup script created by the install script. | ||
> It changes to the ROS workspace first to avoid accidentally building in a source folder. | ||
> There are variants for colcon build --packages-select (ccbs) and --packages-up-to (ccbu) | ||
> NOTE: Be sure to re-run the setup.bash script whenever a new package is added to the workspace. | ||
10. Enjoy! | ||
|
||
[ROS Installation]: https://docs.ros.org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/bin/bash | ||
|
||
WORKSPACE_ROOT=$(cd `dirname $0`; pwd) | ||
source ./rosinstall/install_scripts/install_script.sh "$@" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Define any standard source installs here | ||
- git: {local-name: src/chris_scripts, uri: 'https://github.com/CNURobotics/chris_scripts.git', version: humble-devel } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
#!/bin/bash | ||
|
||
#cd $WORKSPACE_ROOT | ||
|
||
if [ -z $WORKSPACE_ROOT ]; then | ||
echo "Variable WORKSPACE_ROOT not set, make sure the workspace is set up properly!" | ||
exit 1 | ||
fi | ||
|
||
echo "Installing CHRISLab Jackal software setup ..." | ||
|
||
cd $WORKSPACE_ROOT | ||
|
||
# List the rosinstall files containing any packages we wish to install here | ||
wstool merge rosinstall/optional/chris_jackal.rosinstall | ||
|
||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged ROS install files, now update and build ..." | ||
sh rosinstall/install_scripts/update_and_build.sh $1 | ||
else | ||
echo "Could not merge jackal repos!" >&2 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
#!/bin/bash | ||
|
||
#cd $WORKSPACE_ROOT | ||
|
||
if [ -z $WORKSPACE_ROOT ]; then | ||
echo "Variable WORKSPACE_ROOT not set, make sure the workspace is set up properly!" | ||
exit 1 | ||
fi | ||
|
||
echo "Installing CHRISLab Turtlebot software setup ..." | ||
|
||
cd $WORKSPACE_ROOT | ||
|
||
# List the rosinstall files containing any packages we wish to install here | ||
wstool merge rosinstall/optional/flexible_navigation.rosinstall | ||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged FlexBE + Flexible Navigation ROS install files, now merge third party repos ..." | ||
wstool merge rosinstall/optional/chris_third_party.rosinstall | ||
else | ||
echo "Failed to merge flexible navigation repos !" | ||
exit 1 | ||
fi | ||
|
||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged third party ROS install files, now merge CHRISLab TurtleBot 2 repos ..." | ||
wstool merge rosinstall/optional/chris_turtlebot2.rosinstall | ||
else | ||
echo "Failed to merge third party files!" | ||
exit 1 | ||
fi | ||
|
||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged required ROS install files, now update and build ..." | ||
sh rosinstall/install_scripts/update_and_build.sh $1 | ||
else | ||
echo "Could not merge turtlebot demo repos " >&2 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#!/bin/bash | ||
|
||
#cd $WORKSPACE_ROOT | ||
|
||
if [ -z $WORKSPACE_ROOT ]; then | ||
echo "Variable WORKSPACE_ROOT not set, make sure the workspace is set up properly!" | ||
exit 1 | ||
fi | ||
|
||
echo "Installing CHRISLab software setup ..." | ||
|
||
cd $WORKSPACE_ROOT | ||
|
||
# List the rosinstall files containing any packages we wish to install here | ||
wstool merge rosinstall/optional/flexible_navigation.rosinstall | ||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged FlexBE + Flexible Navigation ROS install files, now merge standard third party repos for base ..." | ||
wstool merge rosinstall/optional/chris_third_party.rosinstall | ||
else | ||
echo "Failed to merge flexible navigation repos !" | ||
exit 1 | ||
fi | ||
|
||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged ROS install files, now update and build ..." | ||
sh rosinstall/install_scripts/update_and_build.sh $1 | ||
else | ||
echo "Could not merge flexible navigation repos " >&2 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/bin/bash | ||
|
||
#cd $WORKSPACE_ROOT | ||
|
||
if [ -z $WORKSPACE_ROOT ]; then | ||
echo "Variable WORKSPACE_ROOT not set, make sure the workspace is set up properly!" | ||
exit 1 | ||
fi | ||
|
||
echo "Installing Simulation setup and FlexBE demonstrations using standard Turtlebot3 setup ..." | ||
|
||
cd $WORKSPACE_ROOT | ||
|
||
# List the rosinstall files containing any packages we wish to install here | ||
wstool merge rosinstall/optional/flexible_navigation.rosinstall | ||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged FlexBE + Flexible Navigation ROS install files, now merge third party repos ..." | ||
wstool merge rosinstall/optional/chris_third_party.rosinstall | ||
else | ||
echo "Failed to merge flexible navigation repos !" | ||
exit 1 | ||
fi | ||
|
||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged FlexBE + Flexible Navigation ROS install files, now merge Turtlebot3 specific repos ..." | ||
wstool merge rosinstall/optional/flex_turtlebot3.rosinstall | ||
else | ||
echo "Failed to merge flexible navigation repos !" | ||
exit 1 | ||
fi | ||
|
||
|
||
if [ $? -eq 0 ] | ||
then | ||
echo "Successfully merged required ROS install files, now update and build ..." | ||
sh rosinstall/install_scripts/update_and_build.sh $1 | ||
else | ||
echo "Could not merge turtlebot demo repos " >&2 | ||
fi |
34 changes: 34 additions & 0 deletions
34
rosinstall/install_scripts/install_package_dependencies.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
echo "No additional package dependencies for now!" | ||
# rosdep and package dependencies should catch everything | ||
|
||
# This should be extended to first check if everything is installed and only do the sudo requiring call when there's anything missing. | ||
#echo "Installing needed packages (both ROS package and system dependency .deb packages) ..." | ||
# | ||
#PACKAGES_TO_INSTALL="\ | ||
#mercurial \ | ||
#git \ | ||
#python-catkin-tools \ | ||
#protobuf-compiler \ | ||
#libargtable2-dev \ | ||
#libcoin80-dev \ | ||
#libglew-dev \ | ||
#libgsl0-dev \ | ||
#liblapack-dev \ | ||
#libsnappy-dev \ | ||
#libsoqt4-dev \ | ||
#libtinyxml-dev \ | ||
#libunittest++-dev \ | ||
#python-rosinstall \ | ||
#libsdl-image1.2-dev \ | ||
#libvtk-java \ | ||
#python-pymodbus \ | ||
#ros-$ROS_DISTRO-spacenav-node \ | ||
#ros-$ROS_DISTRO-bfl \ | ||
#ros-$ROS_DISTRO-cmake-modules \ | ||
#ros-$ROS_DISTRO-desktop \ | ||
#ros-$ROS_DISTRO-eigen-stl-containers \ | ||
#ros-$ROS_DISTRO-map-server \ | ||
#ros-$ROS_DISTRO-laser-assembler" | ||
# | ||
# | ||
#sudo apt-get -y install $PACKAGES_TO_INSTALL |
Oops, something went wrong.