... | @@ -28,7 +28,7 @@ |
... | @@ -28,7 +28,7 @@ |
|
>## Exercise 1: Self-balancing robot with light sensor
|
|
>## Exercise 1: Self-balancing robot with light sensor
|
|
>
|
|
>
|
|
>#### Task
|
|
>#### Task
|
|
>Use the LEGO model suggested by Phillippe Hurbain, [3], and the java program from Brian Bagnall, [4] to start experiments with a self-balancing robot. Under the headline Usage Phillippe Hurbain describes under which conditions the NXTway works best. Try to follow some of his advices.
|
|
>Use the LEGO model suggested by Phillippe Hurbain, and the java program from Brian Bagnall, to start experiments with a self-balancing robot. Under the headline Usage Phillippe Hurbain describes under which conditions the NXTway works best. Try to follow some of his advices.
|
|
>
|
|
>
|
|
>#### Plan
|
|
>#### Plan
|
|
>We first mounted the light-sensor on the car as showed on the picture below. The light-sensor is placed just above the ground surface. In last week we tested the light-sensor and its readings on different surfaces and under different light settings. These findings made it easy for us to choose the circumstances for this exercise.
|
|
>We first mounted the light-sensor on the car as showed on the picture below. The light-sensor is placed just above the ground surface. In last week we tested the light-sensor and its readings on different surfaces and under different light settings. These findings made it easy for us to choose the circumstances for this exercise.
|
... | @@ -123,7 +123,7 @@ In the datalogger class we had to replace FileOutputStream with BufferedOutputSt |
... | @@ -123,7 +123,7 @@ In the datalogger class we had to replace FileOutputStream with BufferedOutputSt |
|
>
|
|
>
|
|
>
|
|
>
|
|
>#### Task
|
|
>#### Task
|
|
>The NXT Segway with rider, [7], use a color sensor to measure the position of the robot. Try that as an alternative to the light sensor. And maybe the physical structure of this robot is better that the structure in [3] and [4]. Maybe it is worth to try it.
|
|
>The NXT Segway with rider, use a color sensor to measure the position of the robot. Try that as an alternative to the light sensor. And maybe the physical structure of this robot is better that the structure the others. Maybe it is worth to try it.
|
|
>
|
|
>
|
|
>#### Plan
|
|
>#### Plan
|
|
>
|
|
>
|
... | @@ -132,7 +132,7 @@ In the datalogger class we had to replace FileOutputStream with BufferedOutputSt |
... | @@ -132,7 +132,7 @@ In the datalogger class we had to replace FileOutputStream with BufferedOutputSt |
|
>
|
|
>
|
|
> #### Results
|
|
> #### Results
|
|
>
|
|
>
|
|
>We tested the robot with the color sensor in a similar way as in exercise 1. We used the GUI to change the values while the program was running to get a more precise balancing robot. To eliminate any outside interference we did the test in a closed dark room with a white shiny surface. The program from exercise 1 was modified to use a color sensor and read the normalizedLightValue for the initial offset and the normVal. The program can be found at sejwayColor.java [??].
|
|
>We tested the robot with the color sensor in a similar way as in exercise 1. We used the GUI to change the values while the program was running to get a more precise balancing robot. To eliminate any outside interference we did the test in a closed dark room with a white shiny surface. The program from exercise 1 was modified to use a color sensor and read the normalizedLightValue for the initial offset and the normVal. The program can be found at sejwayColor.java [?].
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
|
>
|
... | @@ -198,15 +198,28 @@ The robot’s struggle to balance can be due to it’s centre of gravity. As sho |
... | @@ -198,15 +198,28 @@ The robot’s struggle to balance can be due to it’s centre of gravity. As sho |
|
> ## References
|
|
> ## References
|
|
>
|
|
>
|
|
> Video:
|
|
> Video:
|
|
> * Exercise 1: https://youtu.be/k6nARWC63OY
|
|
> * Exercise 1: www.youtube.com/watch?v=k6nARWC63OY
|
|
> * Exercise 3: https://youtu.be/w2nGPezb5xE
|
|
|
|
> * Exercise 4:
|
|
|
|
>
|
|
>
|
|
> Code:
|
|
> Code:
|
|
> * Full code from our programs can be found here: https://drive.google.com/?tab=wo&authuser=0#folders/0B2Ko0NOiIJolaDg2SllGZ2p0TGM
|
|
> * Full code from our programs can be found here: https://drive.google.com/open?id=0B4Vn_sxU595gfldGdndjajFfTndQcmlvSkR6VEN3SWdfWW5xeUdhZzJ6UTlsU29LUVFNdXc&authuser=0
|
|
>
|
|
>
|
|
> Links:
|
|
> Links:
|
|
>
|
|
>
|
|
> [1] https://gitlab.au.dk/group-22/lego/wikis/home - exercise 1 & 2, table 1
|
|
> [1] Steve Hassenplug - http://www.teamhassenplug.org/robots/legway/
|
|
|
|
>
|
|
|
|
> [2] Phillipe Hurbain - http://www.philohome.com/nxtway/nxtway.htm
|
|
|
|
>
|
|
|
|
> [3] Brian Bagnall - http://variantpress.com/books/maximum-lego-nxt/
|
|
|
|
>
|
|
|
|
> [4] Robotic Ideas & Instructions - http://robotsquare.com/2012/03/13/tutorial-segway-with-nxt-g/
|
|
|
|
>
|
|
|
|
> [5] HITechnic - http://www.hitechnic.com/blog/gyro-sensor/htway/
|
|
|
|
>
|
|
|
|
> [6] Nxt programs - http://www.nxtprograms.com/NXT2/segway/index.html
|
|
|
|
>
|
|
|
|
> [7] HiTechnic Gyro Sensor - https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NGY1044
|
|
|
|
>
|
|
|
|
> [8] The Gyro sensor - https://nxttime.wordpress.com/2013/04/19/the-gyro-sensor/
|
|
|
|
>
|
|
|
|
> [9] Gyro offset and drift - https://nxttime.wordpress.com/2010/11/03/gyro-offset-and-drift/
|
|
> |
|
> |
|
|
|
\ No newline at end of file |
|
> [2] http://www.inpharmix.com/jps/PID_Controller_For_Lego_Mindstorms_Robots.html |
|
|
|
\ No newline at end of file |
|
|