How to use 'Timer' function to send ROS messages?
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    JAI PRAKASH
      
 el 7 de Sept. de 2018
  
fps=50;
How can send ROS messages through a publisher continuously.
0 comentarios
Respuesta aceptada
  Koundinya
    
 el 10 de Sept. de 2018
        
      Editada: Koundinya
    
 el 7 de Feb. de 2019
  
      % Create a timer object
 t=timer;
Set execution mode of the timer object to fixedRate, fixedDelay or fixedSpacing to execute your call back repeatedly
 set(t,'executionMode','fixedRate');
Specify the function handle or the command you want to be executed. In your case, for sending messages over a ROS topic , use send :
set(t,'TimerFcn','send(pub,msg)');
Set the frequency or period(in seconds),at which the timer callback function is called
% To publish the message at a rate of 50 times per second 
set(t,'Period', 0.02);
% Start the timer
start(t);
ROS message msg is then sent periodically(every 0.02 seconds). To stop the timer:
stop(t);
Delete the timer object after usage
delete(t);
5 comentarios
  Arun Prasanth Soungyan Gokul
 el 6 de Feb. de 2019
				Hi Koundinya,
I'm trying to use the timer object which you suggested. I already created the publisher and it's respective message(pub,msg). But when I set set(t,'TimerFcn','send(pub,msg)'), and the other attributes
and run start(t); it says undefined function or variable msg,undefined function or variable pub.
Can you please help me out from this?
  Koundinya
    
 el 7 de Feb. de 2019
				
      Editada: Koundinya
    
 el 7 de Feb. de 2019
  
			Hi Arun,
You need to first create a ROS publisher object(named 'pub' in this case)  and then define a message ('msg') that is to be published. Take a look at the documentation of rospublisher and send for examples.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Publishers and Subscribers en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!