Skip to content

Enrique's and Seva's Tree Inspection Robot at ELTE (IFRoS program)

Notifications You must be signed in to change notification settings

IFRoS-ELTE/atwifr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ATWIFR - Automatic Tree Watering Intelligent Field Robot

Seva's (on the left) and Enrique's (on the right) Tree Inspection Robot.
alt text
The project is a final project for the IFROS third semester's subject "IFRoS Lab" in ELTE University, Budapest.

Dependencies

  • Follow README from artwifr_gazebo to use robot in simulation;
  • Install kiss_icp_ros package for exploration and mapping:
cd ~/catkin_ws/src
git clone https://github.com/sevagul/kiss-icp-ros.git

Follow it's README to install it's dependencies, afterwards build the workspace.
The kiss-icp may be configured in the param/icp_params.yaml file.

To install all the dependencies, use

cd <your/workspace/path>
rosdep install --from-paths src --ignore-src -r -y

And finally build everything using catkin build or catkin_make

Usage

Simulation

To run the simulation with the groundtruth odometry:

roslaunch atwifr_bringup simulation.launch

To run the simulation with the kiss-icp odometry:

roslaunch atwifr_bringup sim_with_icp.launch

Mapping

Before launching mapping, be sure that all the odometry transformations are being broadcasted.
After simulation/robot is running, launch mapping with

roslaunch atwifr_bringup octomap.launch

To manually navigate the robot, run

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Navigation

To setup the navigation, run

roslaunch atwifr_bringup navigation.launch

You can specify a waypoint from rviz to test how it works

If you want to run it with kiss-icp, you may need to run the following before:

rosrun atwifr_bringup odom_from_tf

This node will generate odometry messages from the /tf provided by the kiss-icp node. It uses some filtering so that the speed provided in the odometry is a bit smoothed.
Other odometry nodes may broadcast odometry messages themselves, so there might be no need to run it.

Exploration

For exploration, run the following:

roslaunch frontier_exploration explore_costmap.launch costmap:=projected_map

Inspection

To run the inspection, run

rosrun atwifr_bringup tsp

and call the service when ready to start inspection as the following:

rosservice call /plan_tsp

Note, that for now inspection works best when simulation is launched with groundtruth instead of kiss-icp.

TREE-SLAM

This module is not integrated with the ones above, and can be read, installed and used from the following repository

Examples of Execution

Mapping/Navigation/Inspection

In the next figure, you can see the inspection task in progress
alt text
The inspection points are marked with the red boxes, the tsp path in drawn with the dark line
You can see a video of the inspection process here

Mapping/Navigation/Exploration/ICP

In the following Figure you can see the explored map (on the left) and the exploration in progress (on the right):
alt text
The detected frontier is marked with the blue color
And here is a small demo video
KISS-ICP odometry was used to produce these results.
You can also see the example of the pointclouds aligned by the kiss-icp in kiss-icp-ros repository

TREE SLAM

The examples of TREE SLAM execution can be seen in the TREE SLAM repository

About

Enrique's and Seva's Tree Inspection Robot at ELTE (IFRoS program)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published