diff --git a/README.md b/README.md index 3dd2acef1..89b386eb1 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,12 @@ MAVROS MAVLink extendable communication node for ROS. - Since 2014-08-11 this repository contains several packages. -- Since 2014-11-02 hydro support splited from master to hydro-devel branch. +- Since 2014-11-02 hydro support separated from master to hydro-devel branch. - Since 2015-03-04 all packages also dual licensed under terms of BSD license. - Since 2015-08-10 all messages moved to mavros\_msgs package - Since 2016-02-05 (v0.17) frame conversion changed again - Since 2016-06-22 (pre v0.18) Indigo and Jade separated from master to indigo-devel branch. +- Since 2016-06-23 (0.18.0) support MAVLink 2.0 without signing. mavros package diff --git a/libmavconn/README.md b/libmavconn/README.md index 321f4b477..e56fc93fc 100644 --- a/libmavconn/README.md +++ b/libmavconn/README.md @@ -30,7 +30,7 @@ Dependencies Same as for mavros: - Linux host - - Boost >= 1.46 (used Boost.ASIO and Boost.Signals2) + - Boost >= 1.46 (used Boost.ASIO) - console-bridge library - compiller with C++11 support diff --git a/mavros/README.md b/mavros/README.md index 7211b21af..75a3d57e1 100644 --- a/mavros/README.md +++ b/mavros/README.md @@ -12,7 +12,6 @@ Features - Communication with autopilot via serial port, UDP or TCP (e.g. [PX4 Pro][px4] or [ArduPilot][apm]) - Internal proxy for Ground Control Station (serial, UDP, TCP) - - [mavlink\_ros][mlros] compatible ROS topics (Mavlink.msg) - Plugin system for ROS-MAVLink translation - Parameter manipulation tool - Waypoint manipulation tool @@ -23,13 +22,11 @@ Features Limitations ----------- -Only for linux. Depends on [Boost library][boost] >= 1.46 (hydro on 12.04). -Catkin build system required (tested with ROS Hydro Medusa, Indigo Igloo and Jade Turtle). +Only for Linux. Depends on [Boost library][boost], GCC 4.8+ (C++11 support). +Catkin build system required. This package are dependent on [ros-\*-mavlink][mlwiki] build from [mavlink-gbp-release][mlgbp]. -Since 2014-06-19 it exists in Hydro and Indigo package index (so you can install via rosdep). -Since 2015-02-25 exists for Jade too. - +It exists in ROS package index and usually updates each month. Connection URL -------------- @@ -40,7 +37,7 @@ Supported schemas: - Serial: `/path/to/serial/device[:baudrate]` - Serial: `serial:///path/to/serial/device[:baudrate][?ids=sysid,compid]` - - UDP: `udp://[bind_host][:port]@[remote_host][:port][/?ids=sysid,compid]` + - UDP: `udp://[bind_host][:port]@[remote_host[:port]][/?ids=sysid,compid]` - UDP boroadcast: `udp-b://[bind_host][:port]@[:port][/?ids=sysid,compid]` - TCP client: `tcp://[server_host][:port][/?ids=sysid,compid]` - TCP server: `tcp-l://[bind_host][:port][/?ids=sysid,compid]` @@ -58,11 +55,11 @@ Coordinate frames ----------------- MAVROS does translate Aerospace NED frames, used in FCUs to ROS ENU frames and vice-versa. -For translate airframe related data we simply apply rotation 180° abount ROLL (X) axis. +For translate airframe related data we simply apply rotation 180° about ROLL (X) axis. For local we apply 180° about ROLL (X) and 90° about YAW (Z) axes. -Plase read documents from issue #473 for additional information. +Please read documents from issue #473 for additional information. -All the conversions are handled in `src/lib/uas_frame_conversions.cpp` and `src/lib/uas_quaternion_utils.cpp` and tested in `test/test_frame_conversions.cpp` and `test/test_quaternion_utils.cpp` respectively. +All the conversions are handled in `src/lib/ftf_frame_conversions.cpp` and `src/lib/ftf_quaternion_utils.cpp` and tested in `test/test_frame_conversions.cpp` and `test/test_quaternion_utils.cpp` respectively. Related issues: [#49 (outdated)][iss49], [#216 (outdated)][iss216], [#317 (outdated)][iss317], [#319 (outdated)][iss319], [#321 (outdated)][iss321], [#473][iss473]. Documents: [Frame Conversions][iss473rfc], [Mavlink coordinate frames][iss473table]. @@ -102,25 +99,26 @@ Launch files are provided for use with common FCUs, in particular [Pixhawk](pixh Examples: - roslaunch mavros px4.launch + roslaunch mavros px4.launch roslaunch mavros apm.launch fcu_url:=tcp://localhost gcs_url:=udp://@ Installation ------------ -### Binary installation (debian) +### Binary installation (deb) + +ROS repository has binary packages for Ubuntu x86, amd64 (x86\_64) and armhf (ARMv7). +Kinetic also support Debian Jessie amd64 and arm64 (ARMv8). -Since v0.5 that programs available in precompiled debian packages for x86 and amd64 (x86\_64). -Also v0.9+ exists in ARMv7 repo for Ubuntu armhf. Just use `apt-get` for installation: - sudo apt-get install ros-jade-mavros ros-jade-mavros-extras + sudo apt-get install ros-kinetic-mavros ros-kinetic-mavros-extras ### Source installation -Use `wstool` utility for retriving sources and [`catkin` tool][catkin] for build. +Use `wstool` utility for retrieving sources and [`catkin` tool][catkin] for build. NOTE: The source installation instructions are for the ROS Kinetic release. @@ -134,28 +132,32 @@ catkin init wstool init src # 2. Install MAVLink -# we use the Kinetic reference for all ROS distros as its not distro-specific and up to date -rosinstall_generator --rosdistro kinetic --upstream mavlink > /tmp/mavros.rosinstall +# we use the Kinetic reference for all ROS distros as its not distro-specific and up to date +rosinstall_generator --rosdistro kinetic --upstream mavlink | tee /tmp/mavros.rosinstall # 3. Install MAVROS: get source (upstream - released) -rosinstall_generator --upstream mavros | tee /tmp/mavros.rosinstall +rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall # alternative: latest source -# rosinstall_generator --upstream-development mavros | tee /tmp/mavros.rosinstall +# rosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall # 4. Create workspace & deps wstool merge -t src /tmp/mavros.rosinstall -wstool update -t src -rosdep install --from-paths src --ignore-src --rosdistro kinetic -y +wstool update -t src -j4 +rosdep install --from-paths src --ignore-src -y -# 4. Build source +# 5. Build source catkin build + +# 6. Make sure that you use setup.bash or setup.zsh from workspace. +# Else rosrun can't find nodes from this workspace. +source devel/setup.bash ``` *Build error*. if you has error with missing `mavlink*` then you need fresh mavlink package. -You may update from [ros-shadow-fixed][shadow] (binary installation) or redo script from step 3. +You may update from [ros-shadow-fixed][shadow] (binary installation) or redo script steps 2 & 4. -*Note*. Since MAVLink 2.0 merged all dialects supported by same binary. -Unfortunately overlap of v1.0 message ID's not fully handled, fisrt loaded message forbid futher changes. +*Note*. Since MAVLink 2.0 merged (0.18) all dialects supported by same binary. +Unfortunately overlap of v1.0 message ID's not fully handled, first loaded message forbid further changes. Load order always: 1. common @@ -175,7 +177,7 @@ Contributing 3. Create a remote connection to your repo (`git remote add git@github.com:/mavros.git`); 4. Create a feature/dev branch (`git checkout -b `); 5. Add the changes; -6. Apply the changes by commiting (`git commit -m ""` or `git commit -a` and then write message; if adding new files: `git add `); +6. Apply the changes by committing (`git commit -m ""` or `git commit -a` and then write message; if adding new files: `git add `); 7. Check code style `uncrustify -c ${ROS_WORKSPACE}/mavros/mavros/tools/uncrustify-cpp.cfg --replace --no-backup `; 8. Fix small code style errors and typos; 9. Commit with description like "uncrustify" or "code style fix". Please avoid changes in program logic (separate commit are better than mix of style and bug fix); diff --git a/mavros_extras/README.md b/mavros_extras/README.md index 297f33940..edb3a8545 100644 --- a/mavros_extras/README.md +++ b/mavros_extras/README.md @@ -4,22 +4,17 @@ mavros extras Some extra plugins and nodes for [mavros][mr]. -px4flow -------- - -Plugin for mavros. Publish `OPTICAL_FLOW_RAD` data. - +servo\_state\_publisher +----------------------- -image\_pub ----------- +Convert `mavros_msgs/RCOut` to `sensor_msgs/JointState` messages. +It is required to bind URDF model and real servos. -Plugin for mavros, publish images from mavlink device. +px4flow +------- -gcs\_image\_bridge ------------------- - -Variation of `gcs_bridge` that additionally sends image stream to GCS. +Plugin for mavros. Publish `OPTICAL_FLOW_RAD` data. mocap\_pose\_estimate diff --git a/test_mavros/README.md b/test_mavros/README.md index 80bfe0c65..4fbfbe9a9 100644 --- a/test_mavros/README.md +++ b/test_mavros/README.md @@ -8,7 +8,7 @@ PX4 ROS SITL ------------ Follow the instructions presented on [PX4 ROS SITL Setup][px4-sitl-wiki]. -To test the simulation environment all you have to do is launch the propper ROS launch file. Right now, the current available one is `iris_empty_world_offboard_ctl.launch`, which allows to test the offboard control routines of the Firmware, together with the MAVROS API. +To test the simulation environment all you have to do is launch the proper ROS launch file. Right now, the current available one is `iris_empty_world_offboard_ctl.launch`, which allows to test the offboard control routines of the Firmware, together with the MAVROS API. ### Available tests