Category Archives: Sensors

Finally got GPS working on the Cubieboard

Sometimes the solution would be easy….

…damn I swapped Rx and Tx and everything went fine,
and I was so sure I connected, documented and even checked multiple times that all is as it should.

At first I thought the level shifter isn’t working, but my brand new Open Workbench Logic Sniffer showed signals, same signals before and after shifting, and was even able to autobaudrate guess my GPS defaults which is 38400.

As I 3D printed a case for the cubieboard I needed to remove the board from the robot anyway so I had the chance to look at the tiny pin headers again, oh and yes I swapped the cables for Rx and Tx there…. damn.

Move to ROS hydro supplied GSCAM

Meanwhile ROS hydro has it’s own gscam modules released, so I migrated from my own compiled module and also reconfigured the topic remapping.

 

ptzcam.launch file:

<?xml version=”1″ encoding=”utf-8″?>
<launch>
<node pkg=”gscam” type=”gscam” name=”gscamptz” cwd=”node” respawn=”true”>
<env name=”GSCAM_CONFIG” value=”v4l2src device=/dev/video0 always-copy=false ! video/x-raw-yuv,width=320,height=240,framerate=15/1 ! ffmpegcolorspace”/>
<remap from=”camera/image_raw” to=”/camera/ptz/image_raw” />
<remap from=”camera/camera_info” to=”/camera/ptz/camera_info” />
</node>
</launch>

 

Teddy Robot process monitoring

 

Devices:
pyongyang
connected
cubie
connected
arduino1
connected
arduino2
not connected
maple
connected
ROS Processes
ROS Core
running
ROS Serial
running
IMU/AHRS
running
GPS/Client
not running
fix:true
EKF Pose Odometry Fusion
running
Stereo Cameras
running
Stereo Depth Fusion
running
Streamingserver
running
OpenTLD Tracking
not running
Face/Object Recognizer
not running
Speech Recog
not running
Speech Synthesis
not running
SMACH
not running
state:menu
Web Interface
running
Peripherals:
Camera left
connected
Camera right
connected
IMU/I2C
connected
GPS/Serial
not connected
Sonar Front
not yet
dist:40
Sonar Left
not yet
dist:40
Sonar Right
not yet
dist:40
Sonar Back
not yet
dist:40
Pan Servo
not yet
pos:512
Tilt Servo
not yet
pos:512
Nose LED
not yet
color:green
Motor Controller
not connected
USB-Audio
connected
Main Audio Input
not yet
MEMS mic middle
Main Speakers
not yet
vol:50
Camera left mic
not yet
val:25
Camera right mic
not yet
val:25
MEMS mic left
not yet
val:25
MEMS mic right
not yet
val:25
MEMS mic middle
not yet
val:25
CMU front
not yet
objs:0
CMU rear
not yet
objs:0
HW Monitoring
Cubie CPU Speed
768 MHz
PyongYang CPU0 Speed
774 Mhz
PyongYang CPU1 Speed
1800 Mhz
PyongYang CPU2 Speed
774 Mhz
PyongYang CPU3 Speed
774 Mhz
PyongYang CPU0 Temp
74°C
PyongYang CPU1 Temp
70°C
PyongYang Chassis Temp
27.8°C
Maple Temp
not yet
Pan Servo Temp
not yet
Tilt Servo Temp
not yet
Pan Servo Voltage
not yet
Tilt Servo Voltage
not yet
Motor Controller Voltage 12.1V
Motor Controller Currents  0A 0A
Main Voltage 12.8V
Main Amperes  2.4A
Main Watts 30.7W
Disk Cubie
65% free
Disk PyongYang
79% free
Memory Cubie
50% free
Memory PyongYang
59% free

iBlue 747 GPS logger modding for MacOS

Have you ever had the same problem, shooting a photograph in holiday, and back home you can hardly remember where exactly you’ve been all around ?
The solution, GPS photo tagging. Unfortunately cameras with integrated GPS, are f****ing expensive, GPS PDA handhelds, mobile phones, also costs a lot of money, and GPS car navigation are not suitable for photo tagging at all.
But there is one kind of gadgets that work well as a camera accompaniment are GPS loggers.
Two of them are wide spread, the Sony GPS-CS1 and the iBlue747. I decided myself for the latter one, as its price is half of that of the Sony, further it has bluetooth realtime navigation capabilities (when peered with PDA or mobile) and higher precision support through DGPS.
?
But there was one drawback. Connecting the iBlue via USB to my Mac and get it working fails due to missing drivers for the GPS’s USB to UART serial chip-set. OK, Mac has bluetooth, iBlue has bluetooth, so just peer them together, device type “Other”, PIN “0000”, Bingo !

I got my device: /dev/tty.iBT-GPS-SPPslave-1

But then came the next hurdle, GPS information was received from the iBlue, but sending commands to setup the device’s auto-logging timing and verboseness, and the more important download of the way-points stored in the 16MB flash, failed.

After some googling I did find the final solution:

Soldering a 1kOhm resistor between the bluetooth modules RX-line and the GPS chip input, enables control of GPS chips registers via bluetooth.
?
Now it’s possible to send commands via bluetooth, and initiate a download of the stored GPS logs.
It’s also possible to reprogram the GPS chip to take up to 5 samples per second instead of 1, thus filling up your flash memory of the logger faster, resulting in less way-points to store, be careful. There’re further more dangerous things you can do, as the GPS chip offers more than 180 commands for tweaking.
?
Good enough for me, just pushing the front button when I take a picture and I’m done with a marked way-point in the loggers internal storage.

Some things I found on the net, useful when playing with the iBlue:
? iBlue-Home
? Windows-Drivers
? MacOS PHP Widget
? Java 6 Software
? BT747-Sourceforge-Project
? BT747-Project-Homepage