Folks, here is what I want to do: an autonomously driven snowmobile. I have the mechanical parts working well for the directional control (I can turn the handlebar left and right with the linear motor - I hope you can see it in the picture). The throttle also works, though not shown in this picture. What I would like to do is use the APM board to control this, to give the snowmobile a set of waypoints to navigate to, and then return.
The purpose is to drive the snowmobile in a grid to measure properties of the snow and ice (the picture is from Antarctica) - and to free up a scientist from driving in a grid for hours.
Right now I control the snowmobile over a radio - manually turning left or right - not very satisfying.
- The steering is controlled by an H-bridge that puts either +12V or -12V on the motor to extend or retract it. When there is 0V on the lines, the motor doesn't move. (I use a 500Hz 50% duty cycle PWM wave to control the speed at which the arm moves).
- The throttle is a PWM servo motor (1ms for zero throttle, 2ms for full throttle).
I imagine the latter of these (the throttle) should integrate easily with the APM board. How to drive the steering from the APM board? Do I need to have an interface board between the APM and my H-bridge?
Doable? A lot of hacking of the code? I don't know Arduino, though it looks relatively straightforward. I am using a propeller (www.parallax.com) to communicate with the radio, to read the GPS, and to drive the steering and throttle.
(right now the GPS is ignored, but hopefully with APM board it can be used to control the steering).
I'm new to this community (wish I had stumbled on this about a year ago!!)
How good is GPS down there? And compass?
Sounds workable! What a project!
I have my 6WD rover moving along within 1.5 to 3 feet of the line between waypoints without even any tuning. Just ran a couple circuits of my course this morning and the results were very satisfactory. I will use the 6WD for RoboMagellan competition. My E-Maxx is working well too and I hope to take it to the Sparkfun competition next year.
Good to hear!
I'm still fighting my 6WD pulley system. The smaller driven pulley will slip under large torque (turning). I re-designed the motor mounts to allow better adjustment, thinking the belts were not tight enough. Might have helped a little. Next is to machine a new set of 1:1 pulleys, and see if the increased driven pulley size will drive without slipping.
I was playing around with the APM 2.0 a few days ago, and set up the R/C receiver per
Downloaded new MP 1.2.33 mav 1.0
Firmware updated ArduRover v2.2b last week.
but I don't see the sticks working as I'd expect.
* Right stick U/D does throttle (expected)
* Right stick L/R does roll (?)
* Left stick U/D does Radio 7
* Left stick L/R does nothing
* 3-way sw does Radio 8
What about Yaw? Is that Steering?
Futaba T7. Ch 1 and 2 on Right stick (steering/throttle) when connected to RoboClaw (expected)
So want does APM really want? I remember (weak point) before that I couldn't get outputs from APM as I expected (probably why).
What stick are you using? what "bars" move on the configuration screen? Or what bars are supposed to move?
If I get the pulleys swapped out, I'll see if I can drive with APM. Ubloc GPS seems to work good, even indoors!
I guess I need a course! Yard isn't big enough. I have some property over in the central valley, but that's two hours away.
The aileron part of the right joystick is used to turn the rover. So in Radio Calibration screen you should see the roll bar move at the top of the Calibration window. The rudder joystick is not used for steering. The elevator part of the right joystick is used for the throttle and you should see the throttle bar move. Remember the present v2.30 alpha code does not use the cruise throttle parameter for the rover cruise speed. The code uses the max throttle parameter for the rover cruise speed.
OK, It's correct for all but the momentary switch on 7. I just assigned 'H' on my radio to 7, so that should do it. However, the R/C seems to keep loosing connection. While on the calib page, after a while, the controls don't work. Also looses PC port connection. Any ideas?
APM 2.0 powered off of USB.
I have found that MP 1.2.33 is really flakey. It won't work with pre-HAL ArduRover2 v2.30 code and with v2.20b. I am using MP 1.2.30 with pre-HAL ArduRover2 v2.30 and MP 1.2.13 with ArduRover2 v2.20b. The IR sensor sonar does not work in the HAL versions of ArduRover2 v2.30. Actually ArduRover2 v2.20b works just fine for now. I think that it is going to be a while before the diy dones developement team can get to the ArduRover2 code.
1.2.13? Doesn't appear to be available on download page.
I have different SONAR sensors, I'll want to put in (6) at some time. Isn't IR a little noisy?
Just how bad are the newer releases? What can I get by with for v2.20b?
I don't know about the cruse throttle. This is the first time I got this much working. Actually had both steering and throttle servos working!
Now I need to devise a few steering tests (on the bench?) Can I just set a waypoint, go into auto, and swing APM around to get it to steer?
The present ArduRover Sharp IR sensor works fine and Linus and I have developed and even longer range Sharp IR sensor.
For a bench test you can create a waypoint that is either to the right or the left of the home point, go into auto and see which way the rover steers. If it steers opposite of the intended direction then use the "reverse" box on the roll bar in the MP to change th steering direction.
The oldest MP on the Wiki download is 1.2.30. I do not have the msi for 1.2.13.
I would need multiple IR sensors, at least L/R.
I'll try some waypoints. I suppose I can wait until there is a "clean" release.
Just be aware that there is interference between multiple sonars. If you are using Maxbotix (recommended) then there is information on their website how to trigger the sensors sequentially. Their "commanded mode" method works well.
Yes, I was thinking of an array of six SRF08 sonars. Maybe provision for this sensor can be added to the code?
You are going to need a way to convert the PWM steering output of the APM into a signal that can be used by the H bridge. I suspect that you could use an Arduino Uno to decode the steering PWM into right (CW) and left (CCW) steering commands for the H bridge. I suspect that the code already exists on the Arduino Forum for converting PWM to H bridge motor direction commands.