DPRG
DPRG List  



[DPRG] Video of Drone Contolled by BeagleBOne Black Running APM Pilot Software

Subject: [DPRG] Video of Drone Contolled by BeagleBOne Black Running APM Pilot Software
From: David Anderson davida at smu.edu
Date: Fri Feb 6 15:46:28 CST 2015

It's too late.


On 02/06/2015 11:38 AM, Dennis Clark wrote:
> Am I the only one that cringes when people call these quad and hex copters "drones?"  Can we move away from this media term with such heavy, negative military connotations?
>
> My rant for the day,
> --
> Dennis Clark
> While traveling
>
>> On Feb 6, 2015, at 10:31 AM, ed at okerson.com wrote:
>>
>> You can download it here:
>>
>> http://software-dl.ti.com/codegen/non-esd/downloads/download.htm#PRU
>>
>> Ed Okerson
>>
>>> Dick,
>>>
>>> Good find.  Haven't watched it yet, but this phrase caught my eye:
>>>
>>> "There's a C compiler for the PRU."
>>>
>>> Any details?
>>>
>>> dpa
>>>
>>>
>>>> On 02/04/2015 12:27 PM, Dick Swan wrote:
>>>>
>>>> This is interesting 48 minute video
>>>> <https://www.youtube.com/watch?v=2Twl2mQAh6g> from the lead developer
>>>> of APM Pilot. It was given at a LINUX conference. He was describing
>>>> the successful results of running APM code on LINUX.
>>>>
>>>> Here's my comments on some topics in the talk indicating the
>>>> approximate time in the video that it occurred.
>>>>
>>>> 4:38 Live demonstration of a drone / airplane controlled via LINUX
>>>> port of APM Pilot on a BeagleBone Black (BBB). The drone was at an
>>>> airfield some distance from the conference location and watched a
>>>> video as it took off, flew to way points and autonomously landed.
>>>> LINUX console was remotely running on the overhead screen along with a
>>>> video (Skype call) of the plane.
>>>>
>>>> 6:38 Drone was compiling LINUX kernel at same time as flying. On the
>>>> BBB the kernel compile takes 5-6 hours because of relatively "low
>>>> powered" CPU) when dedicated to this task. The compile time increases
>>>> when APM is also running to around 10 hours.
>>>>
>>>> 1,200 SPI transactions per second from IMU in this application (i.e.
>>>> simultaneous  APM Pilot and Kernel compile). Elsewhere he mentions 4K
>>>> SPI per second.
>>>>
>>>> Uses a BBB "Cape" (similar to a Arduino "Shield") to provide the
>>>> navigation sensors. Several BBB Capes now exist that contain the
>>>> appropriate navigation sensors (i.e GPS and IMU and barometer). For
>>>> example, the successful NavIO Cape from Kickstarter; and recently
>>>> announced NavIO+. Plus several more Capes from others. Most (all?)
>>>> were introduced in the last year.
>>>>
>>>> 20:21 Uses inline waits for sending 20 byte SPI packets. Better
>>>> (faster?) than DMA because DMA setup has too much overhead.
>>>>
>>>> 22:05 Why use "user space driver" instead of kernel drivers? Answer:
>>>> Same driver source code used on LINUX as on Arduino APM! Same drivers
>>>> run on different OSes! It wasn't explicit but it seemed the user space
>>>> drivers were for SPI and I2C; it was unclear if the low level SPI/I2C
>>>> hardware control was in kernel space.
>>>>
>>>> 24:00 Future will see many of the current I2C sensors (gyro, accel,
>>>> compass, GPS) migrate to CAN Bus.
>>>>
>>>> 24:58 Describes how APM handles real-time critical threads -- they're
>>>> described as LINUX "FIFO scheduled real time task" with pages locked,
>>>> predefined stacks, etc for best performance. There's six critical
>>>> tasks that run in APM.
>>>>
>>>> 27:15 Some problems with "jitter" on the long duration nominal 20
>>>> millisecond loop.
>>>>
>>>> キ19 of 2M loops (i.e. a 11 hour run) were over 30 msec. This was the
>>>> same run APM with LINUX kernel compile in background. 18 of these were
>>>> under 50 msec. Easily handled by APM Pilot since all the calculations
>>>> running on the 20 msec loop adjust for the actual loop time rather
>>>> than assuming it is "precisely" 20 msec.
>>>>
>>>> キLongest time was 1.7 seconds. This is a bug. Possibly writing to SD
>>>> Card with interrupts disabled and waited too long.
>>>>
>>>> 31:20     Two things need microsecond timing; i.e. servo pulse input
>>>> and PWM servo pulse output. Solution uses the 200 MHZ simple PRU
>>>> (Programmable Real-time Units) on BBB. PRUs have direct access to GPIO
>>>> pins. I think PRUs are on-board the CPU chip. PRUs have shared access
>>>> to the BBB memory. There's a C compiler for the PRU. Total source code
>>>> for the PRUs is 300 lines.
>>>>
>>>> 37:00 Description of latest Outback challenge competition held Oct
>>>> 2014. It's a "search and rescue" autonomous drone looking for a human
>>>> (via image recognition) at an approximate GPS location 6 miles away.
>>>> Drone needs to fily to approximate location, search for the human and
>>>> then drops a water bottle to the human. APM team won the competition.
>>>> Many of the other entrants used chunks of APM code.
>>>>
>>>> 38:30 Picture of image recognition from Outback challenge. It looks
>>>> similar to the images you see from a CMU Cam where color blob is
>>>> highlighted with a rectangle overlaid on the camera image. I'm amazed
>>>> at how the image recognition found a human shape from the air.
>>>>
>>>> Some of the new sensors drivers in development for integration with
>>>> APM include.
>>>>
>>>> キOptical flow sensors
>>>>
>>>> キLaser range finding. Pointing downward for containing altitude.
>>>>
>>>> キUse Android quad-core (i.e. lots more CPU cycles) and then do image
>>>> recognition using increased processing power.
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> DPRGlist mailing list
>>>> DPRGlist at dprg.org
>>>> http://list.dprg.org/mailman/listinfo/dprglist
>>> _______________________________________________
>>> DPRGlist mailing list
>>> DPRGlist at dprg.org
>>> http://list.dprg.org/mailman/listinfo/dprglist
>>>
>>
>> _______________________________________________
>> DPRGlist mailing list
>> DPRGlist at dprg.org
>> http://list.dprg.org/mailman/listinfo/dprglist
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at dprg.org
> http://list.dprg.org/mailman/listinfo/dprglist

More information about the DPRG mailing list