GithubHelp home page GithubHelp logo

conde_simulator's Introduction

ROS Kinetic Support

ROS Indigo Support

Overview

The autonomous driving competition of the Portuguese Robotics Open (PRO) represents a medium complexity technical challenge in which a mobile robot completely devoid of human input during its runtime travels in a track, Fig. 1, detects and identifies signalling panels projected in two ordinary monitors, recognizes traffic signs defined in the competition ruling, detects and avoids obstacles and is able to park in two different parking areas.

The robot model represents a real robot presented in Fig.1. This robot uses a differential driving steering locomotion (two small wheels coupled in two motors that controls its linear and angular movement) and a castor wheel to balance the structure. The sensors applied to the robot are three cameras. Two pointed down to see/navigate along the track and detect/avoid obstacles and one pointed up to detect/identify the signaling panels and traffic signs. This simulator is able to replicate the autonomous driving competition challenges of the PRO except the tunnel and working zone.
















Fig. 1 - On the left track for the 2017 autonomous driving competition, on the right real robot.

Fig. 2 - Menu to choose the desired signalling panel.

Instalation and Dependencies

  • ROS distro: ROS Kinetic

  • Ubuntu version: Ubuntu 16.04 LTS

  • Gazebo version: Gazebo 7.0

Perform the full instalation for the ROS Kinetic that comes with Gazebo 7.0

Building

Clone this repository into the src folder inside the catkin workspace and compile it.

Running

To launch the simulation world for D1, D2 and D3 challenges run:

roslaunch conde_world spawn_world.launch

To spawn the robot inside the world run:

roslaunch conde_world spawn_robot.launch

To spawn the obstacles in the world run one of the following commands:

roslaunch conde_world spawn_obstacles_v1.launch

roslaunch conde_world spawn_obstacles_v2.launch

For the bay parking challenge with obstacle run one of the following commands:

roslaunch conde_world spawn_parking_obstacles_v1.launch

roslaunch conde_world spawn_parking_obstacles_v2.launch

To spawn the traffic signs in the world run:

roslaunch conde_world spawn_traffic_sign_panels.launch

Controlling the signalling panels run, Fig. 2:

rosrun gazebo_signalling_panel_control gazebo_signalling_panel_control_node

Controlling the traffic signs run:

rosrun gazebo_traffic_sign gazebo_traffic_sign_node

ROS architecture

rosgraph for the simulation world

Short description of ROS nodes

  • conde_tracking - it is responsible for the detection of the track
  • conde_signalling_panel - it is responsible to recognize the signalling panels
  • conde_traffic_sign - it is responsible to recognize the traffic signs
  • conde_decision - it is responsible for all the decisions followed by the robot (it is the intelligence of the robot)
  • conde_control - it is responsible to calculate the velocities accordingly to the reference to follow
  • conde_key_teleop - it controls the robot's movement manually by publishing a /cmd_vel message
  • conde_world - simulation world representing the autonomous driving competition of the portuguese robotics open
  • gazebo_traffic_sign_control - it controls the traffic sign displayed in the conde_world
  • gazebo_signalling_panel_control - it controls the signalling panels displayed in conde_world through a terminal menu

How to cite

If you use this simulator please cite articles [2] and [3]:

@article{Costa2017c,
author = {Costa, Valter and Rossetti, Rosaldo and Sousa, Armando},
doi = {10.4018/IJTHI.2017100102},
issn = {1548-3908},
journal = {International Journal of Technology and Human Interaction},
month = {oct},
number = {4},
pages = {19--32},
title = {{Simulator for Teaching Robotics, ROS and Autonomous Driving in a Competitive Mindset}},
url = {http://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/IJTHI.2017100102},
volume = {13},
year = {2017}
}

@inproceedings{Costa2016a,
author = {Costa, Valter and Rossetti, Rosaldo J.F. and Sousa, Armando},
booktitle = {2016 11th Iberian Conference on Information Systems and Technologies (CISTI)},
doi = {10.1109/CISTI.2016.7521461},
isbn = {978-9-8998-4346-2},
issn = {21660735},
month = {jun},
pages = {1--5},
publisher = {IEEE},
title = {{Autonomous driving simulator for educational purposes}},
url = {http://ieeexplore.ieee.org/document/7521461/},
year = {2016}
}

conde_simulator's People

Contributors

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