NUS ME5413 Autonomous Mobile Robotics Final Project
- System Requirements:
- Ubuntu 20.04 (18.04 not yet tested)
- ROS Noetic (Melodic not yet tested)
- C++11 and above
- CMake: 3.0.2 and above
- This repo depends on the following standard ROS pkgs:
roscpp
rospy
rviz
std_msgs
nav_msgs
geometry_msgs
visualization_msgs
tf
tf2
tf2_ros
tf2_geometry_msgs
pluginlib
map_server
gazebo_ros
jsk_rviz_plugins
jackal_gazebo
jackal_navigation
velodyne_simulator
teleop_twist_keyboard
- And this gazebo_model repositiory
This repo is a ros workspace, containing eight rospkgs:
me5413_world
the main pkg containing the gazebo world, and the launch filesme5413_perception
pkg for perception part and exploration part of projectme5413_mapping
pkg for hector SLAMvelodyne_simulator
velodyne LiDAR with GPU accelorationlaserscan_merger
merge front 2D LiDAR and rear 2D LiDARinteractive_tools
are customized tools to interact with gazebo and your robotjackal_description
contains the modified jackal robot model descriptionsA-LOAM
pkg for A-LOAM SLAM
After forking this repo to your own github:
# Clone your own fork of this repo (assuming home here `~/`)
cd
git [email protected]:sauk2/ME5413_Final_Project_Group_2.git
cd ME5413_Final_Project_Group_2
git submodule init
git submodule update
# Install all dependencies
rosdep install --from-paths src --ignore-src -r -y
pip3 install -r requirements.txt
# Build
catkin_make
# Source
source devel/setup.bash
To properly load the gazebo world, you will need to have the necessary model files in the ~/.gazebo/models/
directory.
There are two sources of models needed:
-
# Create the destination directory cd mkdir -p .gazebo/models # Clone the official gazebo models repo (assuming home here `~/`) git clone https://github.com/osrf/gazebo_models.git # Copy the models into the `~/.gazebo/models` directory cp -r ~/gazebo_models/* ~/.gazebo/models
-
# Copy the customized models into the `~/.gazebo/models` directory cp -r ~/ME5413_Final_Project/src/me5413_world/models/* ~/.gazebo/models
# Launch Gazebo World together with our robot
roslaunch me5413_world world.launch
After launching step 1 in a separate terminal
Launches Navigation for the robot
roslaunch me5413_world navigation.launch
Can choose which production line to go to in Rviz
After launching step 2 in a separate terminal
Lauch perception and Exploratino for the Robot
roslaunch me5413_perception exploration.launch
You are welcome contributing to this repo by opening a pull-request
We are following:
The ME5413_Final_Project is released under the MIT License