Code Monkey home page Code Monkey logo

pramodswainn / agilevehicle Goto Github PK

View Code? Open in Web Editor NEW

This project forked from haoguangyang/agilevehicle

0.0 1.0 0.0 34.67 MB

The AgileVehicle Project, an automated road vehicle that take you wherever your destination is in whatever attitude you want.

Home Page: https://haoguangyang.github.io/2017/02/09/Meet-Agile-Vehicle-on-45th-International-Exhibition-of-Inventions

License: GNU General Public License v3.0

Makefile 0.17% C 36.08% Shell 0.96% C++ 54.19% Python 0.73% CMake 5.57% Common Lisp 0.20% JavaScript 0.59% Cuda 1.46% Processing 0.06%

agilevehicle's Introduction

AgileVehicle

The AgileVehicle Project, an automated road vehicle that take you wherever your destination is in whatever attitude you want.

Latest Update:

Mar 29 Won Silver Medal on the 45th International Exhibition of Inventions of Geneva.

Mar 25 Transversal maneuvers realized through open-loop control only.

Linux Prerequisites

For Ubuntu and other Debian based users, please run the following command to ensure everything is set up:

sudo apt-get install g++ arduino libsdl2-dev
# Setup ROS
sudo sh -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
apt-cache search ros-kinetic
sudo rosdep init
rosdep update
sudo echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
# Additional Dependencies
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo apt-get install ros-kinetic-ecl-ipc ros-kinetic-rosserial-arduino ros-kinetic-rosserial rosbash ros-kinetic-rospack ros-kinetic-cv_bridge ros-kinetic-image-transport
sudo apt-get install libirrlicht-dev libglfw3 libglew-dev slurm swig libglm-dev #for Virtual Device Debugger.

Directory Structure

/without_ROS.old

Deprecated files containing no ROS modules, including the old steering wheel and Arduino utilities.

/ROS

ROS implementation of the system. Catkin workspace.

IMPORTANT Please properly setup ROS (version: kinetic kame), please refer to official documents and tutorials at:

δΈ­ζ–‡ English

/ROS/Arduino

ROS based Arduino code able to transmit data at 30Hz. Run ./bootstrap.sh (or the following command) to prepare the system.

sudo apt-get install ros-kinetic-rosserial-arduino
sudo apt-get install ros-kinetic-rosserial
sudo chmod 777 /usr/share/arduino/libraries/
cd /usr/share/arduino/libraries
rm -rf ros_lib
rosrun rosserial_arduino make_libraries.py .
/ROS/src

Home to ROS packages and services. Currently including:

/ROS/src/steering_wheel: Steering Wheel Control Utilities which should read Logitech G29 data and publish it using custom message prescribed in msg/joyinfoex.msg under topic WheelControl, or in a situation where no steering wheel is found, uses keyboard as input device. ALL BUT force feedback are DONE.

/ROS/src/agile_v_core: Core of the Agile-V system, including communication handling, kinematic/dynamic controllers, GUI, etc.

/ROS/src/virtual_device_debugger: Simulator for the Agile-V system. Rely on Chrono Engine, Please compile and install Chrono with core, irrlicht, and parallel as suggested on This Page. Otherwise, please delete this folder before compilation.

Future packages: setup module which should be breaken away from steering_wheel, and vision navigation packages.

/ROS/src/agile_v_vision: Integration of OpenCV in libelas, merged libelas-gpu to implement CUDA, merged robotology/stereo-vision and working on migration from yarp to ROS interface. currently in , untested. Reference:

https://github.com/goldbattle/libelas-gpu https://github.com/robotology/stereo-vision

/LogitechFFDrivers

Logitech G29 drivers source and interface for force feedback.

Compilation

run ./make.sh from this directory, and enter the USB address of Arduinos following the instructions on the screen.

Run the Program

run ./run.sh from this directory. If the systems detects Arduino's presence it will run the control program, otherwise it will run the virtual_device_debugger, which is unavailble without Chrono installed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.