Skip to content

Commit

Permalink
Added SQL files for use with C1T Port Drayage configuration with dock…
Browse files Browse the repository at this point in the history
…er compose file updates (#639)

<!-- Thanks for the contribution, this is awesome. -->

# PR Details
## Description

New directory and files added to allow for C1T Port Drayage operation
with the required destination points that match the garage
configuration. The standard port_drayage.sql file uses the external loop
of the environment, lane1 is the first pickup lane, and lane2 is the
second pickup lane. Commented out by default to preserve original
behavior.

## Related Issue

<!--- This project only accepts pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an
issue first -->
<!--- If fixing a bug, there should be an issue describing it with steps
to reproduce -->
<!--- Please link to the issue here: -->

## Motivation and Context

<!--- Why is this change required? What problem does it solve? -->

## How Has This Been Tested?

Tested extensively on C1T vehicle with V2XHub and Port Drayage Web
Service.

## Types of changes

<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->

- [ ] Defect fix (non-breaking change that fixes an issue)
- [x] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that cause existing functionality
to change)

## Checklist:

<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->

- [ ] I have added any new packages to the sonar-scanner.properties file
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] I have read the **CONTRIBUTING** document.
[V2XHUB Contributing
Guide](https://github.com/usdot-fhwa-OPS/V2X-Hub/blob/develop/Contributing.md)
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
  • Loading branch information
maefromm authored Sep 3, 2024
2 parents dd1a417 + f30f2fe commit 817fd9a
Show file tree
Hide file tree
Showing 6 changed files with 172 additions and 0 deletions.
7 changes: 7 additions & 0 deletions configuration/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ services:
volumes:
- ./mysql/localhost.sql:/docker-entrypoint-initdb.d/localhost.sql
- ./mysql/port_drayage.sql:/docker-entrypoint-initdb.d/port_drayage.sql
# The following 3 volumes are used for C1T. By default the standard "port_drayage.sql" file
# will be loaded. Comment out the "port_drayage.sql" file above and uncomment the following
# three files to enable the C1T sql files to be loaded. The container volumes MUST be reset
# to allow for this change, which can be done with "docker compose down -v"
#- ./mysql/garage_port_drayage/port_drayage.sql:/docker-entrypoint-initdb.d/port_drayage.sql
#- ./mysql/garage_port_drayage/port_drayage_lane1.sql:/docker-entrypoint-initdb.d/port_drayage_lane1.sql
#- ./mysql/garage_port_drayage/port_drayage_lane2.sql:/docker-entrypoint-initdb.d/port_drayage_lane2.sql
- mysql-datavolume:/var/lib/mysql

php:
Expand Down
18 changes: 18 additions & 0 deletions configuration/mysql/garage_port_drayage/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# C1T Garage Actions
These are Port Drayage actions created the CDA1Tenth functionality and specifically tailored for the Turner Fairbank Highway Research Center's Saxton Laboratory garage demonstration.

## Instructions
Replace the port_drayage.sql file in docker-compose.yml with the files in this directory.
```
db:
image: mysql:8.0
volumes:
- ./mysql/garage_port_drayage/port_drayage.sql:/docker-entrypoint-initdb.d/port_drayage.sql
- ./mysql/garage_port_drayage/port_drayage_lane1.sql:/docker-entrypoint-initdb.d/port_drayage_lane1.sql
- ./mysql/garage_port_drayage/port_drayage_lane2.sql:/docker-entrypoint-initdb.d/port_drayage_lane2.sql
```

## Reference Layout
The following diagram displays the C1T Port Drayage layout used in the Saxton Garage. The above SQL files should be selected based on if the first (port_drayage_lane1.sql) or second (port_drayage_lane2.sql) lane will be used for the Port Pickup action.

![Alt text](docs/garage_diagram.PNG)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 49 additions & 0 deletions configuration/mysql/garage_port_drayage/port_drayage.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
-- MySQL 8.0 for Linux amd64 (x86_64) and arm64 (aarch64)
--
-- Host: 127.0.0.1 Database: PORT_DRAYAGE
-- ------------------------------------------------------
-- Server version 7.6.0
-- Current Database: `PORT_DRAYAGE`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `PORT_DRAYAGE` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `PORT_DRAYAGE`;

--
-- Table structure for table `first_action`
--

DROP TABLE IF EXISTS `first_action`;
CREATE TABLE `first_action` (
`cmv_id` varchar(20) NOT NULL,
`cargo_id` varchar(20) DEFAULT NULL,
`destination_lat` decimal(9,7) NOT NULL,
`destination_long` decimal(9,7) NOT NULL,
`operation` varchar(20) NOT NULL,
`action_id` varchar(36) NOT NULL,
`next_action` varchar(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

LOCK TABLES `first_action` WRITE;
INSERT INTO `first_action` VALUES ('C1T-1','NULL',-2.3,0.7,'ENTER_STAGING_AREA','one','two');
UNLOCK TABLES;

--
-- Table structure for table `freight`
--

DROP TABLE IF EXISTS `freight`;
CREATE TABLE `freight` (
`cmv_id` varchar(20) NOT NULL,
`cargo_id` varchar(20) DEFAULT NULL,
`destination_lat` decimal(9,7) NOT NULL,
`destination_long` decimal(9,7) NOT NULL,
`operation` varchar(20) NOT NULL,
`action_id` varchar(36) NOT NULL,
`next_action` varchar(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

LOCK TABLES `freight` WRITE;
INSERT INTO `freight` VALUES ('C1T-1','NULL',-0.4,-0.4,'EXIT_PORT','zero','one'),('C1T-1','NULL',-2.3,0.7,'ENTER_STAGING_AREA','one','two'),('C1T-1','CARGO_A',-3.4,-1.4,'PICKUP','two','three'),('C1T-1','CARGO_A',-3.4,-3.4,'EXIT_STAGING_AREA','three','four'),('C1T-1','CARGO_A',-3.4,-5.4,'ENTER_PORT','four','five'),('C1T-1','CARGO_A',-0.4,-6.4,'DROPOFF','five','six'),('C1T-1','CARGO_B',2.6,-4.7,'PICKUP','six','seven'),('C1T-1','CARGO_B',0.4,-3.4,'PORT_CHECKPOINT','seven','eight'),('C1T-1','CARGO_B',-0.3,0.2,'EXIT_PORT','eight','nine');
UNLOCK TABLES;
49 changes: 49 additions & 0 deletions configuration/mysql/garage_port_drayage/port_drayage_lane1.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
-- MySQL 8.0 for Linux amd64 (x86_64) and arm64 (aarch64)
--
-- Host: 127.0.0.1 Database: PORT_DRAYAGE
-- ------------------------------------------------------
-- Server version 7.6.0
-- Current Database: `PORT_DRAYAGE`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `PORT_DRAYAGE` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `PORT_DRAYAGE`;

--
-- Table structure for table `first_action`
--

DROP TABLE IF EXISTS `first_action`;
CREATE TABLE `first_action` (
`cmv_id` varchar(20) NOT NULL,
`cargo_id` varchar(20) DEFAULT NULL,
`destination_lat` decimal(9,7) NOT NULL,
`destination_long` decimal(9,7) NOT NULL,
`operation` varchar(20) NOT NULL,
`action_id` varchar(36) NOT NULL,
`next_action` varchar(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

LOCK TABLES `first_action` WRITE;
INSERT INTO `first_action` VALUES ('C1T-1','NULL',-2.3,0.7,'ENTER_STAGING_AREA','one','two');
UNLOCK TABLES;

--
-- Table structure for table `freight`
--

DROP TABLE IF EXISTS `freight`;
CREATE TABLE `freight` (
`cmv_id` varchar(20) NOT NULL,
`cargo_id` varchar(20) DEFAULT NULL,
`destination_lat` decimal(9,7) NOT NULL,
`destination_long` decimal(9,7) NOT NULL,
`operation` varchar(20) NOT NULL,
`action_id` varchar(36) NOT NULL,
`next_action` varchar(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

LOCK TABLES `freight` WRITE;
INSERT INTO `freight` VALUES ('C1T-1','NULL',-0.4,-0.4,'EXIT_PORT','zero','one'),('C1T-1','NULL',-2.3,0.7,'ENTER_STAGING_AREA','one','two'),('C1T-1','CARGO_A',-3.4,-1.4,'PICKUP','two','three'),('C1T-1','CARGO_A',-3.4,-3.4,'EXIT_STAGING_AREA','three','four'),('C1T-1','CARGO_A',-3.4,-5.4,'ENTER_PORT','four','five'),('C1T-1','CARGO_A',-0.4,-6.4,'DROPOFF','five','six'),('C1T-1','CARGO_B',1.6,-4.7,'PICKUP','six','seven'),('C1T-1','CARGO_B',0.4,-3.4,'PORT_CHECKPOINT','seven','eight'),('C1T-1','CARGO_B',-0.3,0.2,'EXIT_PORT','eight','nine');
UNLOCK TABLES;
49 changes: 49 additions & 0 deletions configuration/mysql/garage_port_drayage/port_drayage_lane2.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
-- MySQL 8.0 for Linux amd64 (x86_64) and arm64 (aarch64)
--
-- Host: 127.0.0.1 Database: PORT_DRAYAGE
-- ------------------------------------------------------
-- Server version 7.6.0
-- Current Database: `PORT_DRAYAGE`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `PORT_DRAYAGE` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `PORT_DRAYAGE`;

--
-- Table structure for table `first_action`
--

DROP TABLE IF EXISTS `first_action`;
CREATE TABLE `first_action` (
`cmv_id` varchar(20) NOT NULL,
`cargo_id` varchar(20) DEFAULT NULL,
`destination_lat` decimal(9,7) NOT NULL,
`destination_long` decimal(9,7) NOT NULL,
`operation` varchar(20) NOT NULL,
`action_id` varchar(36) NOT NULL,
`next_action` varchar(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

LOCK TABLES `first_action` WRITE;
INSERT INTO `first_action` VALUES ('C1T-1','NULL',-2.3,0.7,'ENTER_STAGING_AREA','one','two');
UNLOCK TABLES;

--
-- Table structure for table `freight`
--

DROP TABLE IF EXISTS `freight`;
CREATE TABLE `freight` (
`cmv_id` varchar(20) NOT NULL,
`cargo_id` varchar(20) DEFAULT NULL,
`destination_lat` decimal(9,7) NOT NULL,
`destination_long` decimal(9,7) NOT NULL,
`operation` varchar(20) NOT NULL,
`action_id` varchar(36) NOT NULL,
`next_action` varchar(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

LOCK TABLES `freight` WRITE;
INSERT INTO `freight` VALUES ('C1T-1','NULL',-0.4,-0.4,'EXIT_PORT','zero','one'),('C1T-1','NULL',-2.3,0.7,'ENTER_STAGING_AREA','one','two'),('C1T-1','CARGO_A',-3.4,-1.4,'PICKUP','two','three'),('C1T-1','CARGO_A',-3.4,-3.4,'EXIT_STAGING_AREA','three','four'),('C1T-1','CARGO_A',-3.4,-5.4,'ENTER_PORT','four','five'),('C1T-1','CARGO_A',-0.4,-6.4,'DROPOFF','five','six'),('C1T-1','CARGO_B',2.6,-4.7,'PICKUP','six','seven'),('C1T-1','CARGO_B',0.4,-3.4,'PORT_CHECKPOINT','seven','eight'),('C1T-1','CARGO_B',-0.3,0.2,'EXIT_PORT','eight','nine');
UNLOCK TABLES;

0 comments on commit 817fd9a

Please sign in to comment.