BobDeng1974 / f110-avp

F110 Autonomous Valet Parking with Ouster LiDAR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

F110-AVP

F110 Autonomous Valet Parking with Ouster LiDAR

See the report

Result

Demo with two f110 cars:

Installation

  1. Clone this repo.
  2. Please refer to installation in PointPillars repo to install dependencies for PointPillars. Our repo contains needed code from PointPillars so no need to clone theirs.
  3. Install SparseConvNet and ros_numpy.
  4. Install ZeroMQ.
  5. Be sure to add second.pytorch/ to your PYTHONPATH.

Experimental Setup

System Structure:

Lidar is mounted on a tripod looking down on the cars:

To Run the Experiment

on Host

  1. Connect the lidar to LAN and check host ip address. Run Ouster ROS node and open an rviz to check the point clouds.
cd avp_ws
source devel/setup.bash
roslaunch ouster_ros ouster.launch sensor_hostname:=os1-992006000706.local udp_dest:=[Host IP Address] lidar_mode:=2048x10 viz:=false
  1. Run lidar_zmq_node and visualization_node with avp_nodes.launch. lidar_zmq_node preprocesses the point cloud and publishes it on ZMQ. visualization_node is for all visualization items to show on rviz. Please use the attached .rviz file.
cd avp_ws
source devel/setup.bash
roslaunch f110_avp avp_nodes.launch
  1. Calibrate the point cloud to the setup. Refer to the report on how to get good detection results.
conda activate pointpillars
python3 ./avp_utils/f110_viewer.py
  1. Run detection.py to start the pointpillars detection on the point cloud.
conda activate pointpillars
python3 -W ignore detection.py
  1. Run localization.py to start the localization process and you should see bounding boxes in rviz now. Please refer to the report on the process of localization.
python3 localization.py

on Vehicle

  1. Copy car_nodes/odom_zmq_node.py and car_nodes/drive_node.py to the F110 car and compile them.

  2. Run teleop.launch.

  3. Run odom_zmq_node to send odometry data to the host computer.

  4. After setting up way points, run drive_node to start navigating the car.

About

F110 Autonomous Valet Parking with Ouster LiDAR


Languages

Language:Makefile 43.7%Language:Python 28.9%Language:C++ 9.2%Language:CMake 8.3%Language:Objective-C 3.7%Language:JavaScript 3.4%Language:C 0.7%Language:HTML 0.7%Language:Common Lisp 0.6%Language:Shell 0.6%Language:Dockerfile 0.1%Language:CSS 0.0%