kandi background
Explore Kits

OpenBot | OpenBot leverages smartphones as brains for low-cost robots | Robotics library

 by   isl-org Java Version: v0.5.0 License: MIT

 by   isl-org Java Version: v0.5.0 License: MIT

Download this library from

kandi X-RAY | OpenBot Summary

OpenBot is a Java library typically used in Automation, Robotics, Arduino applications. OpenBot has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. However OpenBot build file is not available. You can download it from GitHub.
OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for Android smartphones supports advanced robotics workloads such as person following and real-time autonomous navigation.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • OpenBot has a medium active ecosystem.
  • It has 2104 star(s) with 375 fork(s). There are 137 watchers for this library.
  • There were 1 major release(s) in the last 12 months.
  • There are 8 open issues and 114 have been closed. On average issues are closed in 33 days. There are 4 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of OpenBot is v0.5.0
OpenBot Support
Best in #Robotics
Average in #Robotics
OpenBot Support
Best in #Robotics
Average in #Robotics

quality kandi Quality

  • OpenBot has 0 bugs and 0 code smells.
OpenBot Quality
Best in #Robotics
Average in #Robotics
OpenBot Quality
Best in #Robotics
Average in #Robotics

securitySecurity

  • OpenBot has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • OpenBot code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.
OpenBot Security
Best in #Robotics
Average in #Robotics
OpenBot Security
Best in #Robotics
Average in #Robotics

license License

  • OpenBot is licensed under the MIT License. This license is Permissive.
  • Permissive licenses have the least restrictions, and you can use them in most projects.
OpenBot License
Best in #Robotics
Average in #Robotics
OpenBot License
Best in #Robotics
Average in #Robotics

buildReuse

  • OpenBot releases are available to install and integrate.
  • OpenBot has no build file. You will be need to create the build yourself to build the component from source.
  • Installation instructions, examples and code snippets are available.
OpenBot Reuse
Best in #Robotics
Average in #Robotics
OpenBot Reuse
Best in #Robotics
Average in #Robotics
Top functions reviewed by kandi - BETA

kandi has reviewed OpenBot and discovered the below as its top functions. This is intended to give you an instant insight into OpenBot implemented functionality, and help decide if they suit your requirements.

  • Checks if the given permissions are granted .
    • Start the application .
      • Initializes the preference s preferences .
        • Processes the image .
          • Create a peer connection .
            • Dispatch controller events
              • Invoked when the view is created .
                • Gets the categories .
                  • Initializes the camera preview .
                    • Calculate a transformation matrix for an image .

                      Get all kandi verified functions for this library.

                      Get all kandi verified functions for this library.

                      OpenBot Key Features

                      OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for Android smartphones supports advanced robotics workloads such as person following and real-time autonomous navigation.

                      OpenBot Examples and Code Snippets

                      See all related Code Snippets

                      Get the source code

                      copy iconCopydownload iconDownload
                      git clone https://github.com/intel-isl/OpenBot.git
                      

                      Citation

                      copy iconCopydownload iconDownload
                      @inproceedings{mueller2021openbot,
                          title     = {OpenBot: Turning Smartphones into Robots},
                          author    = {M{\"u}ller, Matthias and Koltun, Vladlen},
                          booktitle = {Proceedings of the International Conference on Robotics and Automation (ICRA)},
                          year = {2021},
                      }
                      

                      C# Custom Action not able to locate appsettings.json file during Wix install

                      copy iconCopydownload iconDownload
                      var filePaths = Directory.GetFiles(@"c:\Program Files (x86)\OpenBotServer\", "*.json");
                      

                      See all related Code Snippets

                      Community Discussions

                      Trending Discussions on OpenBot
                      • C# Custom Action not able to locate appsettings.json file during Wix install
                      Trending Discussions on OpenBot

                      QUESTION

                      C# Custom Action not able to locate appsettings.json file during Wix install

                      Asked 2020-Nov-10 at 13:46

                      I created a Wix installer for my web app and am running into an issue when attempting to replace a value in my appsettings.json file (with info that I am getting from the user in a custom dialog I created). The info is getting passed perfectly form my dialog to my custom action. Then it fails and throws an error. Below, I am going to post the error I am getting, the .wixproj file for the installer project, the Produxt.wxs file in the installer project, and most important the CustomAction class from my custom action project. The problem is that I have no idea how to programatically identify the correct file path of the appsettings.json file during the installation process. I am quite lost and could really use some help... Thank you.

                      Error (being thrown on 2nd line of AddOrUpdateAppSetting method in CustomActions.cs)

                      ex = {"Could not find file 'C:\\Users\\DeanFriedland\\AppData\\Local\\Temp\\MSI8E19.tmp-\\appSettings.json'.":"C:\\Users\\DeanFriedland\\AppData\\Local\\Temp\\MSI8E19.tmp-\\appSettings.json"}
                      

                      .wixproj

                      <?xml version="1.0" encoding="utf-8"?>
                      <Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
                        <PropertyGroup>
                          <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
                          <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
                          <ProductVersion>3.10</ProductVersion>
                          <ProjectGuid>79a05790-9945-41e3-888d-01b39ed87514</ProjectGuid>
                          <SchemaVersion>2.0</SchemaVersion>
                          <OutputName>OpenBotInstaller-$(Configuration)-$(Platform)</OutputName>
                          <OutputType>Package</OutputType>
                          <Cultures>;</Cultures>
                        </PropertyGroup>
                        <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
                          <OutputPath>bin\$(Configuration)\</OutputPath>
                          <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
                          <DefineConstants>Debug</DefineConstants>
                        </PropertyGroup>
                        <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
                          <OutputPath>bin\$(Configuration)\</OutputPath>
                          <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
                        </PropertyGroup>
                        <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
                          <OutputPath>bin\$(Configuration)\</OutputPath>
                          <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
                          <DefineConstants>Debug</DefineConstants>
                        </PropertyGroup>
                        <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
                          <OutputPath>bin\$(Configuration)\</OutputPath>
                          <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
                        </PropertyGroup>
                        <ItemGroup>
                          <Compile Include="Components.wxs" />
                          <Compile Include="ComponentsGenerated.wxs" />
                          <Compile Include="DatabaseConfigDialog.wxs" />
                          <Compile Include="Directories.wxs" />
                          <Compile Include="Product.wxs" />
                        </ItemGroup>
                        <ItemGroup>
                          <EmbeddedResource Include="Common.wxl" />
                        </ItemGroup>
                        <ItemGroup>
                          <ProjectReference Include="..\InstallerCustomAction\InstallerCustomAction.csproj">
                            <Name>InstallerCustomAction</Name>
                            <Project>{81128cc3-071e-4926-8a8c-1b9ac52272d6}</Project>
                            <Private>True</Private>
                            <DoNotHarvest>True</DoNotHarvest>
                            <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
                            <RefTargetDir>INSTALLFOLDER</RefTargetDir>
                          </ProjectReference>
                          <ProjectReference Include="..\OpenBots.Server.Web\OpenBots.Server.Web.csproj">
                            <Name>OpenBots.Server.Web</Name>
                            <Project>{9ca5640a-4894-497f-b89e-1c28bcee22cf}</Project>
                            <Private>True</Private>
                            <DoNotHarvest>True</DoNotHarvest>
                            <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
                            <RefTargetDir>INSTALLFOLDER</RefTargetDir>
                          </ProjectReference>
                        </ItemGroup>
                        <ItemGroup>
                          <WixExtension Include="WixUIExtension">
                            <HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
                            <Name>WixUIExtension</Name>
                          </WixExtension>
                        </ItemGroup>
                        <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
                        <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
                        <Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
                          <Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
                        </Target>
                        <Target Name="BeforeBuild">
                          <!-- Clean previous build folder -->
                          <Exec Command="rd /s /q ..\OpenBots.Server.Web\bin\$(Configuration)\netcoreapp3.1\win-$(Platform)" />
                          <!-- Publish dotnet core app -->
                          <Exec Command="dotnet publish ..\OpenBots.Server.Web\OpenBots.Server.Web.csproj -c $(Configuration) -r win-$(Platform)" />
                          <!-- Get assembly version -->
                          <GetAssemblyIdentity AssemblyFiles="..\OpenBots.Server.Web\bin\$(Configuration)\netcoreapp3.1\win-$(Platform)\OpenBots.Server.Web.dll">
                            <Output TaskParameter="Assemblies" ItemName="AssemblyVersion" />
                          </GetAssemblyIdentity>
                          <!-- Define some variables we need -->
                          <PropertyGroup>
                            <DefineConstants>BuildVersion=%(AssemblyVersion.Version);BasePath=..\OpenBots.Server.Web\bin\$(Configuration)\netcoreapp3.1\win-$(Platform)\publish</DefineConstants>
                          </PropertyGroup>
                          <!-- Harvest file components from publish folder -->
                          <HeatDirectory OutputFile="ComponentsGenerated.wxs" DirectoryRefId="INSTALLFOLDER" ComponentGroupName="PublishedComponents" SuppressCom="true" Directory="..\OpenBots.Server.Web\bin\$(Configuration)\netcoreapp3.1\win-$(Platform)\publish" SuppressFragments="true" SuppressRegistry="true" SuppressRootDirectory="true" AutoGenerateGuids="false" GenerateGuidsNow="true" ToolPath="$(WixToolPath)" PreprocessorVariable="var.BasePath" />
                        </Target>
                        <Target Name="AfterBuild">
                          <!-- Get assembly version -->
                          <GetAssemblyIdentity AssemblyFiles="..\OpenBots.Server.Web\bin\$(Configuration)\netcoreapp3.1\win-$(Platform)\OpenBots.Server.Web.dll">
                            <Output TaskParameter="Assemblies" ItemName="AssemblyVersion" />
                          </GetAssemblyIdentity>
                          <!-- Rename and move final MSI -->
                          <Exec Command="if not exist Installs mkdir Installs" />
                          <Exec Command="move bin\$(Configuration)\$(OutputName).msi Installs\OpenBots-%(AssemblyVersion.Version)-$(Configuration)-$(Platform).msi" />
                        </Target>
                      </Project>
                      

                      Produxt.wxs

                      <?xml version="1.0" encoding="UTF-8"?>
                      <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
                      
                        <!-- Give product a unique ID per platform -->
                        <?if $(var.Platform)=x64 ?>
                        <?define ProductCode = "{51741540-BF67-4925-8624-6EF3859DD7E4}" ?>
                        <?else?>
                        <?define ProductCode = "{097B9DA2-EA62-4990-9012-B58AFB785634}" ?>
                        <?endif?>
                      
                        <!-- Fixed upgrade Id -->
                        <?define UpgradeCode = "{A0BCAB0C-23E8-414F-B9AA-D7B7304CE503}" ?>
                      
                        <?define BuildVersion = 1.0.0.0 ?>
                      
                        <Product Id="$(var.ProductCode)"
                                 Name="!(loc.ProductName_$(var.Platform))"
                                 Language="!(loc.Language)"
                                 Version="$(var.BuildVersion)"
                                 Manufacturer="!(loc.Company)"
                                 UpgradeCode="$(var.UpgradeCode)">
                      
                          <Package InstallerVersion="200"
                                   Compressed="yes"
                                   InstallScope="perMachine"
                                   Platform="$(var.Platform)"
                                   Manufacturer="!(loc.Company)"
                                   Languages="!(loc.Language)"
                                   />
                      
                          
                          <!-- Option 1 -->
                          <CustomAction Id="ConfigureDatabaseValues" BinaryKey="CustomActionBinary" DllEntry="ConfigureDatabaseValues"/>
                      
                          <Binary Id="CustomActionBinary" SourceFile="$(var.InstallerCustomAction.TargetDir)$(var.InstallerCustomAction.TargetName).CA.dll" />
                      
                          <InstallExecuteSequence>
                            <Custom Action="ConfigureDatabaseValues" Before="InstallFinalize"/>
                          </InstallExecuteSequence>
                      
                          
                          <!-- Option 2 -->
                          <!--<CustomAction Id="ConfigureDatabaseValues" BinaryKey="CustomActionBinary" DllEntry="ConfigureDatabaseValues" Execute="immediate" />
                          
                          <Binary Id="CustomActionBinary" SourceFile="$(var.InstallerCustomAction.TargetDir)$(var.InstallerCustomAction.TargetName).CA.dll" />
                          
                          <InstallExecuteSequence>
                            <Custom Action='ConfigureDatabaseValues' Before='InstallFinalize'>NOT Installed</Custom>
                          </InstallExecuteSequence>-->
                          
                      
                          <!-- Downgrade error message -->
                          <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeErrorMessage)" />
                      
                          <!-- Include .cab file into .msi file -->
                          <MediaTemplate
                            EmbedCab="yes"
                            />
                      
                          <!-- Define main app icon -->
                          <Icon Id="icon.ico" SourceFile="$(var.OpenBots.Server.Web.ProjectDir)\ClientApp\src\openBotsfavicon.ico" />
                      
                          <!-- Use the icon.ico icon for this installer (shows up in Add/Remove programs) -->
                          <Property Id="ARPPRODUCTICON">icon.ico</Property>
                          <!-- Help/Support website (shows in the Add/Remove programs) -->
                          <Property Id="ARPURLINFOABOUT">http://www.accelirate.com</Property>
                      
                          <!-- Create a basic UI for the installer -->
                          <UI Id="MyWixUI_Mondo">
                            <UIRef Id="WixUI_Mondo" />
                            <UIRef Id="WixUI_ErrorProgressText" />
                      
                            <DialogRef Id="DatabaseConfigDialog" />
                      
                            <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="DatabaseConfigDialog" Order="3">LicenseAccepted = "1"</Publish>
                            <Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="DatabaseConfigDialog">1</Publish>
                          </UI>
                          
                      
                          <!-- Change the installer UI background images -->
                          <WixVariable Id="WixUILicenseRtf" Value="$(var.ProjectDir)\Assets\License.rtf" />
                          <WixVariable Id="WixUIDialogBmp" Value="$(var.ProjectDir)\Assets\Background.bmp" />
                          <WixVariable Id="WixUIBannerBmp" Value="$(var.ProjectDir)\Assets\Banner.bmp" />
                      
                          <!-- Define components, shortcuts, files etc... for installer -->
                          <Feature Id="ProductFeature" Title="OpenBotInstaller" Level="1">
                            <ComponentGroupRef Id="ProductComponents" />
                            <ComponentGroupRef Id="PublishedComponents" />
                          </Feature>
                      
                        </Product>
                      
                      
                      
                      
                      </Wix>
                      

                      CustomActions.cs

                      using System;
                      using System.Collections.Generic;
                      using System.IO;
                      using System.Text;
                      using Microsoft.Deployment.WindowsInstaller;
                      using System.Diagnostics;
                      
                      
                      namespace InstallerCustomAction
                      {
                          public class CustomActions
                          {
                              [CustomAction]
                              public static ActionResult ConfigureDatabaseValues(Session session)
                              {
                                  try
                                  {
                                      Debugger.Launch();
                      
                                      session.Log("Begin Configuring database values in appsettings.json");
                      
                                      string connectionString = session["CONNECTIONSTRING"];
                                      string databaseEngine = session["CHOICE_WIN_SQL"];
                      
                      
                                      //replace the values in appsettings.json for DB Engine and connection string based on user input
                                      string dbEngineKey = "DbOption:UseSqlServer";
                                      var dbEngineValue = databaseEngine == "1" ? false : true;
                                      AddOrUpdateAppSetting(dbEngineKey, dbEngineValue);
                      
                                      session.Log("End appsettings.json configuration");
                      
                                      return ActionResult.Success;
                                  }
                                  catch (Exception)
                                  {
                                      return ActionResult.Failure;
                                  }            
                              }
                      
                              private static void AddOrUpdateAppSetting<T>(string key, T value)
                              {
                                  try
                                  {
                      
                                      var filePath = Path.Combine(AppContext.BaseDirectory, "appSettings.json");
                                      string json = File.ReadAllText(filePath);
                                      dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
                      
                                      var sectionPath = key.Split(':')[0];
                                      if (!string.IsNullOrEmpty(sectionPath))
                                      {
                                          var keyPath = key.Split(':')[1];
                                          jsonObj[sectionPath][keyPath] = value;
                                      }
                                      else
                                      {
                                          jsonObj[sectionPath] = value; // if no sectionpath just set the value
                                      }
                                      string output = Newtonsoft.Json.JsonConvert.SerializeObject(jsonObj, Newtonsoft.Json.Formatting.Indented);
                                      File.WriteAllText(filePath, output);
                      
                                  }
                                  catch (Exception ex)
                                  {
                                      throw ex;
                                  }
                              }
                          }
                      }
                      

                      ANSWER

                      Answered 2020-Aug-31 at 05:56

                      The answer was for me to find the path from the install folder like this:

                      var filePaths = Directory.GetFiles(@"c:\Program Files (x86)\OpenBotServer\", "*.json");
                      

                      Source https://stackoverflow.com/questions/63642804

                      Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                      Vulnerabilities

                      No vulnerabilities reported

                      Install OpenBot

                      Build your own Robot Body
                      Flash the Arduino Firmware
                      Install the Android Apps
                      Drive the robot via a Controller
                      Train your own Driving Policy

                      Support

                      Please read the contribution guidelines. If you are not sure where to start have a look at the open issues.

                      DOWNLOAD this Library from

                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
                      over 430 million Knowledge Items
                      Find more libraries
                      Reuse Solution Kits and Libraries Curated by Popular Use Cases
                      Explore Kits

                      Save this library and start creating your kit

                      Explore Related Topics

                      Share this Page

                      share link
                      Reuse Pre-built Kits with OpenBot
                      Consider Popular Robotics Libraries
                      Try Top Libraries by isl-org
                      Compare Robotics Libraries with Highest Support
                      Compare Robotics Libraries with Highest Quality
                      Compare Robotics Libraries with Highest Security
                      Compare Robotics Libraries with Permissive License
                      Compare Robotics Libraries with Highest Reuse
                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
                      over 430 million Knowledge Items
                      Find more libraries
                      Reuse Solution Kits and Libraries Curated by Popular Use Cases
                      Explore Kits

                      Save this library and start creating your kit

                      • © 2022 Open Weaver Inc.