Skip to content

ERA in two computers using USRP Devices

Akin Sisbot edited this page Jun 26, 2020 · 1 revision

Demo simulating 2 vehicles with each running on a separate computer

The default launch file of ERA, era.launch, launches a single simulator with two robots and expects to run in a single machine. In this page we describe a demo that allows ERA to run in two computers each running its own simulator.

Requirements

No additional requirements.

Limitations

  • Currently the system runs only for 2 computers. More computers are not supported due to the lack of broadcast functionality in the udp_sink of GNURadio.
  • If two robots start in the same exact location, the system doesn't work correctly. So, start one robot, move the position and then start a second robot to take care of this.

Configuration

At each computer, please do the following:

  • Open the file wifi_transreceiver.grc with gnuradio-companion, and change the IP Addresses of UDP Source and UDP Sink blocks to indicate current and target computer IPs.
  • Open the file era_gazebo/launch/v2v.launch and change the robot_name to the desired name of the robot for that computer. Also change the remote_port and local_port parameters in the same file.

Architecture

The architecture of the demo is following:

Running

The following two commands runs the demo:

  • roslaunch era_gazebo era_single_robot.launch
  • roslaunch era_gazebo v2v.launch. Use v2v_dev1.launch or v2v_dev2.launch for the case where actual USRP devices are used for the demo. If there is any issue with the range of communication, the parameter tx-gain and rx-gain in the v2v_dev?.launch files can be adjusted (range 10 to 90) to see if the packet error rate improves.

A blue box should appear in Gazebo representing the other vehicle.

Robot 1:

Robot 2:

Each robot builds its own occupancy grid map. It can be seen in RVIZ by subscribing to /local_map topic.

Robot 1:

Robot 2:

map_fuser node merges the remote and the local occupancy grid in each robot and publishes in the /combined_grid topic.

Robot 1:

Robot 2:

Problems? Questions?

Ask Akin Sisbot ([email protected])