Git Product home page Git Product logo

autonomous_driving's Introduction

Autonomous Driving

This is Roboy's Autonomous Driving Team's (update hyperlink when website is up) main repository. Setup and usage is shown in the following sections. We have a wiki where we go into detail about everything we did.

To start, please go to our Wiki page. Members of Roboy can find additional information about this project on our Confluence page.

Prerequisites

You will require ROS Kinetic and Catkin tools for the use of this repository.

Code structure

Environmental perception is achieved through the use of a Sick Lidar LMS 155, a IMU and a Intel Realsense Camera.

In a first iteration, this data is used for generating a map of our environment through the use of Google Cartographer. Based on that map, our navigation stack is executed for path planning. Once a path is planned, we use Google Cartographers pure localization feture to find ourselfs on the map. This gives closed-loop feedback to the navigation stack for updating the path planning.

We output steering parameters an dvelocity settings to the Rickshaw.

A simulation of the above can be run from here.

Code usage

So now that you are here ... what do you want to do?

Setup

Hardware

LIDAR

After the stated packages have been build, connect the LIDAR to an appropriate power source (brown = positive -> red, blue = negative -> black) and an ethernet switch. You will need to connect your Laptop to that switch as well.

Hint for VM users: This guide was written based on experiences from a USB-C only MacBook running Ubuntu 16.04 in VMware Fusion. When connecting ethernet through a ethernet to USB-C adapter, mount the adapter to macOS, such that the connection is shown in the System Preferences of your host machine. Then, disconnect from any WiFi connections and the VM will switch to the wired connection. This lead to a plug-and-play setup of the LIDAR which can be double checked through calling the IP adress in a browser.

Realsense

To check if Intel Realsense D435 was connected correctly check via lsusb to see if a device with 'Intel' in it's name shows up. There could be problems if you use USB adapters and/or virtual machines, otherwise it should work plug and play.

For instructions on how to use it in ROS check out the official instructions.

Lidar-Camera extrinsic calibration

Extrinsic calibration provides the relative translation and rotation between camera and lidar.

For a detailed step-by-step tutorial visit the Github wiki of this repository.

Software

Depending on your current configuration, the most straight-forward way to use this code is to clone submodule autonomous_driving_src into your catkin_ws/src folder and build it according to the instructions given there.

For Roboy Rickshaw (update hyperlink) the setup is a little different. We use a docker on our mobile PC (also called Leia) for computations. Visualization is done through building cartographer_rviz and roboy_ad from autonomous_driving_src on another machine and interconnecting them through network.

Data Recording

See the README in the roboy_ad package for detailed instructions.

SLAM

See the README in Roboys' branch of Google cartographer for detailed instructions.

Localization

See the README in Roboys' branch of Google cartographer for detailed instructions.

Navigation

See the README in roboy_naviagtion package for detailed instructions.

Control

See the README in roboy_naviagtion package for detailed instructions.

autonomous_driving's People

Contributors

christqoh avatar jonas-kerber avatar lennarthaller avatar melkonyan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  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.