Skip to content
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion coms
Submodule coms updated 88 files
+0 −8 .gitmodules
+0 −1 CMakeLists.txt
+0 −1 argos_bridge
+202 −0 argos_bridge/CMakeLists.txt
+71 −0 argos_bridge/README.md
+195 −0 argos_bridge/argos_worlds/construct.argos
+193 −0 argos_bridge/argos_worlds/construct_kheperaiv.argos
+109 −0 argos_bridge/argos_worlds/demo.argos
+160 −0 argos_bridge/argos_worlds/multi_robot_dan_maze.argos
+730 −0 argos_bridge/argos_worlds/multi_robot_monster_maze.argos
+141 −0 argos_bridge/argos_worlds/multi_robots.argos
+22 −0 argos_bridge/launch/launch_argos.sh
+22 −0 argos_bridge/launch/launch_demo.sh
+2 −0 argos_bridge/msg/Proximity.msg
+3 −0 argos_bridge/msg/ProximityList.msg
+3 −0 argos_bridge/msg/Puck.msg
+3 −0 argos_bridge/msg/PuckList.msg
+1 −0 argos_bridge/msg/los.msg
+3 −0 argos_bridge/msg/losList.msg
+74 −0 argos_bridge/package.xml
+52 −0 argos_bridge/plugin/CMakeLists.txt
+6 −0 argos_bridge/plugin/argos_ros_bot/CMakeLists.txt
+181 −0 argos_bridge/plugin/argos_ros_bot/argos_ros_bot.cpp
+125 −0 argos_bridge/plugin/argos_ros_bot/argos_ros_bot.h
+12 −0 argos_bridge/plugin/clock_loop_functions/CMakeLists.txt
+41 −0 argos_bridge/plugin/clock_loop_functions/clock_loop_function.cpp
+31 −0 argos_bridge/plugin/clock_loop_functions/clock_loop_function.h
+8 −0 argos_bridge/plugin/kheperaiv_ros/CMakeLists.txt
+298 −0 argos_bridge/plugin/kheperaiv_ros/kheperaiv_ros.cpp
+180 −0 argos_bridge/plugin/kheperaiv_ros/kheperaiv_ros.h
+1 −0 argos_bridge/ros_lib_links/libroscpp.so
+1 −0 argos_bridge/ros_lib_links/libtf.so
+1 −0 argos_bridge/ros_lib_links/libtf2.so
+12 −0 argos_bridge/scripts/cmd_line_launch.sh
+143 −0 argos_bridge/scripts/demo_controller.py
+19 −0 argos_bridge/scripts/launch_demo_controller.py
+2 −1 coms/scripts/net.py
+2 −2 coms/src/coms/constants.py
+6 −4 coms/src/coms/sim.py
+9 −4 coms/tests/test_sim.py
+0 −1 ros-net-sim
+104 −0 ros-net-sim/README.md
+ ros-net-sim/architecture.png
+52 −0 ros-net-sim/channel_simulator/CMakeLists.txt
+118 −0 ros-net-sim/channel_simulator/include/channel_simulator/channel_simulator.h
+4 −0 ros-net-sim/channel_simulator/msg/PathlossPair.msg
+1 −0 ros-net-sim/channel_simulator/msg/PathlossPairArray.msg
+20 −0 ros-net-sim/channel_simulator/package.xml
+247 −0 ros-net-sim/channel_simulator/src/channel_simulator.cpp
+46 −0 ros-net-sim/channel_simulator/src/channel_simulator_test.cpp
+86 −0 ros-net-sim/channel_simulator/src/segment_node.cpp
+15 −0 ros-net-sim/example/CMakeLists.txt
+45 −0 ros-net-sim/example/cfg/argos_demo.yaml
+46 −0 ros-net-sim/example/cfg/example.yaml
+43 −0 ros-net-sim/example/cfg/testing.yaml
+21 −0 ros-net-sim/example/launch/argos.launch
+21 −0 ros-net-sim/example/launch/gazebo.launch
+21 −0 ros-net-sim/example/launch/testing.launch
+16 −0 ros-net-sim/example/package.xml
+187 −0 ros-net-sim/example/scripts/net_sim_dummy.py
+194 −0 ros-net-sim/example/scripts/phy_sim_dummy.py
+13 −0 ros-net-sim/example/setup.py
+13 −0 ros-net-sim/network_coordinator/CMakeLists.txt
+15 −0 ros-net-sim/network_coordinator/package.xml
+28 −0 ros-net-sim/network_coordinator/scripts/argos_hack_net_coord.py
+25 −0 ros-net-sim/network_coordinator/scripts/net_coord.py
+22 −0 ros-net-sim/network_coordinator/setup.cfg
+13 −0 ros-net-sim/network_coordinator/setup.py
+3 −0 ros-net-sim/network_coordinator/src/network_coordinator/__init__.py
+471 −0 ros-net-sim/network_coordinator/src/network_coordinator/argos_hack_coord.py
+14 −0 ros-net-sim/network_coordinator/src/network_coordinator/constants.py
+479 −0 ros-net-sim/network_coordinator/src/network_coordinator/coordinator.py
+115 −0 ros-net-sim/network_coordinator/src/network_coordinator/utils.py
+46 −0 ros-net-sim/physics_coordinator/CMakeLists.txt
+56 −0 ros-net-sim/physics_coordinator/launch/custom_main_empty_world.launch
+20 −0 ros-net-sim/physics_coordinator/package.xml
+42 −0 ros-net-sim/physics_coordinator/scripts/gazebo_custom_server
+42 −0 ros-net-sim/physics_coordinator/scripts/gazebo_custom_server_debug
+19 −0 ros-net-sim/physics_coordinator/scripts/libcommon.sh
+288 −0 ros-net-sim/physics_coordinator/src/gazebo_custom_main.cpp
+80 −0 ros-net-sim/protobuf_msgs/CMakeLists.txt
+0 −0 ros-net-sim/protobuf_msgs/__init__.py
+15 −0 ros-net-sim/protobuf_msgs/package.xml
+0 −0 ros-net-sim/protobuf_msgs/protobuf/__init__.py
+15 −0 ros-net-sim/protobuf_msgs/protobuf/channel_data.proto
+28 −0 ros-net-sim/protobuf_msgs/protobuf/network_update.proto
+14 −0 ros-net-sim/protobuf_msgs/protobuf/physics_update.proto
+12 −0 ros-net-sim/protobuf_msgs/setup.py
4 changes: 0 additions & 4 deletions mdis_state_machine/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ catkin_python_setup()

add_message_files(
FILES
Connection.msg
DataCommunication.msg
RobotsState.msg
)
Expand Down Expand Up @@ -92,9 +91,6 @@ add_dependencies(team_scheduler ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXP
target_link_libraries(team_scheduler ${PROJECT_NAME} ${catkin_LIBRARIES})

## Test Move base
add_executable(connection_check src/connection_check.cpp)
add_dependencies(connection_check ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(connection_check ${PROJECT_NAME} ${catkin_LIBRARIES})

install(TARGETS move_base_test
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
Expand Down
9 changes: 5 additions & 4 deletions mdis_state_machine/include/robot_state_machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
#include <std_msgs/Bool.h>
#include <std_msgs/Int8.h>
#include <mdis_state_machine/RobotsState.h>
#include <mdis_state_machine/Connection.h>
#include <mdis_state_machine/DataCommunication.h>
#include <coms/nearby.h>
#include <vector>
enum ROLE{
RELAY,
EXPLORER,
Expand Down Expand Up @@ -179,7 +180,7 @@ class Explore: public RobotState{
class GoToMeet: public RobotState{
public:
GoToMeet(ros::NodeHandle &nh, bool testing):RobotState(GO_TO_MEET, "GoToMeet", nh, testing){
conn_sub = nh.subscribe(nh.getNamespace() + "/connection_check", 1000, &GoToMeet::connCB, this);
conn_sub = nh.subscribe(nh.getNamespace() + "/nearby", 1000, &GoToMeet::connCB, this);
robot_state_pub = nh.advertise<mdis_state_machine::RobotsState>(nh.getNamespace() + "/robots_state", 1000);
}
bool isDone() override ;
Expand All @@ -192,12 +193,12 @@ class GoToMeet: public RobotState{

private:
bool connected;
std::string conn_robot;
std::vector<std::string> conn_robots;
ros::Subscriber conn_sub;
ros::Publisher robot_state_pub;
mdis_state_machine::RobotsState state_pub_data;

void connCB(const mdis_state_machine::Connection::ConstPtr msg);
void connCB(const coms::nearby::ConstPtr msg);
};


Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<launch>
<!-- The argument 5 is to notify the code that it is in testing mode for the robot Explorer -->
<group ns = "test_robot_1">
<node pkg="mdis_state_machine" type="team_scheduler" name="team_scheduler" args="5 dummy_parent dummy_child" output="screen"/>
<node pkg="mdis_state_machine" type="team_scheduler" name="team_scheduler" args="5 192.168.0.2:8765 192.168.0.3:8765" output="screen"/>
</group>

<!-- The argument 6 is to notify the code that it is in testing mode for the robot Relay -->
Expand Down
2 changes: 1 addition & 1 deletion mdis_state_machine/launch/test_state_machine_relay.launch
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@

<!-- The argument 6 is to notify the code that it is in testing mode for the robot Relay -->
<group ns = "test_robot_2">
<node pkg="mdis_state_machine" type="team_scheduler" name="team_scheduler" args="6 dummy_parent dummy_child" output="screen"/>
<node pkg="mdis_state_machine" type="team_scheduler" name="team_scheduler" args="6 192.168.0.2:8765 192.168.0.3:8765" output="screen"/>
</group>
</launch>
2 changes: 0 additions & 2 deletions mdis_state_machine/msg/Connection.msg

This file was deleted.

1 change: 1 addition & 0 deletions mdis_state_machine/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<exec_depend>message_runtime</exec_depend>
<buildtool_depend>catkin</buildtool_depend>

<depend>coms</depend>
<depend>octomap</depend>
<depend>octomap_msgs</depend>

Expand Down
87 changes: 0 additions & 87 deletions mdis_state_machine/src/connection_check.cpp

This file was deleted.

17 changes: 8 additions & 9 deletions mdis_state_machine/src/mdis_state_machine/utils.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import rospy
from subprocess import Popen, DEVNULL
from mdis_state_machine.msg import RobotsState
from mdis_state_machine.msg import Connection
from coms.msg import nearby
from std_msgs.msg import String
from typing import List
from roslaunch.parent import ROSLaunchParent
Expand All @@ -21,7 +21,7 @@
max_time_to_wait_to_change_state = 6
message_wait_timeout = 30
robot_state_topic = "/robots_state"
connection_check_topic = "/connection_check"
nearby_check_topic = "/nearby"

def gen_topic_name(lst: List[str]) -> str:
result = ""
Expand Down Expand Up @@ -64,16 +64,15 @@ def verifyConnStateChange(init_state, change_state, robot_name):
if msg.robot_state == init_state:
init_state_sucs = True

robot_conn_msg = Connection()
robot_conn_msg.connection_between = []
robot_conn_msg.connection_between.append(String(data=robot_name))
robot_conn_msg.connection_between.append(String(data="dummy_parent"))
payload = nearby()
payload.remote_addresses = ["192.168.0.2:8765"]
payload.local_address = "192.168.0.1:8765"

connection_topic_name = gen_topic_name([robot_name, connection_check_topic])
pub = rospy.Publisher(connection_topic_name, Connection, queue_size=10)
nearby_topic_name = gen_topic_name([robot_name, nearby_check_topic])
pub = rospy.Publisher(nearby_topic_name, nearby, queue_size=10)
time_start = rospy.get_rostime().secs
while rospy.get_rostime().secs < time_start + max_time_to_wait_to_change_state:
pub.publish(robot_conn_msg)
pub.publish(payload)
rospy.sleep(0.5)
msg = rospy.wait_for_message(state_topic_name, RobotsState, timeout=message_wait_timeout)
if msg.robot_name.data == robot_name:
Expand Down
26 changes: 9 additions & 17 deletions mdis_state_machine/src/robot_state_machine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -218,12 +218,12 @@ bool GoToMeet::entryPoint()

bool GoToMeet::isDone()
{
if(connected)
{
if(isConnDirectRelated(conn_robot))
{
ROS_INFO("Robot is connected to the party of interest");
return true;
if(connected) {
for(auto robot : conn_robots) {
if(isConnDirectRelated(robot)) {
ROS_INFO("Robot is connected to the party of interest");
return true;
}
}
}
return false;
Expand Down Expand Up @@ -257,18 +257,10 @@ void GoToMeet::exitPoint()
}


void GoToMeet::connCB(const mdis_state_machine::Connection::ConstPtr msg)
void GoToMeet::connCB(const coms::nearby::ConstPtr msg)
{
connected = false;
for(int i = 0; i<msg->connection_between.size(); i++)
{
if(robot_name == msg->connection_between.at(i).data)
{
int j = 1 ? i==0 : 0;
connected = true;
conn_robot = msg->connection_between.at(j).data;
}
}
connected = msg->remote_addresses.size() > 0;
conn_robots = msg->remote_addresses;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// M E E T S T A T E C L A S S ////////////////////////////////////
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
<node pkg="rviz" type="rviz" name="rviz" required="true" args="-d $(find turtlebot3_gazebo)/rviz/path_following.rviz"/>
</group>

<node pkg="mdis_state_machine" type="connection_check" name="connection_check" args="2"/>
<!-- <node pkg="mdis_state_machine" type="connection_check" name="connection_check" args="2"/> -->

<node pkg="tf" type="static_transform_publisher" name="world_to_bot_0_tf_broadcaster" args="0 0 0 0 0 0 /map /tb3_0/map 100"/>
<node pkg="tf" type="static_transform_publisher" name="world_to_bot_1_tf_broadcaster" args="0 0 0 0 0 0 /map /tb3_1/map 100"/>
Expand Down