All Projects → fan0210 → Djim100 People Detect Track

fan0210 / Djim100 People Detect Track

A ros demo for people detection and tracking on DJI M100 drone

Projects that are alternatives of or similar to Djim100 People Detect Track

erdos
Dataflow system for building self-driving car and robotics applications.
Stars: ✭ 135 (-10%)
Mutual labels:  robot, drone, ros
Rvd
Robot Vulnerability Database. An archive of robot vulnerabilities and bugs.
Stars: ✭ 87 (-42%)
Mutual labels:  ros, robot
Venom
All Terrain Autonomous Quadruped
Stars: ✭ 145 (-3.33%)
Mutual labels:  ros, robot
Turtlebot3 simulations
Simulations for TurtleBot3
Stars: ✭ 104 (-30.67%)
Mutual labels:  ros, robot
Rosnodejs
Client library for writing ROS nodes in JavaScript with nodejs
Stars: ✭ 145 (-3.33%)
Mutual labels:  ros, robot
Ev3dev Lang Java
A project to learn Java and create software for Mindstorms Robots using hardware supported by EV3Dev & the LeJOS way.
Stars: ✭ 79 (-47.33%)
Mutual labels:  ros, robot
Webots
Webots Robot Simulator
Stars: ✭ 1,324 (+782.67%)
Mutual labels:  ros, robot
Eyantra drone
Metapackage to control the edrone via services and topics -https://www.youtube.com/watch?v=M-RYyMyRl9g
Stars: ✭ 57 (-62%)
Mutual labels:  ros, drone
Robotics setup
Setup Ubuntu 18.04, 16.04 and 14.04 with machine learning and robotics software plus user configuration. Includes ceres tensorflow ros caffe vrep eigen cudnn and cuda plus many more.
Stars: ✭ 110 (-26.67%)
Mutual labels:  ros, robot
Navbot
Using RGB Image as Visual Input for Mapless Robot Navigation
Stars: ✭ 111 (-26%)
Mutual labels:  ros, robot
Weloveinterns
中科院软件所智能软件中心实习生社区
Stars: ✭ 143 (-4.67%)
Mutual labels:  ros, robot
Panther
🐆 Panther is an Open Robotic AGV platform ROS based for Outdoor and Indoor enviroments.
Stars: ✭ 67 (-55.33%)
Mutual labels:  ros, robot
Mrs uav system
The entry point to the MRS UAV system.
Stars: ✭ 64 (-57.33%)
Mutual labels:  ros, drone
Autonomous Drone
This repository intends to enable autonomous drone delivery with the Intel Aero RTF drone and PX4 autopilot. The code can be executed both on the real drone or simulated on a PC using Gazebo. Its core is a robot operating system (ROS) node, which communicates with the PX4 autopilot through mavros. It uses SVO 2.0 for visual odometry, WhyCon for visual marker localization and Ewok for trajectoy planning with collision avoidance.
Stars: ✭ 87 (-42%)
Mutual labels:  ros, drone
Quadruped 9g
A ROS node that describes a quadruped robot using URDF
Stars: ✭ 61 (-59.33%)
Mutual labels:  ros, robot
Ros tutorials
ROS Tutorials for beginner
Stars: ✭ 88 (-41.33%)
Mutual labels:  ros, robot
Dolly
🤖🐑 It's a sheep, it's a dolly, it's a following robot. Dolly was born to be cloned.
Stars: ✭ 113 (-24.67%)
Mutual labels:  ros, robot
True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-74.67%)
Mutual labels:  ros, robot
Show trajectory
This repository collected 3 ways to show trajectory of robot in ROS
Stars: ✭ 48 (-68%)
Mutual labels:  ros, robot
Grl
Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
Stars: ✭ 105 (-30%)
Mutual labels:  ros, robot

DJIM100-people-detect-track

A ros demo for people detection and tracking on DJI M100 drone

Building project

1.Prerequisites

2.Create a workspace and compile

mkdir -p ~/catkin_ws/src

next, copy all packages to /catkin_ws/src and

catkin_make

Usage

  • Set your own image topic

    find ros_people_detect.launch, ros_kcf_node.launch, dji_sdk_client.launch, and replace /image_pub/image with your own image topic.

  • Run dji_sdk_client and dji_sdk

    roslaunch dji_sdk_demo dji_sdk_client.launch roslaunch dji_sdk sdk_manifold.launch

  • Run people_detect node

    roslaunch people_detect ros_people_detect.launch

  • Run ros_kcf node

    roslaunch ros_kcf ros_kcf_node.launch

  • Remote control

    Now, you can use your remote control with custom functions to control the stop and start of tracking and detection. The control interface is defined in client.cpp.

    void StartMission1Callback(DJIDrone *drone)
    {
        drone->request_sdk_permission_control();
        sleep(1);
    
        ros::Rate loop_rate(50);
    
        while(ros::ok())
        {
            ros::spinOnce();
            drone->attitude_control(0x4B,forwardV,leftrV,heightV,yawV);
            cout<<fixed<<setprecision(2)<<"          "<<forwardV<<"  "<<leftrV<<"  "<<heightV<<"  "<<yawV<<endl;
            loop_rate.sleep();
        }
    }
    

    This callback function is used to start the task, that is to start the autonomous detection and tracking.

    void StartMission2Callback(DJIDrone *drone)
    {
        std_srvs::Empty srv;
        start_tracking.call(srv);
    }
    

    This callback function is used to start tracking, that is, people_detect node give a target to kcf_track node. In fact, this goal is the closest person to the center of the image, and if there is no people is detected, the tracking program will not run, but when any people is detected again, the tracking program will automatic run.

    void StartMission3Callback(DJIDrone *drone)
    {
        std_srvs::Empty srv;
        if(stop_detecting.call(srv))
        {
            sleep(1);
            detect_stop.call(srv);
        }
    }
    

    This callback function is used to start and stop people detecting.

    void StartMission4Callback(DJIDrone *drone)
    {
        std_srvs::Empty srv;
        if(stop_tracking.call(srv))
        {
            sleep(1);
            track_stop.call(srv);
        }
    }
    

    This callback function is used to stop kcf tracker.

Show results

videos:
autonomous detection and tracking.mp4

img1 load error img2 load error

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].