Skip to content

SeongilHeo/MuSHR-ROS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MuSHR ROS

A ROS Noetic/catkin project for the MuSHR simulator. It includes basic ROS examples, particle-filter localization, roadmap planning, and path-tracking controllers.

MuSHR map demo

Packages

Package Description Writeup
cse478 Shared utilities, maps, and MuSHR launch files -
introduction Basic ROS examples README
localization Particle filter localization README
planning Roadmap generation and A* planning README
control PID, Pure Pursuit, and MPC controllers README

Setup

UTM installation

This setup recreates the course VM environment on an ARM-based Mac using UTM. The root-level setup.sh script automates the installation.

Notes

  • .vmx and .nvram files are not usable on ARM Macs, so the VM setup relies on a fresh Ubuntu image instead.
  • VMware Fusion cannot run the original x86 VM on ARM because x86 virtualization is not supported.
  • UTM works well with ARM Ubuntu virtualization.
  • Ubuntu 20.04 ARM desktop images are not provided as official stable desktop releases, so this setup uses Ubuntu 20.04 Server and installs ubuntu-desktop.

Process

  1. Download the Ubuntu 20.04 ARM64 Server image.
  2. Install UTM.
  3. Create a Linux VM in UTM using the Ubuntu image.
  4. Recommended VM settings:
    • CPU: 2 cores
    • RAM: 4096 MB
    • User: robotics
  5. Copy setup.sh into the VM:
scp setup.sh robotics@<server_ip>:/home/robotics/
  1. Run the setup script:
sudo bash /home/robotics/setup.sh
sudo reboot

What setup.sh does

  1. Installs the Ubuntu desktop environment.
  2. Installs basic packages and adds repositories.
  3. Adds the ROS Noetic APT repository.
  4. Installs ROS Noetic and required ROS packages.
  5. Adds ROS setup sourcing to .bashrc.
  6. Runs rosdep init and rosdep update.
  7. Clones the dependency and MuSHR workspaces.
  8. Installs the range_libc Python wrapper.
  9. Builds the catkin workspaces.
  10. Deletes setup.sh after successful completion.

Run

Start the simulator:

roslaunch cse478 teleop.launch

Run localization:

roslaunch localization particle_filter_teleop_sim.launch

Run planning:

roslaunch planning planner_sim.launch controller:=mpc

Run control:

roslaunch control controller_sim.launch type:=pp

Send a test path:

rosrun control path_sender line --length 10 --speed 2 --reset

Test

Run all tests:

catkin test

Run one package:

catkin test localization

Notes

  • Writeups are in each package's writeup/ directory.
  • Main config files are localization/config/parameters.yaml and control/config/parameters.yaml.

About

A ROS Noetic project for the MuSHR simulator featuring particle-filter localization, roadmap planning, and path-tracking controllers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors