Sono nuovo di ROS e cercando di capire questo potente strumento. Sono confuso dalle funzioni spin e rate.sleep. Qualcuno potrebbe aiutarmi con la differenza tra queste due funzioni e quando usare quale? Grazie.Differenza tra rotazione e rate.sleep in ROS
risposta
ros::spin()
e ros::spinOnce()
sono resposible per gestire eventi di comunicazione, ad esempio messaggi in arrivo. Se si sottoscrivono messaggi, servizi o azioni, è necessario chiamare spin per elaborare gli eventi.
Mentre ros :: spinOnce() gestisce gli eventi e restituisce immediatamente, ros :: rotazione() blocchi fino a ros invoca un arresto. Quindi ros :: spinOnce() ti dà più controllo se necessario. Maggiori informazioni su questo argomento: Callbacks and Spinning.
rate.sleep() invece è solo un sonno filo con durata definita essere una frequenza. Ecco un esempio
ros::Rate rate(24.);
while(ros::ok())
{
rate.sleep();
}
Questo ciclo verrà eseguito 24 volte al secondo o meno, dipende ciò che si fa all'interno del ciclo. Un oggetto ros::Rate
tiene traccia di quanto tempo dall'ultimo rate.sleep()
è stato eseguito e dormire per la giusta quantità di tempo per colpire nel segno 24 Hz. Vedi API ros::Rate::sleep()
.
Il modo equivalente nel dominio del tempo è ros::Duration::sleep()
ros::Duration duration(1./24.);
while(ros::ok())
{
duration.sleep();
}
Quale si utilizza è solo una questione di convenienza.
- 1. Differenza tra `% in%` e `` ==
- 2. Differenza tra "" e "" in Python
- 3. Differenza tra $ @ e $! in perl
- 4. Differenza tra. e: in Lua
- 5. ROS Framework Installazione ed esempi
- 6. Impostazione del pacchetto ROS in CLion
- 7. Differenza tra. e #
- 8. Differenza tra "o" e "||"
- 9. MySQL: Differenza tra ",", "e"
- 10. Differenza tra "e" e && in Ruby?
- 11. Differenza tra oggetto e *?
- 12. Differenza tra ". +" E ". +?"
- 13. Differenza tra | = e^= css
- 14. CMake: differenza tra $ {} e "$ {}"
- 15. La differenza tra $ * e $ @
- 16. Differenza tra $ # e $ {# @}
- 17. Differenza tra unwrapObservable e()
- 18. Differenza tra "**/* /" e "** /"?
- 19. Differenza tra jquery e $
- 20. VBA: Differenza tra & e +
- 21. Differenza tra numpy.logical_and e &
- 22. C'è una differenza tra RotatingFileHandler e logrotate.d + WatchedFileHandler per la rotazione del registro Python?
- 23. interpolazione tra matrici di rotazione
- 24. Differenza tra Iterator e Stream in Scala?
- 25. Differenza in python tra basestring e types.StringType?
- 26. Differenza tra $ (this) e questo in jQuery
- 27. differenza tra $ GetJSON() e $ .ajax() in jQuery
- 28. Differenza tra Bus.Publish e Bus.Send in NServiceBus?
- 29. Differenza tra UPDATE e INSERT in Cassandra?
- 30. Differenza tra --cacert e --capath in curl?