Giter Site home page Giter Site logo

gem-illinois / polaris_gem_e2 Goto Github PK

View Code? Open in Web Editor NEW
2.0 0.0 5.0 54.45 MB

Simulator for Polaris GEM e2 Electric Cart developed in Center for Autonomy at University of Illinois at Urbana-Champaign

CMake 1.89% Python 17.52% C++ 80.41% Shell 0.18%
gazebo gazebo-simulator ros-noetic autonomous-vehicles autonomous-driving ros

polaris_gem_e2's Introduction

This repository is deprecated. Please go to https://gitlab.engr.illinois.edu/gemillins/POLARIS_GEM_e2 for latest developement.

Polaris GEM e2 Simulator

This repository provides a simulated vehicle model of Polaris GEM e2 Electric Cart in the Gazebo simulation environment as well as ROS based sensors and controllers for autonomous-driving. The Polaris GEM e2 vehicle model was measured and modeled using Solidworks by Hang Cui and Jiaming Zhang. Hang Cui further constructed the URDF files of the vehicle model compatible with ROS, RViz, and Gazebo.

The simulator was initially developed for personal research with ROS Melodic and Gazebo 9 in Ubuntu 18.04 in Fall 2019. This simulator then became an essential teaching material for the course, Principles of Safe Autonomy @ Illinois, and the project subsequently received funding from the Center for Autonomy at University of Illinois at Urbana-Champaign. Hang Cui further developed and upgraded the simulator to use ROS Noetic and Gazebo 11 in Summer 2021. This simulator is currently under active development for research and teaching.

Requirements

Our simulation setup is currently tested only with the following system and ROS packages.

System: Ubuntu 20.04 + ROS Noetic (Gazebo 11)

We refer readers to http://wiki.ros.org/noetic/Installation/Ubuntu and follow the instructions to install ROS noetic and Gazebo 11. We also recommend Desktop-Full Install as suggested in the instructions.

Required ROS Packages:

  • ackermann_msgs
  • geometry2
  • hector_gazebo
  • hector_models
  • jsk_rviz_plugins
  • ros_control
  • ros_controllers
  • velodyne_simulator

After the installation of ROS Noetic and Gazebo 11 on Ubuntu 20.04, we recommend installing ROS packages using APT as follows

$ sudo apt install ros-noetic-ackermann-msgs ros-noetic-geometry2 \
    ros-noetic-hector-gazebo ros-noetic-hector-models ros-noetic-jsk-rviz-plugins \
    ros-noetic-ros-control ros-noetic-ros-controllers ros-noetic-velodyne-simulator

Compile Polaris GEM e2 Simulator

We assume the Catkin workspace is under ~/gem_ws. We first clone this repository to ~/gem_ws/src. For example,

$ mkdir -p ~/gem_ws/src
$ cd ~/gem_ws/src
$ git clone https://github.com/GEM-Illinois/POLARIS_GEM_e2.git

Then we compile the whole workspace use catkin_make

$ source /opt/ros/noetic/setup.bash
$ cd ~/gem_ws
$ catkin_make

For more detail about Catkin workspace, please refer to the tutorials at http://wiki.ros.org/catkin/Tutorials/create_a_workspace.

Usage

Simple Track Environment

$ source devel/setup.bash
$ roslaunch gem_gazebo gem_gazebo_rviz.launch velodyne_points:="true"

Geometric based Lateral Controller

$ source devel/setup.bash
$ roslaunch gem_gazebo gem_gazebo_rviz.launch

$ source devel/setup.bash
$ roslaunch gem_gazebo gem_sensor_info.launch

$ source devel/setup.bash
$ rosrun gem_pure_pursuit_sim pure_pursuit_sim.py

$ source devel/setup.bash
$ rosrun gem_stanley_sim stanley_sim.py

Highbay Environment

$ source devel/setup.bash
$ roslaunch gem_gazebo gem_gazebo_rviz.launch world_name:="highbay_track.world" x:=-5.5 y:=-21 velodyne_points:="true"

$ source devel/setup.bash
$ roslaunch gem_gazebo gem_sensor_info.launch

Modules

Coming soon...

Developers:

Contributors

polaris_gem_e2's People

Contributors

hangcui1201 avatar hc825b avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.