Secure blockchain encryption demonstrated through embedded system autonomous cars using Xbee, ultrasonic sensors, and LIDAR sensors (Raspberry Pi side, OOP Python) Arduino side: https://github.com/nathancy/Arduino-Robotics
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LIDAR_test Averaged LIDAR readings for better accuracy Jul 15, 2017
demos/MVP
docs Updated video picture again Oct 13, 2017
libraries
motor_test Motor calibration Aug 8, 2017
servo_test Servo dance Jul 28, 2017
ultrasonic_test Update control classes Aug 1, 2017
xbee_test Updated usage instructions and descriptions Jul 27, 2017
.gitignore
Adafruit_I2C.py Adafruit PWM and I2C drivers Jul 8, 2017
Adafruit_PWM_Servo_Driver.py Adafruit PWM and I2C drivers Jul 8, 2017
LIDARcontrol.py Averaged LIDAR readings for better accuracy Jul 15, 2017
README.md
auxiliary.py
main.py Fixed global variable warning Aug 1, 2017
motorControl.py Motor calibration Aug 8, 2017
servoControl.py
ultrasonicControl.py Remove GPIO warnings on ultrasonic Jul 28, 2017
xbeeControl.py XBee send fixes and changes Jul 26, 2017

README.md

Pi-Robotics

Robotic Video

Python code used to run an autonomous robot built using Arduino, Raspberry Pi, servos, motors, ultrasonic sensors, LIDAR sensors, XBee, and blockchain technology. For the autonomous demo, the robot initially turns the LIDAR to the left, right, and center to determine the longest direction through multiple readings, removes outliers, and returns a median value. It then moves the motors towards the direction of the farthest distance. The robot takes readings while in motion for collision checking using the ultrasonic sensors. If it encounters an obstacle, it stops and calibrates again to determine the next longest direction and then moves towards that direction.

For MVP test demos between the cars, look in the demos/MVP directory.

This repository contains several modules:

  • LIDAR_test - LIDAR sensor test module
  • motor_test - Motor test module
  • servo_test - Servo test module
  • ultrasonic_test - Ultrasonic sensor test module
  • xbee_test - XBee test module
  • demos/ - Test demos for autonomous cars (MVP demo)

For the autonomous demo, run with program with:

python main.py
  • main.py - Main driver.
  • LIDARcontrol.py - Module to read LIDAR sensor data on Raspberry Pi from Arduino through the serial port.
  • motorControl.py - Module for motor control.
  • servoControl.py - Module for servo control.
  • ultrasonicControl.py - Module for reading ultrasonic sensor data on the Raspberry Pi.
  • xbeeControl.py - Module for wireless communication on the Raspberry Pi.
  • auxiliary.py - Auxiliary functions such as releasing GPIO pins and data logging.

Parts

Sensor Libraries/Datasheets

Software Block Diagram

Robot Wiring Diagram