sikang / mpl_ros

A ROS wrapper for trajectory planning based on motion primitives
Apache License 2.0
573 stars 148 forks source link

Use of this package on a real quad #6

Open tiralonghipol opened 6 years ago

tiralonghipol commented 6 years ago

Hi ! I would really love to implement this package on a real quad Any suggestion? What are the 'missing pieces' ? I could not find any information about input/output parameters ...

Thank you !

sikang commented 6 years ago

Hi,

It should not be hard to implement for real robot, the package is not very complicated but I think it may take a while to understand the planner including the parameters. For detail introduction you could look at example code or the doxygen online: https://sikang.github.io/motion_primitive_library/

The mpl_ros package is just the planning part, which gives trajectories as the final output. To execute the trajectory, you need to write your own controller which takes into account robot's and desired pos, vel, acc, etc and calculates the desired force and torques for the low level attitude controller on flight controller (for example, Pixhawk or AscTec autopilot). The one we use is from Lee's paper on geometric control: T. Lee, M. Leoky, and N. H. McClamroch, “Geometric tracking control of a quadrotor uav on se (3),” in 49th IEEE conference on decision and control (CDC). IEEE, 2010.

You also need to plug in the mapping part according to the sensors that are used in the project as the input for mpl planner. The planner is able to take whatever map type, the one provided in the mpl_ros by default is using built-in voxel_map for collision checking.

Sikang

On Tue, Jul 31, 2018 at 9:41 AM, Paolo De Petris notifications@github.com wrote:

Hi ! I would really love to implement this package on a real quad Any suggestion? What are the 'missing pieces' ? I could not find any information about input/output parameters ...

Thank you !

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sikang/mpl_ros/issues/6, or mute the thread https://github.com/notifications/unsubscribe-auth/ABccl_CgwXGWjLB2VD04sGjvmvqybirlks5uMF6OgaJpZM4VoRrn .

tiralonghipol commented 6 years ago

Thanks for the fast reply! I'll try to explain my setup, hope you can help me: until now I fusing the slam_out_pose of hector (2d lidar / no odometry) into the 'vision_fusion' plugin of the px4, inside the flight controller then, for the navigation side, I'm using the ros-stack-navigation (so 2D navigation, and is what I need for now!) Since the /mavros/local_position/pose is not precise, I planned to move out the pose estimator and, as you suggested, to implement a low-level trajectory tracking controller Do you think that https://github.com/ethz-asl/mav_control_rw can be used for this?

Forgive me, I've been working with ros and mavs since short time, hope you can help me

Pol

sikang commented 6 years ago

Hi Pol,

Understand, we also used mavros in our flight control stack. The eth package is an option, but its high level position control using MPC might be an overkill. You just need to convert the reference trajectory from the planner with [p, v, a, etc.] into desired thrust and ypr, so I think the easiest way is to apply the PID control as the position controller. I hope this answer could help.

Sikang

On Tue, Jul 31, 2018 at 12:10 PM, Paolo De Petris notifications@github.com wrote:

Thanks for the fast reply! I'll try to explain my setup, hope you can help me: until now I fusing the slam_out_pose of hector (2d lidar / no odometry) into the 'vision_fusion' plugin of the px4, inside the flight controller then, for the navigation side, I'm using the ros-stack-navigation (so 2D navigation, and is what I need for now!) Since se /mavros/local_position/pose is not precise, I planned to move out the pose estimator and, as you suggested, to implement a low-level trajectory tracking controller Do you think that https://github.com/ethz-asl/mav_control_rw can be used for this?

Forgive me, I've been working with ros and mavs since short time, hope you can help me

Pol

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sikang/mpl_ros/issues/6#issuecomment-409277711, or mute the thread https://github.com/notifications/unsubscribe-auth/ABcclyLLAFkVNqnRscxLI9LtfUp2qW31ks5uMIGSgaJpZM4VoRrn .