Indoor Navigation - M210 V2

Completed

Comments

11 comments

  • DJI Developer Support
    DJI drone itself does not provide control solutions for non-GPS environments. In non-GPS environments, only OSDK attitude control API is recommended. Developers develop positioning and navigation by themselves. Note that the developer’s positioning and navigation cannot be sent to DJI flight controllers, Only through OSDK's attitude control API to control the flight. API: dji_control.hpp https://github.com/dji-sdk/Onboard-SDK/blob/dc4b77d48fbc8af47ab95e05cc237e0212e9413f/osdk-core/api/inc/dji_control.hpp#L470
    0
    Comment actions Permalink
  • Syed Ahmed

    Thanks for your help. Do you have any example routine that can help me get started? 

    0
    Comment actions Permalink
  • DJI Developer Support
    Sorry, There is no control sample for non-GPS environment for refference, but a flight control sample is provided in the OSDK sample, which uses position to control the movement of the drone. You can refer to it and modify it to the attitude control mode. https://github.com/dji-sdk/Onboard-SDK/tree/master/sample/platform/linux/flight-control
    0
    Comment actions Permalink
  • Syed Ahmed

    Thanks for the pointer. I have started looking at this development. Quick question: If I am in att mode, can I pass a command to enable collision avoidance (such as vehicle->flightController->setCollisionAvoidanceEnabledSync(
    FlightController::AvoidEnable::AVOID_ENABLE, 1);)? Or I will have to write my own routines for collision avoidance as well?

    0
    Comment actions Permalink
  • DJI Developer Support
    The setCollisionAvoidanceEnabledSync API is used to enable/disable the obstacle avoidance function of the FC. When the obstacle avoidance is enabled, the OSDK control can also trigger obstacle avoidance (the obstacle direction decelerates to hovering), and you can also subscribe to the obstacle distance and develop your own obstacle avoidance logic. OSDK4.1 version supports M210 v2 and M300 models to obtain the obstacle distance by subscribing to TOPIC_AVOID_DATA: Description: Front visual system Obstacle perception range 0.7-30 m Top infrared sensing system Obstacle sensing range 0-5 m Bottom ultrasonic distance measurement + vision system vision range <10 m If no object is detected, the corresponding Health flag is 0 ![](/hc/article_attachments/900008822523/mceclip0.png)
    0
    Comment actions Permalink
  • Syed Ahmed

    Thanks. I'm having issues here while trying to come up with an equivalent function for attitude control of below in OSDK-ROS.

    bool moveByPosOffset(FlightTaskControl& task,const JoystickCommand &offsetDesired,
    float posThresholdInM,
    float yawThresholdInDeg)
    {
    task.request.task = FlightTaskControl::Request::TASK_POSITION_AND_YAW_CONTROL;
    task.request.joystickCommand.x = offsetDesired.x;
    task.request.joystickCommand.y = offsetDesired.y;
    task.request.joystickCommand.z = offsetDesired.z;
    task.request.joystickCommand.yaw = offsetDesired.yaw;
    task.request.posThresholdInM = posThresholdInM;
    task.request.yawThresholdInDeg = yawThresholdInDeg;

    task_control_client.call(task);
    return task.response.result;
    }

    Can you please point me to the right direction? Thanks

    0
    Comment actions Permalink
  • DJI Developer Support
    OSDK-ROS based on the OSDK Linux, please check the real control command sent to the FC on vehicle node(master node).
    0
    Comment actions Permalink
  • Syed Ahmed

    Yes, I see that. From what I understand, I'll have to modify the dji_vehicle_node as well to include attitude mode control, which basically means doing everything from the very basic - start motor etc? Can I not use the virtual RC functions?

    0
    Comment actions Permalink
  • DJI Developer Support
    Virtual RC has been deprecated, please use flightCtr (joystick) function. OSDK provides an API to start the motor, but the control of the drone needs to be implemented by yourself.
    0
    Comment actions Permalink
  • Syed Ahmed

    The Manifold 2C I've been using has suddenly stopped working. It won't even turn on. Only one solid red LED light turns on. Fan remains off too - and black screen on display. I'm using DJI power supply to power it and have checked, it's giving 26V. Please let me know how I can get it repaired. It should still be under warranty since I bought it only about 2 months ago. Serial number is 1CWEG4V0010012 and it was bought by the following.

    Clickmox Solutions Inc

    1545 Maley Drive, Sudbury, ON P3A 4R7

    Canada

    +1-705-207-5345; naeem@clickmox.com

    0
    Comment actions Permalink
  • DJI Developer Support
    Regarding the after-sales of the product, please consult support@dji.com, and you can apply for repair through the official website for product hardware maintenance. https://repair.dji.com/repair/index?site=brandsite&from=nav
    0
    Comment actions Permalink

Please sign in to leave a comment.