Collision avoidance using monocular vision

Hello all,

I am programming a rover to complete a mission in auto while also performing obstacle avoidance using optical flow. I have a companion computer running a python script calculating optical flow similar to a corridor following method (steer to side with less flow) ,but with a threshold so the rover can take commands form the pixhawk as well, and I want to implement this in my auto driving. The companion computer is running ROS so I am looking for the best method to temporarily override the mission plan with a ‘change heading’ or by creating a new waypoint in a safe direction and then return to the mission. I am new to ROS and MAVLink messages so maybe I am overlooking a very obvious solution here.

Thanks!

1 Like

@bmatejevich,

Sorry for taking so long to reply on this important topic.

It’s certainly possible for a companion computer (running ROS or otherwise) to control the vehicle if the vehicle is in Guided mode. Guided mode can accept a few different commands including those from mavros.

We’ve got some instructions on the setting with ROS here on the wiki and there are also a few people who have done this in our gitter.im/ArduPilot/VisionProjects chat group.

I have not tried to use ROS’s optical flow but I was able to get ROS’s local path planner to steer a rover around obstacles (wiki)