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
AlexContains the Arduino code and header filecalibrationContains the Arduino code used to find the constants for ultrasonic sensor distance calibrationsourceContains 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.cppon 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.cppon 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.bashon every terminal that you are going to use for ros. - Run
roscoreon Master - Run
roslaunch rplidar_ros rplidar.launchon Slave. - Run
roslaunch hector_slam tutorial.launchon Master.
- Run
source/tls-alex-serveron Raspberry Pi. - Run
source/tls-alex-clienton Laptop. - Follow on screen instructions.