I am still moving towards my objective to find that best avenue to simulate a quadcopter with visual hardware. Last week, I had trouble finding the appropriate method to implement out lab code into RotorS. It became difficult to find exactly how the system ran their own logic controller, since the package had so many files. This week I was able to obtain literature that described RotorS in-depth and explained how to use a custom controller. RotorS has two ways to integrate a controller. The default method is to have nodes subscribe to odometry and trajectory messages, and use parameters from a PID controller to send motor commands to the simulator. The method that allows me to implement our lab code details that I would need to import the messages from sensors and publish the thrust that comes from our mixer to a motor topic that Gazebo will read.
Next week, I will modify the CMakelists of the folder that contains the nodes needed for this process to work. Once I properly implement the code, I can refocus my efforts into understanding how to properly create new sensors, like lidar, into Gazebo.
Current RotorS process
Proposed RotorS process
How our diagram would change