ArduRover as ArduBoat

Hi All!

Sorry for the short message but I am a little rushed for time at the moment.

I am a student working on an autonomous boat for the 2015 International RoboBoat Competition and we want to us a PixHawk to control our motors, move to waypoints, etc. We are looking to use the ArduRover code to do this control on the PixHawk.

We want to get a prototype in the water as soon as possible. The prototype would only be controlled through a RC so we don't have to worry about some of the higher level computer vision stuff (yet). To do this the PixHawk has to be able to talk to our motors which speak RS485 (we are getting an RS232-RS485 converter). What we were thinking of doing was putting a ROS on the PixHawk to handle this communication. 

Has anyone put ROS on the PixHawk before?

Has anyone used a PixHawk running ArduRover to control a boat?

Were should we look in the ArduRover code for its output to the motors?

Thanks!

-Jake

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • The team talked about using a neural net and one of the obstacles that came up was  the need for sufficient training images. Did your team recreate the course to get the training images? Were you able to use video from last years competition as training images?

  • Glad to hear that worked so well! We will definitely look into using a neural net. Any advice?

    Also, do you have any experience in fusing computer vision with distance information (from a LiDAR or stereo vision)? Most teams in this year's RoboBoat are using such a sensor fusion.

  • How did the neural net work out? Was it able to compensate for different lighting conditions? That seems to be one of the big problems with vision systems.

    Does your team have a website that is still up?
  • Since out motors speak RS485 I've been looking for a way to change the APM:Rover code to send the needed packets to the motors. Keeping TCIII suggestion of using an Uno to read the PWM output from the PixHawk and send it to the motors as a backup.

    I found in libraries/AP_Motors/AP_MotorsMatrix.cpp the following lines:

    // send output to each motor
        for( i=0; i<AP_MOTORS_MAX_NUM_MOTORS; i++ ) {
            if( motor_enabled[i] ) {
                hal.rcout->write(_motor_to_channel_map[i], motor_out[i]);
            }
        }
    This looks like the place where the final PWM output (motor_out[i]) is sent to the motors. I was thinking of taking the PWM nanosecond information and transforming that into a number to send to the motors through RS485. You can send a percentage (between 0 and 100) which is what I was planning on doing using the min and max output PWM as 0 and 100 respectively. 
    Am I right about this block being the last time motor_out[i] is edited and that motor_out[i] is the PWM up time in nanoseconds?
  • Gerald,

    Thanks for the link! It was a great read!

    Are you still working on the project?

    Have you created a boat simulator? I ask because we have looked into it and it is no trivial feet.

    Have you been able to get ROS working with APM:Rover? I have heard multiple suggestions but no one has said they have done it.

    For the RPi: Boats in the RoboBoat competition usually have entire motherboard on-boat so we are planning to build a motherboard or take apart an old laptop. We looked into the RPi but its clock speed and RAM are too low. The ODROID that Tridgell mentioned is only $65

    -Jake

  • Admin

    @Jake,

    You might be better off using either a Raspberry Pi or a BeagleBone Black if you plan to use a ROS.

    Regards,

    TCIII ArduRover2 Developer 

    • @Thomas

      Can you say more?

      We chose the PixHawk because of the ardupilot community around it and its use of built in sensors. Do you think ROS will be difficult to implement on the PixHawk and if so, why?

      -Jake

      • Admin

        @Jake,

        You might pose your question here: Drones-Discuss You will have to join the Google Group to post.

        If I were doing this, I would load the ArduRover2 2.46 beta 2 code, configure the Pixhawk for skid steering, and use an Arduino Uno to convert the two motor PWM channels to whatever serial packet data stream you need to control your two ESCs.

        Regards,

        TCIII ArduRover2 Developer

        • Sorry for my limited rasp pi knowledge. But whats the easiest sister board to add to take care of 8 in and 8 out pwms ? My understanding is the pi has not got enuff hardware pwm pins.

        • @TCIII

          Why use an Uno and not take the RS232 from the PixHawk and use a converter? Wouldn't an off the shelf be more reliable than an Uno?

          -Jake

This reply was deleted.

Activity

DIY Robocars via Twitter
RT @a1k0n: @DanielChiaJH @diyrobocars @circuitlaunch Here's my car's view of that race. About 8.4 second lap times for laps 2 and 3... both…
2 hours ago
DIY Robocars via Twitter
RT @DanielChiaJH: Great racing against @a1k0n today at @diyrobocars! Pretty cool to both break sun-9s at the track today I think I got very…
yesterday
DIY Robocars via Twitter
Broadcasting the @circuitlaunch race live now at https://m.twitch.tv/diyrobocars Races begin around 2:00pm PT
yesterday
DIY Robocars via Twitter
RT @a1k0n: ran a huge number of hyperparameter tuning experiments yesterday; now I can train a new policy, far with better quality, in 15 m…
yesterday
DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
Sep 26
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
Sep 26
DIY Robocars via Twitter
Sep 24
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
Sep 24
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
Sep 23
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
Sep 22
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー https://t.co/1Qq2zOeftG
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track https://t.co/RtLb7TcgIJ
Sep 10
More…