Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

initial commit #1

Open
wants to merge 8 commits into
base: dev/ypatel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .vscode/browse.vc.db-shm
Binary file not shown.
Binary file added .vscode/browse.vc.db-wal
Binary file not shown.
91 changes: 90 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0.2)
project(uml_hri_nerve_navigation)

## Compile as C++11, supported in ROS Kinetic and newer
add_compile_options(-std=c++11)
add_compile_options(-std=c++14)

## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
Expand All @@ -18,6 +18,8 @@ find_package(catkin REQUIRED COMPONENTS
move_base_msgs
actionlib
gazebo_msgs
tuw_local_controller_msgs
tuw_multi_robot_msgs
)

## System dependencies are found with CMake's conventions
Expand Down Expand Up @@ -124,6 +126,8 @@ catkin_package(
move_base_msgs
actionlib
gazebo_msgs
tuw_local_controller_msgs
tuw_multi_robot_msgs
# DEPENDS system_lib
)

Expand Down Expand Up @@ -160,6 +164,9 @@ add_executable(estop src/estop.cpp)
add_executable(dord_calculator src/dord_calculator.cpp)
add_executable(pose_publisher src/pose_publisher.cpp)

add_executable(ob_mover src/ob_mover.cpp)
add_executable(tuw_mb_mover src/tuw_mb_mover.cpp)

## Rename C++ executable without prefix
## The above recommended prefix causes long target names, the following renames the
## target back to the shorter version for ease of user use
Expand All @@ -177,6 +184,83 @@ add_dependencies(estop ${estop_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_dependencies(dord_calculator ${dord_calculator_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
add_dependencies(pose_publisher ${pose_publisher_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_dependencies(ob_mover ${ob_mover_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

add_dependencies(tuw_mb_mover ${ob_mover_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})

target_link_libraries(tuw_mb_mover
${catkin_LIBRARIES}
)

#### FILES FOR MULTIPLE ROBOT NAVIGATION ####

add_executable(mbf_mover_node src/mbf_mover.cpp)
add_executable(move_base_mover_node src/move_base_mover.cpp)
add_executable(checker_node src/checker.cpp)
add_executable(move_base_checker_node src/move_base_checker.cpp)
add_executable(tuw_node src/tuw_node.cpp)
add_executable(tuw_goal_sender_node src/tuw_goal_sender.cpp)
add_executable(test_runner_node src/test_runner.cpp)
add_executable(graph_checker src/graph_checker.cpp)
add_executable(robot_checker_node src/robot_checker.cpp)

add_executable(tester_goal_pub_node src/tester_goal_publisher.cpp)

add_executable(ant src/automated_navigation_tester.cpp)
add_dependencies(ant ${ob_mover_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(ant
${catkin_LIBRARIES}
)

add_executable(tester_checker_node src/tester_checker.cpp)
add_dependencies(tester_checker_node ${ob_mover_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(tester_checker_node
${catkin_LIBRARIES}
)

add_executable(odom_filter_node src/rosaria_odom_filter.cpp)
add_dependencies(odom_filter_node ${ob_mover_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(odom_filter_node
${catkin_LIBRARIES}
)


target_link_libraries(tester_goal_pub_node
${catkin_LIBRARIES}
)

target_link_libraries(mbf_mover_node
${catkin_LIBRARIES}
)
target_link_libraries(move_base_mover_node
${catkin_LIBRARIES}
)
target_link_libraries(checker_node
${catkin_LIBRARIES}
)
target_link_libraries(move_base_checker_node
${catkin_LIBRARIES}
)

target_link_libraries(tuw_node
${catkin_LIBRARIES}
)

target_link_libraries(tuw_goal_sender_node
${catkin_LIBRARIES}
)
target_link_libraries(test_runner_node
${catkin_LIBRARIES}
)
target_link_libraries(graph_checker
${catkin_LIBRARIES}
)
target_link_libraries(robot_checker_node
${catkin_LIBRARIES}
)
#### FILES FOR MOVE BASE FLEX ####


## Specify libraries to link a library or executable target against
# target_link_libraries(${PROJECT_NAME}_node
# ${catkin_LIBRARIES}
Expand All @@ -203,6 +287,11 @@ target_link_libraries(pose_publisher
${catkin_LIBRARIES}
)

target_link_libraries(ob_mover
${catkin_LIBRARIES}
)


#############
## Install ##
#############
Expand Down
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,21 @@ To create a level launch file, copy one of the premade level launch files in bot
Example command to start logging a test that is being performed in level1 and with the fetch robot
> roslaunch uml_hri_nerve_navigation start_loggers.launch level:=level1 robot:=fetch

## Automated Navigation Tester (ANT)
The TestRunner class takes in a JSON file which contains the test definition. The TestRunner class parses the JSON file passed in and sets up the test scenario based on the information. There are two member functions currently present in the TestRunner which can be used to run multiple iterations of the test scenario automatically:
* **run_test_repeatedly(num_repetitions)** - Using this function for running tests quits and restarts all the launch files such as gazebo, map server, etc.
* **run_test_in_person(num_repetitions)** - Using this function for runs gazebo simulation and map server only once and at the end of each iterations it deletes the robot models and kills the other launch files. At the end of each test iteration, there should be a string "continue" published to the /tester_status topic for continuing running another iteration of the test. This feature can be useful when setting up a physical robot back at its starting position after an iteration is ended.

Example command to start the tester:
> rosrun uml_hri_nerve_navigation test_runner_node

Currently the tester takes number of iterations and name of the test definition JSON file through keyboard (stdin).

Following command can be used to publish string "continue" to /tester_status topic:
> rostopic pub /tester_status std_msgs/String "data: 'continue'"

**Note**: The way the tester is setup currently requires test definition JSON file to be placed under the test_defs directory. A sample test definition JSON file is present in the test_defs directory. All test definition files should follow same syntax as the sample file.

## Available Arguments
The maps that are able to be launched are the following:
* level1
Expand Down
Empty file added build/CATKIN_IGNORE
Empty file.
Loading