Skip to content
This repository has been archived by the owner on Aug 5, 2022. It is now read-only.

Replace mavserver with the mavlink_vehicles submodule - v2 #25

Closed
wants to merge 41 commits into from

Conversation

guiccbr
Copy link
Contributor

@guiccbr guiccbr commented Aug 11, 2016

The mavlink_vehicles library is a more encapsulated and more generic version of the mavserver. This pull request has been created to centralize the review of the modifications that are needed for gzsitl to be compatible with the mavlink_vehicles library, however, it should not be merged until mavlink_vehicles is made fully available.

Important: Temporarily, the mavlink_vehicles module present in this patch points to the PR intel/mavlink-vehicles#3 instead of the master.

@dakerfp
Copy link
Contributor

dakerfp commented Aug 15, 2016

LGTM

1 similar comment
@rchiossi
Copy link

LGTM

guiccbr and others added 23 commits August 15, 2016 19:57
A ROS-independent Gazebo plugin for Ardupilot's SITL.

Plugin first detects if the vehicle is on ground or airborne.
 - If on ground: store initial position as reference for the local coordinates
   and requests take-off.
 - If airborne: request home_position through mavlink, setting it as reference
   for the local coordinates and keeps the same flight mode.

When Airborne, the vehicle follows the transparent sphere (target).

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
In case of an error or data loss, do not empty the buffer. It will be sent on
the next call to handle_send().

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Use find_program to look for python, use the binary name found instead
of 'python'. Fail if python is not found, as mavlink messages won't be
generated.

Signed-off-by: Anselmo L. S. Melo <anselmo.melo@intel.com>
Currently, builds must happen inside $PROJECT_DIR/gzsitl/build.
This patch allows the use of arbitrary directories.

Signed-off-by: Anselmo L. S. Melo <anselmo.melo@intel.com>
Set send_recv_thread_run=false to end cleanly on the destruction of MavServer.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
- GZSitl will run even if a target is not present in the world.
- Also a new gzsitl_drone model has been created. The GZsitl is associated to
  it locally and not on the world file. This allows this model to be used in
  any other gazebo world.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
The parameter <target_name> stores the name of the target that the vehicle must
follow.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
For some reason that must be investigated, gazebo does not work well with
static models. Those models are too laggy and cant be used in our application.

Also set target as not colidable.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Daker Fernandes Pinheiro <daker.fernandes.pinheiro@intel.com>
A missing bracket was resulting in a critical block of the handle_message
switch never being reached. Before this fix, the vehicle would loop forever
waiting for those unhandled messages.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Allows 'make install' command.
When no custom INSTALL_PATH is provided, it installs to
GAZEBO_PLUGIN_PATH by default.

Signed-off-by: Anselmo L. S. Melo <anselmo.melo@intel.com>
Split CMakeLists in two, one in the root dir with general configuration,
another one inside gzsitl with the remaining build settings to build and
install the target. Also updated README.md.

Signed-off-by: Anselmo L. S. Melo <anselmo.melo@intel.com>
Remove empty spaces and missing EOF
The remote address of mavproxy will be filled the first time an update
is received from mavproxy, so the initialization will be overwritten.
There is no data to be sent from the client before an initial message
arrives from mavproxy, so there is no need to initialize the address.
In order to avoid coverity check problems.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
So that this project may be included as a subdirectory to other cmake projects.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Gazebo was crashing when the model associated with the plugin was deleted. The
problem was solved after removing the DisconnectWorldUpdateBegin() call on the
plugin destructor. This call is never used in any gazebo plugin and has been
made deprecated on Gazebo 8, what makes me think that it's a common source of
problems. The regular destructor for the update event should be used instead.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
- Obtain plugin parameters, including model and topic names, straight from the
  model sdf.
- Subscribe substitute_target pose.
- Control substitute_target visualization model pose.
- Publish user target pose.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
- Also create special plugin to set models visibility flags according to sdf
  parameters.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Send the MAV_CMD_CONDITION_YAW command in order to have the vehicle continually
pointing at the direction of movement.
Also move common variables and routines outside of the switch case blocks and
implement ACTIVE_ON_GROUND state.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Temporarily point to the Pull Request intel#3 (Implment Rotate, Mission WP and
Detour WP).

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Also replace returns inside switch-cases with breaks.

Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Signed-off-by: Guilherme Campos Camargo <guilherme.campos.camargo@intel.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants