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 @chr1sa: You can see this in person in two weeks for our next live event with real cars. It's great fun for adults and kids alike, and…
yesterday
DIY Robocars via Twitter
RT @chr1sa: The final race (1:24) at yesterday's @DIYRobcars virtual event was our best. It's only two minutes long but it has everything,…
yesterday
DIY Robocars via Twitter
RT @chr1sa: The monthly @diyrobocars virtual race is starting now! https://www.twitch.tv/roboticists2
Saturday
Mike Whitney liked Mike Whitney's profile
Jul 19
DIY Robocars via Twitter
Jul 2
DIY Robocars via Twitter
Jun 26
Abdulatif Tlaib liked Ryan's profile
Jun 24
DIY Robocars via Twitter
RT @SmallpixelCar: First time at @wsraceways. After tuning @HokuyoUsa lidar signal and camera sensor on @NVIDIAEmbedded, my car was able to…
Jun 20
DIY Robocars via Twitter
RT @breadcentric: The handy bit about racing with self-driving cars is that one can type while the car is racing. Report from #AWSDeepRacer…
Jun 18
DIY Robocars via Twitter
RT @chr1sa: Our Bay Area @DIYRobocars meetup is now at 2,700 members. Next in-person events (in Oakland) are training day on July 17 and…
Jun 18
DIY Robocars via Twitter
Videos from the ICRA autonomous racing workshop are now available: https://linklab-uva.github.io/icra-autonomous-racing/
Jun 10
DIY Robocars via Twitter
RT @SmallpixelCar: Prepared race track for Warm Spring Raceways @wsraceways and looking forward to test my new car at RAMS RC @ramsaicar fa…
Jun 6
DIY Robocars via Twitter
RT @f1tenth: Trying out some nasty blocking maneuvers 🏎️🤖 #f1tenth #autonomousracing https://t.co/nMTstsaogM
Jun 5
DIY Robocars via Twitter
May 27
DIY Robocars via Twitter
RT @araffin2: I will talk this Saturday from 18:00 to 19:00 Paris time for the @diyrobocars community about learning to race in hours using…
May 27
DIY Robocars via Twitter
RT @a1k0n: Luckily the infeasible hairpin problem was easily reproducible in simulation and I could test the fix before bringing the car ba…
May 26
More…