testing social plugins
I am testing out a few social nw plugins…
All the news that's fit to assimilate[ Home | Blogs | Events | Robots | Humans | Projects | Podcasts | About | Account ]
testing social plugins
I am testing out a few social nw plugins…
I’ve made some good progress since my last post. I’ve finally screwed down the motor driver, encoder, micro boards, and also secured the batteries and power strip.
The XBee Wireless Board was is also attached, and seems to work pretty well. However, I’ve disconnected the power for now, since it was drawing too much current. I’ve since, built another 5volt power supply for it, and will work on another in the next few days for other boards. It now contains, some extra protection, and a heatsink, and seems to work pretty good so far. See the pic…
I’m still trying to get the odometry working properly, but it should be too bad…too much a perfectionist I suppose…It has a few quirks to it, so it’s justified right now…
I’ve also added a small canopy to Max, as shown in the pictures below. This is the top of a garbage bin, and the small piece of the rim is removed. This allows the canopy to sit more or less, flush with the chassis base (Lexan). The bin will be cut down to form the lower part of the torso of Max’s body. I plan to build the an upper portion where a shoulder, arms, etc. would be, but for now, lots of work on the lower torso. Once I have the LTorso cut down, I’ll add the treaded rods, and it’ll be the frame to add the internal structure…like a skeleton.
I will be adding some sensors to this LTorso project, such as ULTRAsonic, and IR sensors, a “off-cliff” detector, and also a bump skirt, which protects and the chassis and objects in the room from damage.
Currently Mega and Max have demo code, for doing some motion control tests, open loop. But will be working adding better code. max has sensors, and I’m working on getting one of them working better…stupid wiring issue.
I will add these and other pics to the gallery. I will update again soon.
I suppose I am due for an update. I have been working on the Ultra series robots, Mega and Max. I have been updating UltraMega, aka Mega, eventhough it has been retired.
There were some wiring issues where the ISP header wasn’t making good connections, and so updating the firmware was a problem. Also, the IR Sensors were on the same connector, so this had to be fixed as well. So I made these changes to Mega.
Also, replacing the AT90S8515 with the ATMega8515 was done since AVR Studio 4 doesn’t support the older chip, and I’m using the AVR ISP MKII. Now, Mega and Max have the same code, and are able to run more or less the same.
At this time, Mega has a 2 IR sensors, and is able to do some basic obstacle avoidance routines. Another behavior that Mega has is the ability to get unstuck if it gets snagged somewhere. It seems to work pretty well. I’m fairly impressed, and it resembles seeing a child get out of some issue in its environment, and it seems as if they are learning. However, Mega is not learning, but given certain states of it’s sensors, it triggers the behavior to get unstuck. I will do some more basic stuff with Mega, then have it running around again, for demonstrations, etc.
[Later I will probably have Mega and Max in some robot team tasks.]
The progress on Max is steady. I added the XBee Interface, so now Max may be controlled remotely, via serial commands. This is mainly for telemetry purposes, such as sensor and odometry debugging. I have added some code to read the odometry encoders, and later will add the code for speed control. It’s not getting the wheel rotation fast enough, so I’m still working on the ISR code.
I have also been working with the I2C Compass and Ultrasonic Sensors with the Arduino. The Compass seems to work pretty well, as I have an actual analog compass (from my Orienteering days) to test the accuracy of the Digital Compass. I have also installed the Digital Compass in a plastic case to mount away from any magnetic/metallic objects.
The Ultrasonic sensors are impressive, as the readings are coming in real-time. I am thinking of getting a few more of these, since they work so well. I am thinking of adding the Ultrasonic sensors and the analog GP2D12 IR Sensors to the front of Max’s chassis. Experiments with the correct placement will be done, for best results. On the left and right sides, I will also place some GP2D12 sensors as well, for wall following, and other behaviors.
I have also gotten the shell for Max’s body, and it is nice and slick looking. I’m doing some tinkering to see what mounting method works best, something that’s easy for the body to either remove, or open to work on the innards of Max’s base. I also just picked up some threaded rods, to install on Max’s chassis, to add a couple of decks.
I’ll try and take some pictures and vids, so please stay tuned…lots to do…til next time.
I made some changes to Max’s Controller board. From the AVR, the External Interrupt pins are now connected to Channel A of both Wheels. Later, once the Quadrature is fixed, the Port B0, B1 will be connected to Channel B of the Encoder signals for both wheels.
As the nature of quadrature signals goes, the combination of both Channels will indicate the direction of rotation of the wheels. But that’s later…for now…I’ll cheat a bit, or just a workaround.
I added some new pics of various components and views of Max as he is currently, in the UltraMax Gallery.
Now I’ll be looking at Channel A on the scope, and coding the ISRs to count. I will give another update soon.
Odometry and Wheel issues
I’ve been working on fixing up the odometry encoders, since the signal on the scope are not optimal. There are several issues that I’m facing.
I’m experimenting with some other techniques of mounting the IR Sensors, to get the Quadrature signal. We’ll see how that goes…
I’ve also redesigned the encoder wheel for 30 counts/rev, to make it easier on the Interrupt processing, as well as maybe getting a better signal from the sensors.
Another task I’m experimenting with is using the motor drive command to set a flag for the direction. This is not as clean and pure, where the direction would be indicated by the quadrature encoder channel B on the wheel. But this maybe a workaround until I can get the quadrature working properly, and move onto other things (code, sensors, etc.).
Would like to do a better mounting for the wheel onto the motor, quite possibly a machine cut hub, as on UltraMega. I’ll experiment with this as well.
I’ve been adding some code from UltraMega, to Max, since they are similar. So soon enough, Max will be more advanced, and moving onto better tasks.
Will give updates on the progress…maybe vids of some experiments…so stay tuned!
This is a demo of the XBee connected to the atmega8 micro sending data back to the Laptop. The code is being flashed/programmed by the USB connected AVRISP MKII ISP Programmer, connected to the micro board.
All the code does is continuously send a counter value back from the micro to the Laptop. This is an example of how I would be monitoring data back from the robot, such as Odometry, various Status messages, etc.
Another capability of the Xbee/Zigbee devices is that they have their own I/O pins which may toggled to add more I/O functionality to the robot.
There’s more exciting things to come…so please stay tuned for more…
BTW: This is Pakistani music in the background…Nusrat Fateh Ali Khan – yeh jo halka halka saroor ha. Please Enjoy!
Parkour and Freerunning Robot
Gotta get training…
This is an ad, but it would be a cool robot.
Xbee with Arduino/AVR
I’ve been experimenting with the Xbee Modules, and the Arduino board, and have had good results, almost out of the box. Other than setting up the Xbee’s with the same IDs, that is about it. There is one Xbee connected to the laptop via a USB Interface Board (from Sparkfun), and the other Xbee is attached to the Arduino via the Regulator Board (also from Sparkfun).
I opened the Arduino IDE, loaded and compiled the SoftSerial code, then opened 2 serial terminals for 2 different com ports. After uploading the code, then typing in the XBee attached to the Arduino, the data can be seen on the other terminal for the PC.
So, this is mainly to get telemetry data back from the robot, and maybe later do some controls as well.
I have also connected another XBee to the robot’s controller, and sending data out the UART, but for some reason, I am not receiving any data. So I am working on this portion, troubleshooting, and checking different things. I know it is working, as I have attached a Max233 board to the RX/TX pins of the micro, and I am getting data.
There really shouldn’t be much difference with using the Arduino board, and a stand-alone AVR board/robot controller. So I will be working on this, and hopefully get it working soon. Stay tuned…
Here is a pic of the XBee boards (no arduino yet) I am using.
UltraMax: Motion Control Outside
This is UltraMax doing some motion control tasks, on the pavement, and on the sidewalk.
On the Pavement:
On the Sidewalk:
UltraMax – Motor Bench Testing
This is another vid of doing some bench testing of Max.
2012 Top 10 Robot Christmas Gift Ideas
DARPA Robotics Challenge Kick Off
2012 ASABE Robot Contest Photos
Interview with David L. Heiserman
David Anderson on Subsumption Robots
Review: Apocalyptic AI by Robert M. Geraci
Raspberry Pi Interview with Eben Upton
2012 VEX Robotics World Championship
Giant Dallas Robot Cited as Best Public Art
There's More Than One Way to Skin a Robot
Day of the Androids at Hanson Robotics