From 387a8a7a1ef40d7597abe3956e1a9eb8862718a5 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Thu, 28 Apr 2022 14:44:29 +0300 Subject: [PATCH 01/85] use ParallelFor for lidar raycast --- .../UnrealSensors/UnrealLidarSensor.cpp | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index 548034947..d3fa12d55 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -6,6 +6,7 @@ #include "common/Common.hpp" #include "NedTransform.h" #include "DrawDebugHelpers.h" +#include "Runtime/Core/Public/Async/ParallelFor.h" // ctor UnrealLidarSensor::UnrealLidarSensor(const AirSimSettings::LidarSetting& setting, @@ -73,28 +74,30 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const const float laser_start = std::fmod(360.0f + params.horizontal_FOV_start, 360.0f); const float laser_end = std::fmod(360.0f + params.horizontal_FOV_end, 360.0f); - // shoot lasers - for (auto laser = 0u; laser < number_of_lasers; ++laser) { - const float vertical_angle = laser_angles_[laser]; + point_cloud.assign(total_points_to_scan * 3, NULL); + segmentation_cloud.assign(total_points_to_scan, NULL); - for (auto i = 0u; i < points_to_scan_with_one_laser; ++i) { - const float horizontal_angle = std::fmod(current_horizontal_angle_ + angle_distance_of_laser_measure * i, 360.0f); - - // check if the laser is outside the requested horizontal FOV - if (!VectorMath::isAngleBetweenAngles(horizontal_angle, laser_start, laser_end)) - continue; + ParallelFor(total_points_to_scan, [&](int32 idx) { + const float vertical_angle = laser_angles_[idx % number_of_lasers]; + const float horizontal_angle = std::fmod(current_horizontal_angle_ + angle_distance_of_laser_measure * idx, 360.0f); + // check if the laser is outside the requested horizontal FOV + if (VectorMath::isAngleBetweenAngles(horizontal_angle, laser_start, laser_end)) { Vector3r point; int segmentationID = -1; // shoot laser and get the impact point, if any - if (shootLaser(lidar_pose, vehicle_pose, laser, horizontal_angle, vertical_angle, params, point, segmentationID)) { - point_cloud.emplace_back(point.x()); - point_cloud.emplace_back(point.y()); - point_cloud.emplace_back(point.z()); - segmentation_cloud.emplace_back(segmentationID); + if (shootLaser(lidar_pose, vehicle_pose, idx % number_of_lasers, horizontal_angle, vertical_angle, params, point, segmentationID)) { + point_cloud[idx * 3] = point.x(); + point_cloud[idx * 3 + 1] = point.y(); + point_cloud[idx * 3 + 2] = point.z(); + segmentation_cloud[idx] = segmentationID; } } - } + }); + + // erase�remove idiom to handle non-valid elements + point_cloud.erase(std::remove(point_cloud.begin(), point_cloud.end(), NULL), point_cloud.end()); + segmentation_cloud.erase(std::remove(segmentation_cloud.begin(), segmentation_cloud.end(), NULL), segmentation_cloud.end()); current_horizontal_angle_ = std::fmod(current_horizontal_angle_ + angle_distance_of_tick, 360.0f); From 1800974d7f36ca51b0ab3f1efd5420ce716ddfc5 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 9 May 2022 11:03:53 +0300 Subject: [PATCH 02/85] extract logic to variable --- .../AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index d3fa12d55..460184a6a 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -78,7 +78,8 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const segmentation_cloud.assign(total_points_to_scan, NULL); ParallelFor(total_points_to_scan, [&](int32 idx) { - const float vertical_angle = laser_angles_[idx % number_of_lasers]; + int32 laser_idx = idx % number_of_lasers; + const float vertical_angle = laser_angles_[laser_idx]; const float horizontal_angle = std::fmod(current_horizontal_angle_ + angle_distance_of_laser_measure * idx, 360.0f); // check if the laser is outside the requested horizontal FOV @@ -86,7 +87,7 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const Vector3r point; int segmentationID = -1; // shoot laser and get the impact point, if any - if (shootLaser(lidar_pose, vehicle_pose, idx % number_of_lasers, horizontal_angle, vertical_angle, params, point, segmentationID)) { + if (shootLaser(lidar_pose, vehicle_pose, laser_idx, horizontal_angle, vertical_angle, params, point, segmentationID)) { point_cloud[idx * 3] = point.x(); point_cloud[idx * 3 + 1] = point.y(); point_cloud[idx * 3 + 2] = point.z(); From a65187f41aa9e07c007216409e1a62127906eb9f Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 9 May 2022 11:06:27 +0300 Subject: [PATCH 03/85] break loop earlier in case segmentationID != -1 --- .../AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index 460184a6a..64bf4e44b 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -140,8 +140,10 @@ bool UnrealLidarSensor::shootLaser(const msr::airlib::Pose& lidar_pose, const ms if (hitActor != nullptr) { TArray meshComponents; hitActor->GetComponents(meshComponents); - for (int i = 0; i < meshComponents.Num(); i++) { - segmentationID = segmentationID == -1 ? meshComponents[i]->CustomDepthStencilValue : segmentationID; + for (auto* comp : meshComponents) { + segmentationID = comp->CustomDepthStencilValue; + if (segmentationID != -1) + break; } } From dd632b600e2e80a3999b6b4e7aafc16de1266b4e Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 9 May 2022 11:11:26 +0300 Subject: [PATCH 04/85] - remove unsued parameter - change params to const --- .../AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp | 8 ++++---- .../AirSim/Source/UnrealSensors/UnrealLidarSensor.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index 64bf4e44b..e4345f0fc 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -19,7 +19,7 @@ UnrealLidarSensor::UnrealLidarSensor(const AirSimSettings::LidarSetting& setting // initializes information based on lidar configuration void UnrealLidarSensor::createLasers() { - msr::airlib::LidarSimpleParams params = getParams(); + const msr::airlib::LidarSimpleParams params = getParams(); const auto number_of_lasers = params.number_of_channels; @@ -47,7 +47,7 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const point_cloud.clear(); segmentation_cloud.clear(); - msr::airlib::LidarSimpleParams params = getParams(); + const msr::airlib::LidarSimpleParams params = getParams(); const auto number_of_lasers = params.number_of_channels; // cap the points to scan via ray-tracing; this is currently needed for car/Unreal tick scenarios @@ -87,7 +87,7 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const Vector3r point; int segmentationID = -1; // shoot laser and get the impact point, if any - if (shootLaser(lidar_pose, vehicle_pose, laser_idx, horizontal_angle, vertical_angle, params, point, segmentationID)) { + if (shootLaser(lidar_pose, vehicle_pose, horizontal_angle, vertical_angle, params, point, segmentationID)) { point_cloud[idx * 3] = point.x(); point_cloud[idx * 3 + 1] = point.y(); point_cloud[idx * 3 + 2] = point.z(); @@ -107,7 +107,7 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const // simulate shooting a laser via Unreal ray-tracing. bool UnrealLidarSensor::shootLaser(const msr::airlib::Pose& lidar_pose, const msr::airlib::Pose& vehicle_pose, - const uint32 laser, const float horizontal_angle, const float vertical_angle, + const float horizontal_angle, const float vertical_angle, const msr::airlib::LidarSimpleParams params, Vector3r& point, int& segmentationID) { // start position diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h index c34271a1e..e453228db 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h @@ -30,7 +30,7 @@ class UnrealLidarSensor : public msr::airlib::LidarSimple void createLasers(); bool shootLaser(const msr::airlib::Pose& lidar_pose, const msr::airlib::Pose& vehicle_pose, - const uint32 channel, const float horizontal_angle, const float vertical_angle, + const float horizontal_angle, const float vertical_angle, const msr::airlib::LidarSimpleParams params, Vector3r& point, int& segmentationID); private: From f2152b6ef8e8deba170a6fd0623b75b38b43e087 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 9 May 2022 11:16:29 +0300 Subject: [PATCH 05/85] pass params by ref --- .../Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp | 2 +- Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index e4345f0fc..b7cad7ebf 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -108,7 +108,7 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const // simulate shooting a laser via Unreal ray-tracing. bool UnrealLidarSensor::shootLaser(const msr::airlib::Pose& lidar_pose, const msr::airlib::Pose& vehicle_pose, const float horizontal_angle, const float vertical_angle, - const msr::airlib::LidarSimpleParams params, Vector3r& point, int& segmentationID) + const msr::airlib::LidarSimpleParams& params, Vector3r& point, int& segmentationID) { // start position Vector3r start = VectorMath::add(lidar_pose, vehicle_pose).position; diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h index e453228db..e13d4ed52 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.h @@ -31,7 +31,7 @@ class UnrealLidarSensor : public msr::airlib::LidarSimple void createLasers(); bool shootLaser(const msr::airlib::Pose& lidar_pose, const msr::airlib::Pose& vehicle_pose, const float horizontal_angle, const float vertical_angle, - const msr::airlib::LidarSimpleParams params, Vector3r& point, int& segmentationID); + const msr::airlib::LidarSimpleParams& params, Vector3r& point, int& segmentationID); private: AActor* actor_; From 444085e2a886a02e6955fd1411af5b4ef9cb9b51 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 9 May 2022 11:22:34 +0300 Subject: [PATCH 06/85] fix angle_distance_of_laser_measure calculation --- .../Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index b7cad7ebf..cc124ce37 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -68,7 +68,7 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const // calculate needed angle/distance between each point const float angle_distance_of_tick = params.horizontal_rotation_frequency * 360.0f * delta_time; - const float angle_distance_of_laser_measure = angle_distance_of_tick / points_to_scan_with_one_laser; + const float angle_distance_of_laser_measure = angle_distance_of_tick / total_points_to_scan; // normalize FOV start/end const float laser_start = std::fmod(360.0f + params.horizontal_FOV_start, 360.0f); From eb4a34c680ce1bd3167f0ffc8b866d1819bdebc6 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 9 May 2022 12:11:32 +0300 Subject: [PATCH 07/85] change NULL to -1 --- .../AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index cc124ce37..41d4e23f9 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -74,8 +74,8 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const const float laser_start = std::fmod(360.0f + params.horizontal_FOV_start, 360.0f); const float laser_end = std::fmod(360.0f + params.horizontal_FOV_end, 360.0f); - point_cloud.assign(total_points_to_scan * 3, NULL); - segmentation_cloud.assign(total_points_to_scan, NULL); + point_cloud.assign(total_points_to_scan * 3, -1); + segmentation_cloud.assign(total_points_to_scan, -1); ParallelFor(total_points_to_scan, [&](int32 idx) { int32 laser_idx = idx % number_of_lasers; @@ -97,8 +97,8 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const }); // erase�remove idiom to handle non-valid elements - point_cloud.erase(std::remove(point_cloud.begin(), point_cloud.end(), NULL), point_cloud.end()); - segmentation_cloud.erase(std::remove(segmentation_cloud.begin(), segmentation_cloud.end(), NULL), segmentation_cloud.end()); + point_cloud.erase(std::remove(point_cloud.begin(), point_cloud.end(), -1), point_cloud.end()); + segmentation_cloud.erase(std::remove(segmentation_cloud.begin(), segmentation_cloud.end(), -1), segmentation_cloud.end()); current_horizontal_angle_ = std::fmod(current_horizontal_angle_ + angle_distance_of_tick, 360.0f); From d31dcb0169bd7f7afcf84a2ff7d106d3175e6002 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 9 May 2022 18:55:39 +0300 Subject: [PATCH 08/85] add LidarSetting::DataFrame enum instead strings --- AirLib/include/common/AirSimSettings.hpp | 5 +++++ AirLib/include/sensors/lidar/LidarSimpleParams.hpp | 13 +++++++++++-- .../Plugins/AirSim/Source/SimMode/SimModeBase.cpp | 5 ++--- .../Source/UnrealSensors/UnrealLidarSensor.cpp | 10 +++++----- 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/AirLib/include/common/AirSimSettings.hpp b/AirLib/include/common/AirSimSettings.hpp index 25108b4b7..263c861c2 100644 --- a/AirLib/include/common/AirSimSettings.hpp +++ b/AirLib/include/common/AirSimSettings.hpp @@ -249,6 +249,11 @@ namespace airlib struct LidarSetting : SensorSetting { + enum class DataFrame + { + VehicleInertialFrame, + SensorLocalFrame + }; }; struct VehicleSetting diff --git a/AirLib/include/sensors/lidar/LidarSimpleParams.hpp b/AirLib/include/sensors/lidar/LidarSimpleParams.hpp index 316d117e6..c7cccce5a 100644 --- a/AirLib/include/sensors/lidar/LidarSimpleParams.hpp +++ b/AirLib/include/sensors/lidar/LidarSimpleParams.hpp @@ -36,7 +36,7 @@ namespace airlib }; bool draw_debug_points = false; - std::string data_frame = AirSimSettings::kVehicleInertialFrame; + AirSimSettings::LidarSetting::DataFrame data_frame; bool external_controller = true; @@ -53,7 +53,16 @@ namespace airlib points_per_second = settings_json.getInt("PointsPerSecond", points_per_second); horizontal_rotation_frequency = settings_json.getInt("RotationsPerSecond", horizontal_rotation_frequency); draw_debug_points = settings_json.getBool("DrawDebugPoints", draw_debug_points); - data_frame = settings_json.getString("DataFrame", data_frame); + std::string frame = settings_json.getString("DataFrame", AirSimSettings::kVehicleInertialFrame); + if (frame == AirSimSettings::kVehicleInertialFrame) { + data_frame = AirSimSettings::LidarSetting::DataFrame::VehicleInertialFrame; + } + else if (frame == AirSimSettings::kSensorLocalFrame) { + data_frame = AirSimSettings::LidarSetting::DataFrame::SensorLocalFrame; + } + else { + throw std::runtime_error("Unknown requested data frame"); + } external_controller = settings_json.getBool("ExternalController", external_controller); vertical_FOV_upper = settings_json.getFloat("VerticalFOVUpper", Utils::nan()); diff --git a/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp b/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp index 6edb12386..25278f0e4 100644 --- a/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp +++ b/Unreal/Plugins/AirSim/Source/SimMode/SimModeBase.cpp @@ -838,11 +838,10 @@ void ASimModeBase::drawLidarDebugPoints() FVector uu_point; - if (lidar->getParams().data_frame == AirSimSettings::kVehicleInertialFrame) { + if (lidar->getParams().data_frame == AirSimSettings::LidarSetting::DataFrame::VehicleInertialFrame) { uu_point = pawn_sim_api->getNedTransform().fromLocalNed(point); } - else if (lidar->getParams().data_frame == AirSimSettings::kSensorLocalFrame) { - + else if (lidar->getParams().data_frame == AirSimSettings::LidarSetting::DataFrame::SensorLocalFrame) { Vector3r point_w = VectorMath::transformToWorldFrame(point, lidar_data.pose, true); uu_point = pawn_sim_api->getNedTransform().fromLocalNed(point_w); } diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index 41d4e23f9..aa7e00d27 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -161,12 +161,13 @@ bool UnrealLidarSensor::shootLaser(const msr::airlib::Pose& lidar_pose, const ms } // decide the frame for the point-cloud - if (params.data_frame == AirSimSettings::kVehicleInertialFrame) { + switch (params.data_frame) { + case AirSimSettings::LidarSetting::DataFrame::VehicleInertialFrame: // current detault behavior; though it is probably not very useful. // not changing the default for now to maintain backwards-compat. point = ned_transform_->toLocalNed(hit_result.ImpactPoint); - } - else if (params.data_frame == AirSimSettings::kSensorLocalFrame) { + break; + case AirSimSettings::LidarSetting::DataFrame::SensorLocalFrame: // point in vehicle intertial frame Vector3r point_v_i = ned_transform_->toLocalNed(hit_result.ImpactPoint); @@ -184,9 +185,8 @@ bool UnrealLidarSensor::shootLaser(const msr::airlib::Pose& lidar_pose, const ms // TODO: Optimization -- instead of doing this for every point, it should be possible to do this // for the point-cloud together? Need to look into matrix operations to do this together for all points. + break; } - else - throw std::runtime_error("Unknown requested data frame"); return true; } From 6e5f637d491e733983b245b659d09ed9f0422081 Mon Sep 17 00:00:00 2001 From: alonfaraj Date: Mon, 23 May 2022 15:02:26 +0300 Subject: [PATCH 09/85] fix pointcloud calculation and size --- .../Source/UnrealSensors/UnrealLidarSensor.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp index aa7e00d27..6bd438660 100644 --- a/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp +++ b/Unreal/Plugins/AirSim/Source/UnrealSensors/UnrealLidarSensor.cpp @@ -68,19 +68,21 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const // calculate needed angle/distance between each point const float angle_distance_of_tick = params.horizontal_rotation_frequency * 360.0f * delta_time; - const float angle_distance_of_laser_measure = angle_distance_of_tick / total_points_to_scan; + const float angle_distance_of_laser_measure = angle_distance_of_tick / points_to_scan_with_one_laser; // normalize FOV start/end const float laser_start = std::fmod(360.0f + params.horizontal_FOV_start, 360.0f); const float laser_end = std::fmod(360.0f + params.horizontal_FOV_end, 360.0f); - point_cloud.assign(total_points_to_scan * 3, -1); - segmentation_cloud.assign(total_points_to_scan, -1); + const uint32 total_jobs = number_of_lasers * points_to_scan_with_one_laser; - ParallelFor(total_points_to_scan, [&](int32 idx) { - int32 laser_idx = idx % number_of_lasers; + point_cloud.assign(total_jobs * 3, FLT_MAX); + segmentation_cloud.assign(total_jobs, -1); + + ParallelFor(total_jobs, [&](int32 idx) { + int32 laser_idx = (idx / points_to_scan_with_one_laser) % number_of_lasers; const float vertical_angle = laser_angles_[laser_idx]; - const float horizontal_angle = std::fmod(current_horizontal_angle_ + angle_distance_of_laser_measure * idx, 360.0f); + const float horizontal_angle = std::fmod(current_horizontal_angle_ + angle_distance_of_laser_measure * (idx % points_to_scan_with_one_laser), 360.0f); // check if the laser is outside the requested horizontal FOV if (VectorMath::isAngleBetweenAngles(horizontal_angle, laser_start, laser_end)) { @@ -97,7 +99,7 @@ void UnrealLidarSensor::getPointCloud(const msr::airlib::Pose& lidar_pose, const }); // erase�remove idiom to handle non-valid elements - point_cloud.erase(std::remove(point_cloud.begin(), point_cloud.end(), -1), point_cloud.end()); + point_cloud.erase(std::remove(point_cloud.begin(), point_cloud.end(), FLT_MAX), point_cloud.end()); segmentation_cloud.erase(std::remove(segmentation_cloud.begin(), segmentation_cloud.end(), -1), segmentation_cloud.end()); current_horizontal_angle_ = std::fmod(current_horizontal_angle_ + angle_distance_of_tick, 360.0f); From c9d27e5ce09b1eae61cce11e191ce3e4576e0e5c Mon Sep 17 00:00:00 2001 From: Tyler Fedrizzi <32143517+xxEoD2242@users.noreply.github.com> Date: Sat, 23 Jul 2022 06:47:20 -0400 Subject: [PATCH 10/85] Update README.md --- README.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 826a13a7f..a2ac676bc 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,19 @@ -## AirSim announcement: This repository will be archived in the coming year +# Welcome to Colosseum, a successor of [AirSim](https://github.com/microsoft/AirSim) -In 2017 Microsoft Research created AirSim as a simulation platform for AI research and experimentation. Over the span of five years, this research project has served its purpose—and gained a lot of ground—as a common way to share research code and test new ideas around aerial AI development and simulation. Additionally, time has yielded advancements in the way we apply technology to the real world, particularly through aerial mobility and autonomous systems. For example, drone delivery is no longer a sci-fi storyline—it’s a business reality, which means there are new needs to be met. We’ve learned a lot in the process, and we want to thank this community for your engagement along the way. +Colosseum is a simulator for robotic, autonomous systems, built on [Unreal Engine](https://www.unrealengine.com/) (we now also have an experimental [Unity](https://unity3d.com/) release). It is open-source, cross platform, and supports software-in-the-loop simulation with popular flight controllers such as PX4 & ArduPilot and hardware-in-loop with PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped into any Unreal environment. Similarly, we have an experimental release for a Unity plugin. + +This is a fork of the AirSim repository, which Microsoft decided to shutdown in July of 2022. This fork serves as a waypoint to building a new and better simulation platform. The creater and maintainer of this fork is Codex Laboratories LLC (our website is [here](https://www.codex-labs-llc.com). Colosseum is one of the underlying simulation systems that we use in our product, the [SWARM Simulation Platform](https://www.swarmsim.io). This platform exists to provide pre-built tools and low-code/no-code autonomy solutions. Please feel free to check this platform out and reach out if interested. -In the spirit of forward momentum, we will be releasing a new simulation platform in the coming year and subsequently archiving the original 2017 AirSim. Users will still have access to the original AirSim code beyond that point, but no further updates will be made, effective immediately. Instead, we will focus our efforts on a new product, Microsoft Project AirSim, to meet the growing needs of the aerospace industry. Project AirSim will provide an end-to-end platform for safely developing and testing aerial autonomy through simulation. Users will benefit from the safety, code review, testing, advanced simulation, and AI capabilities that are uniquely available in a commercial product. As we get closer to the release of Project AirSim, there will be learning tools and features available to help you migrate to the new platform and to guide you through the product. To learn more about building aerial autonomy with the new Project AirSim, visit [https://aka.ms/projectairsim](https://aka.ms/projectairsim). - -# Welcome to AirSim - -AirSim is a simulator for drones, cars and more, built on [Unreal Engine](https://www.unrealengine.com/) (we now also have an experimental [Unity](https://unity3d.com/) release). It is open-source, cross platform, and supports software-in-the-loop simulation with popular flight controllers such as PX4 & ArduPilot and hardware-in-loop with PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped into any Unreal environment. Similarly, we have an experimental release for a Unity plugin. - -Our goal is to develop AirSim as a platform for AI research to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles. For this purpose, AirSim also exposes APIs to retrieve data and control vehicles in a platform independent way. +## Join the Community +We have decided to create a Slack to better allow for community engagement. Join here: [Colosseum Slack](https://join.slack.com/t/colosseum-sim/shared_invite/zt-1cz1yke0l-dW9DPIJfwSlzOmn9pNwcjQ) + +## Goals and Project Development +This section will contain a list of the current features that the community and Codex Labs are working on to support and build. +Check back soon! **Check out the quick 1.5 minute demo** -Drones in AirSim +Quadrotor UAVs in AirSim [![AirSim Drone Demo Video](docs/images/demo_video.png)](https://youtu.be/-WfTr1-OBGQ) @@ -148,7 +149,7 @@ For complete list of changes, view our [Changelog](docs/CHANGELOG.md) ## FAQ -If you run into problems, check the [FAQ](https://microsoft.github.io/AirSim/faq) and feel free to post issues in the [AirSim](https://github.com/Microsoft/AirSim/issues) repository. +If you run into problems, check the [FAQ](https://codexlabsllc.github.io/Colosseum/faq) and feel free to post issues in the [Colosseum](https://github.com/CodexLabsLLC/Colosseum/issues) repository. ## Code of Conduct From fc797e78c94413f8e1df71ac0685c70b3ffcc9a4 Mon Sep 17 00:00:00 2001 From: Tyler Fedrizzi <32143517+xxEoD2242@users.noreply.github.com> Date: Sat, 23 Jul 2022 06:58:50 -0400 Subject: [PATCH 11/85] Set theme jekyll-theme-cayman --- docs/_config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/_config.yml diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 000000000..c4192631f --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file From 9c606ef213d35e10ab77a3ae132c318297e035f9 Mon Sep 17 00:00:00 2001 From: Tyler Date: Mon, 25 Jul 2022 05:59:32 -0400 Subject: [PATCH 12/85] Re engineer docs to be inline with current Jekyll themes --- docs/404.md | 6 + docs/Dockerfile | 14 + docs/Gemfile | 7 + docs/Gemfile.lock | 273 + docs/LICENSE | 13 + docs/LICENSE-BSD-NAVGOCO.txt | 27 + docs/_config.yml | 116 +- docs/_data/alerts.yml | 18 + docs/_data/definitions.yml | 12 + docs/_data/glossary.yml | 13 + docs/_data/samplelist.yml | 109 + docs/_data/sidebars/colosseum_sidebar.yml | 74 + docs/_data/sidebars/other.yml | 20 + docs/_data/strings.yml | 8 + docs/_data/tags.yml | 17 + docs/_data/terms.yml | 3 + docs/_data/topnav.yml | 18 + docs/_includes/archive.html | 15 + docs/_includes/callout.html | 4 + docs/_includes/commento.html | 8 + .../custom/getting_started_series.html | 21 + .../custom/getting_started_series_next.html | 13 + docs/_includes/custom/series_acme.html | 21 + docs/_includes/custom/series_acme_next.html | 32 + docs/_includes/custom/usermap.html | 16 + docs/_includes/custom/usermapcomplex.html | 93 + docs/_includes/feedback.html | 15 + docs/_includes/footer.html | 11 + docs/_includes/google_analytics.html | 8 + docs/_includes/head.html | 43 + docs/_includes/head_print.html | 30 + docs/_includes/image.html | 3 + docs/_includes/important.html | 3 + docs/_includes/initialize_shuffle.html | 130 + docs/_includes/inline_image.html | 3 + docs/_includes/links.html | 45 + docs/_includes/note.html | 3 + docs/_includes/sidebar.html | 60 + docs/_includes/taglogic.html | 33 + docs/_includes/tip.html | 3 + docs/_includes/toc.html | 23 + docs/_includes/topnav.html | 83 + docs/_includes/warning.html | 3 + docs/_layouts/default.html | 108 + docs/_layouts/default_print.html | 26 + docs/_layouts/none.html | 5 + docs/_layouts/page.html | 70 + docs/_layouts/page_print.html | 17 + docs/_layouts/post.html | 41 + docs/_posts/2015-04-12-test-post-last-year.md | 10 + docs/_posts/2016-02-24-first-post.md | 19 + docs/_posts/2016-02-26-sample-post-jekyll.md | 17 + docs/_site/404.html | 344 + docs/_site/Dockerfile | 14 + docs/_site/Gemfile | 7 + docs/_site/Gemfile.lock | 273 + docs/_site/LICENSE | 13 + docs/_site/LICENSE-BSD-NAVGOCO.txt | 27 + docs/_site/assets/css/style.css | 2883 +++++++ docs/_site/build.sh | 18 + docs/_site/createtag | 54 + docs/_site/css/bootstrap.min.css | 7529 +++++++++++++++++ docs/_site/css/boxshadowproperties.css | 24 + docs/_site/css/customstyles.css | 1203 +++ docs/_site/css/font-awesome.min.css | 4 + docs/_site/css/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes docs/_site/css/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes docs/_site/css/fonts/fontawesome-webfont.svg | 2671 ++++++ docs/_site/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes docs/_site/css/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../_site/css/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes docs/_site/css/modern-business.css | 89 + docs/_site/css/printstyles.css | 159 + docs/_site/css/syntax.css | 60 + docs/_site/css/theme-blue.css | 121 + docs/_site/css/theme-green.css | 110 + docs/_site/docker-compose.yml | 11 + docs/_site/feed.xml | 73 + docs/_site/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes docs/_site/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes docs/_site/fonts/fontawesome-webfont.svg | 520 ++ docs/_site/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes docs/_site/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes docs/_site/images/androidsdkmanagericon.png | Bin 0 -> 795 bytes docs/_site/images/authorizegithubscreen2.png | Bin 0 -> 76388 bytes docs/_site/images/authorizeongithub.png | Bin 0 -> 22571 bytes docs/_site/images/company_logo.png | Bin 0 -> 52395 bytes docs/_site/images/company_logo_big.png | Bin 0 -> 9588 bytes docs/_site/images/favicon.ico | Bin 0 -> 177352 bytes docs/_site/images/helpapi-01.png | Bin 0 -> 91640 bytes docs/_site/images/helpapi.svg | 1661 ++++ docs/_site/images/illustratoroptions.png | Bin 0 -> 118175 bytes docs/_site/images/itermexample.png | Bin 0 -> 68886 bytes docs/_site/images/jekyll.png | Bin 0 -> 5375 bytes docs/_site/images/killalljekyll.png | Bin 0 -> 66686 bytes docs/_site/images/liningup.png | Bin 0 -> 74728 bytes docs/_site/images/workflowarrow.png | Bin 0 -> 3595 bytes docs/_site/index.html | 426 + docs/_site/js/customscripts.js | 54 + docs/_site/js/jekyll-search.js | 1 + .../js/jquery.ba-throttle-debounce.min.js | 9 + docs/_site/js/jquery.navgoco.min.js | 8 + docs/_site/js/jquery.shuffle.min.js | 1588 ++++ docs/_site/js/toc.js | 82 + docs/_site/mydoc_algorithm_input.html | 386 + docs/_site/mydoc_faq_layout.html | 403 + docs/_site/mydoc_firmware.html | 409 + docs/_site/mydoc_getting_started.html | 489 ++ docs/_site/mydoc_infrastructure.html | 413 + docs/_site/mydoc_shuffle.html | 1086 +++ docs/_site/myupdate.html | 336 + docs/_site/pdf-all.sh | 1 + docs/_site/pdf-mydoc.sh | 14 + docs/_site/pdf-product1.sh | 11 + docs/_site/pdf-product2.sh | 11 + docs/_site/pdfconfigs/config_mydoc_pdf.yml | 19 + docs/_site/pdfconfigs/config_product1_pdf.yml | 19 + docs/_site/pdfconfigs/config_product2_pdf.yml | 19 + docs/_site/pdfconfigs/prince-list.txt | 7 + docs/_site/samplepost.html | 338 + docs/_site/search.json | 100 + docs/_site/sitemap.xml | 97 + docs/_site/tag_collaboration.html | 496 ++ docs/_site/tag_content_types.html | 496 ++ docs/_site/tag_formatting.html | 496 ++ docs/_site/tag_getting_started.html | 514 ++ docs/_site/tag_mobile.html | 496 ++ docs/_site/tag_navigation.html | 496 ++ docs/_site/tag_news.html | 528 ++ docs/_site/tag_publishing.html | 496 ++ docs/_site/tag_single_sourcing.html | 496 ++ docs/_site/tag_special_layouts.html | 514 ++ docs/_site/tag_troubleshooting.html | 496 ++ docs/_site/test-post-from-last-year.html | 326 + docs/_site/titlepage.html/index.html | 360 + docs/_site/tocpage.html/index.html | 353 + docs/_site/tooltips.html | 74 + docs/_site/tooltips.json | 29 + docs/_site/update.sh | 4 + docs/_site/var/build.sh | 10 + docs/_site/watch.sh | 23 + docs/_tooltips/baseball.html | 6 + docs/_tooltips/basketball.html | 6 + docs/_tooltips/football.html | 6 + docs/_tooltips/soccer.html | 6 + docs/build.sh | 18 + docs/createtag | 54 + docs/css/bootstrap.min.css | 7529 +++++++++++++++++ docs/css/boxshadowproperties.css | 24 + docs/css/customstyles.css | 1203 +++ docs/css/font-awesome.min.css | 4 + docs/css/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes docs/css/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes docs/css/fonts/fontawesome-webfont.svg | 2671 ++++++ docs/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes docs/css/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes docs/css/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes docs/css/modern-business.css | 89 + docs/css/printstyles.css | 159 + docs/css/syntax.css | 60 + docs/css/theme-blue.css | 121 + docs/css/theme-green.css | 110 + docs/docker-compose.yml | 11 + docs/feed.xml | 32 + docs/fonts/FontAwesome.otf | Bin 0 -> 85908 bytes docs/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes docs/fonts/fontawesome-webfont.svg | 520 ++ docs/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes docs/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes docs/fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes docs/fonts/glyphicons-halflings-regular.svg | 288 + docs/fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes docs/fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes docs/fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes docs/images/androidsdkmanagericon.png | Bin 0 -> 795 bytes docs/images/authorizegithubscreen2.png | Bin 0 -> 76388 bytes docs/images/authorizeongithub.png | Bin 0 -> 22571 bytes docs/images/company_logo.png | Bin 0 -> 52395 bytes docs/images/company_logo_big.png | Bin 0 -> 9588 bytes docs/images/favicon.ico | Bin 0 -> 177352 bytes docs/images/helpapi-01.png | Bin 0 -> 91640 bytes docs/images/helpapi.svg | 1661 ++++ docs/images/illustratoroptions.png | Bin 0 -> 118175 bytes docs/images/itermexample.png | Bin 0 -> 68886 bytes docs/images/jekyll.png | Bin 0 -> 5375 bytes docs/images/killalljekyll.png | Bin 0 -> 66686 bytes docs/images/liningup.png | Bin 0 -> 74728 bytes docs/images/workflowarrow.png | Bin 0 -> 3595 bytes docs/index.md | 22 + docs/js/customscripts.js | 54 + docs/js/jekyll-search.js | 1 + docs/js/jquery.ba-throttle-debounce.min.js | 9 + docs/js/jquery.navgoco.min.js | 8 + docs/js/jquery.shuffle.min.js | 1588 ++++ docs/js/toc.js | 82 + docs/{ => pages/colosseum}/CHANGELOG.md | 0 docs/{ => pages/colosseum}/CONTRIBUTING.md | 2 +- docs/{ => pages/colosseum}/InfraredCamera.md | 0 docs/{ => pages/colosseum}/SUPPORT.md | 0 docs/{ => pages/colosseum}/Unity.md | 0 docs/{ => pages/colosseum}/adding_new_apis.md | 0 docs/{ => pages/colosseum}/airsim_ros_pkgs.md | 0 .../colosseum}/airsim_tutorial_pkgs.md | 0 docs/{ => pages/colosseum}/apis.md | 0 docs/{ => pages/colosseum}/apis_cpp.md | 0 docs/{ => pages/colosseum}/azure.md | 0 docs/{ => pages/colosseum}/build_faq.md | 0 docs/{ => pages/colosseum}/build_linux.md | 0 docs/{ => pages/colosseum}/build_macos.md | 0 docs/{ => pages/colosseum}/build_windows.md | 0 docs/{ => pages/colosseum}/camera_views.md | 0 docs/{ => pages/colosseum}/cmake_linux.md | 0 docs/{ => pages/colosseum}/code_structure.md | 0 .../colosseum}/coding_guidelines.md | 0 .../colosseum/colosseum_getting_started.md | 8 + docs/{ => pages/colosseum}/create_issue.md | 0 docs/{ => pages/colosseum}/custom_drone.md | 0 .../colosseum}/custom_unity_environments.md | 0 docs/{ => pages/colosseum}/design.md | 0 docs/{ => pages/colosseum}/dev_workflow.md | 0 docs/{ => pages/colosseum}/distance_sensor.md | 0 docs/{ => pages/colosseum}/docker_ubuntu.md | 0 docs/{ => pages/colosseum}/drone_survey.md | 0 docs/{ => pages/colosseum}/event_sim.md | 0 docs/{ => pages/colosseum}/faq.md | 0 .../colosseum}/flight_controller.md | 0 docs/{ => pages/colosseum}/gazebo_drone.md | 0 docs/{ => pages/colosseum}/hard_drive.md | 0 docs/{ => pages/colosseum}/hello_drone.md | 0 docs/{ => pages/colosseum}/image_apis.md | 0 docs/{ => pages/colosseum}/lidar.md | 0 docs/{ => pages/colosseum}/log_viewer.md | 0 docs/{ => pages/colosseum}/mavlinkcom.md | 0 .../{ => pages/colosseum}/mavlinkcom_mocap.md | 0 docs/{ => pages/colosseum}/meshes.md | 0 .../colosseum}/modify_recording_data.md | 0 docs/{ => pages/colosseum}/multi_vehicle.md | 0 .../{ => pages/colosseum}/object_detection.md | 0 docs/{ => pages/colosseum}/orbit.md | 0 docs/{ => pages/colosseum}/pfm.md | 0 docs/{ => pages/colosseum}/playback.md | 0 docs/{ => pages/colosseum}/point_clouds.md | 0 docs/{ => pages/colosseum}/px4_build.md | 0 docs/{ => pages/colosseum}/px4_lockstep.md | 0 docs/{ => pages/colosseum}/px4_logging.md | 0 .../colosseum}/px4_multi_vehicle.md | 0 docs/{ => pages/colosseum}/px4_setup.md | 0 docs/{ => pages/colosseum}/px4_sitl.md | 0 docs/{ => pages/colosseum}/px4_sitl_wsl2.md | 0 .../colosseum}/reinforcement_learning.md | 0 docs/{ => pages/colosseum}/remote_control.md | 0 docs/{ => pages/colosseum}/retexturing.md | 0 docs/{ => pages/colosseum}/sensors.md | 0 docs/{ => pages/colosseum}/settings.md | 0 docs/{ => pages/colosseum}/simple_flight.md | 0 .../colosseum}/steering_wheel_installation.md | 0 .../colosseum}/unity_api_support.md | 0 docs/{ => pages/colosseum}/unreal_blocks.md | 0 docs/{ => pages/colosseum}/unreal_custenv.md | 0 docs/{ => pages/colosseum}/unreal_proj.md | 0 docs/{ => pages/colosseum}/unreal_upgrade.md | 0 docs/{ => pages/colosseum}/upgrade_apis.md | 0 .../{ => pages/colosseum}/upgrade_settings.md | 0 docs/{ => pages/colosseum}/use_precompiled.md | 0 docs/{ => pages/colosseum}/using_car.md | 0 docs/{ => pages/colosseum}/voxel_grid.md | 0 docs/{ => pages/colosseum}/who_is_using.md | 0 .../working_with_plugin_contents.md | 0 docs/{ => pages/colosseum}/xbox_controller.md | 0 docs/pdf-all.sh | 1 + docs/pdf-mydoc.sh | 14 + docs/pdf-product1.sh | 11 + docs/pdf-product2.sh | 11 + docs/pdfconfigs/config_mydoc_pdf.yml | 19 + docs/pdfconfigs/config_product1_pdf.yml | 19 + docs/pdfconfigs/config_product2_pdf.yml | 19 + docs/pdfconfigs/prince-list.txt | 82 + docs/pdfconfigs/titlepage.html | 22 + docs/pdfconfigs/tocpage.html | 44 + docs/search.json | 32 + docs/sitemap.xml | 24 + docs/tooltips.html | 79 + docs/tooltips.json | 19 + docs/update.sh | 4 + docs/var/build.sh | 10 + docs/watch.sh | 23 + 291 files changed, 49751 insertions(+), 2 deletions(-) create mode 100644 docs/404.md create mode 100644 docs/Dockerfile create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock create mode 100644 docs/LICENSE create mode 100644 docs/LICENSE-BSD-NAVGOCO.txt create mode 100644 docs/_data/alerts.yml create mode 100644 docs/_data/definitions.yml create mode 100644 docs/_data/glossary.yml create mode 100644 docs/_data/samplelist.yml create mode 100644 docs/_data/sidebars/colosseum_sidebar.yml create mode 100644 docs/_data/sidebars/other.yml create mode 100644 docs/_data/strings.yml create mode 100644 docs/_data/tags.yml create mode 100644 docs/_data/terms.yml create mode 100644 docs/_data/topnav.yml create mode 100644 docs/_includes/archive.html create mode 100644 docs/_includes/callout.html create mode 100644 docs/_includes/commento.html create mode 100644 docs/_includes/custom/getting_started_series.html create mode 100644 docs/_includes/custom/getting_started_series_next.html create mode 100644 docs/_includes/custom/series_acme.html create mode 100644 docs/_includes/custom/series_acme_next.html create mode 100644 docs/_includes/custom/usermap.html create mode 100644 docs/_includes/custom/usermapcomplex.html create mode 100644 docs/_includes/feedback.html create mode 100755 docs/_includes/footer.html create mode 100644 docs/_includes/google_analytics.html create mode 100644 docs/_includes/head.html create mode 100644 docs/_includes/head_print.html create mode 100644 docs/_includes/image.html create mode 100644 docs/_includes/important.html create mode 100644 docs/_includes/initialize_shuffle.html create mode 100644 docs/_includes/inline_image.html create mode 100644 docs/_includes/links.html create mode 100644 docs/_includes/note.html create mode 100644 docs/_includes/sidebar.html create mode 100644 docs/_includes/taglogic.html create mode 100644 docs/_includes/tip.html create mode 100644 docs/_includes/toc.html create mode 100644 docs/_includes/topnav.html create mode 100644 docs/_includes/warning.html create mode 100644 docs/_layouts/default.html create mode 100644 docs/_layouts/default_print.html create mode 100644 docs/_layouts/none.html create mode 100644 docs/_layouts/page.html create mode 100644 docs/_layouts/page_print.html create mode 100644 docs/_layouts/post.html create mode 100644 docs/_posts/2015-04-12-test-post-last-year.md create mode 100644 docs/_posts/2016-02-24-first-post.md create mode 100644 docs/_posts/2016-02-26-sample-post-jekyll.md create mode 100644 docs/_site/404.html create mode 100644 docs/_site/Dockerfile create mode 100644 docs/_site/Gemfile create mode 100644 docs/_site/Gemfile.lock create mode 100644 docs/_site/LICENSE create mode 100644 docs/_site/LICENSE-BSD-NAVGOCO.txt create mode 100644 docs/_site/assets/css/style.css create mode 100755 docs/_site/build.sh create mode 100644 docs/_site/createtag create mode 100755 docs/_site/css/bootstrap.min.css create mode 100644 docs/_site/css/boxshadowproperties.css create mode 100644 docs/_site/css/customstyles.css create mode 100644 docs/_site/css/font-awesome.min.css create mode 100644 docs/_site/css/fonts/FontAwesome.otf create mode 100644 docs/_site/css/fonts/fontawesome-webfont.eot create mode 100644 docs/_site/css/fonts/fontawesome-webfont.svg create mode 100644 docs/_site/css/fonts/fontawesome-webfont.ttf create mode 100644 docs/_site/css/fonts/fontawesome-webfont.woff create mode 100644 docs/_site/css/fonts/fontawesome-webfont.woff2 create mode 100755 docs/_site/css/modern-business.css create mode 100644 docs/_site/css/printstyles.css create mode 100644 docs/_site/css/syntax.css create mode 100644 docs/_site/css/theme-blue.css create mode 100644 docs/_site/css/theme-green.css create mode 100644 docs/_site/docker-compose.yml create mode 100644 docs/_site/feed.xml create mode 100644 docs/_site/fonts/FontAwesome.otf create mode 100644 docs/_site/fonts/fontawesome-webfont.eot create mode 100644 docs/_site/fonts/fontawesome-webfont.svg create mode 100644 docs/_site/fonts/fontawesome-webfont.ttf create mode 100644 docs/_site/fonts/fontawesome-webfont.woff create mode 100644 docs/_site/fonts/glyphicons-halflings-regular.eot create mode 100644 docs/_site/fonts/glyphicons-halflings-regular.svg create mode 100644 docs/_site/fonts/glyphicons-halflings-regular.ttf create mode 100644 docs/_site/fonts/glyphicons-halflings-regular.woff create mode 100644 docs/_site/fonts/glyphicons-halflings-regular.woff2 create mode 100644 docs/_site/images/androidsdkmanagericon.png create mode 100644 docs/_site/images/authorizegithubscreen2.png create mode 100644 docs/_site/images/authorizeongithub.png create mode 100644 docs/_site/images/company_logo.png create mode 100644 docs/_site/images/company_logo_big.png create mode 100644 docs/_site/images/favicon.ico create mode 100644 docs/_site/images/helpapi-01.png create mode 100644 docs/_site/images/helpapi.svg create mode 100644 docs/_site/images/illustratoroptions.png create mode 100644 docs/_site/images/itermexample.png create mode 100644 docs/_site/images/jekyll.png create mode 100644 docs/_site/images/killalljekyll.png create mode 100644 docs/_site/images/liningup.png create mode 100644 docs/_site/images/workflowarrow.png create mode 100644 docs/_site/index.html create mode 100644 docs/_site/js/customscripts.js create mode 100644 docs/_site/js/jekyll-search.js create mode 100644 docs/_site/js/jquery.ba-throttle-debounce.min.js create mode 100755 docs/_site/js/jquery.navgoco.min.js create mode 100644 docs/_site/js/jquery.shuffle.min.js create mode 100644 docs/_site/js/toc.js create mode 100644 docs/_site/mydoc_algorithm_input.html create mode 100644 docs/_site/mydoc_faq_layout.html create mode 100644 docs/_site/mydoc_firmware.html create mode 100644 docs/_site/mydoc_getting_started.html create mode 100644 docs/_site/mydoc_infrastructure.html create mode 100644 docs/_site/mydoc_shuffle.html create mode 100644 docs/_site/myupdate.html create mode 100644 docs/_site/pdf-all.sh create mode 100644 docs/_site/pdf-mydoc.sh create mode 100644 docs/_site/pdf-product1.sh create mode 100644 docs/_site/pdf-product2.sh create mode 100644 docs/_site/pdfconfigs/config_mydoc_pdf.yml create mode 100644 docs/_site/pdfconfigs/config_product1_pdf.yml create mode 100644 docs/_site/pdfconfigs/config_product2_pdf.yml create mode 100644 docs/_site/pdfconfigs/prince-list.txt create mode 100644 docs/_site/samplepost.html create mode 100644 docs/_site/search.json create mode 100644 docs/_site/sitemap.xml create mode 100644 docs/_site/tag_collaboration.html create mode 100644 docs/_site/tag_content_types.html create mode 100644 docs/_site/tag_formatting.html create mode 100644 docs/_site/tag_getting_started.html create mode 100644 docs/_site/tag_mobile.html create mode 100644 docs/_site/tag_navigation.html create mode 100644 docs/_site/tag_news.html create mode 100644 docs/_site/tag_publishing.html create mode 100644 docs/_site/tag_single_sourcing.html create mode 100644 docs/_site/tag_special_layouts.html create mode 100644 docs/_site/tag_troubleshooting.html create mode 100644 docs/_site/test-post-from-last-year.html create mode 100644 docs/_site/titlepage.html/index.html create mode 100644 docs/_site/tocpage.html/index.html create mode 100644 docs/_site/tooltips.html create mode 100644 docs/_site/tooltips.json create mode 100755 docs/_site/update.sh create mode 100644 docs/_site/var/build.sh create mode 100755 docs/_site/watch.sh create mode 100644 docs/_tooltips/baseball.html create mode 100644 docs/_tooltips/basketball.html create mode 100644 docs/_tooltips/football.html create mode 100644 docs/_tooltips/soccer.html create mode 100755 docs/build.sh create mode 100644 docs/createtag create mode 100755 docs/css/bootstrap.min.css create mode 100644 docs/css/boxshadowproperties.css create mode 100644 docs/css/customstyles.css create mode 100644 docs/css/font-awesome.min.css create mode 100644 docs/css/fonts/FontAwesome.otf create mode 100644 docs/css/fonts/fontawesome-webfont.eot create mode 100644 docs/css/fonts/fontawesome-webfont.svg create mode 100644 docs/css/fonts/fontawesome-webfont.ttf create mode 100644 docs/css/fonts/fontawesome-webfont.woff create mode 100644 docs/css/fonts/fontawesome-webfont.woff2 create mode 100755 docs/css/modern-business.css create mode 100644 docs/css/printstyles.css create mode 100644 docs/css/syntax.css create mode 100644 docs/css/theme-blue.css create mode 100644 docs/css/theme-green.css create mode 100644 docs/docker-compose.yml create mode 100644 docs/feed.xml create mode 100644 docs/fonts/FontAwesome.otf create mode 100644 docs/fonts/fontawesome-webfont.eot create mode 100644 docs/fonts/fontawesome-webfont.svg create mode 100644 docs/fonts/fontawesome-webfont.ttf create mode 100644 docs/fonts/fontawesome-webfont.woff create mode 100644 docs/fonts/glyphicons-halflings-regular.eot create mode 100644 docs/fonts/glyphicons-halflings-regular.svg create mode 100644 docs/fonts/glyphicons-halflings-regular.ttf create mode 100644 docs/fonts/glyphicons-halflings-regular.woff create mode 100644 docs/fonts/glyphicons-halflings-regular.woff2 create mode 100644 docs/images/androidsdkmanagericon.png create mode 100644 docs/images/authorizegithubscreen2.png create mode 100644 docs/images/authorizeongithub.png create mode 100644 docs/images/company_logo.png create mode 100644 docs/images/company_logo_big.png create mode 100644 docs/images/favicon.ico create mode 100644 docs/images/helpapi-01.png create mode 100644 docs/images/helpapi.svg create mode 100644 docs/images/illustratoroptions.png create mode 100644 docs/images/itermexample.png create mode 100644 docs/images/jekyll.png create mode 100644 docs/images/killalljekyll.png create mode 100644 docs/images/liningup.png create mode 100644 docs/images/workflowarrow.png create mode 100644 docs/index.md create mode 100644 docs/js/customscripts.js create mode 100644 docs/js/jekyll-search.js create mode 100644 docs/js/jquery.ba-throttle-debounce.min.js create mode 100755 docs/js/jquery.navgoco.min.js create mode 100644 docs/js/jquery.shuffle.min.js create mode 100644 docs/js/toc.js rename docs/{ => pages/colosseum}/CHANGELOG.md (100%) rename docs/{ => pages/colosseum}/CONTRIBUTING.md (93%) rename docs/{ => pages/colosseum}/InfraredCamera.md (100%) rename docs/{ => pages/colosseum}/SUPPORT.md (100%) rename docs/{ => pages/colosseum}/Unity.md (100%) rename docs/{ => pages/colosseum}/adding_new_apis.md (100%) rename docs/{ => pages/colosseum}/airsim_ros_pkgs.md (100%) rename docs/{ => pages/colosseum}/airsim_tutorial_pkgs.md (100%) rename docs/{ => pages/colosseum}/apis.md (100%) rename docs/{ => pages/colosseum}/apis_cpp.md (100%) rename docs/{ => pages/colosseum}/azure.md (100%) rename docs/{ => pages/colosseum}/build_faq.md (100%) rename docs/{ => pages/colosseum}/build_linux.md (100%) rename docs/{ => pages/colosseum}/build_macos.md (100%) rename docs/{ => pages/colosseum}/build_windows.md (100%) rename docs/{ => pages/colosseum}/camera_views.md (100%) rename docs/{ => pages/colosseum}/cmake_linux.md (100%) rename docs/{ => pages/colosseum}/code_structure.md (100%) rename docs/{ => pages/colosseum}/coding_guidelines.md (100%) create mode 100644 docs/pages/colosseum/colosseum_getting_started.md rename docs/{ => pages/colosseum}/create_issue.md (100%) rename docs/{ => pages/colosseum}/custom_drone.md (100%) rename docs/{ => pages/colosseum}/custom_unity_environments.md (100%) rename docs/{ => pages/colosseum}/design.md (100%) rename docs/{ => pages/colosseum}/dev_workflow.md (100%) rename docs/{ => pages/colosseum}/distance_sensor.md (100%) rename docs/{ => pages/colosseum}/docker_ubuntu.md (100%) rename docs/{ => pages/colosseum}/drone_survey.md (100%) rename docs/{ => pages/colosseum}/event_sim.md (100%) rename docs/{ => pages/colosseum}/faq.md (100%) rename docs/{ => pages/colosseum}/flight_controller.md (100%) rename docs/{ => pages/colosseum}/gazebo_drone.md (100%) rename docs/{ => pages/colosseum}/hard_drive.md (100%) rename docs/{ => pages/colosseum}/hello_drone.md (100%) rename docs/{ => pages/colosseum}/image_apis.md (100%) rename docs/{ => pages/colosseum}/lidar.md (100%) rename docs/{ => pages/colosseum}/log_viewer.md (100%) rename docs/{ => pages/colosseum}/mavlinkcom.md (100%) rename docs/{ => pages/colosseum}/mavlinkcom_mocap.md (100%) rename docs/{ => pages/colosseum}/meshes.md (100%) rename docs/{ => pages/colosseum}/modify_recording_data.md (100%) rename docs/{ => pages/colosseum}/multi_vehicle.md (100%) rename docs/{ => pages/colosseum}/object_detection.md (100%) rename docs/{ => pages/colosseum}/orbit.md (100%) rename docs/{ => pages/colosseum}/pfm.md (100%) rename docs/{ => pages/colosseum}/playback.md (100%) rename docs/{ => pages/colosseum}/point_clouds.md (100%) rename docs/{ => pages/colosseum}/px4_build.md (100%) rename docs/{ => pages/colosseum}/px4_lockstep.md (100%) rename docs/{ => pages/colosseum}/px4_logging.md (100%) rename docs/{ => pages/colosseum}/px4_multi_vehicle.md (100%) rename docs/{ => pages/colosseum}/px4_setup.md (100%) rename docs/{ => pages/colosseum}/px4_sitl.md (100%) rename docs/{ => pages/colosseum}/px4_sitl_wsl2.md (100%) rename docs/{ => pages/colosseum}/reinforcement_learning.md (100%) rename docs/{ => pages/colosseum}/remote_control.md (100%) rename docs/{ => pages/colosseum}/retexturing.md (100%) rename docs/{ => pages/colosseum}/sensors.md (100%) rename docs/{ => pages/colosseum}/settings.md (100%) rename docs/{ => pages/colosseum}/simple_flight.md (100%) rename docs/{ => pages/colosseum}/steering_wheel_installation.md (100%) rename docs/{ => pages/colosseum}/unity_api_support.md (100%) rename docs/{ => pages/colosseum}/unreal_blocks.md (100%) rename docs/{ => pages/colosseum}/unreal_custenv.md (100%) rename docs/{ => pages/colosseum}/unreal_proj.md (100%) rename docs/{ => pages/colosseum}/unreal_upgrade.md (100%) rename docs/{ => pages/colosseum}/upgrade_apis.md (100%) rename docs/{ => pages/colosseum}/upgrade_settings.md (100%) rename docs/{ => pages/colosseum}/use_precompiled.md (100%) rename docs/{ => pages/colosseum}/using_car.md (100%) rename docs/{ => pages/colosseum}/voxel_grid.md (100%) rename docs/{ => pages/colosseum}/who_is_using.md (100%) rename docs/{ => pages/colosseum}/working_with_plugin_contents.md (100%) rename docs/{ => pages/colosseum}/xbox_controller.md (100%) create mode 100644 docs/pdf-all.sh create mode 100644 docs/pdf-mydoc.sh create mode 100644 docs/pdf-product1.sh create mode 100644 docs/pdf-product2.sh create mode 100644 docs/pdfconfigs/config_mydoc_pdf.yml create mode 100644 docs/pdfconfigs/config_product1_pdf.yml create mode 100644 docs/pdfconfigs/config_product2_pdf.yml create mode 100644 docs/pdfconfigs/prince-list.txt create mode 100644 docs/pdfconfigs/titlepage.html create mode 100644 docs/pdfconfigs/tocpage.html create mode 100644 docs/search.json create mode 100644 docs/sitemap.xml create mode 100644 docs/tooltips.html create mode 100644 docs/tooltips.json create mode 100755 docs/update.sh create mode 100644 docs/var/build.sh create mode 100755 docs/watch.sh diff --git a/docs/404.md b/docs/404.md new file mode 100644 index 000000000..a7b58c002 --- /dev/null +++ b/docs/404.md @@ -0,0 +1,6 @@ +--- +title: "Page Not Found" +search: exclude +--- + +Sorry, but the page you were trying to view does not exist. Try searching for it or looking at the URL to see if it looks correct. diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 000000000..7eed201a6 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,14 @@ +FROM jekyll/builder + +WORKDIR /tmp +ADD Gemfile /tmp/ +ADD Gemfile.lock /tmp/ +RUN bundle install + +FROM jekyll/jekyll + +VOLUME /src +EXPOSE 4000 + +WORKDIR /src +ENTRYPOINT ["jekyll", "serve", "--livereload", "-H", "0.0.0.0"] diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 000000000..515633aa3 --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,7 @@ +source "https://rubygems.org" + +# to publish on github page +gem 'github-pages', group: :jekyll_plugins + +# to publich without github page +#gem "jekyll" diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 000000000..0946aa3e4 --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,273 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.0.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + zeitwerk (~> 2.2, >= 2.2.2) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.9) + dnsruby (1.61.7) + simpleidn (~> 0.1) + em-websocket (0.5.2) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.14.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.8.1) + faraday (1.4.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.1.0) + ffi (1.15.3) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (215) + github-pages-health-check (= 1.17.2) + jekyll (= 3.9.0) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.6) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.7.1) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.2) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.4) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.1) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.3) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.10.4, < 2.0) + rouge (= 3.26.0) + terminal-table (~> 1.4) + github-pages-health-check (1.17.2) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (>= 2.0.2, < 5.0) + typhoeus (~> 1.3) + html-pipeline (2.14.0) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.9.0) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.6) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1.2) + rouge (>= 2.0, < 4.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.2) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.4) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.1) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.5.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + mini_portile2 (2.8.0) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.14.4) + multipart-post (2.1.1) + nokogiri (1.13.6) + mini_portile2 (~> 2.8.0) + racc (~> 1.4) + octokit (4.21.0) + faraday (>= 0.9) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.6) + racc (1.6.0) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (3.26.0) + ruby-enum (0.9.0) + i18n + ruby2_keywords (0.0.4) + rubyzip (2.3.0) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.4.0) + ethon (>= 0.9.0) + tzinfo (1.2.9) + thread_safe (~> 0.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + zeitwerk (2.4.2) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + +BUNDLED WITH + 2.1.4 diff --git a/docs/LICENSE b/docs/LICENSE new file mode 100644 index 000000000..573599c4b --- /dev/null +++ b/docs/LICENSE @@ -0,0 +1,13 @@ +Copyright 2021 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/docs/LICENSE-BSD-NAVGOCO.txt b/docs/LICENSE-BSD-NAVGOCO.txt new file mode 100644 index 000000000..7fdefc390 --- /dev/null +++ b/docs/LICENSE-BSD-NAVGOCO.txt @@ -0,0 +1,27 @@ +/* This license pertains to the Navgoco jQuery component used for the sidebar. */ + +Copyright (c) 2013, Christodoulos Tsoulloftas, http://www.komposta.net +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/docs/_config.yml b/docs/_config.yml index c4192631f..4e6814801 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1 +1,115 @@ -theme: jekyll-theme-cayman \ No newline at end of file + +repository: CodexLabsLLC/Colosseum + +output: web +# this property is useful for conditional filtering of content that is separate from the PDF. + +topnav_title: Colosseum +# this appears on the top navigation bar next to the home button + +site_title: Colosseum Documentation +# this appears in the html browser tab for the site title (seen mostly by search engines, not users) + +company_name: Copyright 2022. Codex Laboratories LLC +# this appears in the footer + +github_editme_path: +# if you're using Github, provide the basepath to the branch you've created for reviews, following the sample here. if not, leave this value blank. + +# gitlab_editme_path: tomjoht/documentation-theme-jekyll/blob/gh-pages/ +# if you're using GitLab, provide the basepath to the branch you've created for reviews, following the sample here. if not, leave this value blank. + +google_analytics: +# if you have google-analytics ID, put it in. if not, edit this value to blank. + +host: 127.0.0.1 +# the preview server used. Leave as is. + +port: 4000 +# the port where the preview is rendered. You can leave this as is unless you have other Jekyll builds using this same port that might cause conflicts. in that case, use another port such as 4006. + +exclude: + - .idea/ + - .gitignore + - vendor +# these are the files and directories that jekyll will exclude from the build + +feedback_subject_line: Colosseum + +feedback_email: tylerfedrizzi@codex-labs-llc.com +# used as a contact email for the Feedback link in the top navigation bar + +# feedback_disable: true +# if you uncomment the previous line, the Feedback link gets removed + +# feedback_text: "Need help?" +# if you uncomment the previous line, it changes the Feedback text + +# feedback_link: "http://helpy.io/" +# if you uncomment the previous line, it changes where the feedback link points to + +highlighter: rouge +# library used for syntax highlighting + +markdown: kramdown +kramdown: + input: GFM + auto_ids: true + hard_wrap: false + syntax_highlighter: rouge + +# filter used to process markdown. note that kramdown differs from github-flavored markdown in some subtle ways + +collections: + tooltips: + output: false +# collections are declared here. this renders the content in _tooltips and processes it, but doesn't output it as actual files in the output unless you change output to true + +defaults: + - + scope: + path: "" + type: "pages" + values: + layout: "page" + comments: false + # if you don't want to use Commento.io and just hide comments, change true to false wherever you see the comments property + search: true + sidebar: home_sidebar + topnav: topnav + - + scope: + path: "" + type: "tooltips" + values: + layout: "page" + search: true + tooltip: true + + - + scope: + path: "" + type: "posts" + values: + layout: "post" + comments: false + # if you don't want to use Commento.io and just hide comments, change true to false wherever you see the comments property + search: true + sidebar: home_sidebar + topnav: topnav + +# these are defaults used for the frontmatter for these file types + +sidebars: +- colosseum_sidebar +- other + +description: "Intended as a documentation theme based on Jekyll for technical writers documenting software and other technical products, this theme has all the elements you would need to handle multiple products with both multi-level sidebar navigation, tags, and other documentation features." +# the description is used in the feed.xml file + +# needed for sitemap.xml file only +# url: http://idratherbewriting.com +# baseurl: /documentation-theme-jekyll + + +github: [metadata] diff --git a/docs/_data/alerts.yml b/docs/_data/alerts.yml new file mode 100644 index 000000000..7dfa163f0 --- /dev/null +++ b/docs/_data/alerts.yml @@ -0,0 +1,18 @@ +tip: '