Assignments for robotics motion planning and control module in the University of Birmingham (path planner & trajectory generation)
-
ROS2 FOXY
-
Ubuntu 20.04 If your laptop does not have the Ubuntu operating system installed, you can use a virtual machine to install Ubuntu 20.04:
For Windows systems, refer to this video for installation.
For Mac systems, refer to this video for installation.
Check out the docker directory if you want to build this project without installing all the dependencies on your system.
- Install ROS2 FOXY:
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settingssudo apt install software-properties-common
sudo add-apt-repository universesudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/nullsudo apt update
sudo apt upgrade
sudo apt install ros-foxy-desktop python3-argcomplete
sudo apt install ros-dev-toolsecho "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
echo "export TURTLEBOT3_MODEL=waffle" >> ~/.bashrc
echo "export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/foxy/share/turtlebot3_gazebo/models" >> ~/.bashrc
echo "source /usr/share/gazebo-11/setup.sh" >> ~/.bashrc
source ~/.bashrc- Install Dependencies:
sudo apt-get install libeigen3-dev libxml2-dev coinor-libipopt-dev qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev qml-module-qtquick2 qml-module-qtquick-window2 qml-module-qtmultimedia qml-module-qtquick-dialogs qml-module-qtquick-controls qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings ros-foxy-xacro ros-foxy-test-msgs ros-foxy-ackermann-msgs ros-foxy-joint-state-publisher ros-foxy-ament-cmake-* swig- Install Turtlebot3
sudo apt install -y gazebo11 ros-foxy-gazebo-ros-pkgs ros-foxy-cartographer ros-foxy-cartographer-ros ros-foxy-navigation2 ros-foxy-nav2-bringup ros-foxy-turtlebot3* python3-vcstool- Build Assignment2:
mkdir -p ~/assignment2/src
cd ~/assignment2/src
git clone https://github.com/HyPAIR/RMPC_Assignment2.git
cd ..
colcon buildsource install/setup.bash
cd ~/assignment2/src/RMPC_Assignment2/LatticePlanner
python3 main.py
ros2 launch turtlebot3_navigation2 world.launch.py 