This is a Final Project conducted in National University of Singapore, module code CG2111A: Engineering Principle and Practice II, Semester 2 AY2122.
- Lee Zhi Xuan
- Liong Wei Yong, Deen
- Marvin Pranajaya
- Ong Chuan Kai
- Zhang Wenze
Alex
Contains the Arduino code and header filecalibration
Contains the Arduino code used to find the constants for ultrasonic sensor distance calibrationsource
Contains the TLS server and client code, as well as the header files
Upload Alex/Alex.ino
to the Arduino
Navigate to source
and
- Compile
tls-alex-client.cpp
on the Host Laptop
g++ tls-alex-client.cpp make_tls_client.cpp tls_client_lib.cpp tls_pthread.cpp tls_common_lib.cpp -pthread -lssl -lcrypto -o tls-alex-client
- Compile
tls-alex-server.cpp
on the Raspberry Pi
g++ tls-alex-server.cpp tls_server_lib.cpp tls_pthread.cpp make_tls_server.cpp tls_common_lib.cpp serial.cpp serialize.cpp -pthread -lssl -lcrypto -o tls-alex-server
- Install RPLidar and Hector Slam ROS package from here. Install this on both Master and Slave.
- Setup ROS Master (Raspberry Pi) and Slave (Laptop)
export ROS_MASTER_URI=http://<ipaddress>:<port>
export ROS_HOSTNAME=<ipaddress>
- Navigate to your ROS workspace and run
source devel/setup.bash
on every terminal that you are going to use for ros. - Run
roscore
on Master - Run
roslaunch rplidar_ros rplidar.launch
on Slave. - Run
roslaunch hector_slam tutorial.launch
on Master.
- Run
source/tls-alex-server
on Raspberry Pi. - Run
source/tls-alex-client
on Laptop. - Follow on screen instructions.