-
Notifications
You must be signed in to change notification settings - Fork 13
raven_2_control
benkehoe edited this page Feb 28, 2013
·
6 revisions
The raven_2_control
package contains the code used to interface with the robot. This code, which must be compiled and run on computer attached to the Raven, talks to the robot, publishes the state of the robot over ROS, receives commands over ROS and UDP, and performs control based on those commands.
Compiling this package produces the r2_control
binary. For use with ROS, it is recommended to use the raven_2.launch
file, which loads the relevant parameters and the robot model for visualization. Note that this must be run using sudo
, since reading and writing the USB requires root access. See running the robot.
The r2_control
code executes as 3 threads:
- The network thread, which listens for UDP packets containing control commands.
- The console thread, which provides the interactive display in the terminal.
- The real-time thread, which runs at 1000 Hz and performs all the major functions of the program.
There are two main data structures used in this program:
- The robot state is contained in the
device
struct. - The control commands are stored in the
param_pass
struct.
Additional topics: