The other night I was researching building a balancing Segway like robot with the Lego Mindstorms NXT kit. I wanted a robot that could balance on two wheels and could move forward and backward. I also wanted the robot to recover when “pushed”.
I was familiar with Steve Hassenplug’s Legway built on the Lego RCX platform, but I wanted to tackle the challenge with the NXT. Luckily, I found Philo Hurbain’s NXTWay. I was intrigued enough to build a copy and try out the programming.
It is quite hard to get the balance right and in the end I created a very aggressive robot that I can push around and it will mostly right itself. Here is the video of the final creation.
















January 14, 2007 at 09:08
Hi Rich,
very impressive NXTWay. Me and my son, we want to give it a shot as well and I was wondering if you could share with us your NXT-G code so we get some ideas how the balancing portion needs to work.
Thanks
Marek
January 19, 2007 at 09:55
Nice!!!
January 19, 2007 at 12:47
I pretty much modified the code from Philo’s website listed above. Modify the “scale” parameter to get some of those effects.
February 4, 2007 at 04:07
hi,
your bot is very nice. i have some problem with the program from Philo. could you give me the programm for the nxt??
thanks
and sorry for my bad english, but i speak normaly german
February 4, 2007 at 19:05
Very cool what you did! I played around with the scale, but wasn’ able to do anything you did. Could you post your scale and PID values(KD, KI, KD) and potentially other params you edited?
Also: were you able to place counterweights so that your NXTway balance standing fully upright?
Any hints would be great - thanks!!!
February 5, 2007 at 07:08
i think all you did ws to sewt the light sensor value when it was at x it was vertical, when it was lesss it went forward to correct it self, when greater it went backwards to correct its self. and by adding a second sensor would prob make it easyer to backwards. but if you did programing a certian way just add a wheely bar.
March 15, 2007 at 23:34
I could only get it to balance, but not move or move and not balance. I need a second light sensor so I can rebuild it and try for both movement and balance without any non-lego sensors.
March 20, 2007 at 16:59
Hi Rich,
your NXT Segway is really a piece! Could you please get in touch with me?
March 21, 2007 at 23:42
Hey Rich,
I was wondering if you programed this using the Mindstorms software or programs listed on Philo’s website. I am trying to program it using the Mindstorms software and I can’t get it to work.
Thanks.
March 23, 2007 at 15:50
I used the program from philo’s website and modified the variables.
May 19, 2007 at 15:44
I have been trying to build this NXTway but I cannot get it to stand straight no matter how I vary the coefficients! Nor beable to move and stay balanced. Does anyone have some tips on how to go about “tuning” KP, KD, KI. Should the scaling parameters for err
May 22, 2007 at 21:50
It has been a while since I played with this one, but try to slowly change the variables. Start with one variable at a time. It took forever for mine to balance and move properly. Even after all that work it was still quite un-reliable.
June 26, 2007 at 06:21
Hello I would have there times ne question: I try for 5 weeks already mean Segway robot to programieren and to calibrate ultrasonic sensor (17-9) cm or photosensor (382-525) and I get it not, could you me perhaps times help or me one tap give. Mfg Nils would make me happy about an answer
July 10, 2007 at 14:21
Congratulations!! you robots are so cool!!
do you just have a NXT kit??
July 12, 2007 at 08:50
I have a few NXT kits and lots of other technic kits used for parts.