I am working on obstacle avoidance and path planning in robotics using X80SV robot. The obstacle avoidance module of the robot works well. The programming language I have used in this work is C#. Next, I wanted to visualize the real-time motion of the robot. What should be done? The robot is equipped with ultrasonic sensors, infrared sensors, camera, human sensors etc.
1 Answer
There seems to be two questions in one:
- How should I visualise the trajectory (planned and traversed paths)?
- How should I combine "ultrasonic sensors, infrared sensors, camera, human sensors etc. " into path planning?
Also, I didn't get how obstacle avoidance is working 'well' (if it is binary obstacle or a gradient based obstacle marking probability fields). While code snippets are the ideal solutions, I would suggest adding more details to the question and the attempts you have tried.
Nevertheless, I shall attempt to solve that problem.
- We need visualisation; So, we need an off-board computer. If we want real-time visualisation, we need to transmit data (planned and traversed path) to the off-board computer. Else, we can store this data and at the end of the run, we can just gather the data.
So, my suggestion: Use WiFi/USB/Bluetooth to transmit data back to computer.
We need path planning (for this I am assuming that SLAM isn't needed because we are talking about path planning); Use any path planning technique as described in this http://ai.stanford.edu/~ddolgov/papers/dolgov_gpp_stair08.pdf (most of it assumes binary ostacles - Obstacle is either present or absent) If probabilistic obstacles are considered, it is a kind of local optimisation problem and more details are definitely necessary. https://www.researchgate.net/publication/2287847_Probabilistic_Methods_for_State_Estimation_in_Robotics
How should I fuse sensor data? What is the cheapest / easiest way of detecting a person? (Because of "human sensors") https://stanford.edu/class/ee267/lectures/lecture11.pdf
How do I visualise data? This is the simplest. Use Python/Octave/MATLAB and visualise. There are many plotters that use CSV format. http://lmgtfy.com/?q=visualising+3D+plots (https://in.mathworks.com/help/matlab/2-and-3d-plots.html) (You can also explore GNU Plot, Qti Plot etc)