Results 1 to 5 of 5

Thread: SLAM for Anki Overdrive cars

  1. Lightbulb SLAM for Anki Overdrive cars

    As it's mentioned on the website : https://www.anki.com/en-gb/overdrive...racks/software , Anki Overdrive uses SLAM algorithm to get a car's position, I tried to implement my own Histogram filter for localization (assuming that I have a 2D map of the track), but I have a problem with the motion model since I cannot use odometry (getting data about wheels displacement in real time is not documented in the SDK), there is also the fact that the cars move too fast and I use one Raspberry to receive sensor data of 4 cars via BLE which causes delays.
    the sensor is an infrared camera installed in the bottom of the car which gives the position of the car on a piece of the track, but as I said, I cannot rely only on it (the sensor) to get the localization because of the speed of the car and the delays of sensor measurements.
    If you're familiar with Anki Overdrive cars or already dealt with a similar situation, I'm ready for some advice or ideas.

  2. #2

    Re: SLAM for Anki Overdrive cars

    Is there a question in there?

    BLE, or any other signal there-and-back, is unlikely to be fast enough for car movements.

  3. Re: SLAM for Anki Overdrive cars

    Hello,

    Yes, you're right this is why I am trying to implement on the Raspberry a Bayes filter to estimate the location of the car, but I don't know how to do so the update step can take into account the high speed of the car but also Bluetooth low energy latency and packets losses ...

  4. #4

    Re: SLAM for Anki Overdrive cars

    Well, if you have the old state, and you have the old speed and direction, and you have the old control inputs, you should be able to build a model that simulates forward to the current time. Each time the state is updated, re-simulate from the new baseline. Perhaps use this simulation as your "model" for an extended Kalman filter, to get a reasonable estimator that can deal with things not being exact and being predicted?
    Note that you need to multiply speed by latency, and be aware that you will never be able to react faster than that reaction time distance. If you still think you can drive well enough, go for it!

  5. Re: SLAM for Anki Overdrive cars

    thank you for your answer, but I've just started learning about robotics, I read a lot of theory but this is the first time I practice. If it's possible and if you have time, can you give me more details? more resources? I'll appreciate it.

    One of the co-founders (Mark Palatucci) mentioned "forward simulation" in a response about position: https://groups.google.com/a/anki.com...ev/S8hHz4qHFIo
    but I don't know how it works.

    To be more clear, I reformulated my question :

    I have some straight and curve pieces with numbers, they are used to build tracks (of 5 lanes) for my cars (figure 1), I can send commands to the cars using an SDK on the Raspberry (set the speed,change the lane ...), when a car is moving, a built-in downward facing camera scans the infrared markings on the track, a micro-controller inside the car decodes these markings to get the id of the position on the piece (see figure 2) and the number of the piece, then a message PM=(piece number, position id, car linear velocity) which is NOT time-stamped is sent via Bluetooth low energy to a Raspberry. The car can send these messages AT LEAST every 0.2 seconds. The problem is that the car can reach a linear velocity of 100cm/s and move quite a distance after it sends the PM message, so it will be a lag between the actual state of the car and the state contained in the received PM message.
    There is also the problem of delayed and lost packets containing PM messages because we use one Raspberry to communicate with 3 cars via Bluetooth low energy (sometimes the Raspberry keeps receiving packets from one car even if the others try to send), which makes the lag larger. So, we cannot rely only on the received PM messages to determine the real-time position of the car.


    Click image for larger version. 

Name:	JU76q.jpg 
Views:	76 
Size:	106.4 KB 
ID:	7251


    I thought about a Kalman filter to estimate the position of the car on the track in real-time, but given the fact that I don’t have the (x,y) coordinates of the car and the exact coordinates and borders of the positions on the piece, I don’t know how to apply the algorithm using only (position id, number of the piece), also, I want to know how to do so the update step can take into account the delayed and lost measurements.


    When the car leaves a piece, it sends the wheels displacements but it is not sufficient I think, I have neither the heading nor the angular velocity of the car.


    *****There is one thing that I think is very useful; if no commands are sent to the car to change the lane, the micro-controller inside it ensures that the car will keep moving on the actual lane and tries to maintain its linear velocity.


    thank you again for your time.
    Last edited by tor123; 07-22-2018 at 09:33 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Anki AI, physical robotic car racing game
    By CasperH in forum Robotics General Discussion
    Replies: 10
    Last Post: 06-18-2013, 01:56 AM
  2. Is likelihood the same as probability in SLAM?
    By c2220333 in forum Robotics General Discussion
    Replies: 5
    Last Post: 09-03-2012, 04:47 PM
  3. IMU + LIDAR SLAM approach
    By hash79 in forum ROS - Robot Operating System
    Replies: 3
    Last Post: 08-03-2011, 03:01 AM
  4. ROS, SLAM, VSLAM, stereo and PlayStation Eye
    By RobotAtlas in forum ROS - Robot Operating System
    Replies: 39
    Last Post: 11-29-2010, 02:31 AM
  5. Interesting Visual SLAM - open source
    By JonHylands in forum Software and Programming
    Replies: 3
    Last Post: 05-27-2008, 06:29 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •