HackRover: Cyber Security in Motion€¦ · Motor movement commands Motor movement commands ROS...
Transcript of HackRover: Cyber Security in Motion€¦ · Motor movement commands Motor movement commands ROS...
-
HackRover: Cyber Security in HackRover: Cyber Security in MotionMotion Josaiah ClarkJosaiah Clark
[email protected]@gmail.comGary NguyenGary Nguyen
[email protected]@gmail.comMat PearceMat Pearce
[email protected]@gmail.comDalton WiebeDalton Wiebe
[email protected]@gmail.comChase SuttonChase Sutton
[email protected]@gmail.com
Special thanks to: Professor Mark Kochanski, Geoffrey Powell-Isom, Silver Lucoris, Victor Suciu, Justin Heinzig, Mohammad Dabbagh, Anwar Aminnudin, Kassim Shaibi, Yang Zhou, Taylor Johnston, Connor Lauerman, Matthew Lauerman, Long Ly, Daniel ZhugeSpecial thanks to: Professor Mark Kochanski, Geoffrey Powell-Isom, Silver Lucoris, Victor Suciu, Justin Heinzig, Mohammad Dabbagh, Anwar Aminnudin, Kassim Shaibi, Yang Zhou, Taylor Johnston, Connor Lauerman, Matthew Lauerman, Long Ly, Daniel Zhuge
Why
Solution
Data Analysis & Testing
Results
All technology-reliant companies are interested in leveraging big data to make better decisions about products and services. The way that industry is supporting the shift toward big data is by collecting diagnostics and other info in real time from sensors. This trend toward leveraging the Internet of Things is what many are calling “Industry 4.0.”
The aim of this capstone was to develop a model for exploring ethical hacking of self-driving cars and autonomous manufacturing equipment. This model would use technology similar to both, mainly through the use of embedded systems and sensors.
Client: Pierre Mourad, PhD Client: Pierre Mourad, PhD Advisor: Imen Elloumi-Hannachi, PhDAdvisor: Imen Elloumi-Hannachi, PhD
A mecanum wheel-based drivetrain was designed to better suit the
mobility needs of an indoor rover.
The system architecture for a semi-autonomous rover was laid out in a flowchart.
A printed circuit board was designed in collaboration with an Electrical Engineering capstone in order to
enhance the integrity and repeatibility of our rover’s electrical system.
Root cause analysis was used to find the reason for permanent marring and bending in all of the drivetrain’s 6mm 2101 stainless steel shafts. 8mm carbon steel keyed shafts were used in the newest iteration for easy maintenance and greater dynamic loading capacity.
To facilitate remote software testing of the arm, a simplified model was
made in SolidWorks with accurate link dimensions and weight distribution.
Motor power wires were burnt during a Winter demonstration. Investigation revealed that drivetrain
motors were exceeding allowable current draw of their power wires while the rovers were driving on carpet. Wire sizes were increased from 22AWG to
16AWG.Client Virtual Machine
User Interface
OUTPUT
INPUT
Enable/Disable Xbox Controller
Enable/Disable Xbox Controller
Enable/Disable Arm...
Enable/Disable Arm...Drivetrain Movement...
Operations Tab
Mouse-Click Arm...
Mouse-Click Drivetrain...
Freeze all rover actions...
Xbox control...
Arm camera live feed...
RealSense RGB live feed RealSense RGB Live Feed
Arm Movement Commands
RealSense Live RGB Feed
Arm Movement Mouse...
Drivetrain movement...
Enab
le/D
isab
le...
Autonomy Tab
3D Map display
Distance/Angle Navig...
Live RealSense IR fe...
Autonomus mode toggl...
Picture Pallet Tab
Picture Album
Dis
tanc
e/An
gle
Com
man
ds
Mov
e ro
ver _
_ fe
et a
t __
degr
ees
Emergency Shutdown
Emer
genc
y Sh
utdo
wn
Enab
le/D
isab
le...
Emer
genc
y Sh
utdo
wn
3D Map
Enable/Disable autonomous navigation
RealSense IR Live Feed
Enab
le/D
isab
le...
Camera Screenshots
IMU Data
Filtered IMU Data
Odometry Data
Filtered Odometry DataMotor movement commands
Motor movement commands
ROS Master Node
Raspberry Pi
Authorized User
Network
Hacker
xbox event commands,...
Camera feed,...
Hacker Using VM
Network Adapter
Client Virtual Machine
User Interface
Virtual Machines
Hacking VM
Arm Movement Commands
Jetson Nano
LattePanda
ROS Motor...
Motor Commands...
IBT-2 Motor Controller
Robotic Arm
Intel Realsense D435i
USB Camera
Camera ROS Node
Motor Commands...
Ultrasonic SensorArray
Status SignalsMotor Commands...
Encoder DataStatus Signals
Wheel Odometry Data
ROS Sonar...
Trig Echo...
Distance Data...
Status Signals
Magnetometer &Accelerometer
FirewallNAT
Magnetic Orientation...
ROS .bag File...
Xbox Controller
Wheel Odometry Data...SSH...
Camera Feed Feed Requests...
Camera feed,... Camera feed,...
xbox event commands,... xbox event commands...
OUTPUT
INPUT
OUTPUT INPUT
OUTPUTINPUT
Arm Mouse...
Encoder Translation...
Magnetometer/Accelerometer
ROS Node
FirewallEmbedded LAN
Xbox Input / Output...
Legend
Completely New Code
Reconfigured Code
COTS Code
Arm PositionIMU Fusion/Filtering...
Motor Position...
Accelerometer/...
robot_localization...Visual Odometry...
3D Map
Wheel Odometry Data
Motor Encoder
realsense2_camera node
Raspberry Pi Zero W
Xbox Controller...Xbox Movement Commands
Xbox movement commands
Joystick Events...
Arm movement commands
Arm Movement...
Camera FeedMagnetic Orientation...
Enable/Disable Xbox ControllerEnable/Disable Arm Camera Live Feed
RealSense RGB Live Feed
Arm Movement Mouse click events
Drivetrain movement mouse click...
3D MapEnable/Disable autonomous navigation
RealSense IR Live Feed
Emergency Shutdown
Arm ROS Node
Wheel Odometry Data...
Viewer does not support full SVG 1.1
The project sparked enough interest to start a HackRover club, the purpose of which is the
same as this capstone project: to promote cyber awareness in IoT/IIoT. For more information, visit
hackrover.com or email [email protected].
With the new frame built, the rover is ready for integration of electrical, mechanical, and software elements.
Conclusion & Future WorkThe project still has not achieved autonomy, which is crucial for our hacking functions. In the next iteration of the project, the following topics should be explored:1. ROS drivetrain control development2. Simultaneous Localization and Mapping (SLAM)3. One-shot learning for arm articulation tasks
We have implemented drivetrain and arm controls with an Xbox controller. Follow our Github page to see the codebase and new feature projects: