I am little familiar with simulink as well as ROS px4 interface. However I was wondering which option is more advanced to opt for. I want to control the rotor speeds of a quadcopter directly rather than sending the desired roll, pitch and yaw commands. I wanted some advice regarding this.
ROS is for offboard computing (Mavros) in real-time. It is well supported. Also DroneCore will be really nice in some months.
Simulink PX4 with embedded coder is for onboard application. There might be a MAVLink interface also.
Simulink also converts it to a offboard application (simulink converts the matlab code to a ROS based structure which can then be used by pixhawk). Through simulink you can change the rotor speeds in the matlab code directly. However one of my friends also said that it breaks in between due to which it wont carry out the control action efficiently. Currently I am learning both these interfaces but was curious to know which one is better.
I would go for ROS & MAVLink.
If you want low level control, I would go for ROS 2.0 with Fast RTPS
Thank you very much Alexis for getting back to me on this. I will keep you posted regarding how it goes.