Coder Social home page Coder Social logo

chushuiniba / docking-sim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sachitm/docking-sim

0.0 1.0 0.0 12.36 MB

MRSD project of Team Align

Home Page: https://mrsdprojects.ri.cmu.edu/2020teamj/

License: MIT License

CMake 9.84% Python 32.26% C++ 48.13% Shell 3.67% C 1.48% PowerShell 1.65% MATLAB 2.96%

docking-sim's Introduction

ROS Distro: Melodic License: MIT

Autonomous Docking for an Ackermann Vehicle

Team Align

Please refer to our website for more detailed system implementation.

Setup and Usage

This repo has been tested on Ubuntu 18.04 (ROS Melodic)

Requirements:

Docking Simulation

Clone the repo in catkin workspace and run

catkin_make
source devel/setup.bash
roslaunch align_gazebo align.launch

In other terminals (Do not forget to run the env with Python 2.7 and to source ROS)

sh run_keyop.sh #To manually drive the vehicle
roslaunch pod_localizer goal_pub.launch #For Localizing Pod
roslaunch align_navigation mapless_move_base.launch #For Running Planner
rosrun align_gazebo pure_pursuit.py #To plan a path till goal
rosrun align_navigation goal_publisher.py #To use other planners

Autoware Simulation

First, for enabling our pod and chassis configuration

  • Replace the ..path-to-autoware/autoware/install/vehicle_model with docking-sim/vehicle_model
  • Replace the ..path-to-autoware/autoware/install/vehicle_gazebo_simulation_launcher with docking-sim/vehicle_gazebo_simulation_launcher

Run (from Autoware installed folder) to setup simple world

source install/setup.bash 
#Make sure autoware environment is activated
roslaunch vehicle_gazebo_simulation_launcher gazebo_launcher.launch world_name:=simple gpu:=true

Run Autoware runtime manager

#Run Autoware and Configure for use - Required is path planner, NDT localizer and Rviz
roslaunch runtime_manager runtime_manager.launch

Move to docking-sim folder, source and run the following

roslaunch align_gazebo autoware.launch #HMS, Obstacle Detection and PHZ Identification
#HMS TESTS
rosrun hms_client scan_dummy.py
rosnode kill /obstacle_2d
rosrun obstacle_2d obstacle_2d

#Docking
roslaunch align_navigation mapless_move_base.launch
roslaunch pod_localizer goal_pub_autoware.launch #For Localizing Pod
rosrun align_navigation goal_publisher.py #For Approach Navigation

For running the chassis using keyboard

rosrun align_gazebo ackermann_drive_to_cmd_vel.py
sh run_keyop.sh #To manually drive the vehicle

To use Fake Localization instead of Autoware

rosrun align_gazebo tf_broadcaster_autoware.py

Future Updates

To install GTSAM (Latest Version)

sudo apt-add-repository ppa:bernd-pfrommer/libgtsam
sudo apt update
sudo apt install libgtsam-unstable4 libgtsam4 libgtsam-dev libgtsam-unstable-dev

If Previously installed

sudo apt remove gtsam
sudo add-apt-repository --remove ppa:bernd-pfrommer/gtsam

Citation

Please cite outwork if you use or extend this

Support

Send a mail to Sachit Mahajan

References

  • Dubins, L.E. (July 1957). "On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents". American Journal of Mathematics 79 (3): 497–516
  • LaValle, S. M. (2006). "Planning Algorithms". Cambridge University Press
  • Shkel, A. M. and Lumelsky, V. (2001). "Classification of the Dubins set". Robotics and Autonomous Systems 34 (2001) 179–202
  • Walker, A. (2011). "Hard Real-Time Motion Planning for Autonomous Vehicles", PhD thesis, Swinburne University.
  • Royce, S. (2008). "Evolutionary Control of Autonomous Underwater Vehicles". PhD thesis, RMIT
  • Reeds, J., & Shepp, L. (1990). Optimal paths for a car that goes both forwards and backwards. Pacific journal of mathematics, 145(2), 367-393.

For 'april_tag_ros' If you use this code, please kindly inform Danylo Malyuta (to maintain a list here of research works that have benefited from the code) and cite:

docking-sim's People

Contributors

sachitm avatar umaarunachalam8 avatar themathgeek13 avatar sanilpande avatar poorvaag avatar

Watchers

James Cloos 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.