Robotic Simulation Application

Job ID: 36417195

Budget: $30 – $250 AUD

I have a folder containing a set of rosbags files that represent the flight of a autonomous aerial robot in a urban environment. For this project, we will assume that it is instead the simulation of a autonomous ground robot looking for an idea location to deploy a passenger aerial robot (based on maximising exploration potential. i.e. greatest number of frontier cells). I require the development of a program that:
1. Extracts point cloud data from the set of rosbags and converts it into a numpy array.
2. Nodes that subscribe to the /frontier_grid (represented as orange points in rviz) and /odometry topics and a function that returns a count of frontier cells within each xyz location (Euclidian distance). This count will be used as reward for the decision making of the robot. The function will return a number (e.g. current reward is 10)
3. A decision making function that uses the extracted rewards to make a decision on whether the robot should choose to deploy the passenger aerial robot now or not. This can start with something as simple as if there are >X rewards, say yes to deploy. The function must print out the "yes" or "no" decision for each potential deployment location.
4. I would like the visualisation of this via rviz (for each decision point, yes can be represented as a green dot, with no as a red dot).
5. As a stretch goal, i would also like to implement the project using the Sequential Stochastic Assignment Problem as a basis for decision making. Comparisons can be made between this implementation and the main basic reward function.
6. Project will need some type of results.

Full explanation of work is required and screenshots of simulations and results is preferred.

The folder containing the set of rosbags will be provided.

Please note i am currently working using ROS Noetic on Ubuntu 20.04.
The provided datasets was created using ROS Melodic and errors may arise with converting Odometry messages from '/map' to 'map'. To fix this i have been suggested to do when you receive a odometry message, just publish it again to a new topic, but just change the header.frame_id to "map" (not "/map"). Then visualise this new topic in rviz instead.

I am open for further discussions and information regarding this project. I require the completion ASAP (< 2 weeks).