Semi pilot advice

hello, i am trying to build a drone that can take coarse commands (like take off, flight forward, land), and then do everything else by itself… i do not plan to have a RC controlling the drone constantly, but have ardupilot to command the ESC to achieve the objective…

the closest thing i come to is have a new module in RCControl like ST24 ??

is this possible with ardupilot ? any suggestion would be appreciated…

Yes it is possible. That is the basic idea of ardupilot. Depending on what you are doing in your mission you can select hardware.
Try a pixhawk 2.4.8 or Cube orange Flight Controller to start.

i actually do not have a “pre-defined” mission… basically i want to remotely tell the drone to take off, move forward, RTL… etc… i am not familiar with Ardupilot code (though the more i read the code, the more impressive it gets)… my main question is that the motor (ESC) appears to be getting PWM from RC… so i am not clear without RC, do i need to generate the PWM or Oneshot to ESC somehow ??? is there some configuration that i should do or do i need to program the pin for PWM output ??

Dont worry about trying to decipher the code yet, go for the docs and mission planner.
Mostly you seem to be talking about Guided mode.

The motors wont be getting PWM signals direct from the RC - it’s pretty much impossible to fly a copter this way (multirotors anyway) - the RC signals go into the flight controller and it works out how to control the motors given the sensor inputs and pilots commands.

thanks for the response… so even without RC input, it is
possible for Arudpilot to automatically program the timer and
perform PWM generation

  by itself ??? (i may have misunderstood libraries/AP_Motors and


  also, is it possible not to use mission planner ??? (maybe i am

confused by the words “mission planner” as there will be no
pre-planned mission)

  i got the impression it actually will build on the fly the

ardupilot code based on config and flash the FC, but i want to use
my own source tree and use

DFU to program the board myself, is this not recommended ??

  i am not trying to have "pre-planned" mission, i just want to

have a drone, that can respond to some command (over wifi /
tcp/ip) something

  like  "take off", "fly forward", "turn left", with some internal

intelligence (with aid of sensors like sonar, IMU) to make sure it
does not bump

  into a wall (or obstacle), and perhaps eventually with some

opencv and camera (running on RPI W0) to avoid obstacle…

  also, are these commands possibly supported with mavlink (i have

not dove into the code there yet), or should i write some simple
command (over

  a uart port to tell ardupilot to do things ???  (not wanting to

reinvent the wheel if it is already done)

  also, trying to understand where does one configure the hardware

?? the MCU GPIO / functional pins are configured in hwdef.dat, but
how about the other stuff (like frame, the type of ESC, the type
of motors, the type of sensors)… i have not found a place
describing how to configure that (ie not using mission planner)…
saw file like APM_Config.h and Parameters.cpp, but not sure
whether it is a good place to do the configureation ?


All the things you mention are the purpose of the flight controller and Arducopter, it is all there in the documentation.
It’s highly advisable to keep conventional RC control in case things go wrong - it will also be needed for config and testing.
You need to read the documentation a lot, when you think you’ve gathered enough info then read it all again :slight_smile:

You have to use Mission Planner (or QGC or APM Planner2) for the initial config and tuning, even via USB cable. You’ll need a ground station with one of those programs.
Even if you used another flight control system like Betaflight, you still need a computer to configure and tune the craft - although none others in a reasonable price range will have any object avoidance or autonomy.

You can add some sort of telemetry radio; wifi will only give very short range (50m), 3DR style radios will give medium range (100’s or 1000’s of meters) and RFD style radios will give long range (40+ km).
The telemetry radios wont give you low latency control like a proper RC Tx/Rx, but you can use an autonomous mission (preconfigured with a ground station) or a guided mode and a ground station.

If you want to replicate most or the some features of Ardupilot including object avoidance in your own code, I think that would be a major project. You could use any of the cheap very capable boards available now, but you’d be on your own. Dont be tempted to get one of the cheap APM boards that were superceded years ago - you will miss out on all the features you specify.
Check the history of Ardupilot to see where it came from and how it evolved and decide if you want to try and repeat that yourself.
I understand this could be a requirement of a University degree or similar, to develop your own system, but then you probably wouldn’t want to be just copying Ardupilot code I guess.