Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 13 15:27
    crish4cks commented #489
  • Dec 13 15:19
    crish4cks commented #489
  • Dec 13 15:19
    crish4cks commented #489
  • Dec 13 12:17
    dji-dev commented #489
  • Dec 12 10:53
    DimaNyumovich commented #490
  • Dec 11 16:36
    crish4cks commented #489
  • Dec 11 11:54
    crish4cks commented #489
  • Dec 09 13:57
    dji-dev commented #489
  • Dec 09 13:45
    dji-dev commented #490
  • Dec 08 13:05
    DimaNyumovich opened #490
  • Dec 06 13:23
    crish4cks opened #489
  • Dec 06 11:27
    MariusBeul commented #482
  • Dec 06 11:23
    MariusBeul commented #482
  • Dec 04 11:16
    dji-dev commented #488
  • Dec 03 09:13
    addriumruss commented #488
  • Dec 03 08:28
    addriumruss commented #488
  • Dec 03 07:27
    dji-dev commented #488
  • Dec 03 01:15
    addriumruss opened #488
  • Nov 27 10:07
    snakehaihai commented #484
  • Nov 27 10:06
    snakehaihai commented #482
Aqua
@lanyusea
@OricalWorksINC please contact dev@dji.com
Andre Nguyen
@andre-nguyen
Hey @lanyusea, have you ever seen a problem where having the Manifold too close to the Gps module jams the gps signal?
Aqua
@lanyusea
@andre-nguyen yes. The camera cable is something like a flood of noise to make your GPS signal lost when it is too close to the GPS module. Surround the cable by foil to shield your GPS can fix the problem.
Andre Nguyen
@andre-nguyen
Wow, it worked haha. Thanks!
Shikhargupta
@Shikhargupta
Hey @lanyusea , I am working on making DJI M100 autonomous using NVIDIA Jetson TK1 board. When I am running sdk_manifold.launch in dji_sdk_demo package, I am getting this error : '[sdk_manifold.launch] is neither a launch file in package [dji_sdk_demo] nor is [dji_sdk_demo] a launch file name'. Can you please help me out
b.flipped
@bflippedz
I am wondering when I use ROS package for m100 how can I send command to m100? Using telemetry?
Aqua
@lanyusea
@bflippedz you can use wireless data link or an onboard NUC directly
@Shikhargupta I think you forget to source the catkin workspace. try with rosrun dji_sdk_demo dji_sdk_client
geetesh
@geetesh
Hi guys, so glad i found this channel on gitter. Is DJI planning to release a way to input custom state estimation to the N1 controller through the onboard SDK? Or can you share the Guidance CAN protocol or GPS CAN protocol so that we can do it ourselves
Rohit Sant
@rohitsantdji
@geetesh currently, the recommendation for doing your own state estimation is to do it on the Onboard Embedded System (OES) which runs the Onboard SDK, and further do your own (minimal) position control loop on the OES as well. This loop should generate attitude setpoints which you can send to the N1/A3 via the Onboard SDK. The logic is that the additional sensing or algorithms that you employ for your own state estimation would probably not be that different from the N1's internal solution for the attitude (though it might be significantly better for the position estimate). There is no planned roadmap, right now, for enabling the ability to send a full state estimate solution to the N1/A3 controllers.
Andre Nguyen
@andre-nguyen
@rohitsantdji Are there any plans to allow access to raw GPS data?
geetesh
@geetesh
@rohitsantdji thanks :D
Rohit Sant
@rohitsantdji
@andre-nguyen No plans right now, sorry
chukcha2
@chukcha2
Hello, I have Matrice 600 / A3 Flight Controller. I have Zenmuse X3 camera. I have several sensors as the payload. All sensors' clocks are synchronized to a GPS clock so that I can fuse sensor data. I need to fuse RGB data from Zenmuse X3 camera with the rest of the data. Is it possible to get accurate timestamp of when an image was taken? Can the clock that is used to produce this time stamp be synchronized with some other clock or with GPS clock?
Rohit Sant
@rohitsantdji
@chukcha2 Unfortunately, the DJI Open protocol does not support that at this time. You could get an approximate timestamp (~5ms) from the SDK by capturing the timestamp when you send out a take picture command - the delay from sending the command to actually taking a picture is deterministic (and depends partially on your serial baudrate), so the timestamp of every picture that you take will be offset by a constant value from the real time stamp. We offer the possibility of synchronizing the onboard clock to your own clock - calling sync (see Set Sync Frequency in the online Open Protocol documentation) once at the start of your program will reset the free-running onboard clock and start sending out a sync pulse along with the timestamp at the frequency you request.
chukcha2
@chukcha2
Than you @rohitsantdji . It is good to know that the delay between sending a "take picture" command and actually taking a picture is deterministic. It may be good enough for applications that don't require very accurate synchronization. I will give this a try to see if it works for my application. Regarding synchronizing the clocks. I did see the sync command in the open protocol documentation but is not clear on how to use it to synchronize clocks. It can only be used to synchronize clock frequency (ticks), not absolute clock, right? Is it meant to synchronize my clock frequency with onboard clock frequency and not vice versa? Thank you.
Rohit Sant
@rohitsantdji
@/all: Check out the new Onboard SDK release v3.1.8! We've introduced support for a new programming paradigm - synchronous blocking API calls - as well as a new extensible Linux sample with a streamlined hardware driver, a good threading implementation and helpful error diagnosis. Further, we've added the possibility to execute Linux, ROS and STM32 functions through an iOS app connected to the RC. There is also a tutorial and sample code for integrating air traffic sensing with the Ping ADS-B receiver, and a base for integrating LiDAR into the OSDK with a Velodyne integration. Expect to see more on that in the coming months as well. :smile:
Andre Nguyen
@andre-nguyen
:smile: :+1:
@rohitsantdji whats the status on a possible new simulator?
Rohit Sant
@rohitsantdji
No official plans - for now, the Assistant 2 Simulator is what we recommend. :grimacing: If you need to hook up the aircraft to Gazebo or another sim, I believe there is a path to do so by getting state through broadcast data and translating control information through movement control. The dji2mav library may come in handy too
Andre Nguyen
@andre-nguyen
Oh well, maybe hku will opensource their ros simulation bridge https://www.youtube.com/watch?v=lVrqjQa-aYU&index=9&list=PL7MdxByY92XeF1S3fd2q4DCcmPjNGZ_z3
Andre Nguyen
@andre-nguyen
@rohitsantdji Quick question, how exactly does the sync command work with the onboard sdk? I see it mentioned in the documentation but never with a full explanation of how it works and what it does. Is there a sync out pin available on the autopilot to sync with an external device?
Rohit Sant
@rohitsantdji
When you send a sync command (asking the flight controller to sync at some frequency F_SYNC), the timestamp packets you receive from the FC start sending you a software "clock pulse" - a sync byte that has value '1' at time intervals 1/F_SYNC and '0' at all other time instants. Sending the sync command also resets the free-running counter generating the timestamp.
Andre Nguyen
@andre-nguyen
Huh can you elaborate as to the use case of such a feature?
Rohit Sant
@rohitsantdji
It's useful for syncing your OES clock to the flight control clock - you could use this feature to sync the flight control timestamp with ROS timestamp, for example.
Andre Nguyen
@andre-nguyen
Does anyone here have experience with the transparent data link? I'm having trouble getting anything close to the upstream bitrate, the stream seems to die out after about 5 seconds.
Ivan Lozano
@ivanovishX_twitter
Hi guys, hey I need some help using the DJI::Onboard SDK have you been using the Followme APIs ? I'm getting a error starting to follow the target about Bad GPS connection 0XD8, cheers
Nithin Reddy Gaddam
@nithinreddygaddam

Our Hardware:

Drone - Matrice 600
RC controller - DGI - GL 858A connected through LightBridge 2
Flight Controller - A3
OES - Intel NUC 5i5RYK running ROS
Mobile - iOS
Camera connected to Gimbal

Problem:

We are trying to move the images captured from the Camera's SD card to the OES

Current architecture:

The onboard SDK doesn't allow to transfer of images from camera to the OES but only allows it to control the camera and take pictures. We are able to download the images to the Mobile but we need to move the images to the OES file system. The only way I can communicate to the OES is through the mobile SDK which restricts me to send 100bytes of data in a 1kb/s connection. This will take forever to upload the images to the OES.. Is there any alternative solution for this?

Arjun Menon
@amenonDJI
@nithinreddygaddam This is not supported currently - You cannot directly transmit data into your NUC OES. You could setup a Wifi receiver on the OES side and transmit video frames via Wifi, although this is not officially supported.
Nithin Reddy Gaddam
@nithinreddygaddam
@amenonDJI won't that interfere with the rc controller and flight controller wifi connection?
chukcha2
@chukcha2
@amenonDJI , could you please elaborate on using wifi to transmit video frames? Would I (theoretically, as a non supported feature) be able to send non video data? Is this done using mobile or/and onboard SDK?
Rohit Sant
@rohitsantdji

@nithinreddygaddam the RC and Flight controller are not communicating over Wi-Fi, they are communicating over the proprietary 2.4GHz LightBridge 2 link. You should be okay setting up a parallel Wi-fi network, though as @amenonDJI said we do not test or support this kind of setup.

@chukcha2 the wi-fi connection being discussed is not in any way related to DJI SDK - you would basically use Wi-Fi to get both the OES and the mobile on the same network, and figure out a way to transfer files between them. Thus it could be any kind of data. You will have to either get a powerful Wi-fi AP (something like http://www.tp-link.com/en/products/details/cat-5039_CPE510.html) or bring the drone close to the RC at the times when you need to transfer data.

Alexandre Borowczyk
@AlexandreBorowczyk
@chukcha2 We had great success ubiquiti products as well https://www.ubnt.com/unifi/unifi-ap-outdoor/
Leman FENG
@flm8620
Does anyone noticed the thread-safety problem in C++ example of Onboard-SDK? dji-sdk/Onboard-SDK#67
Justin Tuchek
@justintuchek
Hi - I am new to gitter, would somebody who has access/privilege be able to make an room for Mobile-SDK?
Rohit Sant
@rohitsantdji
@/all OSDK Devs: Time to vote! What would you rather have: (1) Continued support for low-power, low-cost embedded systems (STM32) or (2) OS-only SDK (Linux, ROS) that allows us to unify the SDK, add better support for thread safety, logging, cleaner architecture and fundamentally more capabilities (thanks to additional native libraries)?
Rohit Sant
@rohitsantdji

Also, check out OSDK 3.1.9, released last week. Adds a powerful new module - precision trajectory mission planning (uses advanced trajectory planning and control algorithms to execute geolocated trajectories). The precision trajectory feature has a slick interface for planning trajectories in the form of a SketchUp plugin that allows you to plan and visualize trajectories, and also observe the drone execute them in simulation. You can also import geo-located scenery to get a sense of the real execution of the trajectory. You can specify time intervals for pictures along the trajectory, and video can be captured as well.

Another thing we have added is the ability to record, in real time, Velodyne Puck LiDAR data into the popular LAS file format, standardized by the ASPRS and heavily used in the GIS, geo-informatics and surveying industries.

This release, as usual, comes with numerous additions and improvements to the core OSDK libraries - CMake support, Vagrant-based VMs for quick prototyping, threaded callbacks and camera/gimbal snippets in the Linux sample (as well as interfaces for all our new features) are just some of the additions to the SDK. Give it a spin! :smiley:

Justin Tuchek
@justintuchek
2!
geetesh
@geetesh
2 :D
Andre Nguyen
@andre-nguyen
2
I didn't even know people bothered with (1)
Alexandre Borowczyk
@AlexandreBorowczyk
definitively # 2
chukcha2
@chukcha2
2
3.1.9 looks like a big step in the right direction in terms of code organization/documentation. thank you.
Andre Nguyen
@andre-nguyen
We did this with the onboard-sdk ;)
Rohit Sant
@rohitsantdji
That looks great! :thumbsup:
Shengwei Ren
@XiaoR
hi guys, do anyone here know how to verify if the blocking api call timeout or return ACK succfully?
in my program, even if the blocking api call is timeout, i get the ack == 0 which also means it succeeds
Rohit Sant
@rohitsantdji
@XiaoR answered in your post on the DJI forum