ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Quadcopter navigation with obstacle avoidance?

asked 2016-01-15 14:10:26 -0500

automate gravatar image

Hi, I am trying to implement autonomous navigation with obstacle avoidance for quadcopter (which has Pixhawk). All I want to implement is quadcopter being able to move from point A to point B while avoiding obstacles. I am fine with the navigation being in 2D.

I am using Odroid connected to Pixhawk as the main controller. I am using Hokuyo URG-04LX-UG01 Scanning Laser Rangefinder for detecting obstacles.

What I figured out till now is there are two options to achieve navigation with obstacle avoidance. Use MAVROS somehow along with Navigation Stack / MoveIt. I guess as I am fine with navigation in 2D Navigation Stack should be what I should use. Is that correct?

Navigation stack requires 3 sort of data to function: Sensor Data, TF & Odometry data. I have LIDAR publishing sensor data, so thats fine.

My questions are:

  1. How do I get TF and Odometry data (used by navigation stack) using MAVROS? What sort of data should I use? How do I do that?
  2. Can I use MoveIt if I dont have map or anything and only 2D LIDAR data?
  3. In future I want UAV to navigate in 3D. If answer to 2nd question is yes then should I switch to MoveIt instead? And any links for resources to read specifically about moveit and pixhawk will be very helpful.


edit retag flag offensive close merge delete


Have you gotten any further in this? I am doing something similar

Icehawk101 gravatar image Icehawk101  ( 2016-09-21 09:54:31 -0500 )edit

Hi, did you complete your project, I want to do similar kind of project, any suggestion for that ?

Nikka gravatar image Nikka  ( 2017-07-11 04:20:57 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2016-09-21 10:01:49 -0500

  1. You have to generate that. You can make a URDF model of the quadcopter or build a transform publisher to get the TF data. For the odometry you can get the imu data from /mavros/imu/data and if you have a px4flow (or knockoff) from /px4flow/raw/optical_flow_rad. I also use laser scan matching to simulate odom data using the lidar. Pass the data through an EKF or UKF (I use robot_localization) to get a combined odometry estimate.

I am planning to use moveit for 3D navigation but have only just started looking into it. If you have gotten any further in this I would like to hear about it.

edit flag offensive delete link more

Question Tools



Asked: 2016-01-15 14:10:26 -0500

Seen: 1,445 times

Last updated: Sep 21 '16