Difference between revisions of "Main Page"

From Elcano Project Wiki
Jump to navigation Jump to search
(Simulator)
(Using Git and GitHub)
Line 54: Line 54:
 
== [[GitUsage | Using Git and GitHub]] ==
 
== [[GitUsage | Using Git and GitHub]] ==
 
Practices for maintaining code and source files on Elcano Project's Github.
 
Practices for maintaining code and source files on Elcano Project's Github.
 +
 +
The Elcano repositories are on https://github.com/elcano
 +
There is a separate repository for each microprocessor:
 +
• LowLevel: Drive by wire
 +
• HighLevel: Localization, mapping and path planning
 +
• Transceiver: Remote control transmitter and receiver
 +
• Sonar: Obstacle detection from ultra-sound
 +
• Sweep: Obstacle detection by laser
 +
• QDED: Raspberry Pi Vision based on quadrature disambiguation edge detection
 +
• General: for items that are shared between processors.
 +
In the past, all code was in the single repository Elcano/Elcano. That repository has been archived. Any useful files from it should be copied to the appropriate repository.
 +
Working with Git
 +
See the tutorial: https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners
 +
Typically, you will start with an Elcano repository, and then fork it to your own repository. For instance, fork Elcano/Transceiver to Jane/Transceiver. Both of these repositories live in the cloud. You would then download Jane/Transceiver to your PC. You can do a lot of work in that repository on your PC. When you have code on your PC that has been tested, the next st ep is to upload it.
 +
Suppose that on your PC you have updated the file xmit/ RadioControl_rf69/ RadioControl_rf69.ino.
 +
You need to get into a bash shell window on your PC, and use cd to make xmit the current directory.
 +
git status  // should show nothing changed
 +
git add RadioControl_rf69/ RadioControl_rf69.ino
 +
git commit -m “Removed a delay statement that blocked while waiting for an ack”
 +
Be sure to make your messages reflect what you did for this particular fix. Git supports small incremental changes, and make it possible to roll then back if needed. Please do not wait until the end of the quarter to dump all your changes into the main repository.
 +
git push origin master
 +
This command assumes that you have set origin to the URL for xmit and master to the URL for Jane/Transceiver. It puts your new code into your repository on the cloud.
 +
The next stage is to make a pull request. You are asking to have your code made part of the official Elcano/Transceiver. You are not allowed to directly push to Elcano repositories. If your pull request is accepted, your code becomes part of the Elcano project. A pull request is made from a web browser on Elcano/Transceiver, or whatever repository you are working with.
 +
 +
=== Settings.h ===
 +
This file is required by most processors, but is not kept in any repository. It is meant to include individual vehicle features. All the rest of the code should be written to be portable across a wide variety of vehicles. Specific attributes of a trike (such as wheel diameter, turning radius, etc.) should be kept in a settings.h file for that vehicle. The file SettingsTemplate.h is kept in the General repository. This file should be used to set up an individual setting.h file.
  
 
==[[FilesPage | Files]] ==
 
==[[FilesPage | Files]] ==

Revision as of 23:25, 2 October 2019


Welcome to the Elcano Project Wiki

As the title says, WELCOME TO THE ELCANO PROJECT! Over the past few years many different teams have been working hard to create Cheap and Modular autonomy at the University of Washington Bothell. We are currently working on our first two prototypes which are now in the form of tricycles. With the use of affordable microcontrollers, such as the Arduino Mega 2560 and Raspberry PI, we are working towards creating Autonomy for anyone to rebuild anywhere, and that under $2000 and fully open-source. But we don't plan to stop there, no. That is just the first step in reaching our ultimate goal, which is making our systems applicable to any desired ground vehicles, such as cars and other vehicles. Autonomy is nothing new, in fact it has been around for over 40 years, the difference is that now we have the ability to make it available for anyone who desires furthering their knowledge or simply finding a safer way to work.

To edit articles or upload files, please create an account and request editing rights from a member of the "bureaucrat" group.

For editing help visit https://www.mediawiki.org/wiki/Help:Editing_pages or https://www.mediawiki.org/wiki/Help:Formatting.


Catrikes.JPG

Overview

Basic concept of how the Elcano Project vehicle works.

System Architecture

How processors connect to sensors, each other, actuators, and other hardware. Includes processor-to-processor communication protocol.

Communication (CAN Bus)

How processors exchange data on the vehicle and a description of data packet contents.

Power System

How different modules connect to the batteries or power subsystem hardware.

Low Level

How the Low Level system uses inputs to control actuators to steer, move, and stop the vehicle.

High Level

How the High Level system uses stored maps and inputs from navigational sensors to formulate movement instructions sent to Low Level.

RemoteControl

Human control of trike movements through Low Level using hardware connected to Low Level by a radio communication link (drive by radio). Includes on-board controls (drive by wire).

SensorsPage

SteeringSensor

The front wheel angle detector.

Sonar

How the sonar subsystem connected to High Level works.

Lidar

How the lidar subsystem connected to High Level works.

Camera

How the camera and vision subsystem connected to High Level works.

ActuatorPage

Board Diagrams

Images of Elcano Project's printed circuit boards for reference. PCB source files and schematics are maintained and stored at [1].

Simulator

Using Open-source CARLA platform with a go-between board allows simulation.

Using Git and GitHub

Practices for maintaining code and source files on Elcano Project's Github.

The Elcano repositories are on https://github.com/elcano There is a separate repository for each microprocessor: • LowLevel: Drive by wire • HighLevel: Localization, mapping and path planning • Transceiver: Remote control transmitter and receiver • Sonar: Obstacle detection from ultra-sound • Sweep: Obstacle detection by laser • QDED: Raspberry Pi Vision based on quadrature disambiguation edge detection • General: for items that are shared between processors. In the past, all code was in the single repository Elcano/Elcano. That repository has been archived. Any useful files from it should be copied to the appropriate repository. Working with Git See the tutorial: https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners Typically, you will start with an Elcano repository, and then fork it to your own repository. For instance, fork Elcano/Transceiver to Jane/Transceiver. Both of these repositories live in the cloud. You would then download Jane/Transceiver to your PC. You can do a lot of work in that repository on your PC. When you have code on your PC that has been tested, the next st ep is to upload it. Suppose that on your PC you have updated the file xmit/ RadioControl_rf69/ RadioControl_rf69.ino. You need to get into a bash shell window on your PC, and use cd to make xmit the current directory. git status // should show nothing changed git add RadioControl_rf69/ RadioControl_rf69.ino git commit -m “Removed a delay statement that blocked while waiting for an ack” Be sure to make your messages reflect what you did for this particular fix. Git supports small incremental changes, and make it possible to roll then back if needed. Please do not wait until the end of the quarter to dump all your changes into the main repository. git push origin master This command assumes that you have set origin to the URL for xmit and master to the URL for Jane/Transceiver. It puts your new code into your repository on the cloud. The next stage is to make a pull request. You are asking to have your code made part of the official Elcano/Transceiver. You are not allowed to directly push to Elcano repositories. If your pull request is accepted, your code becomes part of the Elcano project. A pull request is made from a web browser on Elcano/Transceiver, or whatever repository you are working with.

Settings.h

This file is required by most processors, but is not kept in any repository. It is meant to include individual vehicle features. All the rest of the code should be written to be portable across a wide variety of vehicles. Specific attributes of a trike (such as wheel diameter, turning radius, etc.) should be kept in a settings.h file for that vehicle. The file SettingsTemplate.h is kept in the General repository. This file should be used to set up an individual setting.h file.

Files

These are media files (pictures, videos, etc.) that are part of the project, but are not maintained under version control.

Elcano Project Main Website