Skip to content

Alfred is an open-source UGV platform built at IIIT-Delhi capable of emulating a full self-driving vehicle. Alfred is equipped with Intel NUC 12 Pro, NVIDIA AGX Orin, Intel Realsense D455, and Velodyne VLP-16 LiDAR, facilitating comprehensive evaluations and development state-of-the-art algorithms for mobile robotics.

License

Notifications You must be signed in to change notification settings

vishweshvhavle/alfred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ Python ROS Noetic Gazebo PyTorch Ubuntu License

Alfred UGV

This is the official implementation of Alfred UGV (Report).

cover

Installation

$ git clone git@github.com:vishweshvhavle/alfred.git
$ cd alfred/
$ conda create -n alfred python=3.8
$ conda activate alfred
$ pip install -r requirements.txt

1. Install GPU Dependencies

We have only tested our GPU packages on Nvidia AGX Orin with Ubuntu 20.04. We use the NVIDIA Orin for simulation as well as for creating occupancy grids, path-planning, and waypoint navigation.

Main dependencies:

The network can be run with a standard 2D laser, but this implementation uses a simulated 3D Velodyne sensor. This package was developed on top DRL-Robot-Navigation.

Compile the workspace:

$ cd ~/alfred/gpu-packages/catkin_ws
$ catkin_make_isolated

Open a terminal and set up sources:

$ export ROS_HOSTNAME=localhost
$ export ROS_MASTER_URI=http://localhost:11311
$ export ROS_PORT_SIM=11311
$ export GAZEBO_RESOURCE_PATH=~/alfred/gpu-packages/catkin_ws/src/multi_robot_scenario/launch
$ source ~/.bashrc
$ cd ~/alfred/gpu-packages/catkin_ws
$ source devel_isolated/setup.bash

2. Install CPU Dependencies

We have only tested our CPU packages on Intel NUC 12 Pro with Ubuntu 20.04. The SLAM node in this package was developed on top of F-LOAM.

Main dependencies:

How to Run

For GPU Packages

GPU Packages

Open a terminal and set up sources using the shortcut shell script (Ensure appropriate permissions are granted to the shell script):

$ cd alfred/gpu-packages/sim/
$ sh ./exportros.sh
$ cd alfred/gpu-packages/waypoint/
$ python3 waypoints.py
$ python3 path_planning_node.py

For CPU Packages

CPU Packages

Open a terminal and set up sources with the ros master at GPU node:

$ export ROS_HOSTNAME=gpu-node-ip
$ export ROS_MASTER_URI=http://gpu-node-ip:11311

To switch on the bot operations:

$ cd alfred/cpu-packages/controller/
$ python3 controller.py

For object detection inferences:

$ cd alfred/cpu-packages/detection/
$ python3 detection.py

For F-LOAM based localization and mapping:

$ cd alfred/cpu-packages/floam
$ catkin_make
$ source devel/setup.bash

Launch ROS

roslaunch floam floam.launch

If you would like to create the map at the same time, you can run (more cpu cost)

roslaunch floam floam_mapping.launch

You may wish to test FLOAM on your own platform and sensor such as VLP-16 You can install the velodyne sensor driver by

sudo apt-get install ros-noetic-velodyne-pointcloud

Launch FLOAM for your own Velodyne sensor

roslaunch floam floam_velodyne.launch

Resources

Links to 3D Printable Files, PCB Gerbers and Designs for Laser Cutting

Google Drive Link

Links to Parts

Google Sheets Link

Issues

Please open Github issues for any installation/usage problems you run into.

Acknowledgements

Thanks to Koustubh Heblikar for designing Alfred's chassis.

Citation

If you find this code useful for your research, please consider citing:

@misc{alfred_2024,
  author       = {Vishwesh Vhavle and Jatin Kumar Sharma},
  title        = {Alfred UGV},
  year         = {2024},
  url          = {https://github.com/vishweshvhavle/alfred},
  note         = {Version 1.0.0}
}

About

Alfred is an open-source UGV platform built at IIIT-Delhi capable of emulating a full self-driving vehicle. Alfred is equipped with Intel NUC 12 Pro, NVIDIA AGX Orin, Intel Realsense D455, and Velodyne VLP-16 LiDAR, facilitating comprehensive evaluations and development state-of-the-art algorithms for mobile robotics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published