Code Monkey home page Code Monkey logo

mavros_controllers's People

Contributors

altshuler avatar edxian avatar inkyusa avatar jaeyoung-lim avatar juanmed avatar kashishdhal avatar mamariomiamo avatar marcusabate avatar mzahana avatar pluto-project-it avatar shubham-shahh avatar shupx avatar swiftgust avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mavros_controllers's Issues

Please tell How to run this code?

Please Provide documentation with steps to run this Code. I have succesfully installed and tested Ros px4 And mavros.
But I am still unable to run this code. Maybe I am doing something wrong.

How to control the heading of a drone?

Hi @Jaeyoung-Lim ,
This package helps me a lot. Thank you for your package.
I have a question about the heading problem with the geometric control. According to the reference, the heading of a drone can be choosed by the user. However, I can not find the function to set mavYaw_.The default mavYaw_ is 0.

Build error related to FlatTarget msg

Hi @Jaeyoung-Lim
Following the build instructions in the README, I get the following error after catkin build

 fatal error: controller_msgs/FlatTarget.h: No such file or directory
 #include <controller_msgs/FlatTarget.h>

Do I need to modify the msg dependencies in the geometric_controllers pkg?

Here is my catkin_ws config, if it helps

----------------------------------------------------------
Profile:                     default
Extending:        [explicit] /opt/ros/melodic
Workspace:                   /home/arrow/catkin_ws
----------------------------------------------------------
Build Space:        [exists] /home/arrow/catkin_ws/build
Devel Space:        [exists] /home/arrow/catkin_ws/devel
Install Space:      [unused] /home/arrow/catkin_ws/install
Log Space:          [exists] /home/arrow/catkin_ws/logs
Source Space:       [exists] /home/arrow/catkin_ws/src
DESTDIR:            [unused] None
----------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
----------------------------------------------------------
Additional CMake Args:       -DCMAKE_BUILD_TYPE=Release
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
----------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
----------------------------------------------------------
Workspace configuration appears valid.
----------------------------------------------------------

Iris is making a flip

Hi Jaeyoung,

Thank you for sharing the code of the geometric controller. Actually I tried to run the controller alone and when I took a look at the code, I understood that the drone takes off and then it is hovering at Z = 2, waiting for a new command.

So I entered roslaunch px4 mavros_posix_sitl.launch in order to start gazebo, px4 and Mavros
and roslaunch geometric_controller trajectory_controller.launch

I slightly modified the launch file as follow (I just kept the controller along with the required parameters):

<launch>
  <arg name="mav_name" default="iris"/>
  <arg name="command_input" default="2" />
  <arg name="gazebo_simulation" default="true" />
  <arg name="visualization" default="true"/>
  <arg name="log_output" default="screen" />
  <arg name="respawn_mavros" default="false" />

  <node pkg="geometric_controller" type="geometric_controller_node" name="geometric_controller" output="screen">
  		<param name="mav_name" type="string" value="$(arg mav_name)" />
          <remap from="command/bodyrate_command" to="/mavros/setpoint_raw/attitude"/>
          <param name="ctrl_mode" value="$(arg command_input)" />
          <param name="enable_sim" value="$(arg gazebo_simulation)" />
          <param name="enable_gazebo_state" value="true"/>
  </node>
</launch>

What I observe is that it is take off and when it reached the target pose, it makes a flip and crashed few meters away... I have a log file with the values of q_des, cmdBodyRate_ and so on but before digging into that file, I would like to know if I missed something ?

Thank you for your help

Regards

Fabrice

How to use this code

Hi,
Thank you for your sharing of this work. It does help me to understand the papers much. But when I try to run this code on my computer, there comes some errors.
I type this command:
roslaunch geometric_controller trajectory_track_circle.launch
Part of the output is:
UAV autoquad icarous matrixpilot paparazzi slugs standard uAvionix ualberta
[ INFO] [1540910990.048991065]: MAVROS started. MY ID 1.240, TARGET ID 1.1
0x2002e10 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x192de90) ): Attempt to set a screen on a child window.
0x1fff110 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x192de90) ): Attempt to set a screen on a child window.
0x2029880 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x192de90) ): Attempt to set a screen on a child window.
0x2028be0 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x192de90) ): Attempt to set a screen on a child window.
[ERROR] [1540910994.865435761]: MODE: Unsupported FCU
[ERROR] [1540910999.875788522]: MODE: Unsupported FCU
[ERROR] [1540911004.886073662]: MODE: Unsupported FCU

Is there any thing wrong for my operation?
Thanks a lot!

Reason for the error

Hi Jaeyoung-Lim!
I tried to run the code as explained in the repository.The packages builds up perfectly but when I use the roslaunch command then it shows one error which is as under-
[mavros-4] process has died [pid 10798, exit code -11, cmd /home/shivam/catkin_ws1/devel/lib/mavros/mavros_node __name:=mavros __log:=/home/shivam/.ros/log/9ef07a40-423d-11e9-b232-707781c0679d/mavros-4.log].
log file: /home/shivam/.ros/log/9ef07a40-423d-11e9-b232-707781c0679d/mavros-4*.log
As a virtue of which my drone remains stationary in gazebo.
Please help me with it.
By the way you did fantastic work!
Thanks in advance :)

Error while running the updated repository

Hi!
I tried to run the updated repository.It is running everything except it is not showing any drone in the gazebo environment and not showing any trajectory in Rviz. Here is the screenshot of the error it is showing.
file
Please help me out with the same.

Compilation error :geometricCtrlConfig.h: No such file or directory

Hello

Hi !
I just found the following compilation error :

In file included from /home/ubuntu/catkin_ws/src/mavros_controllers/geometric_controller/src/geometric_controller.cpp:3:0:
/home/ubuntu/catkin_ws/src/mavros_controllers/geometric_controller/include/geometric_controller/geometric_controller.h:34:54: fatal error: geometric_controller/geometricCtrlConfig.h: No such file or directory

and ìndeed the header file is not present .
Clould you please advice ?
Thanks a lot !

immagine

New Firmware Problems

Hello,

I am using your implementation of the geometric controller for the px4 to control a drone in simulation and hopefully in real experiments. However, I'm running into a few issues related to px4 Firmware, Mavros etc.

Using the most up-to-date version of the px4 Firmware and of mavros causes several issues with this package. To begin, using the gcs_url default argument you specify in every launch file gives me an error to the effect of Local frame 18 not supported. Unable to publish pose and velocity.If I simply comment out that argument I'm fine here.

The next problem is that running the mavros node like that and attempting to switch to offboard gives me the following error:

[FATAL] [1550545478.242996294, 5.016000000]: Recieved thrust, but ignore_thrust is true: the most likely cause of this is a failure to specify the thrust_scaling parameters on px4/apm_config.yaml. Actuation will be ignored.

The drone fails to takeoff. I can arm from px4 shell but mode switch to offboard fails.
I believe this is because newer versions of mavros and px4 Firmware require you to load a px4 config yaml file in the mavros directory. If I add that to your launch files then the drone is able to arm, switch to offboard and takeoff as intended. However, even then the controller doesn't work as you'd hope and drives the drone crazy until it crashes and flips over. I can't get it to track any trajectory.

If I try to get it to simply takeoff and hover at [0, 0, 2] position, it'll still veer off to a side and crash. I suspect it might be a coordinate frame mismatch?

I cannot revert to your fork of the firmware because my application requires newer code. Any thoughts on what might be causing these issues? All three of them stump me because I don't find many references to the Local frame 18 thing or the requirement to use the px4 config file, so my fixes seem unneeded to me. Any help would be appreciated!

Reference for the Equation

Screenshot (81)
Hi! Can u give me the reference for the equation used in this snippet of code? I cannot understand it plz help!
Also, can you give us references for the Disturbance observer used in the geometric controller?

Trajectory Plot and Error plot

Hi! Jaeyoung-Lim
I was trying to plot the Trajectory using rqt_plot but it is not taking the message mavros/PoseMessage/pose. Please help me out with same.
Also, can you tell me how could I plot the deviation of actual trajectory from the desired trajectory?

IDE question

Hi, @Jaeyoung-Lim

I have a question about IDE.
I debugged mavros_controllers with eclipse.
My steps as following:

  1. Running geometric_controller from terminal using roslaunch geometric_controller sitl_trajectory_track_circle.launch
  2. launching eclipse and debugging the code.

In this case previously running node is suspended as another node with the same name is launched.
But after last commit its stopped working.

My intention is to run the launch file directly from IDE and then debug.
I found that QT creator with ROS plugin can do it, But unfortunately I have
some problems with QT creator configurations.

What IDE you are using and what the steps for running and debugging the code ?

thrust_scaling parameter is set to zero

Hi,

After everything worked fine on SITL I modified launch file in order to run it on real flight.
I disabled gazebo_simulation ,as you recommended, and tried to run geometric_controller using roslaunch geometric_controller sitl_trajectory_track_circle.launch command on real
vehicle, but I get this warning:
[WARN] [1557678319.767286131]: thrust_scaling parameter is set to zero.

I can change vehicle state to OFFBOARD and arm, but it's not taking off.
I figured out that it's thrust_scaling parameter should be 1.0.
Where and how I can modify this parameter ?

What are the Equations Used in This Implementaion?

Hi @Jaeyoung-Lim

I am trying to find which equations are used to implement the controller in this packahe. In particular, in "Geometric tracking control of a quadrotor UAV on SE (3)" The inputs are collective thrust force, f, and moments M. I beleive it is simple to send f to mavros setpoint. However, how is the computed moments input, M, mapped to attitude rate setpoints?
Also the, computation of M requires the knowledge of the inertia matrix I, which I don't think is implemented in this package, right? If so, how is that handled?

Thanks in advance.

MODE: Unsupported FCU

Hi Jaeyoung,

thank you for your work. I try to test the code and follow the example :roslaunch geometric_controller sitl_trajectory_track_circle.launch. Everything goes well but I got an error : MODE: Unsupported FCU. And there was no action in uav in Gazebo. Could you please help me?

setpoint_raw/attitude vs. actuator_controls

Hi Jaeyoung,

first of all: nice implementation! :)

I'm currently thinking of supporting the PX4 controller by flatness-based feedforward control (to exploit knowledge about the model). For this I digged a bit into the PX4 firmware, to see how this could be implemented. I concluded that sending PWM values is probably a step too far and I should rather send body rates and a thrust value. For me it looked reasonable to use MAVROS' actuator_control message for this. However, your implementation seems to remap the body rates to the setpoint_raw/attitude message instead (i.e., here).

Can you tell me why you chose to do so? What happens to this setpoint? Is it still fed into mc_att_control or mc_rate_control? Or does it directly enther the px4fmu module? In the latter case it sounds like it's identical to actuator_control? I didn't find the necessary information yet, unfortunately.

Thanks in advance for your help,
Dominik

trajectory_msgs/MultiDOFJointTrajectoryPoint.h : No such file or directory

Hi @Jaeyoung-Lim

On launching a catkin build, an error related to a header file in trajectory_msgs pops up. I checked the common_msgs/trajectory_msgs, there is not MultiDOFJointTrajectoryPoint.h in there. Even on the official repository for trajectory_msgs (https://github.com/ros/common_msgs/tree/jade-devel/trajectory_msgs) I could not find that header file. Do you think this file belongs to a different package? '

Errors     << geometric_controller:make /home/pi/catkin_ws/logs/geometric_controller/build.make.011.log
In file included from /home/pi/catkin_ws/src/mavros_controllers/geometric_controller/src/geometric_controller.cpp:3:0:
/home/pi/catkin_ws/src/mavros_controllers/geometric_controller/include/geometric_controller/geometric_controller.h:29:58: fatal error: trajectory_msgs/MultiDOFJointTrajectoryPoint.h: No such file or directory
 #include <trajectory_msgs/MultiDOFJointTrajectoryPoint.h>
                                                          ^
compilation terminated.
make[2]: *** [CMakeFiles/geometric_controller.dir/src/geometric_controller.cpp.o] Error 1
make[1]: *** [CMakeFiles/geometric_controller.dir/all] Error 2
make: *** [all] Error 2

I would really appreciate any help at all. Our team needs to complete this project within the next two weeks and all we need is to get the Offboard mode to work. So I do really appreciate all the help possible. Thanks!

Where is the reference position and acceleration and jerk?

I don't see where the position and acceleration and jerk trajectory is taken since the only topic it's subscribed is a geometry_msgs/TwistStamped.
And they are needed by the controller for both feedback (position) and feedforward (acceleration and jerk) terms.
Also the trajectory_publisher seems only to generate a geometry_msgs/TwistStamped setpoint.

Is the position integrated from the velocity (which is btw not really correct)?

is it usable for hexacopter ?

i'm doing my research but using hexacopter, i'm wondering is it usable for hexacopter? if it isn't what should i change from your code?
thanks

implementing mav_trajectory_generation

Hello, I want to implement the ethz-asl/mav_trajectory_generation to generate trajectories that can be used by the geometric controller. From my understanding of the example code, given a goal position and velocity it will generate coefficients for a polynomial trajectory of message type PolynomialSegment.msg. I believe the coefficients x, y, z are for position coefficients and rx, ry, rz are for velocity coefficients. Is this correct? If so, in your polynomialtrajectory.cpp would these be the coefficients i setc_x_, c_y_ , c_z_to be in the generatePrimitives(Eigen::Vector3d pos, Eigen::Vector3d vel) method?

Also in trajectoryPublisher.cpp you call updatePrimitives(), you pass p_mav_ and v_mav_ which are used to set the coefficients (c_x_, ... ).
However, p_mav_ and v_mav_ are set in the mavposeCallback and mavtwistCallback subscribing to /mavros/local_position/pose and /mavros/local_position/velocity . I thought these topics gave you the current pose and twist estimates from PX4 on the quadcopter is this correct? Why do you set your coefficients to these values?

These are the snippets of code for reference:
in trajectoryPublisher.cpp

mavposeSub_ = nh_.subscribe("/mavros/local_position/pose", 1, &trajectoryPublisher::mavposeCallback, this,ros::TransportHints().tcpNoDelay());
mavtwistSub_ = nh_.subscribe("/mavros/local_position/velocity", 1, &trajectoryPublisher::mavtwistCallback, this,ros::TransportHints().tcpNoDelay());

void trajectoryPublisher::updatePrimitives(){
  for(int i = 0; i < motionPrimitives_.size() ; i++ ) motionPrimitives_.at(i)->generatePrimitives(p_mav_, v_mav_);
}

void trajectoryPublisher::mavposeCallback(const geometry_msgs::PoseStamped& msg){
  p_mav_(0) = msg.pose.position.x;
  p_mav_(1) = msg.pose.position.y;
  p_mav_(2) = msg.pose.position.z;
  updatePrimitives();
}

void trajectoryPublisher::mavtwistCallback(const geometry_msgs::TwistStamped& msg) {
  v_mav_(0) = msg.twist.linear.x;
  v_mav_(1) = msg.twist.linear.y;
  v_mav_(2) = msg.twist.linear.z;
  updatePrimitives();
}

in polynomialtrajectory.cpp

void polynomialtrajectory::generatePrimitives(Eigen::Vector3d pos, Eigen::Vector3d vel){
  //Generate primitives based on current state for smooth trajectory
  c_x_(0) = pos(0);
  c_y_(0) = pos(1);
  c_z_(0) = pos(2);

  c_x_(1) = vel(0);
  c_y_(1) = vel(1);
  c_z_(1) = vel(2);
}

Thank you again and any clarity/help on these questions would be greatly appreciated!

[Mavros -2] Has died

need help, there's problem when i run roslaunch geometric_controller stil_trajectory_track_circle.launch
Screenshot from 2020-02-11 14-15-57

How to make geometric controller to track circle trajectory

Geometric_Controller

Hello,
I'd like to make vehicle to track circle trajectory more perfectly, but could not make vehicle to track more closely than above picture.
How can I make iris to track circle or any trajectory more closely?

It looks like only these parameters are available to the user

  nh_private_.param<string>("mavname", mav_name_, "iris");
  nh_private_.param<int>("ctrl_mode", ctrl_mode_, MODE_BODYRATE);
  nh_private_.param<bool>("enable_sim", sim_enable_, true);
  nh_private_.param<bool>("velocity_yaw", velocity_yaw_, false);
  nh_private_.param<double>("max_acc", max_fb_acc_, 7.0);
  nh_private_.param<double>("yaw_heading", mavYaw_, 0.0);
  nh_private_.param<double>("drag_dx", dx_, 0.0);
  nh_private_.param<double>("drag_dy", dy_, 0.0);
  nh_private_.param<double>("drag_dz", dz_, 0.0);
  nh_private_.param<double>("attctrl_constant", attctrl_tau_, 0.1);
  nh_private_.param<double>("normalizedthrust_constant", norm_thrust_const_, 0.05); // 1 / max acceleration
  nh_private_.param<double>("Kp_x", Kpos_x_, 8.0);
  nh_private_.param<double>("Kp_y", Kpos_y_, 8.0);
  nh_private_.param<double>("Kp_z", Kpos_z_, 10.0);
  nh_private_.param<double>("Kv_x", Kvel_x_, 1.5);
  nh_private_.param<double>("Kv_y", Kvel_y_, 1.5);
  nh_private_.param<double>("Kv_z", Kvel_z_, 3.3);
  nh_private_.param<int>("posehistory_window", posehistory_window_, 200);

And is dob controller package working?
With dhat min & max = 0.0 and other parameters left as default, iris cannot get close to circle trajectory and always end-up crashing.

Feature requests / Planning for Q1/Q2 2020

This issue is a place holder for feature requests and planning to make this code base more robust and repliable. Since I am not flying daily with this code, I believe the users will have a better idea on what is missing.

Please list the features that this packages are missing / limiting future development, so that we can prioritize from the list

@juanmed

Testing

  • unit tests using gtests (#113 )
  • SITL testing in CI
  • Controller performance benchmarking without PX4 SITL (Step input .etc)
  • Factor out auto arming node

Controllers

  • Lee 2010 Geometric tracking controller in SE(3) (#117 )
  • Full state LQR controller
  • Jerk Feedforward

Trajectory Planning

  • standard implementation with interfacing with planners
  • Interface with parsing missions from PX4 directly (Planning from QGC)

Improve on trajectory class structure

Currently the trajectory class structure is a mess. We need to have a clear distinction between the shape based trajectories and polynomial based trajectories.

One way to do this is to introduce a subclass of the trajectory class to polynomials and shapes

Kp_z value

Hi,

The Kp_z gain value is assigned as 30 in the launch files.

(A bug though, In this launch file, these values should be under the geometric_controller node instead of the trajectory_publisher)

I have been doing various test with mavros_controllers and found that this value causes the drone to crash in simulation. However, the default value of 10 does not make the controller unstable and the drone can track the trajectory. I was wondering:

  • Have you tried the value Kp_z = 30 in a real drone?

I have tried the value Kp_z = 10 in an Intel Aero RTF and the flight was stable, but I do not want to try the value of 30 after what happens in simulation. See this video where I show the performance of both values in simulation.

I came to notice this since a controller I am developing works in simulation but not on the real drone (Intel Aero RTF). However, mavros_controllers works both in sim and real world, in the same drone. I wanted to ask, do you have any ideas why if both controllers work in sim only mavros_controllers work in the real drone?

Thanks!

Where is the trajectory published to?

Hi thanks for your great work, I got 2 questions:

  1. I saw that the trajectory publisher has a varieble
 trajectoryPub_ = nh_.advertise<nav_msgs::Path>("/trajectory_publisher/trajectory", 1);

but I didnot find a subsciber that subs this trajectory. Any help with this?

  1. To my understanding, your polynomial trajectory is something like
    p(t) = c1 + c2 * t + c2 * t^2 + c3 * t^3
    is that right?

Drone not following circular trajectory

Hello,

Thanks for releasing your repo. After installing all dependencies, I tried launching sitl_trajectory_track_circle.launch. Everything launches fine and there are no errors but the drone does not move, nor hovers nor follows the circular trajectory (which does appear in rviz).

The geometric_controller node subscription to /command/trajectory is disconnected, as well as mavros/local_position/velocit for trajectory_publisher node.

Your comments will be greatly appreciated.

Juan

Following #82 , I went and git clone mavros repo in the same workspace as mavros_controllers and build it from source using

catkin build mavros

However the topic mavros/local_position/velocity is still disconnected even though after doing rostopic list both mavros/local_position/velocity and /mavros/local_position/velocity_local seem to be published

After using roswtf this is the output:

~$ roswtf
Loaded plugin tf.tfwtf
No package or stack in context
================================================================================
Static checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING You have pip installed packages on Ubuntu, remove and install using Debian packages: rosinstall -- 

================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules
running tf checks, this will take a second...
... tf checks complete

Online checks summary:

Found 3 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /geometric_controller:
   * /reference/yaw
   * /command/trajectory
 * /trajectory_publisher:
   * /trajectory_publisher/motionselector
   * /mavros/local_position/velocity
 * /mavros:
   * /mavros/manual_control/send
   * /mavros/setpoint_raw/global
   * /mavros/hil/optical_flow
   * /mavros/global_position/set_gp_origin
   * /mavros/setpoint_attitude/cmd_vel
   * /mavros/hil/state
   * /mavros/global_position/home
   * /mavros/setpoint_velocity/cmd_vel
   * /mavros/hil/gps
   * /mavros/setpoint_accel/accel
   * /mavros/hil/imu_ned
   * /mavros/actuator_control
   * /mavros/hil/rc_inputs
   * /mavlink/to
   * /mavros/rc/override
   * /mavros/setpoint_velocity/cmd_vel_unstamped
   * /mavros/statustext/send
   * /mavros/setpoint_attitude/thrust
   * /mavros/setpoint_position/global
   * /mavros/home_position/set
 * /gazebo:
   * /gazebo/set_link_state
   * /gazebo/set_model_state

WARNING These nodes have died:
 * vehicle_spawn_ferlabpc_23312_8273335145624220121-8

WARNING No tf messages

and for rostopic list:

~$ rostopic list
/clicked_point
/clock
/command/trajectory
/diagnostics
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/gazebo_gui/parameter_descriptions
/gazebo_gui/parameter_updates
/geometric_controller/path
/initialpose
/mavlink/from
/mavlink/to
/mavros/actuator_control
/mavros/altitude
/mavros/battery
/mavros/companion_process/status
/mavros/extended_state
/mavros/global_position/compass_hdg
/mavros/global_position/global
/mavros/global_position/gp_lp_offset
/mavros/global_position/gp_origin
/mavros/global_position/home
/mavros/global_position/local
/mavros/global_position/raw/fix
/mavros/global_position/raw/gps_vel
/mavros/global_position/rel_alt
/mavros/global_position/set_gp_origin
/mavros/hil/actuator_controls
/mavros/hil/controls
/mavros/hil/gps
/mavros/hil/imu_ned
/mavros/hil/optical_flow
/mavros/hil/rc_inputs
/mavros/hil/state
/mavros/home_position/home
/mavros/home_position/set
/mavros/imu/data
/mavros/imu/data_raw
/mavros/imu/diff_pressure
/mavros/imu/mag
/mavros/imu/static_pressure
/mavros/imu/temperature_baro
/mavros/imu/temperature_imu
/mavros/local_position/accel
/mavros/local_position/odom
/mavros/local_position/pose
/mavros/local_position/pose_cov
/mavros/local_position/velocity
/mavros/local_position/velocity_body
/mavros/local_position/velocity_body_cov
/mavros/local_position/velocity_local
/mavros/manual_control/control
/mavros/manual_control/send
/mavros/mission/reached
/mavros/mission/waypoints
/mavros/param/param_value
/mavros/radio_status
/mavros/rc/in
/mavros/rc/out
/mavros/rc/override
/mavros/setpoint_accel/accel
/mavros/setpoint_attitude/cmd_vel
/mavros/setpoint_attitude/thrust
/mavros/setpoint_position/global
/mavros/setpoint_position/local
/mavros/setpoint_raw/attitude
/mavros/setpoint_raw/global
/mavros/setpoint_raw/local
/mavros/setpoint_raw/target_attitude
/mavros/setpoint_raw/target_global
/mavros/setpoint_raw/target_local
/mavros/setpoint_velocity/cmd_vel
/mavros/setpoint_velocity/cmd_vel_unstamped
/mavros/state
/mavros/statustext/recv
/mavros/statustext/send
/mavros/target_actuator_control
/mavros/time_reference
/mavros/timesync_status
/mavros/vfr_hud
/mavros/wind_estimation
/move_base_simple/goal
/reference/flatsetpoint
/reference/pose
/reference/setpoint
/reference/yaw
/rosout
/rosout_agg
/tf
/tf_static
/trajectory_publisher/motionselector
/trajectory_publisher/primitiveset
/trajectory_publisher/trajectory

Can I use it in the Rover?

Hello

I'm studying the px4 Rover software

I want to use the mavros_controller in the Rover, but the motor rotates fast when converting offboard mode.

Forward servo turns right when converting offboard

Can't I use it in the Rover?

Sending Yaw Commands

Hi,

Great work on the package! I'm pretty new to ROS (and C++ for that matter). I've gotten everything working in the simulation and I have a real drone set up with position feedback. Now I'm looking to have the simulated drone point at the center of the circle at all times (then I'll test it with the real drone). I know how to generate the appropriate yaw quaternion command (using the theta angle about the circle) but I don't know how to implement this in the code. I've written a 'getOrientation' function in the shapetrajectory.cpp file and called it later in the file but this doesn't seem to work. Any guidance on this would be appreciated!

Thanks!

[Feature] Trajectory Generation

mav_trajectory_generation looks like a good framework for the 'generation' of trajectories.

A demo example and necessary interfaces should be created

  • Try trajectory generation
  • Create interface for trajectory representation
  • Verify this is working together

using PolynomialTrajectory4D?

Hi,

Thanks for the great work.
I am trying to use geometric controller with PolynomialTrajectory4D, and I can find x, y, z coefficients for each PolynomialTrajectory segment.
My questions are:

  1. In polynomialtrajectory.cpp, I found position is defined as :

position << c_x_(0) + c_x_(1) * time + c_x_(2) * pow(time, 2) + c_x_(3) * pow(time, 3), c_y_(0) + c_y_(1) * time + c_y_(2) * pow(time, 2) + c_y_(3) * pow(time, 3), c_z_(0) + c_z_(1) * time + c_z_(2) * pow(time, 2) + c_z_(3) * pow(time, 3);

c_x_(0), c_x_(1), c_x_(2) and c_x_(3) here are defined as drone position in x direction, drone vel in x direction, accel in x and jerk in x. But I am having a hard time understanding this equation:

c_x_(0) + c_x_(1) * time + c_x_(2) * pow(time, 2) + c_x_(3) * pow(time, 3),

should it be:

c_x_(0) + c_x_(1) * time + c_x_(2) * pow(time, 2) / 2.0?

can you briefly shed some light here?

  1. What is motion_selector and how it is used?

Thank you again for the great work.
Joey

Compilation Problem

Hello,
I'm trying to compile the mavros_controllers and get compilation error:

Errors << geometric_controller:check /home/evgeny/catkin_ws/logs/geometric_controller/build.check.017.log
CMake Error at /home/evgeny/catkin_ws/devel/share/catkin_simple/cmake/catkin_simple-extras.cmake:38 (find_package):
By not providing "Findeigen_catkin.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"eigen_catkin", but CMake did not find one.

Could not find a package configuration file provided by "eigen_catkin" with
any of the following names:

eigen_catkinConfig.cmake
eigen_catkin-config.cmake

Add the installation prefix of "eigen_catkin" to CMAKE_PREFIX_PATH or set
"eigen_catkin_DIR" to a directory containing one of the above files. If
"eigen_catkin" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:7 (catkin_simple)

make: *** [cmake_check_build_system] Error 1

What you think is a problem ?

Best regards
Evgeny

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.