@ppoirier actually i dont want the rc to be used for the obstacle avoidance setup i only need to perform obstacle avoidance with my raspberrypi3 with ultrasonic sensor or lidar
if the above not posibble please guide me to make obstacle avoiance using raspberry pi 3 and pixhawk3 and also TFmini/ultrasonic sensor in autonomous drone delivery project for my college
Did you fixed the precision landing problem? I am trying to do precision landing using companion computer and aruco marker , no response from .landing_target_encode function. Any idea?
I am using raspberry pi 4 with imx camera, and pixhawk 6x with 4.5.1 firmware ardupilot.
The code is detecting the aruco marker but not making any movement
Any code or repository you can suggest? is my code looks good for precision landing?
Also,
I want to implement a mission and then land the drone precisely on aruco marker what steps should i follow?
I am using a single 72 id aruco marker for landing should i use multiple aruco markers?
I tried Loiter mode,
Firstly after running the script i took off the drone in Loiter mode, assigned a switch for PrecLoiter and Land
After taking off to a certain height, i pressed the PrecLoiter switch and then switched to LAND mode.
The problem is i can’t see the LANDING_TARGET message everytime even if aruco is being detected, in 10 flights i saw it only in 3 flight. In one of flight the drone landed on aruco, i dont know wheater it was a coincidence or the precision landing was working. Please help
You were right the landing target is being published on ground also. After the publishing i took a flight but the drone didn’t performed. It performed well only one time in 6 of the flights Attaching the flight error video and images for refrence: video
function for land message:
def send_land_message_v2(x_rad=0, y_rad=0, dist_m=0, x_m=0,y_m=0,z_m=0, time_usec=0, target_num=0):
msg = vehicle.message_factory.landing_target_encode(
int(time_usec), # time target data was processed, as close to sensor capture as possible
target_num, # target num, not used
mavutil.mavlink.MAV_FRAME_BODY_NED, # frame, not used
int(x_rad), # X-axis angular offset, in radians
int(y_rad), # Y-axis angular offset, in radians
int(dist_m), # distance, in meters
0, # Target x-axis size, in radians
0, # Target y-axis size, in radians
int(x_m), # x float X Position of the landing target on MAV_FRAME
int(y_m), # y float Y Position of the landing target on MAV_FRAME
int(z_m), # z float Z Position of the landing target on MAV_FRAME
(1,0,0,0), # q float[4] Quaternion of landing target orientation (w, x, y, z order, zero-rotation is 1, 0, 0, 0)
2, # type of landing target: 2 = Fiducial marker
1, # position_valid boolean
)
print (msg)
vehicle.send_mavlink(msg)
What if i want to do it outdoor ? Should i use multiple aruco? Because we are working on a project where it have to land on a charging pod in well light conditions
Our company has been doing outdoor landings 24/7 for the past 5 years using Aruco markers.
Woks fine in sunny, rainy, day and night, Moon or no Moon .
And many others do the same. It is a solvable Problem. You just need to get your camera to work outdoors.