Git Product home page Git Product logo

hyperspec-ai / orion-ros2-reference Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 455.22 MB

Project Orion is an open source initiative to democratize the development of intelligent data collection systems for autonomous vehicle software, infrastructure and data pipelines for creating high quality certified data sets for researchers. The project is driven by a committee established by industrial partners.

License: MIT License

CMake 0.67% Makefile 1.29% C++ 95.13% Meson 0.03% Shell 1.13% Dockerfile 0.31% Python 0.85% PowerShell 0.18% Groovy 0.41%

orion-ros2-reference's People

Contributors

darthcoder1 avatar das-martinz avatar paragradke avatar sputtagunta avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orion-ros2-reference's Issues

Create Configuration Editor to publish custom config folders

Create an Node.js webservice to define the following:

NodeSelector View
The Node Selector view allows the user to select the available Orion nodes from a pre-compiled list of supported notes

  1. Read-only view of interfaces and parameters.
  2. Toggle of whether the node is being used or not

NodeEditor View
The Node Editor View allows you to define the following parameters

  1. Name of the Node Instance
  2. Pre-filled target location (http url) (only targets of the same version may be used together)

NodeConnector View
The Node Connector has a schematic view where connections between various nodes can be defined. This then auto generates the router object for the system_config.json file.

Test and Validate Continuous Integration

here is the information that we need for setting up Jenkins
cd ~/workbench
git clone https://github.com/go360-io/orion-ros2-reference.git
sudo ln -s ~/workbench/orion-ros2-reference /opt/ws_kros
cd /opt/ws_kros/docker

creates the build environment in a docker

./build_dev.sh

creates the shared libraries and puts them in the install/ folder

./build.sh

Change script to build environment in Jenkins

Change orion-ros2-reference/docker/build_dev.sh to be part of the CI/CD pipeline

This compiles the binaries for x86 and also enables the user to use it as a run time environment. We can integrate this into the Jenkins release pipeline.

Specs:
jenkins.orion.go360.io

dev.orion.go360.io
qa.orion.go360.io
staging.orion.go360.io
prod.orion.go360.io

Abstract "colcon build" --cmake-args ' -DCMAKE_BUILD_TYPE=Debug' -DCMAKE_CXX_FLAGS="-Werror -Wall"
to be in a bash script in file: https://github.com/go360-io/orion-ros2-reference/blob/develop/docker/build.sh

Update GGA Sentence via GPS Node in RTCM Node

Currently the GGA Value send to the ntrip caster to calculate a virtual correction station is fixed to tiergarten/berlin. function to set is already available, only position from GPS must be subscribed and updated based on this information.

Test and Validate Continuous Deployment

creates the infrastructure docker that allows you to grab the target gz files

./build_infra.sh <-- replace this script with Jenkins deployment into the S3 target

modify the target location of the binaries in the config/ folder

install/config/lib/config/ConfigNode_exec ./config

the ConfigNode_exec will run the application and use the system_config.json to pull the appropriate tar.gz files for each node, we need to change this to our s3 targets.

test and validate the end to end deployment with S3 and Jenkins and the Config Node

Create bucket for binaries on s3 for different target architectures

format is:

bucket/builds/[git_hash]/[target_architecture]/[node_name].tar.gz
bucket/builds/[branch_name]/[target_architecture]/[node_name].tar.gz

example branch names:

  • develop
  • qa
  • staging
  • master

example target_architecture:

  • armv8 64bit
    -x86 64bit

example node_names:
start with lib + CamelCase(node_name) + "Node.so"

  • libRtcmNode.so
  • libGnssNode.so

v4l2 ros2 Node Implemented

Implement a generic v4l2 ROS2 node that supports different 4vl2 devices as USB Webcams, but also the MIPI Connected Cams.

Fix the 20s delay of build.sh.

In build.sh we source some ros bash scripts, which currently stalls for 20s on each build.

A simple solution would be to manage the LD_LIBRARY_PATH ourselves, as this is the main reason for sourcing the script

Create a Jenkins CI/CD server

Setup an EC2 instance to run jenkins.

Setup Route53 DNS for
dev.orion.go360.io
qa.orion.go360.io
staging.orion.go360.io
prod.orion.go360.io

Setup ECS Clusters for orion nodes
dev_cluster
qa_cluster
staging_cluster
prod_cluster

Setup Load Balancers to point DNS records to appropriate clusters

Setup DocumentDB for each branch with daily sync in the databases

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.