Skip to content

GPrathap/trajectory-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trajectory-Tracker

Authors: Geesara Kulathunga, Hany Hamed, Dmitry Devitt, Roman Fedorenko and Alexandr Klimchik

Complete videos: Checking the tracking accuracy without considering obstacles, Checking the behaviour in a challenging environment test1, test2, Working with dynamic obstacles test1,test2, Testing on a simulated environment, Estimating mean computation time or run-time.

Table of Contents

Install Docker Container

Follow the instructions in trajectory-tracker/docker_compose

These instructions assume you have the necessary tools and dependencies for building the project without Docker

1. Prerequisites

The project is developed and tested on Ubuntu 18.04, ROS Melodic for DJI and PX4. Following external libaries are needed before running trajectory tracker

Installing CasADi and IPOPT

  https://github.com/casadi/casadi/wiki/InstallationLinux  

Installing CNPY

https://github.com/rogersce/cnpy

Installing PX4

https://docs.px4.io/master/en/config/firmware.html

2. Building with ROS

Once you installed all the prerequisites, clone this repository to the catkin workspace and try to build

  cd ${YOUR_WORKSPACE_PATH}/src
  git clone https://github.com/GPrathap/trajectory-tracker.git
  cd ../
  catkin build

3. Running the trajectory tracker

To start Gazebo with necessary components

roslaunch drone_sim sim.launch

For arming and chaging the controlling mode

roslaunch state_machine take_off.launch

This will launch trajectory tracker and Rviz

roslaunch state_machine fsm_trajectory_tracker.launch

Finally, to send controlling command to quadrotor

roslaunch state_machine px4_reg.launch

4. Running the trajectory tracker in a docker container

Use docker/install_build_run.sh script for installing and running the docker container,

  • Commands:
    • run start docker environment.
    • start start docker environment.
    • enter enter docker environment.
    • stop stop docker environment.

Here, all the necessary external libraries are installed or it is ready to use. The catkin workspace /root/catkin_ws/src/HagenPlanner

5. Test dataset

waypoints_all.csv files which located at hagen_planner/state_machine/data/ consists of 100 different paths. Each of those paths is discribed by a set of waypoints, i.e., 4 to 16. Start and end waypoint are guranteen not to be within the obstacles. On the other hand, intermediate waypoints cloud be inside or partically within the obstacles. In order to generate the octomap and point cloud of a simulated world in Gazebo you may use this script in this repo. Each row of waypoints_all.csv is expressed in the following format:

path_id, world_number, waypoint_1_x, waypoint_1_y, waypoint_1_z, ..., waypoint_n_x, waypoint_n_y, waypoint_n_z

Some of the example trajectories:

Please cite at least one of our papers if you use this project in your research