Software Manual Underwater Robotics Research Centre (CIRS) Computer Vision and Robotics Institute Universitat de Girona, 17003, Girona, Spain. web: http://cirs.udg.edu Contact person: Marc Carreras email: [email protected] January 2, 2014 Software Manual Version 0.1, Nov. 2013 Contents 1 Installation 1.1 Install Ubuntu . . . . . . . . 1.2 Install ROS Groovy . . . . . 1.3 Install UWSim . . . . . . . 1.4 Install COLA2 architecture . . . . 5 5 5 5 6 2 Getting started 2.1 Learn ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Learn UWSim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Learn Sparus II COLA2 architecture . . . . . . . . . . . . . . . . . . . 6 6 6 6 3 Nodes 3.1 Node 3.2 Node 3.3 Node 3.4 Node 3.5 Node 3.6 Node 3.7 Node 3.8 Node 3.9 Node 3.10 Node 3.11 Node 3.12 Node 3.13 Node 3.14 Node 3.15 Node 3.16 Node 3.17 Node 3.18 Node 3.19 Node 3.20 Node . . . . . . . . . . . . /captain . . . . . . . . . . . /dynamics . . . . . . . . . . /ekf slam . . . . . . . . . . /keyboard . . . . . . . . . . /map ack . . . . . . . . . . /merge body force req . . . /merge body velocity req . /merge world waypoint req /navigator s2 . . . . . . . . /pilot . . . . . . . . . . . . /pose controller s2 . . . . . /safe depth altitude . . . . /safety s2 . . . . . . . . . . /set zero pose . . . . . . . . /set zero velocity . . . . . . /sim actuators s2 . . . . . . /sim nav sensors s2 . . . . /teleoperation . . . . . . . . /thruster allocator . . . . . /velocity controller s2 . . . 4 Messages 4.1 Message 4.2 Message 4.3 Message 4.4 Message 4.5 Message 4.6 Message 4.7 Message file file file file file file file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . actionlib msgs/GoalID . . . . . actionlib msgs/GoalStatusArray auv msgs/BodyForceReq . . . . auv msgs/BodyVelocityReq . . auv msgs/NavSts . . . . . . . . auv msgs/WorldWaypointReq . cola2 control/Setpoints . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 9 10 12 12 13 13 14 15 17 18 19 19 20 20 21 22 23 24 25 . . . . . . . 26 26 26 27 27 28 29 30 Software Manual 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message Message 5 Services 5.1 Service 5.2 Service 5.3 Service 5.4 Service 5.5 Service 5.6 Service 5.7 Service 5.8 Service 5.9 Service Version 0.1, Nov. 2013 file file file file file file file file file file file file file file file file file file file file file file file file file file file file file file file 6 Config files 6.1 Config file 6.2 Config file 6.3 Config file 6.4 Config file 6.5 Config file 6.6 Config file 6.7 Config file 6.8 Config file cola2 control/WorldWaypointReqActionFeedback cola2 control/WorldWaypointReqActionGoal . . . cola2 control/WorldWaypointReqActionResult . . cola2 navigation/FastraxIt500Gps . . . . . . . . . cola2 navigation/LinkquestDvl . . . . . . . . . . . cola2 navigation/PressureSensor . . . . . . . . . . cola2 safety/MissionStatus . . . . . . . . . . . . . cola2 safety/NavSensorsStatus . . . . . . . . . . . cola2 safety/TotalTime . . . . . . . . . . . . . . . diagnostic msgs/DiagnosticArray . . . . . . . . . geometry msgs/PoseWithCovarianceStamped . . geometry msgs/TwistWithCovarianceStamped . . nav msgs/Odometry . . . . . . . . . . . . . . . . nav msgs/Path . . . . . . . . . . . . . . . . . . . pose ekf slam/Map . . . . . . . . . . . . . . . . . sensor msgs/Imu . . . . . . . . . . . . . . . . . . sensor msgs/Joy . . . . . . . . . . . . . . . . . . . sensor msgs/Range . . . . . . . . . . . . . . . . . std msgs/String . . . . . . . . . . . . . . . . . . . tf/tfMessage . . . . . . . . . . . . . . . . . . . . . visualization msgs/MarkerArray . . . . . . . . . . visualization msgs/Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 31 31 32 32 33 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 42 42 42 43 43 43 44 44 45 control/config/map ack s2.yaml . . . . . control/config/merge s2.yaml . . . . . . control/config/pilot.yaml . . . . . . . . . control/config/pose controller s2.yaml . . control/config/teleoperation s2.yaml . . . control/config/thruster allocator s2.yaml control/config/velocity controller s2.yaml navigation/config/navigator s2.yaml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 48 48 49 49 50 50 50 cola2 control/Goto . . . . . . . cola2 control/String . . . . . . cola2 navigation/SetGPS . . . cola2 navigation/SetNedOrigin cola2 safety/Submerge . . . . . pose ekf slam/SetLandmark . . pose ekf slam/SetPosition . . . std srvs/Empty . . . . . . . . . tf/FrameGraph . . . . . . . . . /cola2 /cola2 /cola2 /cola2 /cola2 /cola2 /cola2 /cola2 . . . . . . . . . . . . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software Manual Version 0.1, Nov. 2013 6.9 Config file /cola2 safety/config/safety s2.yaml . . . . . . . . . . . . . . 6.10 Config file /cola2 sim/config/dynamics s2.yaml . . . . . . . . . . . . . 6.11 Config file /cola2 sim/config/sim nav sensors s2.yaml . . . . . . . . . . 4 51 52 52 Software Manual 1 Version 0.1, Nov. 2013 Installation Sparus II AUV computer works under Ubuntu Server 12.04.3 LTS and ROS Groovy. In order to work with Sparus II robots it is highly recommended to set up another machine with Ubuntu Desktop, ROS, COLA21 and UWSim2 for teleoperation, programming and simulation purposes. This section reports the required steps to set up a machine with Ubuntu, ROS, UWSim and Sparus II architecture COLA2. 1.1 Install Ubuntu The first step to set up a machine is to instal Ubuntu Desktop 12.04.3 LTS. It is important the you leave some free space (e.g. at least 10 Gb) on the root to install the other required software later. You can download the image at http://www.ubuntu.com/download/desktop. 1.2 Install ROS Groovy Once Ubuntu is running, the next step is to install ROS Groovy. Use the guide in the ROS webpage http://wiki.ros.org/groovy/Installation/Ubuntu. Install the DesktopFull version to make sure that most of the required packages are installed. Once the installation is done, open a terminal and install the following packages: sudo apt-get install python-rosinstall python-rosdep sudo apt-get install ros-groovy-joystick-drivers Install Synaptic Package Manager. Search for libdc1394 and install libdc1394-22 and libdc1394-22-dev packages. Install ros-groovy-python-orocos-kdl too. Once all packages have been installed, set up the ROS environment following: http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment Create also a ROS Workspace. 1.3 Install UWSim Search for ros-groovy-uwsim in Synaptic Package Manager and install all listed packages. Further information and other installation methods can be found in http://www.irs.uji.es/uwsim/ 1 COLA2: Component Oriented Layered-based Architecture for Autonomy. Is the control architecture used in Sparus II. 2 UWSim: UnderWater Simulator. Is an open-source ROS-based simulator for underwater vehicles. 5 Software Manual 1.4 Version 0.1, Nov. 2013 Install COLA2 architecture Download COLA2 architecture source code and copy the cola2 parent folder to your workspace/src. Recently updated (i.e. not always tested) source code can also be found in https://bitbucket.org/udg cirs/cola2 for experimental purposes. Install GIT source code manager. Download auv msgs ROS package in your workspace/src using GIT doing: git clone https://bitbucket.org/udg cirs/auv msgs.git Switch to groovy branch doing: cd auv msgs/ git checkout –track origin/groovy 2 Getting started If you are new to Linux, the following tutorial may be a good starting point to learn the basics http://www.ee.surrey.ac.uk/Teaching/Unix/. The main goal of this section is to learn the basics of ROS, UWSim and COLA2 architecture. 2.1 Learn ROS First of all, you must learn ROS, e.g. by doing the tutorials on http://wiki.ros.org/ROS/Tutorials By doing the tutorials two goals are accomplished: to learn ROS and to test the installation. 2.2 Learn UWSim UWSim will be used mainly as a visualization tool. There is no need to fully understand how UWSim works to do basic simulations. Just for reference, there is a UWSim wiki at http://www.irs.uji.es/uwsim/wiki/index.php?title=Main Page Launch a roscore and try to launch UWSim by doing: rosrun uwsim uwsim The first time you launch uwsim you will be asked to download some files from internet. 2.3 Learn Sparus II COLA2 architecture To learn how to use Sparus II COLA2 architecture you can start by reading the main launch file, located in the package cola2 launch/launch/sparus2.launch. Configuring 6 Software Manual Version 0.1, Nov. 2013 its parameters you can choose which nodes you decide to launch3 . You can learn what each node does by reading the Nodes section. In the following chapters you will learn how each package in COLA2 interacts with each other. Furthermore, you can use our interactive wiki to navigate through COLA2 architecture. You can also learn a lot by using rqt Graph plugin from ROS and by simply launching the architecture and listening to all messages using standard ROS commands. Once the architecture is running, you can drive the AUV by using the following keys: • Use W and S to control surge velocity • Use F and H to turn left and right using velocity controller • Use T and G to go up and down using velocity controller • Use A and D to turn left and right using position controller • Use arrow Up and arrow Down to go up and down using position controller • Use . to enable heave and yaw position controller • Use , to enable heave and yaw velocity controller • Use Space key to stop the AUV In further versions of this documentation new chapters will be added, with further information about how to use COLA2 architecture. 3 Avoid launching too many nodes on virtual machines, specially those which use intensive graphics. 7 Software Manual 3 Version 0.1, Nov. 2013 Nodes In this section there is a reference about the relationship between nodes and other architecture elements. 3.1 Node /captain This node is used to load and execute missions or tasks. Using services, user is able to tell the captain to do different things. This node mainly interacts with the pilot. Config file: Publishers: • /absolute movement/goal Nodes subscribed to this topic: /pilot • /cola2 control/trajectory path • /cola2 control/mission status • /absolute movement/cancel Nodes subscribed to this topic: /pilot Subscribers: • /absolute movement/result Nodes publishing this topic: /pilot • /absolute movement/feedback Nodes publishing this topic: /pilot • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 8 Software Manual Version 0.1, Nov. 2013 • /absolute movement/status Nodes publishing this topic: /pilot Services: • cola2 control/Goto • std srvs/Empty • std srvs/Empty • cola2 control/String • std srvs/Empty • std srvs/Empty • cola2 control/Goto • std srvs/Empty • cola2 control/Goto • cola2 safety/Submerge • cola2 control/Goto • cola2 control/Goto 3.2 Node /dynamics This node uses simulated data of the actuators to compute the AUV dynamic behavior. This node can be used to simulate real AUV behavior and its interaction with the environtment. User can add currents and a preliminary version of collision detection has been implemented. Config file: /cola2 sim/config/dynamics s2.yaml Publishers: 9 Software Manual Version 0.1, Nov. 2013 • /tf Nodes subscribed to this topic: /ekf slam /navigator s2 • /sparus/ros odom to pat Nodes subscribed to this topic: /sim nav sensors s2 Subscribers: • /cola2 control/sim fins data Nodes publishing this topic: /sim actuators s2 • /cola2 control/sim thrusters data Nodes publishing this topic: /sim actuators s2 3.3 Node /ekf slam EKF slam node is used to compute the AUV position and velocity. Navigator updates the filter using position or velocity updates and the filter returns the AUV position and velocity back to the navigator. Config file: Publishers: • /pose ekf slam/odometry Nodes subscribed to this topic: /navigator s2 • /pose ekf slam/covariance marker • /tf Nodes subscribed to this topic: 10 Software Manual Version 0.1, Nov. 2013 /ekf slam /navigator s2 • /pose ekf slam/map • /pose ekf slam/landmarks Subscribers: • /tf Nodes publishing this topic: /dynamics /ekf slam /navigator s2 /sim nav sensors s2 • /pose ekf slam/pose update Nodes publishing this topic: /navigator s2 • /pose ekf slam/imu input Nodes publishing this topic: /navigator s2 • /pose ekf slam/velocity update Nodes publishing this topic: /navigator s2 Services: • pose ekf slam/SetPosition • tf/FrameGraph • pose ekf slam/SetLandmark 11 Software Manual 3.4 Version 0.1, Nov. 2013 Node /keyboard This node is used to drive the AUV in real time, just from the linux terminal. Config file: Publishers: • /cola2 control/keyboard data Nodes subscribed to this topic: /map ack 3.5 Node /map ack This node is used to join all input devices, such as keyboards and joystics. Once joined, the map ack node publishes a message. This node mainly interacts with the teleoperation node. When teleoperating the without cable, map ack should be run outside the robot computer. Config file: /cola2 control/config/map ack s2.yaml Publishers: • /cola2 control/map ack data Nodes subscribed to this topic: /teleoperation • /cola2 control/map ack ack Nodes subscribed to this topic: /set zero pose /teleoperation Subscribers: • /cola2 control/map ack ok Nodes publishing this topic: /teleoperation 12 Software Manual Version 0.1, Nov. 2013 • /cola2 control/keyboard data Nodes publishing this topic: /keyboard • /joy 3.6 Node /merge body force req This node is used to merge messages, taking into account message priorities, from /cola2 control/body force req topic to /cola2 control/merged body force req topic. Config file: /cola2 control/config/merge s2.yaml Publishers: • /cola2 control/merged body force req Nodes subscribed to this topic: /thruster allocator Subscribers: • /cola2 control/body force req Nodes publishing this topic: /velocity controller s2 3.7 Node /merge body velocity req This node is used to merge messages, taking into account message priorities, from /cola2 control/body velocity req topic to /cola2 control/merged velocity force req topic. Config file: /cola2 control/config/merge s2.yaml Publishers: 13 Software Manual Version 0.1, Nov. 2013 • /cola2 control/merged body velocity req Nodes subscribed to this topic: /velocity controller s2 Subscribers: • /cola2 control/body velocity req Nodes publishing this topic: /pilot /pose controller s2 /safe depth altitude /set zero velocity /teleoperation 3.8 Node /merge world waypoint req This node is used to merge messages, taking into account message priorities, from /cola2 control/world waypoint req topic to /cola2 control/merged world waypoint req topic. Config file: /cola2 control/config/merge s2.yaml Publishers: • /cola2 control/merged world waypoint req Nodes subscribed to this topic: /pose controller s2 Subscribers: • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 14 Software Manual Version 0.1, Nov. 2013 • /cola2 control/world waypoint req Nodes publishing this topic: /pilot /set zero pose /teleoperation 3.9 Node /navigator s2 The navigator subscribes to sensor drivers, interacts with ekf slam node, and publishes navigation status: position, velocities and more. Config file: /cola2 navigation/config/navigator s2.yaml Publishers: • /tf Nodes subscribed to this topic: /ekf slam /navigator s2 • /pose ekf slam/pose update Nodes subscribed to this topic: /ekf slam • /pose ekf slam/imu input Nodes subscribed to this topic: /ekf slam • /pose ekf slam/velocity update Nodes subscribed to this topic: /ekf slam • /cola2 navigation/nav sts Nodes subscribed to this topic: /captain /merge world waypoint req 15 Software Manual Version 0.1, Nov. 2013 /pilot /pose controller s2 /safe depth altitude /set zero velocity /teleoperation /thruster allocator /velocity controller s2 • /cola2 safety/nav sensors status Subscribers: • /pose ekf slam/odometry Nodes publishing this topic: /ekf slam • /tf Nodes publishing this topic: /dynamics /ekf slam /navigator s2 /sim nav sensors s2 • /cola2 navigation/imu Nodes publishing this topic: /sim nav sensors s2 • /cola2 navigation/linkquest navquest600 dvl Nodes publishing this topic: /sim nav sensors s2 • /cola2 navigation/fastrax it 500 gps Nodes publishing this topic: /sim nav sensors s2 • /cola2 navigation/pressure sensor Nodes publishing this topic: 16 Software Manual Version 0.1, Nov. 2013 /sim nav sensors s2 Services: • tf/FrameGraph • cola2 navigation/SetNedOrigin • cola2 navigation/SetGPS • std srvs/Empty 3.10 Node /pilot The pilot node, directed by the captain, publishes position and velocity setpoints to the position and velocity controllers. Pilot uses move mode.py to compute requests. Config file: /cola2 control/config/pilot.yaml Publishers: • /absolute movement/result Nodes subscribed to this topic: /captain • /cola2 control/waypoint marker • /absolute movement/feedback Nodes subscribed to this topic: /captain • /absolute movement/status Nodes subscribed to this topic: /captain • /cola2 control/world waypoint req Nodes subscribed to this topic: /merge world waypoint req 17 Software Manual Version 0.1, Nov. 2013 • /cola2 control/body velocity req Nodes subscribed to this topic: /merge body velocity req Subscribers: • /absolute movement/goal Nodes publishing this topic: /captain • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 • /absolute movement/cancel Nodes publishing this topic: /captain Actionlibs: • cola2 control/WorldWaypointReqActionResult 3.11 Node /pose controller s2 Position controller of Sparus II AUV. Config file: /cola2 control/config/pose controller s2.yaml Publishers: • /cola2 control/body velocity req Nodes subscribed to this topic: /merge body velocity req 18 Software Manual Version 0.1, Nov. 2013 Subscribers: • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 • /cola2 control/merged world waypoint req Nodes publishing this topic: /merge world waypoint req 3.12 Node /safe depth altitude This node check AUV depth and altitude, and is mainly used to avoid collisions. Config file: /cola2 safety/config/safety s2.yaml Publishers: • /cola2 control/body velocity req Nodes subscribed to this topic: /merge body velocity req Subscribers: • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 3.13 Node /safety s2 Safety node is used to check an absolute timeout. More functionalities will be added in the near future. 19 Software Manual Version 0.1, Nov. 2013 Config file: /cola2 safety/config/safety s2.yaml Publishers: • /cola2 control/thrusters data Nodes subscribed to this topic: /sim actuators s2 • /cola2 safety/total time 3.14 Node /set zero pose If teleoperation is lost for more than 5 seconds, this node tells the robot to surface. Config file: Publishers: • /cola2 control/world waypoint req Nodes subscribed to this topic: /merge world waypoint req Subscribers: • /cola2 control/map ack ack Nodes publishing this topic: /map ack 3.15 Node /set zero velocity If the robot is deep enough and teleoperation is giving only disabled setpoints, this node tells the robot to keep velocities to zero. 20 Software Manual Version 0.1, Nov. 2013 Config file: /cola2 safety/config/safety s2.yaml Publishers: • /cola2 control/body velocity req Nodes subscribed to this topic: /merge body velocity req Subscribers: • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 3.16 Node /sim actuators s2 This node is used to simulate Sparus II actuators. It is only used in simulation. Config file: Publishers: • /cola2 control/sim fins data Nodes subscribed to this topic: /dynamics • /cola2 control/sim thrusters data Nodes subscribed to this topic: /dynamics Subscribers: • /cola2 control/thrusters data Nodes publishing this topic: /safety s2 21 Software Manual Version 0.1, Nov. 2013 /thruster allocator • /cola2 control/fins data 3.17 Node /sim nav sensors s2 This node is used to simulate Sparus II navigation sensors. It is only used in simulation. Config file: /cola2 sim/config/sim nav sensors s2.yaml Publishers: • /tf Nodes subscribed to this topic: /ekf slam /navigator s2 • /cola2 navigation/imu Nodes subscribed to this topic: /navigator s2 • /cola2 navigation/linkquest navquest600 dvl Nodes subscribed to this topic: /navigator s2 • /cola2 navigation/fastrax it 500 gps Nodes subscribed to this topic: /navigator s2 • /cola2 navigation/pressure sensor Nodes subscribed to this topic: /navigator s2 Subscribers: • /sparus/range 22 Software Manual Version 0.1, Nov. 2013 • /sparus/ros odom to pat Nodes publishing this topic: /dynamics 3.18 Node /teleoperation This node is subscribed to the map ack output message. It is used to compute position and velocity setpoints out of the input joy message. Config file: /cola2 control/config/teleoperation s2.yaml Publishers: • /cola2 control/map ack ok Nodes subscribed to this topic: /map ack • /cola2 control/world waypoint req Nodes subscribed to this topic: /merge world waypoint req • /cola2 control/body velocity req Nodes subscribed to this topic: /merge body velocity req Subscribers: • /cola2 control/map ack data Nodes publishing this topic: /map ack • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 23 Software Manual Version 0.1, Nov. 2013 • /cola2 control/map ack ack Nodes publishing this topic: /map ack 3.19 Node /thruster allocator This node is used to convert from forces to thruster setpoints. Config file: /cola2 control/config/thruster allocator s2.yaml Publishers: • /cola2 control/thrusters data Nodes subscribed to this topic: /sim actuators s2 • /diagnostics Subscribers: • /cola2 control/merged body force req Nodes publishing this topic: /merge body force req • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 Services: • std srvs/Empty • std srvs/Empty 24 Software Manual 3.20 Version 0.1, Nov. 2013 Node /velocity controller s2 Velocity controller of Sparus II AUV. Config file: /cola2 control/config/velocity controller s2.yaml Publishers: • /cola2 control/body force req Nodes subscribed to this topic: /merge body force req Subscribers: • /cola2 control/merged body velocity req Nodes publishing this topic: /merge body velocity req • /cola2 navigation/nav sts Nodes publishing this topic: /navigator s2 25 Software Manual 4 Version 0.1, Nov. 2013 Messages In this section there is a reference about the relationship between messages and other architecture elements. 4.1 Message file actionlib msgs/GoalID Nodes using this message file: • /captain • /pilot Message file description: 1 2 time stamp string id 4.2 Message file actionlib msgs/GoalStatusArray Nodes using this message file: • /captain • /pilot Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 std_msgs / Header header uint32 seq time stamp string frame_id actionlib_msgs / GoalStatus [] status_list uint8 PENDING =0 uint8 ACTIVE =1 uint8 PREEMPTED =2 uint8 SUCCEEDED =3 uint8 ABORTED =4 uint8 REJECTED =5 uint8 PREEMPTING =6 uint8 RECALLING =7 uint8 RECALLED =8 uint8 LOST =9 actionlib_msgs / GoalID goal_id time stamp string id uint8 status string text 26 Software Manual 4.3 Version 0.1, Nov. 2013 Message file auv msgs/BodyForceReq Nodes using this message file: • /merge body force req • /thruster allocator • /velocity controller s2 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 std_msgs / Header header uint32 seq time stamp string frame_id auv_msgs / GoalDescriptor goal uint32 PRIORITY_LOW =0 uint32 PRIORITY_NORMAL =10 uint32 P R I O R I T Y _ A V O I D _ O B S T A C L E =20 uint32 P RI O R IT Y _E M ER G E NC Y =30 uint32 P R I O R I T Y _ M A N U A L _ O V E R R I D E =40 string requester uint32 id uint32 priority geometry_msgs / Wrench wrench geometry_msgs / Vector3 force float64 x float64 y float64 z geometry_msgs / Vector3 torque float64 x float64 y float64 z auv_msgs / Bool6Axis disable_axis bool x bool y bool z bool roll bool pitch bool yaw 4.4 Message file auv msgs/BodyVelocityReq Nodes using this message file: • /merge body velocity req • /pilot • /pose controller s2 • /safe depth altitude • /set zero velocity • /teleoperation 27 Software Manual Version 0.1, Nov. 2013 • /velocity controller s2 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 std_msgs / Header header uint32 seq time stamp string frame_id auv_msgs / GoalDescriptor goal uint32 PRIORITY_LOW =0 uint32 PRIORITY_NORMAL =10 uint32 P R I O R I T Y _ A V O I D _ O B S T A C L E =20 uint32 P RI O R IT Y _E M ER G E NC Y =30 uint32 P R I O R I T Y _ M A N U A L _ O V E R R I D E =40 string requester uint32 id uint32 priority geometry_msgs / Twist twist geometry_msgs / Vector3 linear float64 x float64 y float64 z geometry_msgs / Vector3 angular float64 x float64 y float64 z auv_msgs / Bool6Axis disable_axis bool x bool y bool z bool roll bool pitch bool yaw 4.5 Message file auv msgs/NavSts Nodes using this message file: • /captain • /merge world waypoint req • /navigator s2 • /pilot • /pose controller s2 • /safe depth altitude • /set zero velocity • /teleoperation • /thruster allocator • /velocity controller s2 28 Software Manual Version 0.1, Nov. 2013 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 uint8 STATUS_FAULT =0 uint8 S T A T U S _ L O C A L _ F R A M E _ O K =1 uint8 S T A T U S _ G L O B A L _ F R A M E _ O K =2 uint8 S TA T U S_ P OS I T IO N _O K =3 uint8 S TA T U S_ V EL O C IT Y _O K =4 uint8 S T A T U S _ E S T I M A T I O N _ E R R O R _ O K =8 uint8 STATUS_ALL_OK =15 std_msgs / Header header uint32 seq time stamp string frame_id auv_msgs / DecimalLatLon global_position float64 latitude float64 longitude auv_msgs / DecimalLatLon origin float64 latitude float64 longitude auv_msgs / NED position float64 north float64 east float64 depth float32 altitude geometry_msgs / Point body_velocity float64 x float64 y float64 z auv_msgs / RPY orientation float32 roll float32 pitch float32 yaw auv_msgs / RPY orientation_rate float32 roll float32 pitch float32 yaw auv_msgs / NED po si tio n_ var ia nce float64 north float64 east float64 depth auv_msgs / RPY o r i e n t a t i o n _ v a r i a n c e float32 roll float32 pitch float32 yaw uint8 status 4.6 Message file auv msgs/WorldWaypointReq Nodes using this message file: • /merge world waypoint req • /pilot • /pose controller s2 • /set zero pose • /teleoperation Message file description: 1 2 3 4 std_msgs / Header header uint32 seq time stamp string frame_id 29 Software Manual 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Version 0.1, Nov. 2013 auv_msgs / GoalDescriptor goal uint32 PRIORITY_LOW =0 uint32 PRIORITY_NORMAL =10 uint32 P R I O R I T Y _ A V O I D _ O B S T A C L E =20 uint32 P RI O R IT Y _E M ER G E NC Y =30 uint32 P R I O R I T Y _ M A N U A L _ O V E R R I D E =40 string requester uint32 id uint32 priority bool altitude_mode auv_msgs / NED position float64 north float64 east float64 depth float32 altitude auv_msgs / RPY orientation float32 roll float32 pitch float32 yaw auv_msgs / Bool6Axis disable_axis bool x bool y bool z bool roll bool pitch bool yaw geometry_msgs / Vector3 p os i ti o n _t o le r a nc e float64 x float64 y float64 z auv_msgs / RPY o r i e n t a t i o n _ t o l e r a n c e float32 roll float32 pitch float32 yaw 4.7 Message file cola2 control/Setpoints Nodes using this message file: • /dynamics • /safety s2 • /sim actuators s2 • /thruster allocator Message file description: 1 2 3 4 5 std_msgs / Header header uint32 seq time stamp string frame_id float64 [] setpoints 4.8 Message file cola2 control/WorldWaypointReqActionFeedback Nodes using this message file: 30 Software Manual Version 0.1, Nov. 2013 • /captain • /pilot Message file description: 1 Unknown type message 4.9 Message file cola2 control/WorldWaypointReqActionGoal Nodes using this message file: • /captain • /pilot Message file description: 1 Unknown type message 4.10 Message file cola2 control/WorldWaypointReqActionResult Nodes using this message file: • /captain • /pilot Message file description: 1 Unknown type message 31 Software Manual 4.11 Version 0.1, Nov. 2013 Message file cola2 navigation/FastraxIt500Gps Nodes using this message file: • /navigator s2 • /sim nav sensors s2 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 std_msgs / Header header uint32 seq time stamp string frame_id float64 latitude int32 l a t i t u d e _ h e m i s p h e r e float64 longitude int32 l o n g i t u d e _ h e m i s p h e r e string time_utc int32 data_quality float64 north float64 east string utm_zone float32 h_dop float32 v_dop string [] raw_data 4.12 Message file cola2 navigation/LinkquestDvl Nodes using this message file: • /navigator s2 • /sim nav sensors s2 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 std_msgs / Header header uint32 seq time stamp string frame_id string errCode int32 [4] dataGood float64 [4] altitudeBeam float64 [4] b o t to m Ve l o ci t yB e a m float64 [4] w ate rV elo ci tyB ea m float64 [4] w a t e r V e l o c i t y C r e d i t float64 [3] velocityInst int32 ve locityInstFlag float64 [3] velocityEarth int32 ve loc it yEa rt hFl ag float64 [3] w ate rV elo ci tyI ns t int32 w a t e r V e l o c i t y I n s t F l a g float64 [3] w a t er V el o c it y Ea r t h int32 w a t e r V e l o c i t y E a r t h F l a g float64 roll float64 pitch float64 heading float64 altitude float64 temperature float64 pressure float64 salinity float64 soundSpeed string rawData 32 Software Manual 4.13 Version 0.1, Nov. 2013 Message file cola2 navigation/PressureSensor Nodes using this message file: • /navigator s2 • /sim nav sensors s2 Message file description: 1 2 3 4 5 6 std_msgs / Header header uint32 seq time stamp string frame_id float64 pressure float64 temperature 4.14 Message file cola2 safety/MissionStatus Nodes using this message file: • /captain Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 std_msgs / Header header uint32 seq time stamp string frame_id int32 current_wp int32 total_wp bool altitude_mode float64 current_north float64 current_east float32 current_depth float32 current_altitude float64 wp_north float64 wp_east float32 wp _d ept h_ alt it ude int32 wp _re ma ini ng _ti me 4.15 Message file cola2 safety/NavSensorsStatus Nodes using this message file: • /navigator s2 Message file description: 33 Software Manual 1 2 3 4 5 6 7 Version 0.1, Nov. 2013 std_msgs / Header header uint32 seq time stamp string frame_id bool dvl_status bool imu_status bool svs_status 4.16 Message file cola2 safety/TotalTime Nodes using this message file: • /safety s2 Message file description: 1 uint32 total_time 4.17 Message file diagnostic msgs/DiagnosticArray Nodes using this message file: • /thruster allocator Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 std_msgs / Header header uint32 seq time stamp string frame_id diagnostic_msgs / Diagno sticStatus [] status byte OK =0 byte WARN =1 byte ERROR =2 byte level string name string message string hardware_id diagnostic_msgs / KeyValue [] values string key string value 34 Software Manual 4.18 Version 0.1, Nov. 2013 Message file geometry msgs/PoseWithCovarianceStamped Nodes using this message file: • /ekf slam • /navigator s2 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 std_msgs / Header header uint32 seq time stamp string frame_id geometry_msgs / P o se W i th C ov a r ia n ce pose geometry_msgs / Pose pose geometry_msgs / Point position float64 x float64 y float64 z geometry_msgs / Quaternion orientation float64 x float64 y float64 z float64 w float64 [36] covariance 4.19 Message file geometry msgs/TwistWithCovarianceStamped Nodes using this message file: • /ekf slam • /navigator s2 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 std_msgs / Header header uint32 seq time stamp string frame_id geometry_msgs / T w i s tW i t h C o v a r i a n c e twist geometry_msgs / Twist twist geometry_msgs / Vector3 linear float64 x float64 y float64 z geometry_msgs / Vector3 angular float64 x float64 y float64 z float64 [36] covariance 35 Software Manual 4.20 Version 0.1, Nov. 2013 Message file nav msgs/Odometry Nodes using this message file: • /dynamics • /ekf slam • /navigator s2 • /sim nav sensors s2 Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 std_msgs / Header header uint32 seq time stamp string frame_id string child_frame_id geometry_msgs / P o se W i th C ov a r ia n ce pose geometry_msgs / Pose pose geometry_msgs / Point position float64 x float64 y float64 z geometry_msgs / Quaternion orientation float64 x float64 y float64 z float64 w float64 [36] covariance geometry_msgs / T w i s tW i t h C o v a r i a n c e twist geometry_msgs / Twist twist geometry_msgs / Vector3 linear float64 x float64 y float64 z geometry_msgs / Vector3 angular float64 x float64 y float64 z float64 [36] covariance 4.21 Message file nav msgs/Path Nodes using this message file: • /captain Message file description: 1 2 3 4 5 6 7 8 std_msgs / Header header uint32 seq time stamp string frame_id geometry_msgs / PoseStamped [] poses std_msgs / Header header uint32 seq time stamp 36 Software Manual 9 10 11 12 13 14 15 16 17 18 19 Version 0.1, Nov. 2013 string frame_id geometry_msgs / Pose pose geometry_msgs / Point position float64 x float64 y float64 z geometry_msgs / Quaternion orientation float64 x float64 y float64 z float64 w 4.22 Message file pose ekf slam/Map Nodes using this message file: • /ekf slam Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 std_msgs / Header header uint32 seq time stamp string frame_id pose_ekf_slam / Landmark [] landmark time last_update string landmark_id geometry_msgs / P o se W it h C ov a ri a n ce pose geometry_msgs / Pose pose geometry_msgs / Point position float64 x float64 y float64 z geometry_msgs / Quaternion orientation float64 x float64 y float64 z float64 w float64 [36] covariance 4.23 Message file sensor msgs/Imu Nodes using this message file: • /ekf slam • /navigator s2 • /sim nav sensors s2 Message file description: 37 Software Manual 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Version 0.1, Nov. 2013 std_msgs / Header header uint32 seq time stamp string frame_id geometry_msgs / Quaternion orientation float64 x float64 y float64 z float64 w float64 [9] o r i e n t a t i o n _ c o v a r i a n c e geometry_msgs / Vector3 angula r_velocity float64 x float64 y float64 z float64 [9] a n g u l a r _ v e l o c i t y _ c o v a r i a n c e geometry_msgs / Vector3 l i n e a r _ a c c e l e r a t i o n float64 x float64 y float64 z float64 [9] l i n e a r _ a c c e l e r a t i o n _ c o v a r i a n c e 4.24 Message file sensor msgs/Joy Nodes using this message file: • /keyboard • /map ack • /teleoperation Message file description: 1 2 3 4 5 6 std_msgs / Header header uint32 seq time stamp string frame_id float32 [] axes int32 [] buttons 4.25 Message file sensor msgs/Range Nodes using this message file: • /sim nav sensors s2 Message file description: 38 Software Manual 1 2 3 4 5 6 7 8 9 10 11 Version 0.1, Nov. 2013 uint8 ULTRASOUND =0 uint8 INFRARED =1 std_msgs / Header header uint32 seq time stamp string frame_id uint8 radiation_type float32 field_of_view float32 min_range float32 max_range float32 range 4.26 Message file std msgs/String Nodes using this message file: • /map ack • /set zero pose • /teleoperation Message file description: 1 string data 4.27 Message file tf/tfMessage Nodes using this message file: • /dynamics • /ekf slam • /navigator s2 • /sim nav sensors s2 Message file description: 1 2 3 4 5 6 7 8 geometry_msgs / TransformStamped [] transforms std_msgs / Header header uint32 seq time stamp string frame_id string child_frame_id geometry_msgs / Transform transform geometry_msgs / Vector3 translation 39 Software Manual 9 10 11 12 13 14 15 16 Version 0.1, Nov. 2013 float64 x float64 y float64 z geometry_msgs / Quaternion rotation float64 x float64 y float64 z float64 w 4.28 Message file visualization msgs/MarkerArray Nodes using this message file: • /ekf slam Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 v is u a li z at i o n_ m sg s / Marker [] markers uint8 ARROW =0 uint8 CUBE =1 uint8 SPHERE =2 uint8 CYLINDER =3 uint8 LINE_STRIP =4 uint8 LINE_LIST =5 uint8 CUBE_LIST =6 uint8 SPHERE_LIST =7 uint8 POINTS =8 uint8 T EXT_VIEW_FACING =9 uint8 MESH_RESOURCE =10 uint8 TRIANGLE_LIST =11 uint8 ADD =0 uint8 MODIFY =0 uint8 DELETE =2 std_msgs / Header header uint32 seq time stamp string frame_id string ns int32 id int32 type int32 action geometry_msgs / Pose pose geometry_msgs / Point position float64 x float64 y float64 z geometry_msgs / Quaternion orientation float64 x float64 y float64 z float64 w geometry_msgs / Vector3 scale float64 x float64 y float64 z std_msgs / ColorRGBA color float32 r float32 g float32 b float32 a duration lifetime bool frame_locked geometry_msgs / Point [] points float64 x float64 y float64 z std_msgs / ColorRGBA [] colors float32 r float32 g float32 b float32 a string text 40 Software Manual 56 57 Version 0.1, Nov. 2013 string mesh_resource bool m e s h _ u s e _ e m b e d d e d _ m a t e r i a l s 4.29 Message file visualization msgs/Marker Nodes using this message file: • /ekf slam • /pilot Message file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 uint8 ARROW =0 uint8 CUBE =1 uint8 SPHERE =2 uint8 CYLINDER =3 uint8 LINE_STRIP =4 uint8 LINE_LIST =5 uint8 CUBE_LIST =6 uint8 SPHERE_LIST =7 uint8 POINTS =8 uint8 TE XT_VIEW_FACING =9 uint8 MESH_RESOURCE =10 uint8 TRIANGLE_LIST =11 uint8 ADD =0 uint8 MODIFY =0 uint8 DELETE =2 std_msgs / Header header uint32 seq time stamp string frame_id string ns int32 id int32 type int32 action geometry_msgs / Pose pose geometry_msgs / Point position float64 x float64 y float64 z geometry_msgs / Quaternion orientation float64 x float64 y float64 z float64 w geometry_msgs / Vector3 scale float64 x float64 y float64 z std_msgs / ColorRGBA color float32 r float32 g float32 b float32 a duration lifetime bool frame_locked geometry_msgs / Point [] points float64 x float64 y float64 z std_msgs / ColorRGBA [] colors float32 r float32 g float32 b float32 a string text string mesh_resource bool m e s h _ u s e _ e m b e d d e d _ m a t e r i a l s 41 Software Manual 5 Version 0.1, Nov. 2013 Services In this section there is a reference about the relationship between services and other architecture elements. 5.1 Service file cola2 control/Goto Nodes using this service file: • /captain Service input params: float64 north lat float64 east lon float32 z bool altitude mode float32 tolerance Service output params: bool attempted 5.2 Service file cola2 control/String Nodes using this service file: • /captain Service input params: string mystring Service output params: 5.3 Service file cola2 navigation/SetGPS Nodes using this service file: • /navigator s2 Service input params: 42 Software Manual Version 0.1, Nov. 2013 Service output params: string success 5.4 Service file cola2 navigation/SetNedOrigin Nodes using this service file: • /navigator s2 Service input params: float64 latitude float64 longitude Service output params: bool success 5.5 Service file cola2 safety/Submerge Nodes using this service file: • /captain Service input params: float32 z bool altitude mode Service output params: bool attempted 5.6 Service file pose ekf slam/SetLandmark Nodes using this service file: • /ekf slam 43 Software Manual Version 0.1, Nov. 2013 Service input params: geometry msgs/PoseWithCovariance landmark geometry msgs/Pose pose geometry msgs/Point position float64 x float64 y float64 z geometry msgs/Quaternion orientation float64 x float64 y float64 z float64 w float64[36] covariance string topic name Service output params: 5.7 Service file pose ekf slam/SetPosition Nodes using this service file: • /ekf slam Service input params: geometry msgs/Point position float64 x float64 y float64 z Service output params: 5.8 Service file std srvs/Empty Nodes using this service file: • /captain • /navigator s2 • /thruster allocator Service input params: Service output params: 44 Software Manual 5.9 Version 0.1, Nov. 2013 Service file tf/FrameGraph Nodes using this service file: • /ekf slam • /navigator s2 Service input params: Service output params: string dot graph 45 Software Manual 6 Version 0.1, Nov. 2013 Config files In this section there is a reference about the configuration files used in COLA2 architecture to define how Sparus II AUV behaves. 6.1 Config file /cola2 control/config/map ack s2.yaml Nodes using this configuration file: • /map ack Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 # map_akt . py config file map_ack / rate : 10.0 map_ack / n_output_axes : 12 map_ack / n _output_buttons : 15 map_ack / n _shadow_buttons : 26 # Up to 5 devices map_ack / slotA : [ ’ joystick ’ , ’/ joy ’] map_ack / slotB : [ ’ keyboard ’ , ’/ cola2_control / keyboard_data ’] map_ack / slotC : [ ’ ’ , ’ ’] map_ack / slotD : [ ’ ’ , ’ ’] map_ack / slotE : [ ’ ’ , ’ ’] map_ack / s h a d o w _ b u t t o n s _ t o _ o u t p u t _ b u t t o n s : [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, # Joystick device map_ack / joystick / n_axes : 8 map_ack / joystick / n_buttons : 11 map_ack / joystick / a x e s _ t o _ o u t p u t _ a x e s : [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , -0.5 , 0 , 0 , 0.5 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 1.0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0 , -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0] map_ack / joystick / a x e s _ t o _ s h a d o w _ b u t t o n s : [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 , -1 , 0 , 0, 0, 0, 0, 0, 0, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , -1 , 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] Software Manual 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Version 0.1, Nov. 2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] map_ack / joystick / b u t t o n s _ t o _ s h a d o w _ b u t t o n s : [1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] map_ack / joystick / s h a d o w _ b u t t o n s _ t o _ o u t p u t _ a x e s : [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0.05 , -0.05 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0.125 , -0.125 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] # Keyboard device map_ack / keyboard / n_axes : 0 map_ack / keyboard / n_buttons : 17 map_ack / keyboard / a x e s _ t o _ o u t p u t _ a x e s : [] map_ack / keyboard / a x e s _ t o _ s h a d o w _ b u t t o n s : [] map_ack / keyboard / b u t t o n s _ t o _ s h a d o w _ b u t t o n s : [1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47 Software Manual 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 Version 0.1, Nov. 2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] map_ack / keyboard / s h a d o w _ b u t t o n s _ t o _ o u t p u t _ a x e s : [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , -0.05 , 0.05 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , -0.125 , 0.125 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.1 , -0.1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , -0.1 , 0.1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , -0.1 , 0.1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0] 6.2 Config file /cola2 control/config/merge s2.yaml Nodes using this configuration file: • /merge body force req • /merge body velocity req • /merge world waypoint req Config file description: 1 2 3 # SPARUS2 CONFIG FILE FOR ALL MERGE NODES merge / rate : 10 merge / frame_id : " sparus2 " 6.3 Config file /cola2 control/config/pilot.yaml Nodes using this configuration file: • /pilot Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 # Pose PID per DoF pilot / p i d _ x _ z _ y a w _ f e e d _ f o r w a r d _ f o r c e : pilot / pid_x_z_yaw_kp : [0.2 , 0.0 , 0.3 , pilot / pid_x_z_yaw_ti : [0.0 , 0.0 , 0.0 , pilot / pid_x_z_yaw_td : [0.2 , 0.0 , 0.0 , [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] 0.0 , 0.0 , 0.8] 0.0 , 0.0 , 0.0] 0.0 , 0.0 , 0.3] pilot / p i d _ x _ y _ z _ y a w _ f e e d _ f o r w a r d _ f o r c e : pilot / pid_x_ y_z_yaw_kp : [1.0 , 1.0 , 0.5 , pilot / pid_x_ y_z_yaw_ti : [0.0 , 0.0 , 0.0 , pilot / pid_x_ y_z_yaw_td : [0.2 , 0.2 , 0.1 , [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] 0.0 , 0.0 , 0.8] 0.0 , 0.0 , 0.0] 0.0 , 0.0 , 0.3] pilot / r e l a t i v e _ p i d _ x _ y _ z _ y a w _ f e e d _ f o r w a r d _ f o r c e : [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] 48 Software Manual 13 14 15 16 17 18 19 Version 0.1, Nov. 2013 pilot / r e l a t i v e _ p i d _ x _ y _ z _ y a w _ k p : [0.2 , 0.2 , 0.2 , 0.0 , 0.0 , 0.4] pilot / r e l a t i v e _ p i d _ x _ y _ z _ y a w _ t i : [8.0 , 8.0 , 8.0 , 0.0 , 0.0 , 8.0] pilot / r e l a t i v e _ p i d _ x _ y _ z _ y a w _ t d : [0.1 , 0.1 , 0.1 , 0.0 , 0.0 , 0.1] # pilot / max_velocity : [0.5 , 0.2 , 0.5 , 0.0 , 0.0 , 0.3] # --> check b a s i c _ m i s s i o n _ p a r a m e t e r s . yaml pilot / min_ve locity_los : [0.2 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] pilot / max_angle_error : 0.3 6.4 Config file /cola2 control/config/pose controller s2.yaml Nodes using this configuration file: • /pose controller s2 Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # SPARUS 2 POSE controller config file # Per DoF [X , Y , Z , Roll , Pitch , Yaw ] pose_controller / velocity_max : [0.0 , 0.0 , 0.5 , 0.0 , 1.0 , 0.3] pose_controller / s t a r t _ d e p t h _ w i t h _ f i n s _ v e l o c i t y : 2.0 pose_controller / max_pitch : 0.5 pose_controller / surface_zone : 0.5 # Velocity PID per DoF pose_controller / p i d _ p o s e _ f e e d _ f o r w a r d _ v e l o c i t y : [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] pose_controller / pid_pose_kp : [0.0 , 0.0 , 1.0 , 0.0 , 1.0 , 1.5] pose_controller / pid_pose_ti : [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] pose_controller / pid_pose_td : [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] pose_controller / pid_po se_i_limit : [1.0 , 1.0 , 0.75 , 1.0 , 1.0 , 0.1] pose_controller / p i d _ d e p t h _ w i t h _ f i n s _ k p : -0.5 pose_controller / p i d _ d e p t h _ w i t h _ f i n s _ t i : -0.07 pose_controller / p i d _ d e p t h _ w i t h _ f i n s _ t d : -0.2 6.5 Config file /cola2 control/config/teleoperation s2.yaml Nodes using this configuration file: • /teleoperation Config file description: 1 2 3 4 5 6 7 8 # teleoperation . py config file teleoperation / max_pos : [0.0 , 0.0 , 5.0 , 3.14159265359 , 1.0 , 3.14159265359] teleoperation / min_pos : [0.0 , 0.0 , 0.0 , -3.14159265359 , -1.0 , -3.14159265359] teleoperation / max_vel : [1.0 , 0.0 , 0.4 , 0.0 , 1.0 , 0.4] teleoperation / min_vel : [ -1.0 , 0.0 , -0.4 , 0.0 , -1.0 , -0.4] teleoperation / p o s e _ c o n t r o l l e d _ a x i s : [ False , False , False , False , False , False ] teleoperation / base_pose : [0 , 0 , 0 , 0 , 0 , 0] teleoperation / a c t u al i z e _ b a s e _ p o s e : False 49 Software Manual 6.6 Version 0.1, Nov. 2013 Config file /cola2 control/config/thruster allocator s2.yaml Nodes using this configuration file: • /thruster allocator Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 # SPARUS 2 thruster allocator config file t hr u s te r _a l l oc a to r / frame_id : " sparus2 " t hr u s te r _a l l oc a to r / n_thrusters : 3 t hr u s te r _a l l oc a to r / m a x _ f o r c e _ s u r g e _ p l u s _ y a w : 60.0 t hr u s te r _a l l oc a to r / f o r c e _ t o _ t h r u s t e r s _ r a t i o : 30.0 t hr u s te r _a l l oc a to r / max_setpoint : 1.0 # To linearize the actuators output a polynomial is applied 3 0 * 0 . 1 8 2 5 7 4 1 8 5 9 8 = 5 . 4 7 7 2 2 5 5 7 9 4 with 0.5 ( sqrt ) t hr u s te r _a l l oc a to r / t h r u s t e r s _ p o l y n o m i a l _ l i n e a r i z a t i o n : [0.0 , 1.0] t hr u s te r _a l l oc a to r / t h r u s t e r s _ p o l y n o m i a l _ l i n e a r i z a t i o n _ e x p : [0.0 , 1.0] # Dof x actuators t hr u s te r _a l l oc a to r / t h r u s t e r _ c o n t r o l _ m a t r i x : [[0.0 , 1.0 , 1.0] ,[0.0 , 0.0 , 0.0] ,[1.0 , 0.0 , 0.0] ,[0.0 , 0.0 , 0.0] ,[0.0 , 0.0 , 0.0] ,[0.0 , -0.16 , 0.16]] 6.7 Config file /cola2 control/config/velocity controller s2.yaml Nodes using this configuration file: • /velocity controller s2 Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # SPARUS 2 velocity controller config file # Per DoF [X , Y , Z , Roll , Pitch , Yaw ] v e l o c i t y _ c o n t r o l l e r / force_max : [30.0 , 0.0 , 30.0 , 0.0 , 30.0 , 60.0] # Velocity PID per DoF velocity_controller / pid_velocity_feed_forward_force : v e l o c i t y _ c o n t r o l l e r / pid_velocity_kp : [0.5 , 0.0 , 2.0 , v e l o c i t y _ c o n t r o l l e r / pid_velocity_ti : [4.0 , 0.0 , 7.0 , v e l o c i t y _ c o n t r o l l e r / pid_velocity_td : [0.0 , 0.0 , 0.5 , v e l o c i t y _ c o n t r o l l e r / p i d _ v e l o c i t y _ i _ l i m i t : [1.0 , 1.0 , [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] 0.0 , 1.0 , 0.2] 0.0 , 0.0 , 10.0] 0.0 , 0.0 , 0.0] 1.0 , 1.0 , 1.0 , 1.0] # Open loop controller . It adjust the desired velocity for each Dof using a polynomi . Ex . [0.1 , -1.2 , 2.0] = > y = 0.1* x ˆ2 -1.2* x + 2.0 v e l o c i t y _ c o n t r o l l e r / o p e n _ l o o p _ a d j u s t _ p o l y _ x : [0.0 , 0.0] v e l o c i t y _ c o n t r o l l e r / o p e n _ l o o p _ a d j u s t _ p o l y _ y : [0.0 , 0.0] v e l o c i t y _ c o n t r o l l e r / o p e n _ l o o p _ a d j u s t _ p o l y _ z : [0.0 , 0.0] v e l o c i t y _ c o n t r o l l e r / o p e n _ l o o p _ a d j u s t _ p o l y _ r o l l : [0.0 , 0.0] v e l o c i t y _ c o n t r o l l e r / o p e n _ l o o p _ a d j u s t _ p o l y _ p i t c h : [0.0 , 0.0] v e l o c i t y _ c o n t r o l l e r / o p e n _ l o o p _ a d j u s t _ p o l y _ y a w : [0.0 , 0.0] 6.8 Config file /cola2 navigation/config/navigator s2.yaml Nodes using this configuration file: 50 Software Manual Version 0.1, Nov. 2013 • /navigator s2 Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # SPARUS2 NAVIGATOR CONFIG # Frames navigator / ro bot_frame_name : " sparus2 " navigator / wo rld_frame_name : " world " # DVL parameter used for filtering purposes navigator / dvl_max_v : 3.0 # Depth sensor correction . This value is added to the depth navigator / de pth_correction : 0.0 navigator / water_density : 1030 # GPS parameters navigator / gps_update : false navigator / gp s_init_samples : 8 # Check sensors parameters navigator / c h e c k _ s e n s o r s _ p e r i o d : 2.0 navigator / d v l _ m a x _ p e r i o d _ e r r o r : 1.0 navigator / i m u _ m a x _ p e r i o d _ e r r o r : 1.0 navigator / max_init_time : 25.0 # NED parameters navigator / fixed_ned : true navigator / ned_latitude : 43.105805 navigator / ned_longitude : 5.884812 6.9 Config file /cola2 safety/config/safety s2.yaml Nodes using this configuration file: • /safe depth altitude • /safety s2 • /set zero velocity Config file description: 1 2 3 4 5 6 safety_s2 / ab solute_timeout : 3600 safety_s2 / emerge : False s a f e t y _ s a f e _ d e p t h _ a l t i t u d e / max_depth : 10.0 s a f e t y _ s a f e _ d e p t h _ a l t i t u d e / min_altitude : 2.5 s a f e t y _ s e t _ z e r o _ v e l o c i t y / s e t _ z e r o _ v e l o c i t y _ d e p t h : 1.5 s a f e t y _ s e t _ z e r o _ v e l o c i t y / s e t _ z e r o _ v e l o c i t y _ a x i s : [[ False , True , True , True , True , True ] ,[ True , False , True , True , True , True ] , [ True , True , False , True , True , True ] , [ True , True , True , False , True , True ] , [ True , True , True , True , False , True ] , [ True , True , True , True , True , False ]] 51 Software Manual 6.10 Version 0.1, Nov. 2013 Config file /cola2 sim/config/dynamics s2.yaml Nodes using this configuration file: • /dynamics Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 # sparus2 dynamics model # WARNING !!! # The thrusters allocation matrix " b " is defined in the code . It can not be changed using parameters . vehicle_name : " sparus2 " dynamics / sparus2 / n u m b e r _ o f _ t h r u st e r s : 3 dynamics / sparus2 / thrusters_topic : "/ cola2_control / si m _t h r us t er s _d a t a " dynamics / sparus2 / number_of_fins : 1 dynamics / sparus2 / fins_topic : "/ cola2_control / sim_fins_data " dynamics / sparus2 / a_fins : 0.035 dynamics / sparus2 / k_fins : 1.0 dynamics / sparus2 / max_fins_angle : 1.0 dynamics / sparus2 / period : 0.05 dynamics / sparus2 / mass : 34.5 dynamics / sparus2 / gravity_center : [0.0 , 0.0 , 0.01] dynamics / sparus2 / g : 9.81 dynamics / sparus2 / radius : 0.2009312118 dynamics / sparus2 / surface_radius : 0.4 # Forward and backward thrusters coef 0.000020833333 dynamics / sparus2 / ctf : 0.000020833333 dynamics / sparus2 / ctb : 0.000020833333 dynamics / sparus2 / ma x_ thr us ter s_ rpm : 1200 dynamics / sparus2 / dzv : 0.05 dynamics / sparus2 / dv : 0.05 dynamics / sparus2 / dh : 0.40 dynamics / sparus2 / density : 1030.0 dynamics / sparus2 / thrusters_matrix : [[0.0 , 1.0 , 1.0] ,[0.0 , 0.0 , 0.0] ,[1.0 , 0.0 , 0.0] ,[0.0 , 0.0 , 0.0] ,[0.0 , 0.0 , 0.0] ,[0.0 , -0.16 , 0.16]] # [0.1337 , 0.0 , 0.0 , 0.0 , 1.6643 , 0.0 , 0.0 , 0.0 , 1.6643] dynamics / sparus2 / tensor : [0.7 , 0.0 , 0.0 , 0.0 , 8.0 , 0.0 , 0.0 , 0.0 , 8.0] dynamics / sparus2 / damping : [ -20.0 , -60.0 , -60.0 , -1.0 , -8.0 , -8.0] dynamics / sparus2 / qu ad rat ic _da mp ing : [ -30.0 , -60.0 , -60.0 , 0.0 , -10.0 , -10.0] # Meters and Rads [X , Y , Z , Roll , Pitch , Yaw ] dynamics / sparus2 / initial_pose : [0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0] dynamics / sparus2 / initial_velocity : [0 , 0 , 0 , 0 , 0 , 0] dynamics / sparus2 / odom_topic_name : "/ sparus / ros_odom_to_pat " dynamics / sparus2 / frame_id : " sparus 2_dynamics " dynamics / sparus2 / world_frame_id : " world " # Collisions from UWSim . Let it empty if not available dynamics / sparus2 / u w s i m _ c o n t a c t _ s e n s o r : "" # WATER CURRENTs SIMULATION dynamics / current_mean : [0.00 , 0.1 , 0] dynamics / current_sigma : [0.01 , 0.01 , 0.01] dynamics / current_min : [ -0.0 , -0.0 , -0.0] dynamics / current_max : [0.0 , 0.0 , 0.0] 6.11 Config file /cola2 sim/config/sim nav sensors s2.yaml Nodes using this configuration file: • /sim nav sensors s2 52 Software Manual Version 0.1, Nov. 2013 Config file description: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # Sensors information dynamics / sparus2 / n e d _ o r i g i n _ l a t it u d e : 41.967283 dynamics / sparus2 / n e d _ o r i g i n _ l o n g i t u d e : 2.836075 # Sant Feliu (41.78077 , 3.04748) # Piscina (41.967283 , 2.836075) # Transformation wrt vehicle adis_imu / tf : [0.0 , 0.0 , 0.0 , linkquest_dvl / tf : [0.0 , 0.0 , gps / tf : [0.0 , 0.0 , 0.0 , 0.0 , frame : [x , y , z , roll , pitch , yaw ] ( in meters and degrees !!!) 0.0 , 0.0 , 0.0] 0.0 , 0.0 , 0.0 , 0.0] 0.0 , 0.0] # Sensors publication periods adis_imu / period : 0.05 linkquest_dvl / period : 0.2 gps / period : 1.0 # Sensors covariances adis_imu / o r i e n t a t i o n _ c o v a r i a n c e : [0.0001 , 0.0001 , 0.0001] linkquest_dvl / v e l o ci t y _ c o v a r i a n c e : [0.0015 , 0.0015 , 0.0015] gps / p o s i t i o n _ c o v a r i a n c e : [0.5 , 0.5] # Not computed !!! dynamics / sparus2 / a l t i t u d e _ r a n g e _ t o p i c _ n a m e : "/ sparus / range " 53 # Not computed !!!
© Copyright 2024 ExpyDoc