New Sensors!! :-D Colision Avoidance

WooHoo so I picked up my new ultrasonic sensors from my old workplace today!  that means it's time for me to start work on collision avoidance!! :-D  something I desperately need hahahaha...

3689480630?profile=originalfirst stage for me is to get the arduino uno reading the sensors, I might then set it up to talk to the ardupilot board on i2c and integrate the system from there...

Please forgive me for starting so many projects at once, but I want to make the most of my unemployment while I can!! great time to innovate and get all the ground work done before it gets slowed down by real work and earning a living ;-)

will keep everyone posted :-)

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • You will probably want to have a look at what I have done with the Arduino and SR04, interfacing with the ADC3.3 port on flight control board.

    https://bitbucket.org/albuckley/alx_hc-sr04_pixhawk/wiki/Home

    albuckley / ALX_HC-SR04_pixhawk / wiki / Home — Bitbucket
  • Really great......I have a question for the community. I have started going through the arducopter codebase with an aim of intigrating and programming these Daisy-chained sensors.

    What i already have....

    seeeduino and 4 Maxbotix  XL ultrasonic sensors daisy chained and programmed.

    What i would like to have with help from the community.......

    Where to code and how to make a collision avoidance system in the arducopter codebase?

    Can anyone please give me a head start??

     

  • Jesse, yep, let's definitely cooperate! I will have a git branch of the code up soon, will let you know. I don't know about the SR04, but the maxbotix sensors do not let the pin float-- they maintain the analog output voltage between readings, so I don't see an easy way to share the output pin. My strategy was to use their daisy chaining capability ( http://www.maxbotix.com/documents/LV_Chaining_Constantly_Looping_AN...) so that I don't need to manually trigger them -- they all fire in sequence, and each have their own output pin that I can read whenever I want.

  • Jesse,
    if there is no more space inside the apm, what about using a daughter board to "remote control" the apm? Something like in between the tx and the apm or maybe better on the i/o side for telemetry?
  • @Marc: that's pretty much exactly where I want it to get to, but I fear that there may not be enough program space in the APM to do this, but lets aim for that anyway?

    @Jani: my first array is going to have 6 of these sensors, I didn't use the JDIO board because I need 12 free lines, 6 send, 6 receive.  I'm not sure if the sensors hold the output low or let it float, if it's floating then all 6 sensors can be connected to the same pin and each sensor can be activated by their respective trigger.

    @Aaron: I'm more than happy to combine our efforts on this if you are interested, no point in re-inventing the wheel.  I was planning on using an external board for measuring sensors and sending data via I2C so it would be simple to integrate your IR sensors via the same mechanism, the APM doesn't really need to know how the data is calculated, as long as it's all in the same units (CM)

    @Chris: I am aware of this, I'm triggering the sensors in sequence and looking for a response before moving on, I will refine this somewhat in the near future by triggering opposite sensors at the same time, but for now this should be good enough. 

    @Ralph: I'm using SR04 sensors, they are a reasonable cheap sensor and really easy to interface...

  • What's the model of the Sonar Senors?

  • keep the interference in mind. (using the sensors simultaneously probably won't work)

  • FYI, I've been working on an obstacle avoidance system for a while now for my upcoming work inside caves. I have 4 of the maxbotix long range sensors and have set them up in chained mode to avoid interference between sensors. I also have 4 infrared sensors and am hoping to work out a system involving all 8.

  • Developer

    Jesse how many you plan to have on your first sensor array, as we could look to connect them to jD-IOBoard and that way free some computing power from main controller. Later on we can look to create full dedicated PCB with MCU on it for this use. 

    One thing that I am really concerned is to have those sonars pointing horizontally as propellers etc are making massive amount of noise. Long time a go on original avoidance system written by Jose we used to use Infrared sensors but as we know, those are not sensitive enough and their beam is really narrow. Good thing on IR is that they are not affected by noise coming from motors/props.

  • Jesse,

    my thoughts were the following. We have to fly low altitude missions with a copter to make aerial orthophotos.
    The flightpath is several parallel flights with an offset of some dozen meters in between. The copter always flies facing in the direction of the flight. It would need two sensors to work properly, one facing down, the other facing in the direction of flight. The logic would be like this:
    - measure distance to obstacle in front of flightpath
    - if distance to obstacle is less than a previously set value, lets say 5 meters, stop forward movement and memorise this gps point
    - begin to move upwards until the obstacle is out of the sensor limit, memorise this point
    - move upwards from that point for the set value, so another 5 meters, keep this point in memory
    - begin to move forward again and watch the bottom sensor, he will begin to see the obstacle
    - once the bottom sensor does not see the obstacle any more, memorise this point
    - move another preset distance, in this case 5 meters forward and stop
    - begin descent to previous flight altitude
    - continue flightplan

    There is a little more logic needed, but i hope you understand what I mean. There has to be another refinement done if behind the obstacle is another and lowere one which would prevent going back to planned flight altitude, but I think this could basically work with only two sensors.
    I am not really good in programming, i did some projects with the atmega, but if there is a way I can help you with testing and developing, just drop me a line. Cav will become more and more important over the time, so this is a pretty good project to get involved.
    Regards
    Marc
This reply was deleted.