In this post, we will model and simulate an Ouster OS-1-64 in Gazebo, ROS’s simulation environment. Simulating the sensor in Gazebo allows users to experiment with the OS-1 sensor without needing to purchase the physical unit. Users can determine the ideal placement and orientation of the sensor for their specific application and evaluate the sensor’s performance when integrated into their robotics software stack. This ensures a smoother integration process when the user purchases an OS-1 and begins using it in their real-world applications. This post will cover the following topics:
- Developing an accurate URDF model of the sensor
- Rendering the sensor model in RViz and Gazebo
- Using Gazebo Laser plugins
- Publishing PointCloud2 messages with the correct structure
This work assumes the user is running Ubuntu 18.04 with ROS Melodic and Gazebo 9 installed.
Ouster OS-1 Overview
The OS-1-64 is a multi-beam flash lidar developed by Ouster. The sensor comes in 16 and 64 laser version. It’s capable of running at 10 or 20Hz and covers a full 360˚ in each scan. For horizontal resolution, the sensor support 512, 1024, or 2048 operating modes. The sensor has a 1m minimum range and a 150m maximum range. Finally, the sensor has an IMU onboard. For more detailed specifications of the sensor, refer to the OS-1 Product Page.
I found the transition out of the Marines and into the technology sector to be more stressful than I anticipated. To navigate this undertaking, I depended heavily on my network of friends, family, and coworkers. While I relied on my existing network, I was most surprised by the graciousness and selflessness of the many veterans I ended up connecting with during this process who shared their perspective, experiences, and lessons learned.
I organized the notes based on when each resource would be of the most value, but feel free to adjust as needed. This is a fairly comprehensive list and was unique to my background and the opportunities I was seeking. Still, I think a lot of the resources apply broadly to anyone else in a similar transitioning position.
One Year Out
During this period, my goal was to better understand fundamental business contacts, expand my professional network, get current on industry trends and topics, and refine my resume.
- The Lean Startup: The Build-Measure-Learn cycle from Eric Ries will be familiar to military members who have studied John Boyd’s Observe-Orient-Decide-Act loop.
- The Personal MBA: A basic and fairly comprehensive overview of business topics by Josh Kaufman.
- Venture Deals: If you are interested in startups or investing in startups, this book by Brad Feld is a handy reference. My review is here.
- Good to Great: Identifies some common characteristics from successful companies independent of industry.
- The Founder’s Dilemma: The pitfalls described can be used to judge the quality of a startup opportunity.
- Books such as “The Everything Store”, “How Google Works”, “The Hard Thing About Hard Things”, and “Elon Musk” provide good insight into the culture at technology companies or startups.
- Tyler Matthews also compiled a transition to tech reading list that I referenced.
- I’ve also compiled a more comprehensive reading list which goes beyond entrepreneurship.
- Beyond the Uniform: Justin is a prior Navy veteran who interviews veterans of every rank, from every branch, and in every industry.
- This Week in Startups: jason discusses everything from current events, to investing strategies, to recorded sessions of startup pitch competitions.
- This Week in Tech: Leo Laporte hosts each week with a rotating panel of technology journalists covering the weeks current events.
- The Tim Ferris Show: Tim Ferriss interviews successful individuals to try to identify the habits and routines that made them successful.
- The Exponent Podcast: The hosts Ben Thompson and James Allworth provide provide detailed analysis and insight compared to typical news headlines and articles.
- The a16z Podcast: Members of Andreessen Horowitz host panel discussions discussing technology topics from a variety of different angles.
The “Project Management Foundations” course is one of many Project Management focused courses provided by Lynda.com. Lynda.com is an online learning platform which focuses mainly on software, creative, and business skills. LinkedIn offers a free 1 year Premium Subscription to veterans through their LinkedIn For Good program. This course is the first in a series of courses focused on Project Management.
I used this course as I was preparing to transition out of the U.S. Marine Corps and into a job in private industry. The majority of my job as an officer was to plan, execute, and assess operations. While the process was the same, I didn’t fully understand the lexicon of civilian project management nor some of the nuanced differences between running a military operation and a business project. This course helped me identify and understand the process and individuals involved so that I could better articulate my military experiences on my resume and in interviews while applying for project management related opportunities.
I thought this course was efficient in providing a high level overview of the key steps involved in project management. This course can also be used to prepare for the Project Management Professional certification which covers similar material. The process is broken down into the following steps, which I’ve summarized below.
1) Initiating a Project
This step focuses on identifying the key stakeholders (individuals or organizations who have a vested interest in the success or failure of the project), identifying the problem to solve, and specifying the broad level goals and objectives of the project. The goals and objectives are further broken down into requirements, deliverables, and success criteria. Risks and assumptions are identified as well as their potential impact. This step concludes with the development of a project charter and scope statement.
2) Planning a project
Once the team agrees on the purpose and scope of the project, a Work Breakdown Structure is developed. This document details the specific tasks that need to be accomplished as well as their estimated cost in people, time, and resources. They recommend breaking the tasks down into units that can be accomplished between status update meetings to ensure appropriate supervision of progress. The frequency of those status meetings is determined in the communications plan. Along with the communications plan, a budget, risk management, and quality management plan are developed. This is based off of a development plan which provides a timeline, identifies key dependencies between tasks, and outlines milestones. Lastly, since all plans will be modified as they are executed, a change management plan is created. This step ends when the project is approved.
Andy Grove was the former chairman and CEO of Intel. “High Output Management” is consistently listed on reading lists for business, management, and entrepreneurship. Andy gives his perspective on building and managing a company by focusing on effective management processes. The book is broken down into three core areas:
1) Managing is the Work of a Business Perused by Teams
Andy claims that the output of the manager is the output of the teams under the manager’s control. I found this interesting since I often heard it in the service. As a leader, I was primarily judged by what my team accomplished or failed to do. I was ultimately responsible. This is most evident to the public when an incident occurs on a Navy ship and the leadership is fired.
The author also recommends a manager have no more than 6-8 subordinates. I can empathize with wanting to keep team sizes small and manageable. At some point, there are diminishing returns when growing and scaling a team and more delegation of decision making authority might be necessary. In the Marine Corps, the magic number is 3. The smallest unit, a fireteam, has one leader and 3 subordinates. This scales all the way to the top where the Marine Corps maintains 3 Marine Divisions on active duty.
Andy also talks about achieving managerial leverage. In order to increase your managerial productivity you can speed up your rate of work by applying production principles (like lean principles for individual workflow) or re-prioritize your activities to focus on those with the higher leverage (looking for nonlinear activities where a small input to a team has a large output)
The book “Venture Deals” is co-authored by Brad Feld (from the Foundry Group and TechStars) and Jason Mendelson (also of the Foundry Group). Prefaced by the tag line “Be smarter than your lawyer and venture capitalist,” the book aims to provide a general overview to the venture capital fundraising process for startup founders and employees, lawyers, and other venture capitalists.
Overall, I enjoyed reading this book. I read this book coming from a fairly limited understanding of finance and the basics of venture capital fundraising so I felt this book provided a solid understanding of the key players, vocabulary, and issues while also serving as a good reference document for the future. The book is fairly short, including a fairly extensive Appendix with example documents such as terms sheets and letters of intent. It was a relatively quick read and I’m sure I will re-read specific sections, if not the entire thing, again in the future.
A significant portion of the book focuses on various aspects of the term sheet, while the remaining sections detail topics such as alternative fundraising options, venture capital fund operations, negotiating tactics, and basic legal guidance. The book gets fairly technical in some portions in order to reinforce key concepts with detailed examples, however, these details aren’t overwhelmingly complex. In addition to the author’s perspective on the fundraising process, they also added comments from Matt Blumberg, CEO of Return Path in separate text boxes called “The Entrepreneur’s Perspective.” These are pretty useful as a summary of the key points and have some valuable additional insight.
For the rest of this post, I’m just going to highlight some of the quotes or concepts I found interesting or relevant as I progressed through the book. Some commentary is added where I felt it was relevant, but a lot of the content can stand alone.
In September 2016, the USMC announced the the first Commandants Innovation Challenge, sponsored by Marine Corps Combat Development Command/Deputy Commandant Combat Development and Integration (MCCDC/CDI), and hosted by the Marine Corps Warfighting Lab/ Futures Directorate (MCWL/FD). The purpose of this challenge was to solicit innovative ideas from Marines, Sailors, and government civilians from across the Marine Corps. The most promising ideas will be selected for one of several possible pathways towards a potential fielded capability. Challenge winners will have the opportunity to directly partner with the Marine Corps Warfighting Laboratory to further develop their ideas into reality through, prototyping, experimentation, and possibly Marine Corps-wide fielding.
- Identify missions or tasks assigned to your unit that currently requires a Marine(s) to accomplish, and that could/should be replaced by a robotic or autonomous system. Missions or tasks that are prime candidates for autonomous solutions are typically dull, dirty, or dangerous in nature.
- Identify systems or technologies that will make you or fellow Marines more effective, efficient, or safer
This post follows the DRS120 Kit & Additional Components and DRS120 Hardware & Electronics Assembly posts. This post describes the steps necessary to install Cleanflight Configurator, flash the Betaflight firmware, and configure the flight controller software before operating the quadrotor.
DRS120 Flight Controller Configuration
After assembling the DRS120 FPV quadrotor, the next step is to install the autopilot software and calibrate the Remote Control. We will use the Cleanflight flight software to program the flight controller board.
Cleanflight is an community project that develops flight controller firmware and related tools. Cleanflight can be used on both multirotor and fixed-wing aircraft. The flight controller software is open source and is also a 32 bit version of the original 8 bit MultiWii software. Therefore, this software can fully leverage the 32 bit ST micro processor on the Micro Scisky flight controller board. Cleanflight consists of two primary pieces of software. The firmware is the code that runs on the flight controller board. Cleanflight also has a GUI configuration tool for updating the flight controller settings that runs on Windows, Linux, and OSX.
The first step is to install the the Cleanflight Configurator. It runs as an app within Google Chrome so you will need to install Google Chrome if you don’t already have it. Once Google Chrome is installed, install the Cleanflight Configurator application. Open up Google Chrome and access your application page at the following link and click on the Cleanflight icon.
This post follows the post DRS120 Kit & Additional Components and describes the process for assembling the frame, installing the motors, flight controller, propellers, and FPV camera, as well as connecting the electronics.
Once the complete list of parts is purchased and available, it is now time to assemble the quadrotor. The first step is to install the motors on the frame.
- Insert the (4) rubber motor grommets into the motor holes on the frame
- Place each motor into one of the ABS motor feet and wire protectors
- Referencing the below image, insert each motor/protector pair into the rubber motor grommets. Note that the motors with the red and blue wires spin in the clockwise direction while the motors with the black and white wires spin in the counter-clockwise direction.
This post documents the components in a DRS120 quadrotor kit as well as some required additional components sold separately. This micro quadrotor is intended to be used for First Person View (FPV) flight. It’s small size makes it easy to transport, maneuverable indoors, and the quadrotor is not currently required to be registered with the FAA since it weights less than 250 grams. This quadrotor, fully constructed with a camera and 750mah 1S battery is only 62 grams.
The construction and autopilot software are fairly simple on this quadrotor making it ideal for beginning pilots. Learning the fundamentals of quadrotor maintenance, programming, and piloting will enable pilots to transition to larger platforms with advanced features and sensors such as a camera gimbal, GPS navigation, or obstacle avoidance.
DRS120 Kit and Additional Components
This quadrotor comes available as a kit from the Drone Race Shop. The kit contains the basic items needed to build the quadrotor including the kit, motors, propellers, battery, and flight controller. A few additional pieces of hardware are required to turn this quadrotor into an FPV racer. The kit is shown below and each of the major components will be described in more detail.
This post follows the post Heroku & WordPress Website Deployment which details how to create and publish a website using WordPress and Heroku. This post details how to secure the connections between the website administrator, the website database, and the website application.
Securing Your Login Domain
Each application also has a free SSL endpoint for the applicationanme.herokuapp.com domain.The code below will protect your login credentials by setting the SSL domain in the configuration variables for all logged in sessions.
$ heroku config:set SSL_DOMAIN="applicationanme.herokuapp.com"
We can also update the “WordPress Address (URL)” setting which is the address where your WordPress core files reside. We will update it to include the https Herkou domain name. This can be updated in the WordPress settings page as shown below.