Revision 26258aeb
Added linesensor to the behavior class.
scout/libscout/CMakeLists.txt | ||
---|---|---|
30 | 30 |
#target_link_libraries(example ${PROJECT_NAME}) |
31 | 31 |
|
32 | 32 |
set(MAIN_FILES src/Behavior.cpp src/BehaviorList.cpp src/BehaviorProcess.cpp) |
33 |
set(BEHAVIOR_FILES src/behaviors/Odometry.cpp src/behaviors/draw_cw_circle.cpp src/behaviors/draw_ccw_circle.cpp src/behaviors/navigationMap.cpp src/behaviors/Scheduler.cpp src/behaviors/WH_Robot.cpp) |
|
34 |
set(CONTROL_CLASSES src/MotorControl.cpp src/SonarControl.cpp src/HeadlightControl.cpp src/ButtonControl.cpp src/WirelessSender.cpp src/EncodersControl.cpp) |
|
33 |
set(BEHAVIOR_FILES src/behaviors/Odometry.cpp src/behaviors/draw_cw_circle.cpp src/behaviors/draw_ccw_circle.cpp src/behaviors/navigationMap.cpp) |
|
34 |
set(TEST_BEHAVIOR_FILES src/behaviors/Scheduler.cpp src/behaviors/WH_Robot.cpp) |
|
35 |
set(CONTROL_CLASSES src/MotorControl.cpp src/SonarControl.cpp src/HeadlightControl.cpp src/ButtonControl.cpp src/WirelessSender.cpp src/EncodersControl.cpp src/LinesensorControl.cpp) |
|
35 | 36 |
|
36 | 37 |
rosbuild_add_executable(libscout ${MAIN_FILES} ${BEHAVIOR_FILES} ${CONTROL_CLASSES}) |
37 | 38 |
rosbuild_add_executable(test_encoders src/test_encoders.cpp) |
scout/libscout/manifest.xml | ||
---|---|---|
16 | 16 |
<depend package="headlights"/> |
17 | 17 |
<depend package="buttons"/> |
18 | 18 |
<depend package="sonar"/> |
19 |
<depend package="linesensor"/> |
|
19 | 20 |
<!-- <depend package="cliffsensor"/> --> |
20 | 21 |
|
21 | 22 |
</package> |
scout/libscout/src/Behavior.cpp | ||
---|---|---|
57 | 57 |
sonar = new SonarControl(node, scoutname); |
58 | 58 |
//cliffsensor = new CliffsensorControl(node, scoutname); |
59 | 59 |
encoders = new EncodersControl(node, scoutname); |
60 |
linesensor = new LinesensorControl(node, scoutname); |
|
60 | 61 |
|
61 | 62 |
loop_rate = new ros::Rate(10); |
62 | 63 |
} |
scout/libscout/src/Behavior.h | ||
---|---|---|
45 | 45 |
#include "SonarControl.h" |
46 | 46 |
//#include "CliffsensorControl.h" |
47 | 47 |
#include "EncodersControl.h" |
48 |
#include "LinesensorControl.h" |
|
48 | 49 |
#include "constants.h" |
49 | 50 |
|
50 | 51 |
typedef ros::Time Time; |
... | ... | |
74 | 75 |
SonarControl * sonar; |
75 | 76 |
//CliffsensorControl * cliffsensor; |
76 | 77 |
EncodersControl * encoders; |
78 |
LinesensorControl * linesensor; |
|
77 | 79 |
|
78 | 80 |
// Wrappers for ROS functions |
79 | 81 |
bool ok(); |
scout/libscout/src/BehaviorList.cpp | ||
---|---|---|
6 | 6 |
behavior_list.push_back((Behavior*)new draw_ccw_circle(scoutname)); |
7 | 7 |
behavior_list.push_back((Behavior*)new Odometry(scoutname)); |
8 | 8 |
behavior_list.push_back((Behavior*)new navigationMap(scoutname)); |
9 |
behavior_list.push_back((Behavior*)new Scheduler(scoutname)); |
|
9 |
// behavior_list.push_back((Behavior*)new Scheduler(scoutname));
|
|
10 | 10 |
return; |
11 | 11 |
} |
12 | 12 |
|
scout/libscout/src/BehaviorProcess.cpp | ||
---|---|---|
43 | 43 |
|
44 | 44 |
// Running with no arguments only supports one scout. Check in case |
45 | 45 |
// the user meant to specify a scout in the arguments. |
46 |
if (argc != 4)
|
|
46 |
if (argc != 3)
|
|
47 | 47 |
{ |
48 | 48 |
cout << "You have started this behavior in hardware mode." << endl |
49 | 49 |
<< "To start in software mode, use: " << argv[0] |
50 |
<< " <scoutname> <behavior#> <behaviorname>" << endl;
|
|
50 |
<< " <scoutname> <behavior#> " << endl; |
|
51 | 51 |
} |
52 | 52 |
else |
53 | 53 |
{ |
54 | 54 |
// Use the provided scoutname for simulator messages |
55 | 55 |
scoutname = argv[1]; |
56 | 56 |
behavior_num = atoi(argv[2]); |
57 |
behavior_name = argv[3]; |
|
58 | 57 |
|
59 |
ros::init(argc, argv, behavior_name);
|
|
58 |
ros::init(argc, argv, scoutname + "_behavior");
|
|
60 | 59 |
|
61 | 60 |
BehaviorList* list = new BehaviorList(scoutname); |
62 | 61 |
vector<Behavior*> behavior_list = list->behavior_list; |
Also available in: Unified diff