Self-driving smallscale truck with wireless charging - Master thesis @ NTNU 2019
This repository contains code for a self-driving smallscale truck with wireless inductive charging. It is part of a master thesis in cybernetics and robotics at NTNU 2019, and contains code for three different path following methods: - SLAM with Pure Pursuit (and Stanley steering) steering controller - Supervised Deep Learning steering controller with OpenCV - Lane Detector with steering controller (PID) and OpenCV
The system is based on Ubuntu 16.04 with ROS Kinetic running on a Nvidia Jetson TX2. The truck itself is controlled by a Teensy 3.2 microcontroller. Other components used are the RPlidar A2M8 lidar and the Logitech C922 webcam.
To start the autonomous system, type:
sh $ roslaunch car_cmd run.launch
| Folder | Functionality | | ------ | ------ | |Teensy|Contains the code for the Teensy microcontroller| |ackermannodom | Estimates odometry for Ackermann vehicle with IMU | |arucodetector|For detecting ArUco markers with camera, also contains generator| |canchargernode|ROS CAN bus interface for Jetson TX2| |carcmd|Central node for publishing car commands to microcontroller| |cargui|Graphical User Interface for status overviews| |carsetuptf|TF broadcaster (baselink to laser)| |cvlanetracker|OpenCV Lane Detector for center offset measure| |dnnsimulator|Deep Learning controller for Udacity Simulator, with trainer| |dnnsteeringnode|Deep Learning steering controller, also contains trainer and data logger| |escvelpub|Estimates velocity from controller command (sensorless)| |heartbeatbroadcaster|Publishes alive msgs to microcontroller| |pathtrackers|Pure Pursuit and Stanley steering controllers| |rosbagresampler|Script for resampling a rosbag that has topics publishing at different sample rates| |rplidarpwmros|Modified RPlidar ROS node with PWM motor control (https://github.com/davidbsp/rplidarros) |waypointlogger|ROS node for recording a new path
| Name | Link | | ------ | ------ | |ROS Kinetic|https://www.ros.org/| |Hector SLAM| http://wiki.ros.org/hector_slam | |Joy|http://wiki.ros.org/joy| |ROS Serial|http://wiki.ros.org/rosserial| |Udacity Self-Driving Car Simulator (Term 1, v2)|https://github.com/udacity/self-driving-car-sim|
A modified version of Hector SLAM is attached as a zip.