GithubHelp home page GithubHelp logo

mindvortex's Introduction

Welcome to Patrick's corner

I've been a software engineer for 15 years. I've worked in a range of industries, from emergency services to the cinema, and on projects where software shipped directly customers or to internal development teams.

I'm interested in designing and building autonomous mobile robots with four-wheel independent steering (also known as a swerve drive). The prototype has ROS2 code for robot description, the Gazebo world and the steering controller. I've also contributed a significant amount of the ROS code for the SCUTTLE robot.

Other interests include:

  • All kinds of autonomous mobile robots
  • Electronics
  • Computer Aided Design (Rhino3d, Fusion360, AutoCAD)
  • Rock climbing
  • Gardening
  • Woodworking

Latest

Github stats

Patrick's Github stats Patrick's most used languages

mindvortex's People

Contributors

daveaglick avatar pvandervelde avatar

Watchers

 avatar  avatar

mindvortex's Issues

Improve commenting approach

It would be nice if comments could be handled through pull requests or via email etc. That way we could remove the dependency on github accounts for people to comment (make it easier to comment).

Things to think about:

  • Users will need some kind of URL to identify themselves with. Anonymous comments suck and shouldn't be allowed
  • Filtering spam

Ros1 nav vs Ros2 nav

Write a blog post about how Ros1 navigation compares to Ros2 navigation. And mostly about why you'd want to go to Ros2

Sort out trace / ping backs

We should figure out how trace-backs or ping-backs work so that we can add them to the blog and so that we can send those out to other blogs.

Maybe we can use Discourse. There is a way to embed it.

Configuring Scuttle to work with ROS

Describe how we got ROS to run on physical scuttle

  • Installation of ROS on Rpi 4
  • Running as daemon
  • Dealing with logs
  • Metrics coming back from the robot

things we want to eventually figure out

  • Updates of the ROS packages. Ideally we can just build them on a computer and then push them to the robot

Trust in software teams

Describe what I think affects trust in technical teams and how actions of management influence this

Sherlock: Architecture - High level

Describe the architecture of sherlock on a high level:

  • What parts are there; Master service, Executor service, console, web api, executor etc.
  • Why is Sherlock split over different applications
  • Why do we have the service and then the update system
  • Overview of posts that will be written about the sub systems

Sherlock: Architecture - Registering tests

Describe the internal work flow + architecture of the console application and the web service.

  • What is in the configuration file and how to we read it (version tolerance)
  • Which steps are taken to register a test

Ros navigation - Simulation

Write a post about using ROS navigation with scuttle in Gazebo

  • Mapping
  • Global and local planner
  • Odometry drift
  • DWA issues

Exportable linux virtual hard drives for Hyper-V

Due to the fact that Gen 2 Hyper-V virtual machines use UEFI a fair amount of searching needs to be done in order to get an Ubuntu preseed file that does the right thing. Unfortunately, the Ubuntu installer normally installs the UEFI files in the wrong location.

Security for build servers

Write a post on how to do basic security for build servers and what the considerations are.

  • What are you trying to protect from
  • What are the potential threat vectors

Creating a windows 2016 base image with Packer on Hyper-V

Describe all the steps we took to make it work. And the steps taken to verify the base image too. This might be multiple posts.

Steps we are taking in the unattend:

  • Create disks. Because we are installing as Gen 2 VM (and thus UEFI) we need 3 disks (EFI, MSR and Primary)
  • OS image to install is either Windows 2016 DATACENTER or DATACENTERCORE
  • Set product key to be the AVMA key so that the final machine will be activated against the Hyper-V server (which is running on datacenter

Items to remember:

  • The windows 2016 ISO assumes manual installation, i.e. somebody is available to click buttons, and so it expects somebody to press a button to continue installation. That's not helpful for unattended installations. In order to fix this you need to unpack the ISO and change the cdboot.efi -> cdboot_prompt.efi and change efisys.bin to efisys_prompt.bin, and then rename the other versions of those files to cdboot.efi and efisys.bin. For more details see here: http://allandynes.com/2015/09/generation-2-hyperv-hosts-and-iso-files/ and here: https://blogs.technet.microsoft.com/jhoward/2013/11/11/hyper-v-generation-2-virtual-machines-part-9/
  • Using the hyperv-iso builder. This works quite well actually.
  • Packer doesn't handle sysprep -shutdown very well. Actually it doesn't handle it at all. So have to do all the work and then let packer force shut down the machine
  • Packer needs WinRM to be able to interact with the machine, however that doesn't deal with reboots (windows updates anybody) so have to do the updates before we enable WinRM. In the unattend file we can disable WinRM, and then enable after all the updates have been installed.
  • Windows updates are slow. Ideally we'd create a VHD and then bake most of the updates into the VHD before even starting the VM, but we can't do that with the current version of Packer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.