User Tools

Site Tools


getting_started:ros

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
getting_started:ros [2017/11/20 16:21] – [Using Publisher and Subscriber Blocks in the Control System] grafgetting_started:ros [2017/11/20 17:28] – [Using ROS through EEROS HAL] graf
Line 7: Line 7:
 Special blocks in EEROS take care of sending signals to and receiving signals from ROS. These signals must be packed into ROS messages. Each topic transmits messages of a certain type. Depending on the message type you have to use certain blocks in your control system, see [[eeros_architecture:control_system:available_blocks#Blocks_for_Interfacing_with_ROS|Blocks for Interfacing with ROS]] Special blocks in EEROS take care of sending signals to and receiving signals from ROS. These signals must be packed into ROS messages. Each topic transmits messages of a certain type. Depending on the message type you have to use certain blocks in your control system, see [[eeros_architecture:control_system:available_blocks#Blocks_for_Interfacing_with_ROS|Blocks for Interfacing with ROS]]
  
-===== Using Publisher and Subscriber Blocks in the Control System ===== +===== Using ROS through EEROS HAL ===== 
-[{{ :getting_started:roshal.png?400 |//}}+EEROS can communicate with the underlying hardware through its [[eeros_architecture:hal:start|]]. When using this, you need a special wrapper library (see ).  
 +[{{ :getting_started:roshal.png?350 |//Connect with ROS topics through the HAL//}}]
  
-When using +The EEROS HAL signals can be comprised of digital or analog inputs or outputs. They are specified in a JSON file. \\ 
 +If you want to test your application with a [[http://gazebosim.org/|Gazebo]] simulation, you can define your inputs and outputs as ROS topics to connect your application with the simulation. For this no hardware is necessary. To use your application with hardware, you can use any of the available [[eeros_architecture:hal:hardware_libraries|]], for example, use the wrapper library \textit{comedi-eeros} or \textit{flink-eeros}. 
 +If you adapt the *.json file correctly, your application should now run on hardware with real encoders and motors without any problems. 
 +It is also possible to use ROS-topics alongside real hardware. 
 +You can use \textit{comedi-eeros} to read an encoder and set a control value for a motor. 
 +At the same time, you can publish the same values to ROS topics to visualize the state of the robot with \textit{rviz} (if you have a model of your robot) or you can monitor the values with a ROS tool like ''\textit{rqt}'' and display them in a graph with \textit{Multiplot} or as numbers with \textit{TopicMonitor}. 
 +With \textit{Multiplot} you can also store the values in a text file. 
  
 ===== Preparations and Building ===== ===== Preparations and Building =====
getting_started/ros.txt · Last modified: 2023/02/09 12:04 by ursgraf