Shop OBEX P1 Docs P2 Docs Learn Events
BS2px autonomous vehicle — Parallax Forums

BS2px autonomous vehicle

robomaticsrobomatics Posts: 6
edited 2011-03-28 16:54 in Robotics
This is my project that refers to a robot that is capable to move on specified trajectories, described by point sets on a 2D flat surface. Its brain is a Parallax BS2px processor, with a uM-FPU v3 as a co-processor. I have placed marks on the surface that the robot is moving, so don't misunderstand the marks with line follower systems.
It is a differential drive robot, that is capable to change the speed of its wheels when it needs to turn, so as to move in smooth trajectories.

So, in the video you can see the robot execute a trajectory that is specified by the following schema:

trajectory.jpg


The initializing point is the start of the axies, and the trajectory starts from the point (137.7 , 177.1) so the robot firstly finds its orientation, then moves to the specified point as it is showing by the dotted line. Then it follows the trajectory that is comprised by a segment (l=670.39mm), an arc (r=823.48mm), an arc(r=451.31m) and finally a segment, till it stops.



1024 x 655 - 41K

Comments

  • ercoerco Posts: 20,256
    edited 2011-03-24 10:06
    Bravo! Great job, dead reckoning sounds so easy but there's a lot of hard work involved to get consistent results. Very nice arcs!
  • Matt GillilandMatt Gilliland Posts: 1,406
    edited 2011-03-24 12:24
    I second erco's Bravo! Well done!
    -Matt
  • robomaticsrobomatics Posts: 6
    edited 2011-03-25 04:35
    Thank you very much. Well, a lot of words have been written about encoders. It was very difficult for me to syncronise the wheels with the traditional sensors. I had spent many many hours reading here in forums for odometry solutions, and the starting point for this effort was (the vwery well documented) Phi Pi's article for the well known Parallax product. Unfortunately, the resolution was very poor, and I decided to move to the acroname's product WW01 Wheel Watcher, offering 64ppr. Even the BS2px which is the fastest form the BS2s could not handle the too many data that had to do with the geometric calculations, the readings and handling of the data from the encoders and finally the control for the servos. I had to find a solution of a peripheral that in the best case should take control of the servos, with some PID function, and why not the reading of the encoders. And then it would talking with the stamp to give reference for the position of the wheels and to accept new data.

    I found THE solution. I discovered a perfect module that has to offer 12bit (4096!!! ppr) resolution and moreover it takes control of the servo that is connected to (with PID function applied) and it can communicate with the stamp via UART. It comes in a kit form and modifies a standard servo to a SUPER servo :) with full position control.
    In the next days I'm going to post schematics for anyone is interested.
    This project is the main part of my diploma thesis. Thanks again for your good words.
  • Martin_HMartin_H Posts: 4,051
    edited 2011-03-25 05:04
    Cool project! I am looking forward to the details on your project as I may learn a thing or two. I am particularly interested in super servo as well as the floating point co-processor you used.
  • robomaticsrobomatics Posts: 6
    edited 2011-03-26 08:48
    The floating point processor is the uM-FPU. It is a product that is being sold by Micromega (http://micromegacorp.com/index.html) and Parallax (item code: 604-00050) as well.
    The module is called Supermodified and is being sold by a Greek company called 01. You can find details on their site (http://www.01mech.com/supermodified). I used this product with the USART protocol for the communication with the BS2px.
  • agfaagfa Posts: 295
    edited 2011-03-28 04:52
    Very well done! That's quite an impressive servo modification, thanks for posting the link.
  • robomaticsrobomatics Posts: 6
    edited 2011-03-28 16:48
    With a little effort on modifying a traditional servo to a continuous rotating servo, according to the details of the Supermodified datasheet, you may take pretty good results in motion control applications.
  • robomaticsrobomatics Posts: 6
    edited 2011-03-28 16:54
    For stamp users: The I2C won't work, because the BS2px can work only as a master with the respective commands. I managed to make it work, using the USART protocol, adding of course a line driver
Sign In or Register to comment.