Its time for a quick update on Robbie the 2 RPIs are working as expected they both run ubuntu mate now. The problem with espeak stalling was resolved by doing an update. The RPI camera works well and moving it to the 2nd RPI (R2) has increased the frame rate. The autoboot is still causing problems upstart will boot the roscore RPI but using the machine feature to launch services on the second RPI only works with a display running. Robbie's head is not fully assembled in the photo I'm still in 2 minds if I'm going to change it or just reprint it. While launching Robbie's system over three computers is a pain at the moment it has some clear advantages only the core RPI needs to be running to navigate the second runs voice and cameras. The third is for moveit and the AI. Once the boot sequence is functioning as expected, the health monitoring side of the AI will move to R2. Power distribution is becoming an issue now the new system will be one button to start the computers and automatically turn off power after the RPIs have shutdown the other systems will be switched on and off as required with MOSFETs all systems will have a switch or a fuse to disable it if required.
Sunday, 7 May 2017
The wiring on Robbie has always been a problem and a big source of unreliability, the other issue was the I2C network not being able to put the motor drivers on the motor made the wiring a mess. The L298n motor drivers were bit under powered and standard servos in some of the joint it time for a rethink. I replace the I2C network with RS485 now the drivers are on the motors and the cables use JST XH connectors which makes for cleaner wiring VNH2SP30 and the TB6612FNG dual motor driver have replaced the servo drivers and the L298n. I replace the control board in the servo and used a magnetic encoder with the TB6612FNG but used the gearing this saved a lot of work redesigning the joint. The new network is working and the joint signal stability is better that before.
Thursday, 6 April 2017
Robbie is in the midst of a big update, with the CPU pegged at 100% it left no room for further development also a slight bug would crash the whole robot. My solution was to split up the computers on Robbie He now runs a raspberry pi 3 for low level programs and the main computer runs the higher level programs. The added advantage is Robbie now uses less power and now can run for 4 hours as opposed to 20 minutes before. Previously I used a kinect in the head to do face recognition now Robbie has a RPI camera. Face recognition was never 100% I tried openface and that works better, I just have to get it to run with ROS. Getting ROS to work was difficult using Ubuntu mate 16.4 and Ros kinetic worked but the TTS never worked reliably After switching to Raspbian Jessie and compiling ROS from source it seem to work OK Compiling works better when you increase the swap file size to 1024