Rover stuck during simulation & simulation logs retrieval for further analysis

Hello! I have multiple questions regarding rover simulation in the course, simulation logs retrieval, etc. I couldn’t find a suitable place for each of the question, hence, I am posting all here.

  1. The dk folder in the preconfigured VM does not have the rover scripts as seen in the video of smart rover development in the last section of the course. How can I get this? For now, I edited the location_based script to perform my rover simulation.
  2. During rover simulation (location_based_movement), my rover keeps getting stuck at some point and does not move further (please see attached image). In the image attached, my rover faces east at the home location. It is meant to go around the parking lot, but it gets stuck while moving eastwards. What is causing this issue and how can it be resolved for a smooth path tracking (waypoint following)?
  3. Given that I want to deploy the python script to my rover after a successful simulation, I would like to compare the rover path tracking for both simulation and real-life navigation to visualise its performance and to also quantify the error of path tracking. Hence, I want the predefined path and actual path of the rover to be displayed as the rover follows the path. This would enable the visualisation of path following. Currently, there’s a yellow line which shows this as the rover moves, but it keeps vanishing. I want it to be retained alongside the predefined path. How can I achieve this, please?
  4. Also related to question 3, how can I retrieve the gps/navigation logs from the simulation? I would like to make a plot of the simulated and real-life path tracking for visualisation purpose.
  5. Last but not the least, how can I integrate my actual mission planner set parameters in the simulation for simulation of the actual rover setup I currently have? My current simualtion looks like a blackbox to me because I don’t know what parameters it is using? I want to match the simulation parameters with my actual rover parameters.

I hope all I have mentioned are possible to achieve and I look forward to a response to my queries. Thanks!

1 Like

Hi there,

  1. You can download the repo at GitHub - dronedojo/pidronescripts and in that repo, under dk/rover, there are rover based scripts. You can also use the dronekit section of the rover video https://www.youtube.com/watch?v=paPXfGOhqfo&t=6161s to follow along with writing the scripts
  2. What version of ArduRover are you using? There can be quite significant differences version to version. I would recommend downloading a different version and seeing if the problem goes away. EG from 4.5.3 to 4.3.5. I would also recommend if this is a limitation of the python script or the internal autonomous navigation controllers. Create a mission and upload it via MissionPlanner or QGroundControl, switch it into auto, and see if the problem goes away.
  3. For rovers, it can actually be more difficult to get a perfect simulation of paths. For drone’s it’s more straightforward to simulate. Rovers are totally different. Skid steer vs acumen, turn radius, etc. In my experience, SITL for rover is best just to test the high level script intention, and not for confirming perfect projection of traveled paths.
  4. You could log this yourself in the python script. The vehicle object has access to the GPS data, you can have ChatGPT show you how to output that data in a timestamped manner. Alternatively, I believe the mav.tlogs that MAVProxy outputs has this information as well. You could make mavproxy connection first to the vehicle, make a --out for the python-dronekit script to connect to, and then the mavproxy connection should automatically log the data.
  5. Very difficult- not recommended unless you want to learn how to edit ArduPilot firmware itself.
1 Like

Thank you for your response. I got things working already!

1 Like