Tuesday, April 29, 2014

Week 3-4 Update

Week 3

Get all of the sensors tested to make sure they are working and test the specific ranges the sensors will return


The Magnetometer (Digital Compass)

Able to communicate with the Arduino and return accurate values of the direction it is pointing


  • 12C (serial) interface

              - 1 to 20 hz selectable update rate

  • .5 degree heading resolution
  • 1 degree repeatability
  • 2.5 degree accuracy 
Will be mounted in the front of the car and will be kept far from other electronics so that there is no electrical interference acting upon the compass

Compass module and IR distance Sensor connected to the Arduino

The IR distance sensor 

Diagram of the IR Sensor

Able to return values where 0 represented that there is nothing within range and higher numbers represented how close the distance was.


  • Range:  20 to 150 cm.
  • Analog connection
How to Add to RC Car:
The  is going to be to mount 5 IR distance sensors in five prime locations on the car so that it will be able to detect objects from all angles that it is heading. One will be mounted forward to detect things directly in front of it, two will be looking diagonally forward to detect oncoming objects from the side and two will be on the side to detect whether the RC car is riding along a wall.

Because of the limitations in the range of the IR Sensor, the car will have to be able to respond to an object after it is in a range of 1.5 meters so that will be a challenge for the group to perfect.


Now running on an Ubuntu Server with the Arduino attached via USB. The ROS server can be communicated with through SSH or TeamViewer desktop client. A program was written for the Arduino to print simulated NMEA data to its serial port for processing in a python script running on ROS. The python script to parse the data is still being written but the calculations themselves are finished.

Ross Communication between Arduino and Server

How far have we gotten with ROS

  • Began understanding the basics
  • Created simulator to move a turtle around the screen with inputted data
    • Similar to how GPS robot movements will be controlled with inputted data
  • Created ROS server and client to process inputted data
    • Running ROS on Ubuntu Server until ROS is built on RasPi
  • Much more difficult to input NMEA data directly through serial (less support than Arduino)
  • GPS receiver will be its own node
Ability to move servo with Arduino Via Ros

Xbee Tranciever Module

Data can now be passed between Arduino and ROS through serial.
Both Xbee Trancievers

  • Creates wireless serial communications between two devices
  • Useful for monitoring ROS and debugging code
  • Capable of 6 mile transmission
  • 156 kbps transmission rate

Next Tasks

  • Acquire and display GPS receiver data via ROS
  • ROS implementation on RaspPi
  • Communication between ROS (on RasPi and Arduino)
  • Vehicle moving to single, specified waypoint
  • Basic obstacle avoidance
  • Decide a path planning algorithm to pursue

No comments:

Post a Comment