Jacek Sawoniewicz is a Robotic Systems Engineer in the Robotic Mobility Group
at JPL, currently working on the new incarnation of Athena rover and CLARAty framework
. The Group he works in focuses on mobility architectures and algorithms for terrestrial and space robotic applications.
Jacek holds M.Sc. in EE and Robotics from Warsaw University of Technology. As an intern he worked for the Polish National Railroads developing industrial control systems. After graduation in 1999 he worked as an Assistant Professor in Robotics Lab at Polish-Japanese Institute of Information Technology, developing robot prototypes for JICA, teaching robotics and doing PhD research on control and dynamics of flying robots. Then from 2006 he worked as a Project Manager at Polish National Power Grid on large scale distributed control systems. In 2011 Jacek moved to California to work as a Senior Software Engineer at Hewlett-Packard/Palm and later at Hansen Medical on hard real-time software for surgical robotic platform. Next he joined Snapdragon Sensors Core team at Qualcomm on Staff Engineer position to develop drivers and framework for latest inertial MEMS sensors. Recently also, Jacek as a Firmware Engineer at Connectivity Lab at Facebook implemented key features for Terragraph project.
• Warsaw University of Technology, Faculty of Electronics and Information Technology
Master of Science with honors, in Electronics Engineering and Robotics, Poland, 1999
"Specialized Language for Behavioral Based Robot Control (RCL)" – designed and implemented RCL semantics and parser in YACC, compiler, builder, robot simulator and demo real-time application written in RCL running on QNX and controlling industrial robot manipulator IRP6 equipped with designed and built 3D touch sensor.
• Polish-Japanese Institute of Information Technology
Control and Dynamics of Flying Robot, Poland, 2002
Research toward Ph.D. - "Control and Dynamics of Small Autonomous Flying Robot UAV” - real-time flight control system with feedback from computer vision based positioning system, model of dynamics and 3D simulation of unstable flying robotic platform.
• Robotic Systems Engineer @ Jet Propulsion Laboratory, Pasadena, CA, 08/16-present
• Firmware Engineer @ Facebook - Connectivity Lab, Menlo Park, CA, 01/16-08/16
• Staff Engineer @ Qualcomm - Snapdragon Sensors Core, Santa Clara, CA, 08/13-12/15
• Senior Software Engineer @ Hansen Medical - intravascular robotics, Mountain View, CA, 03/12-08/13
• Senior Software Engineer @ Hewlett-Packard/PALM - mobile devices, Sunnyvale, CA, 08/11-02/12
• Project Manager/Coordinator @ Polish National Power Grid - PSE Group - energy transmission, 2006-2011
• Assistant Professor @ Polish-Japanese Institute of IT - Robotics/R&D/lecturing, 1999-2007
• Programmer @ Komster - Polish National Railway control systems, 1996-2000
- Embedded Systems
- Software Engineering
- Research and Development
A professional Robotics Software Engineer specializing in real-time and embedded systems with strong academic background and broad experience acquired in large and small scale projects carried out for international companies.
Robotics (Mobile/Aerial/Surgical/Industrial Manipulators) / Computer Vision / R&D
- Robots: Intravascular, Bi/Quad-rotor/EDF UAV, Motoman SK6, ActivMedia Pioneer 2DX, Caterpillars, Hexapod, IRP6.
- Hard real-time and embedded control systems. Time critical process control. PID/Fuzzy controllers. Sensor fusion.
- Computer vision, OpenCV, robot localization/pose detection and navigation, motion capture/point of interest tracking and map building.
- System dynamics modeling, 3D simulations, Open Dynamics Engine (ODE), OpenGL, MATLAB & Simulink.
- Artificial Intelligence algorithms. Rough Sets and Neural Network applications.
- Sensors, communication devices and protocols - SPI, I2C, 1wire, CAN. Electric motor controllers.
- Embedded systems analysis - low level profiling and debugging.
- Hands-on C/C++ (20/10 years) - clang, GCC, hexagon, MinGW, Qt, VisualC, Borland, CodeWarrior, Microchip MPLAB, Watcom - on QNX, Linux, Windows, webOS and Android.
- Processors x86, ARM, QDSP Qualcomm, Freescale ColdFire. Microcontrollers Microchip PIC, Atmel AVR, Intel i960, Freescale MC9S, Broadcom.
- Shell Scripting, Java, Python, MATLAB, Prolog, Yacc, Bison, ASM.
- Multithreading - POSIX Threads, Symmetric Multithreading (SMT), Symmetric Multiprocessing (SMP), Inter Process Communication (IPC), POSIX Sockets, TCP/UDP/IP. Drivers. Distributed Systems - High Availability and Reliability, Multi Agent, Multi Client - Multi Server. Object Oriented Design and Programming (OOD/OOP), STL.
- Software Development Life-Cycle, Project Management, Medical Device Software Standards.
Hard real-time platforms for robotic systems.
Novel methods of actuation, motion, sensing and robot control.
Autonomous systems - machine learning, reasoning, planning and optimal control.
Self awareness of robot dynamics, mobility and dexterity.