-
Surgical Robot (made public by client):
Development: C++20 in Linux/ARM, International System of Units (SI Units), GNU Make, CMake, Gcov, Valgrind, Confluence, Jira, Jenkins, GitLab, LucidChart, Doxygen, Gnuplot, JSON, Raspberry Pi quad core, motor controls.
-
https://www.cambridge-design.com/news/cdp-advances-surgical-robotic-technology/
-
Proof-of-concept experiments and implementation of a surgical robot prototype.
-
Implemented robot arm inverse kinematics (Jacobian transpose) for Remote Center of Motion (RCM), force, and independent motion controls.
-
Implemented a thread framework to manage the exchange of information between asynchronous calculations and Controller Area Network (CAN) communications.
-
Logging interface modeled after std::ostream with syslog severity levels that wrote to the syslog utility, a text file, or both.
-
Introduced compile-time C++ types representing SI Units to improve reliability of calculations and their integration with other software modules.
Development: C and C++17, IEC 62304, ISO 14971.
-
Medical device projects as per FDA/IEC/ISO standards:
-
Engineering lead on several small firmware engineering projects.
-
Performed and presented Software Failure Mode and Effects Analysis (FMEA).
Development: C++14 in Linux. Use of GCC, Gcov, git, SQLite, Valgrind.
-
Finder - Newborn life-threatening condition testing:
-
https://baebies.com/products/finder/
-
Feature addition, testing, repair, and documentation of embedded, multi-threaded, medical device control software on a single-board computer target.
-
Relational database table definition and manipulation.
-
USB-storage device auto-detection (udev rules and Bash scripts).
-
System update and database migration from USB-storage.
-
Device leveling feedback based on accelerometer readings.
-
Background system administration: Log compression, up-time, and storage monitoring.
Development: C++11 and R in Linux. Use of Boost, Gcov, Valgrind, git, GCP and CLIA standards. Also MINGW and wine for cross compilation and testing for Windows deployment.
-
Hired, trained, and led a team of eight senior, mid-level, and co-op software engineers.
-
Defined the roles and specified the methods and process by which my team performed their work. Defined the role of the team within the company as a whole.
-
Modified existing bioinformatic pipelines for clinical validation.
-
Used the C++, Python, and R languages to implement software based on how well the language fit the problem at hand; all programs tested with the same custom framework.
Genomics [2014-2018] C++11, Bash, Linux, Perl, R, gcov, Valgrind, BAM, BED, FASTA, FASTQ, Pileup, and SAM;
Telecom [1999-2014] C++, C, Java, Bash, Cygwin, AIX, Linux, Solaris, VxWorks, CVS, Clearcase, Rational Rose, ANTLR, XML, XSD, GSM/UMTS MAP, CAP (CAMEL), ANSI IS41, ANSI WIN, ITU TCAP, SCCP, MTP, SNMP;
Defense Contracting [1988-1999] Ada83, C, C++, Ada95, VMS, Solaris, ARC/INFO GIS, ARCML, DMA ITD/TTD, DMA DCW, Rogue Wave, Boost, DCE, pthreads, Clearcase, yacc, lex, MIL-STD-2167.
|