-
Notifications
You must be signed in to change notification settings - Fork 0
/
roswiki
144 lines (111 loc) · 5.3 KB
/
roswiki
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
## Repository: https://github.com/Terabee/positioning_systems_ros
<<PackageHeader(positioning_systems_ros)>> <<TOC(4)>>
Github: *https://github.com/Terabee/positioning_systems_ros
This package is a ROS wrapper for `follow_me_driver` contained in [[https://github.com/Terabee/positioning_systems_api|positioning_systems_api]] package. It enables easy use of Terabee Follow-Me system in ROS environment.
== Supported hardware ==
This package works with Terabee Follow-Me system
{{attachment:follow_me_picture.png}}
== Dependencies ==
This package depends on [[https://github.com/Terabee/positioning_systems_api|positioning_systems_api]]. Please clone the repository into you workspace:
* If you have ssh key setup for your github account:
{{{
cd ~/ros_ws/src
git clone [email protected]:Terabee/positioning_systems_api.git
}}}
* If you prefer to use https use this set of commands:
{{{
cd ~/ros_ws/src
git clone https://github.com/Terabee/positioning_systems_api.git
}}}
== Building the packages ==
Clone the repository into your workspace:
* If you have ssh key setup for your github account:
{{{
cd ~/ros_ws/src
git clone [email protected]:Terabee/positioning_systems_ros.git
}}}
* If you prefer to use https use this set of commands:
{{{
cd ~/ros_ws/src
git clone https://github.com/Terabee/positioning_systems_ros.git
}}}
Navigate to your workspace and build:
{{{
cd ~/ros_ws
catkin build
source devel/setup.bash
}}}
== Nodes ==
=== follow_me_master_beacon ===
With this node you can receive data (distance ''in meters'' and heading ''in degrees'') from the system. It is intended to use with master beacon connected to the computer.
It provides following configuration options of the system:
* switching between text and binary printout modes,
* swapping beacons,
* setting ''Exponential Moving Average'' filter number of samples (window size),
* setting span between the beacons (in millimeters),
* settings parameters for RS485 connection (Modbus slave id, baudrate, parity).
==== Running the node ====
After your workspace is built and sourced, you can run the node (set `_portname` to the actual port name where the master beacon is connected:
{{{
rosrun positioning_systems_ros follow_me_master_beacon _portname:=/dev/ttyACM0
}}}
==== Subscribed topics ====
This node subscribes to the following topics:
* `/follow_me_master_beacon/follow_me_autocalibrate` : publishing to this topic activates span autocalibration mode
* `/follow_me_master_beacon/follow_me_config` : publishing to this topic sets parameters: printout mode, swap beacons, EMA filter window, span between the beacons
* `/follow_me_master_beacon/follow_me_rs485_config` : publishing to this topic sets slave id, baudrate and parity of RS485 interface
* `/follow_me_master_beacon/follow_me_test_cmd` : publishing to this topic triggers test command which returns actual configuration of the device
Example 1 of usage:
{{{
rostopic pub /follow_me_master_beacon/follow_me_config positioning_systems_ros/FollowMeDriverConfig "printout_mode: 'Binary'
swap_beacons: true
ema_window: 10
beacons_span: 540"
}}}
Sets binary printout mode, swaps beacons, sets EMA filter to 10 samples and beacons span to 540 mm.
Example 2 of usage:
{{{
rostopic pub /follow_me_master_beacon/follow_me_rs485_config positioning_systems_ros/FollowMeDriverRS485Config "rs485_slave_id: 3
rs485_baudrate: 19200
rs485_parity: 2"
}}}
Sets Modbus RTU slave id to 3, baud rate to 19200 and parity to 2 (Even).
To see list of valid values for each parameter, open respective *.msg file.
==== Published topics ====
This node publishes to the topic:
* `/follow_me_master_beacon/follow_me_polar_point_2d` : provides distance and heading of the remote control with respect to the beacons
=== follow_me_remote_control ===
This node is intended to use with remote control connected to the computer.
It provides following configuration options of the remote control:
* setting button operation mode (hold, toggle)
* setting buzzer operation (enabled, disabled)
==== Running the node ====
After your workspace is built and sourced, you can run the node (set `_portname` to the actual port name where the remote control is connected:
{{{
rosrun positioning_systems_ros follow_me_remote_control _portname:=/dev/ttyUSB0
}}}
==== Subscribed topics ====
This node subscribes to the following topics:
* `/follow_me_remote_control/follow_me_get_config` : publishing to this topic triggers command which returns actual configuration of the remote control
* `/follow_me_remote_control/follow_me_set_config` : publishing to this topic sets remote control configuration (button mode and buzzer state)
Example of usage:
{{{
rostopic pub /follow_me_remote_control/follow_me_set_config positioning_systems_ros/FollowMeRemoteControlConfig "button_mode: 'Hold'
buzzer_active: false"
}}}
Sets button mode to ''Hold'' and deactivates buzzer.
To see list of valid values for each parameter, open respective *.msg file.
== Example ==
A basic subscriber is available in subdirectory `examples`.
In order to use the package in your own node, do the following:
In `CMakeLists.txt` add the package name `positioning_systems_ros` to `find_package` and `catkin_package` commands.
In `package.xml` add:
{{{
<build_depend>positioning_systems_ros</build_depend>
}}}
and
{{{
<exec_depend>positioning_systems_ros</exec_depend>
}}}
## AUTOGENERATED DON'T DELETE
## CategoryPackage