Hi Dave,
Right now I'm using a modified version of the demo.launch that was generated with the setup assistant. Within this launch file, I see that there is already a joint_state_publisher and also a robot_state_publisher. Should I assume that these two nodes are already doing the job of publishing the messages (they're empty now) thus causing the robot_state_ to be reading the TF?
I did a trial with the launch file without the joint_state_publisher nor the robot_state_publisher. I first launched the simulation and then had the quadrotor take off and hover. I then launched the .launch file and I noticed in RViz that the quadrotor is in the origin (0, 0, 0) instead of in the air. Once I manually executed rosrun joint_state_publisher joint_state_publisher, the quadrotor within RViz pops into a pose matching that of the simulator. I also ran a test where I ran some commands to move the quadrotor in the simulator, and RViz updates accordingly.
If this is happening, does this mean that the jointStateCallback() function is repeatedly being called and hence updating MoveIt's knowledge of the robot?
I also did a rostopic echo /joint_states command prior to creating a node which publishes empty Joint_States messages at 100 Hz and compared the output to the rostopic echo after I launched the node and I saw no difference.
Also a bit of a side question: does MoveIt knowing the joint_states have anything to do with the replanning capabilities? I'm having trouble allowing MoveIt! to replan.