Giter VIP home page Giter VIP logo

swarm's Introduction

Install

See the install instructions.

Tutorials

See the Swarm wiki home page.

API

Doxygen

Test worlds

  1. gazebo worlds/ground_simple_2.world

    This will run a sample world with 2 ground vehicles.

  2. gazebo worlds/fixed_simple_36.world

    This will run a sample world with 36 fixed wing aircraft.

  3. gazebo worlds/rotor_simple_36.world

    This will run a sample world with 36 rotorcraft.

  4. gazebo worlds/ground_simple_36.world

    This will run a sample world with 36 ground vehicles.

swarm's People

Contributors

caguero avatar esquires avatar gerkey avatar nkoenig avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

muskanmahajan37

swarm's Issues

Implement terrible comms model

Original report (archived issue) by Brian Gerkey (Bitbucket: Brian Gerkey, GitHub: gerkey).


Capture the main elements from the review meeting:

  • neighbor link probability, taking into account distance and obstacles
  • packet drop probability
  • comms blackout probability / duration

For now, put this in the broker plugin. Consider migrating it to an ns-3 model later.

lost person starts below terrain

Original report (archived issue) by Eric Squires (Bitbucket: esquires).

The original report had attachments: below_ground.png


This can be recreated by using the tutorial_7 controller. The lost person initial x,y position can also be set to 0,0 and it appears that the lost person starts about 20m below the surface.

communication not working in tutorial 3

Original report (archived issue) by Eric Squires (Bitbucket: esquires).


The addresses in ground_simple_2.world are now 192.168.3.1 and .2. After making the change in tutorial_3, there was still no communication.

I had some difficulties in my own controller so I am going back to a simple case to debug.

Tested on 2413d2f (default)

Unable to clone

Original report (archived issue) by Anonymous.


Hello,
I'm using Ubuntu 16.04, ROS Kinetic.
When I try to clone the Swarm repo:
hg clone #!/osrf/swarm

I get the following response:
destination directory: swarm
abort: Permission denied: '/swarm'

Can someone help me resolve this issue?

Testing your installation

Original report (archived issue) by Pat Cappelaere (Bitbucket: cappelaere).


I am trying to run on Mac OSX 10.11.2
I built the swarm client library and I am trying to test the installation

gzserver --verbose worlds/ground_simple_2.world
Gazebo multi-robot simulator, version 6.5.1
Copyright (C) 2012-2015 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 192.168.1.10
[Msg] BrokerPlugin::ReadSwarmFromSDF: 3 swarm members found

It just hangs... and does not display the Neighbors messages.
Am I missing something else to run in the background?
[Note: Install says ns-3 is not required yet. But then says to follow the instructions described in the ns-3 installation tutorial. I went back and built ns-3-allinone/ns-3-dev... hummm]
Thanks,
Pat.

Latest tests fail

Original report (archived issue) by Pat Cappelaere (Bitbucket: cappelaere).


Just did a download on Ubuntu virtualbox
Was trying to run tests to verify install

#!python

# gzserver --verbose worlds/ground_simple_2.world
Gazebo multi-robot simulator, version 6.5.1
Copyright (C) 2012-2015 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 172.17.0.2
[Err] [RenderEngine.cc:701] Can't open display:
[Wrn] [RenderEngine.cc:103] Unable to create X window. Rendering will be disabled
[Wrn] [RenderEngine.cc:302] Cannot initialize render engine since render path type is NONE. Ignore this warning ifrendering has been turned off on purpose.
[Wrn] [ModelDatabase.cc:339] Getting models from[http://gazebosim.org/models/]. This may take a few seconds.
[Err] [SystemPaths.cc:410] File or path does not exist[""]
[Err] [HeightmapShape.cc:199] Unable to find heightmap[file://media/materials/textures/swarm_terrain_257_random.png]
Segmentation fault

Where do I get that file from?
my /media directory is empty.
Thanks,
Pat

examples install fails on OSX El Capitan

Original report (archived issue) by Pat Cappelaere (Bitbucket: cappelaere).


sudo make install fails

#!python

-- Installing: /usr/lib/libTeamControllerPlugin.dylib
CMake Error at cmake_install.cmake:31 (file):
  file INSTALL cannot copy file
  "/Users/patricecappelaere/Development/swarm/example/build/libTeamControllerPlugin.dylib"
  to "/usr/lib/libTeamControllerPlugin.dylib".

Wouldn't it be better to copy to /usr/local/lib?

I am not sure I want to turn off System Integrity Protection on the Mac.
Thanks,
Pat.

Add GPS

Original report (archived issue) by Brian Gerkey (Bitbucket: Brian Gerkey, GitHub: gerkey).


  • Add gps sensor to model, similar to:
<sensor name="gps" type="gps">
  <gps/>
  <always_on>1</always_on>
 </sensor>
  • Add spherical coordinates to each world, similar to (but look up some real coords):
 <spherical_coordinates>
  <latitude_deg>0</latitude_deg>
  <longitude_deg>0</longitude_deg>
  <elevation>0</elevation>
  <heading_deg>0</heading_deg>
</spherical_coordinates>
  • Expose this information via new API in RobotPlugin.

buildings not showing up in MapQuery

Original report (archived issue) by Eric Squires (Bitbucket: esquires).

The original report had attachments: terrain.png, elevation.png, terrain.py, terrain_debug.cc, terrain_debug.hh, buildings_complete_10.png, default_gzclient_camera(1)-2015-11-19T09_52_21.565514.jpg, default_gzclient_camera(1)-2015-11-19T09_52_34.246116.jpg


I wrote a simple plugin that writes the output of MapQuery to a csv file. An associated python file plots it with a colormap with code (0 = PLAIN, 1 = FOREST, 2 = BUILDING). There are a few problems I noticed:

  1. Buildings don't show up but they are part of the world when viewing it with the gazebo gui
  2. The forest does not match the layout shown by the gazebo gui
  3. The elevation doesn't seem to match the 2d image of terrain_camp_robots.sdf

This can be recreated with the attached cc and hh files.

Comms tests failing (for me)

Original report (archived issue) by Brian Gerkey (Bitbucket: Brian Gerkey, GitHub: gerkey).


I see the following tests fail on default:

[  FAILED  ] 4 tests, listed below:
[  FAILED  ] CommsTest.HalfMsgsDrop
[  FAILED  ] CommsTest.TemporaryOutage
[  FAILED  ] CommsTest.PermanentOutage
[  FAILED  ] CommsTest.OutagesAndDrops

The problem seems to be that expected message counts, which determined randomly, but which should be deterministic given a constant seed (which is set), don't agree. I get the following values reliably:

/home/gerkey/code/swarm/swarm/test/integration/comms_plugin.cc:173: Failure
Value of: expectedNumMsgs
  Actual: 347
Expected: this->numMsgsRecv
Which is: 354
[Dbg] [ServerFixture.cc:118] ServerFixture::Unload
[  FAILED  ] CommsTest.HalfMsgsDrop (1859 ms)
/home/gerkey/code/swarm/swarm/test/integration/comms_plugin.cc:173: Failure
Value of: expectedNumMsgs
  Actual: 470
Expected: this->numMsgsRecv
Which is: 442
[Dbg] [ServerFixture.cc:118] ServerFixture::Unload
[  FAILED  ] CommsTest.TemporaryOutage (1854 ms)
/home/gerkey/code/swarm/swarm/test/integration/comms_plugin.cc:173: Failure
Value of: expectedNumMsgs
  Actual: 296
Expected: this->numMsgsRecv
Which is: 229
[Dbg] [ServerFixture.cc:118] ServerFixture::Unload
[  FAILED  ] CommsTest.PermanentOutage (1859 ms)
/home/gerkey/code/swarm/swarm/test/integration/comms_plugin.cc:173: Failure
Value of: expectedNumMsgs
  Actual: 426
Expected: this->numMsgsRecv
Which is: 429
[Dbg] [ServerFixture.cc:118] ServerFixture::Unload
[  FAILED  ] CommsTest.OutagesAndDrops (1855 ms)

lost person starts at high altitude

Original report (archived issue) by Eric Squires (Bitbucket: esquires).


If I change the following lines in worlds/master.erb:

$ground_count = 2

$fixed_count = 0

$rotor_count = 0

to

$ground_count = 2

$fixed_count = 0

$rotor_count = 0

then rebuild/install the lost person starts at seemingly random altitudes. In the latest run I did it started at z = 150,547.083247.

This can be recreated on 25cc4e5 in tutorial_7.

Add IMU

Original report (archived issue) by Brian Gerkey (Bitbucket: Brian Gerkey, GitHub: gerkey).


We need to offer orientation and velocity (linear and angular) data. The easiest way is probably to add an IMU sensor and forward that info through the plugin API, like we did with GPS.

elevation lookup offset

Original report (archived issue) by Eric Squires (Bitbucket: esquires).

The original report had attachments: TeamControllerPlugin.cc.patch, complete_10.world.patch, RobotPlugin.cc.patch, RobotPlugin.hh.patch, tutorial5_CMakeLists.txt.patch, grid_lines.cc, grid_lines.hh, above_terrain.png, below_terrain.png, camp_roberts.png


When querying the center of the scenario of the 10x10km world I am getting an elevation of 994. From the gui where the boo is located the correct number appears to be 785.

add altitude sensor

Original report (archived issue) by Eric Squires (Bitbucket: esquires).


This will allow the flying aircraft to maintain a constant height over the ground. Right now we only have distance above sea level and with the added terrain the vehicles fly into the ground sometimes.

Consider a basic vehicle dynamic model

Original report (archived issue) by Carlos Agüero (Bitbucket: caguero, GitHub: caguero).


Originally we envisioned the motion API using velocity control. Right now, we're directly applying the target velocities to the models. This allows potential unrealistic motion (e.g.: going full speed forward and in the next cycle going full speed backwards).

Two ideas:

  1. Change from a velocity control to an acceleration control. You're only allowed to increase/decrease a short amount of speed each cycle.

  2. Keep using velocity control but with a PID in the middle.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.