diff --git a/README.md b/README.md index 995f3abe8d0fb2f9a304ab0587fba316bac57f8f..ea186cb4f5726e473c18859a7b8067f534bfcce4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,95 @@ # wolf_demo_uav_identification -Check [WOLF documentation web](http://www.iri.upc.edu/wolf) (section WOLF Demos) for more information. +## Set up +### Wolf core, imu and bodydynamics installation +``` +wget https://gitlab.iri.upc.edu/mobile_robotics/wolf_projects/wolf_scripts/-/raw/main/install_wolf.sh +sudo chmod +x install_wolf.sh + +./install_wolf.sh [-d <string>] [-w <string>] [-a] -p "ynnnny" +``` + +Depencies +* wolf core - devel branch +* wolf imu - main +* wolf bodydynamics - identification branch + +### Ros 1 +The computer needs an operative [ros noetic](http://wiki.ros.org/noetic/Installation/Ubuntu) installation. +### Wolf ros +``` Dependecies +wolf_ros_node - main +wolf_ros_imu - devel +wolf_ros_bodydynamics - identification +``` + +## Simulation +### Real values +* Mass: 2 Kg +* COM: [0, 0, 0] mm +* Inertia tensor diagonal of the base link: [0.0134943, 0.0141622, 0.0237319] +### Mass and com estimation +To estimate the mass and center of mass from hover rosbag in simulation run +``` +roslaunch wolf_demo_uav_identification mass_and_com_estimation_simulation.launch bag:=rosbag_borinot_sim_hover_V2 +``` +*Note: From a hover rosbag it is impossible to estimate the z coordinate of the COM* + +Estimation of the mass and center of mas from a general rosbag in simulation +``` +roslaunch wolf_demo_uav_identification mass_and_com_estimation_simulation.launch bag:=rosbag_borinot_sim_general_V6 +``` +### Inertia estimation +#### YAW +Estimation of the Izz component of the inertia tensor from hover + yaw rosbag in simulation +``` +roslaunch wolf_demo_uav_identification inertia_estimation_simulation.launch bag:=rosbag_borinot_sim_yaw_V2 +``` +*Note: Since no information on the Ixx and Iyy components is being injected from a hover + yaw rosbag it might be interesting to fix through hard normalization the Ixx and Iyy.* +#### All axis +To estimate the inertia tensor from a general movement rosbag run +``` +roslaunch wolf_demo_uav_identification inertia_estimation_simulation.launch bag:=rosbag_borinot_sim_general_V6 +``` +### General estimation +Estimation of all dynamic parameters from a general movement rosbag run +``` +roslaunch wolf_demo_uav_identification general_estimation_simulation.launch bag:=rosbag_borinot_sim_general_V6 +``` +*Note 1: This of course is the harder estimation for the solver. First, consider pausing the rosbag every second or so to give time for the solver to converge.* + +*Note 2: Another idea is to fix the bias (either to 0 or to a value found on previous estimations e.g mass and com estimation). This reduces the number of variables to estimate.* +## Real +### Mass estimation +To estimate the mass from hover real rosbag run +``` +roslaunch wolf_demo_uav_identification mass_estimation.launch bag:=rosbag_borinot_real_hover_V1_ok +``` +### Mass and com estimation +To estimate the mass and center of mass from hover real rosbag run +``` +roslaunch wolf_demo_uav_identification mass_and_com_estimation.launch bag:=rosbag_borinot_real_hover_V1_ok +``` +*Note: From a hover rosbag it is impossible to estimate the z coordinate of the COM* + +Estimation of the mass and center of mas from a general rosbag in simulation +``` +roslaunch wolf_demo_uav_identification mass_and_com_estimation.launch bag:=rosbag_borinot_real_rpy_V2_ok +``` +### Inertia estimation +To estimate the Izz inertia + +``` +roslaunch wolf_demo_uav_identification inertia_estimation.launch bag:=rosbag_borinot_real_rpy_V2_ok +``` + +*With regularization of [0.1,0.1,0.1] => ( 0.0228 0.0224 0.0295 )* + +## Usefull stuff +1. Add ```| grep "Est, Sta"``` after the roslaunch command so only the estimated parameters will be shown (not the hole wolf tree). +2. In the case the solver does not solve the problem fast enough it is always an option to slow down the rosbag through the speed tag ```speed:=0.5``` (to reduce the speed a factor 0.5) in the roslaunch command + + + +Check [WOLF documentation web](http://www.iri.upc.edu/wolf) (section WOLF Demos) for more information.