I have a very large drone platform, I intend it for rugged remote sentry work (like patrolling pipelines). Picture uploaded. It is tank-skid steer and amazingly agile, carries 500lbs. It is about 6ft by 4ft, and meant to carry heavy loads/observational gear. Even working on an arm.
Have demod at at Maker Faire in NYC. I intend to open source it as it is a relatively inexpensive design that is heavily rugged and industrial...something I felt was really lacking commercially (at least at any reasonable cost.) so I had to build it. This thing can be built for orders of magnitude less than commercial systems. I intend to open source this design for hobbyists looking for an industrial-scale ground platform.
At this point, I need a guidance system and waypoint mission planner for it, and that brought me to here and to APM. But I have some questions I'd really appreciate answers/perspective on as I am having some trouble figuring out certain elements.
Specifically, they revolve around the APM 2.5 itself, and also its relationship to the Mission Planner software. Specifically:
1) I understand APM it is an autopilot. But the 3drobotics folks say I need the telemetry stuff to make it "autonomous". So does this mean, MIssion planner software must be running (and connected) to control the robot remotely at all times? Are the smarts in the APM or the .NET aplication program? My drone is large and carries its own computer system with it. So I would have all control software on it...and it would be truly autonomous. Is this possible?
2) Drone is tank/skid steer. Its motors are also controlled via CAN Bus, APM seems to want to output to a servo which, in my case, isn't helpful. I am not "steering" in the traditional sense...I am differentially powering one side or the other. And skid-steer products like wildthumper, etc, don't help, because they can't output nearly enough juice to turn these motors (100amp). The system has 2 Curtis CAN Bus motor controllers...I speak to the controller from a mega 2560 over CAN. I can steer the drone very elegantly. So with APM, would I change the firmware (it is Arduino?) to control my CAN motors directly? Is this straightforward to do?
3) Does the APM reconcile turning commands and compass bearing such that it "knows" if a robot is off course relative to the intended waypoint? That is, if there is slippage on the ground for a patch or other obstruction and it is not able to orient completely, does the software compensate for that?
Flying things tend to be "easier" than ground, because you generally have no obstructions and a lot of leeway to maneuver. Ground is a bit trickier.
Anyway, *greatly* appreciate the help/thoughts here. These answers will set me in the right direction and to the right sub-forums. Didn't know where else to post.
Best regards,
Gregory Brill
Replies
@Gregory,
You might want to join the ArudRover User Group.
Regards,
TCIII
VERY cool project!
1)Technically, MP does not need to be running to be autonomous. You can upload waypoints, and send it on it's way. The APM does not need a connection to a PC to work autonomously. I think 3DR just says that because it would be frowned upon to do an autonomous mission without linkage to a ground control so a human operator can oversee things.
2)I do not know the status of skid-steer within the Rover code. It might be working now, I know Tridge as been busy on the code lately and I haven't kept up. Regardless, even if it's not, I think your problem is solvable. So it sounds like you have a CANbus output working on a Mega, and it gets commands from a PC? So half the battle is won already. It should be simple enough to modify that Mega to take the throttle and brake servo inputs from the APM, read them in, mix them for skid-steer, and output to your motor controllers. Even slicker would be to try and work the CAN controllers into the APM but that would be a big job!
3) Not sure I understand, but it absolutely knows if it's on-course, or if it's falling off course, and tries to hit the target. It doesn't simply calculate a compass bearing from Point A to Point B and say "go in that direction". It's always looking at where it's at, and corrects heading. However, if you are talking about a situation where, your course makes you traverse a hill sideways, and it starts sliding down, is it smart enough to know that it needs to rotate straight uphill and climb back up... I don't think it does that yet.