Search the Community
Showing results for tags 'MINDSTORMS'.
-
I've made a new gearbox for my next car. This gearbox can either be set to a gear ratio (driving the wheels) or to a function, allowing the drive motors to power something else. In total, there are 4 forward gears, 2 reverse gears and 6 function "ports". The reverse gears weren't intentional - they happened to exist when I added the gearing for the forward gears. The gearbox consists of a turntable with an off-center gear positioned on it. This design uses two off-center gears on the same axle - an 8t and a 12t. This allows more meshing combinations. The off-center gears are driven by a 24t gear in the middle of the turntable, which is powered by the drive motors. Around the turnable, there are many axles with gears on them (12 in this design). When the turntable is rotated correctly, one of the off-center gears meshes with one of the gears on the outside, turning that axle. Some of the axles are connected with extra gears to form a transmission with different speeds; the unconnected ones will be used for functions. Here you can see the internal workings of the gearbox. These are the gear ratios (including the 3:5 gearing before the transmission): Gear 1: 1:2.5 Gear 2: 1:3 Gear 3: 1:4.167 Gear 4: 1:5 Reverse 1: 1:3 Reverse 2: 1:5 Functions 1, 3, 4 and 6: 1:7.5 Functions 2 and 5: 1:5 The gear ratios are rather close, and the reverse ratios are too high, but there is little choice in choosing gears since all of them have to mesh properly with the off-center gears on the turntable. I made all the gear ratios quite high since I'm planning to drive the vehicle with 2 EV3 Large motors, which have tons of torque. There are two inputs - this is purely because I plan to use 2 EV3 Large motors - one on each side of the gearbox. The shifting input drives the turntable with a 28:8 gear reduction - this could be increased, possibly with a worm gear. Note that it is ESSENTIAL to use a MINDSTORMS motor for shifting, since the shift positions are in strange places and not in order. This gearbox can handle plenty of torque - the gearing up before it does help. However, when under high load, the turntable can move out of place and make gears grind. This gearbox works best with minimal backlash on the shifting input. Also, some clever programming can make the turntable adjust its position a little bit depending on the amount and direction of the load, countering the forces pushing the gears apart. The gearbox is very compact for its functionality - comparable in size to a 4-speed sequential gearbox. However, it can only be used with a MINDSTORMS motor for shifting, which will make it useless for most of you guys (unless of course someone develops a version that can be controlled by a PF servo...)
-
At the moment, this is just an idea - since I have two cars currently half-build, I will finish them before doing this. Expect this sometime in October (knowing me, near the end of it ). This will be about 1:10 scale with 68.8x36ZR tyres. As with all my cars, this won't be a strict scale model - I just want the car to be recognisable, functional and fast. These are my plans: Power will come from my entire EV3 arsenal - 3 EV3 Large motors and one EV3 Medium motor. These will be connected in a very strange way. The Large motor and Medium motor (geared down 5:3) are combined with an adder. This output will go into a second differential with one Large motor on each side. Each side will then be geared up (hopefully 1:9) before going to the wheels. I haven't tested this setup - I really hope the diffs are strong enough . I might need to gear up the motors 1:3 before the diff and 1:3 after the diff, but I'd rather avoid this if I can since it would mean more sets of gears. When turning, the Large/Medium combo (representing the ICE) will have to slow down a little bit, as will the Large motor on the inside of the turn. Steering will not be motorised - my plan is for the front wheels to be able to steer freely (maybe with a rubber band to provide a little self-centering) but have a high castor angle. When the motors on each side of the diff turn at different speeds, the front wheels will steer automatically. Essentially the fastest castorbot ever! Suspension is still undecided. Depending on the layout of the drivetrain and my chosen width (the math says 26 studs - I have a choice of 25 or 27), the rear suspension may either be independent or an independent trailing-arm type. Whatever I go for, I would like something that replicates the triplex suspension in the real car. Front will be regular independent, with the wheels free to pivot. Making the ride height adjustable would be a bonus. I'm also hoping to make proper Koenigsegg doors and have some space for a cabin.
-
Hi guys, Salut tout le monde, I'de like to share here some links to The NXT Step blog where is presented the ROBOT REMIX #1 challenge, where the MINDSTORMS team challenged some of the MCP (MINDSTORMS Community Partners) to come up with creative ways to remix a given Technic set and the Home edition of the EV3 set. for ROBOT REMIX #1 the Technic set is the brand new Sea Plane, a great Technic set that happens to be in the same color scheme ;) In this first post, is explained in a bit more details what is ROBOT REMIX http://www.thenxtstep.com/2015/08/robot-remix-1.html Then this week was presented the first of 4 remix, this one from master Isogawa http://www.thenxtstep.com/2015/08/robot-remix-1-exhibit-helicopt3r.html Stay tune for the presentation of the other 3 remix in the coming weeks. : . . baz
-
- MINDSTORMS
- TECHNIC
- (and 5 more)
-
Teaser: Introduction The article describes the experience of using the Lego Mindstorms EV3 set for creating a robot prototype with software and manual control via Robot Control Meta Language (RCML). Next, we will discuss the following key points: Assembly of the robot prototype from the Lego Mindstorms EV3 set. Quick RCML installation and configuration for Windows. Robot software control based on EV3 controller. Manual control of the robot peripherals using a keyboard and a gamepad. Jumping a little ahead, I will add that for implementing control over a Lego robot via a keyboard, one will have to create a program containing only 3 lines of code. More information about it is available under the cut. Step 1 First, the Lego Mindstorms EV3 set was used for creating a prototype robot to be used for programming and manual piloting. The robot's design is similar to that of a truck chassis. Two motors installed on the frame have one common rotation axis connected to the rear wheels via a gearbox. The gearbox converts the torque by increasing the angular speed of the rear axle. The steering system is assembled on the base of a bevel gear speed reducer. Step 2 The next step is RCML preparation for working with the Lego Mindstorms EV3 set. Download the archives with executable files and library files rcml_build_1.0.6.zip and rcml_modules_build_1.0.6.zip. The following describes the quick start procedure for ensuring interaction between RCML and the Lego robot controlled by an EV3 controller. Content directory after extracting the archives Next, one has to create configuration file config.ini to be placed in the same directory. To implement control over the EV3 controller via a keyboard and a gamepad, connect modules lego_ev3, keyboard and gamepad. Listing of configuration file config.ini for RCML [robot_modules] module = lego_ev3 [control_modules] module = keyboard module = gamepad Next, the EV3 controller should be paired to the adapter. The instruction for pairing an EV3 controller to a Bluetooth adapter: The reference guide contains an example of pairing a Lego Ev3 controller to a PC running under Windows 7 operating system. Next, go to the Ev3 controller settings and select menu item "Bluetooth". You should make sure that you have set the configuration settings. “Visibility” and” Bluetooth” should be ticked. Go to "Control Panel", select "Devices and Printers", and "Bluetooth Devices". Click on the "Add device" button. A window with available Bluetooth devices will open. Select "EV3" device and click "Next". Dialog box "Connect?" will be displayed on the EV3's screen. Check as appropriate and confirm by pressing the center key. Next, the "PASSKEY" dialog will be displayed, enter digits "1234", and confirm the key phrase for pairing the devices by pressing the center key at the position with the tick image. In the pairing wizard of the device, a form for devices pairing key will appear. Enter "1234" and press "Next". A window with confirmation of successful device connection will appear. Press the "Close" key. At the PC, return to "Control Panel", select "Devices and Printers", and "Bluetooth Devices". The paired device will be displayed in the list of available devices. By double clicking, go to “EV3” connection properties. Next, go to the "Hardware" tab. By double clicking, go to the connection properties of the "Standard Serial over Bluetooth link". The COM port index specified in the properties should be used in the config.ini configuration file of the lego_ev3 module. The example shows Bluetooth connection properties of a Lego EV3 controller with the use of a standard serial port COM14. Further module configuration is limited to specifying the address of the COM port used for communication with the Lego robot in the configuration file of the lego_ev3 module. Listing of configuration file config.ini for the lego_ev3 module [connections] connection = COM14 [options] dynamic_connection = 0 Now configure the keyboard module. The module is located in the control_modules directory, then keyboard. Create configuration file config.ini next to the keyboard_module.dll file. Before creating a configuration file, specify the actions to be performed by pressing keys. The keyboard module allows using keys with a certain numeric code. The table of virtual key codes is available here. As an example, I will use the following key press events: The up/down buttons are used to rotate the rear wheels motor forward/backward. The left/right arrows turn the wheels left/right The configuration file of the keyboard module describes which axes are available for the programmer to implement interaction with the robot in the manual mode. Thus, in the example we've got two control groups - these are keyboard axes. To add a new axis, stick to the following rules of axes description. Rules for describing axes for the keyboard module. 1. In case of adding a new axis, add axis name property to section [mapped_axis] and set it equal to the value of the keyboard key in HEX format; there may be several keyboard button values for one axis. In general, an entry in the [mapped_axis] section will look as follows: axis_name = keyboard_button_value_in_HEX_format 2. You should set the maximum and the minimum values that the axis may take. To do so, add to the config.ini configuration file a section named as the name of the axis, and set the upper_value and lower_value properties for passing the values of the axis' maximum and minimum. In general, the section looks as follows: [axis_name] upper_value = the_max_axis_value lower_value = the_min_axis_value 3. Next, you should determine what value the axis will have after a previously defined button on the keyboard is pressed. The values are defined by creating a section with the name consisting of the axis name and the value of keyboard button in Hex format, separated by underscores. To set the default (not pressed) and pressed state values, unpressed_value and pressed_value are used, where the values are passed. In general, the section in this case will look as follows: [axis_name_keyboard_button_value_in_HEX_format] pressed_value = axis_value_with_pressed_button unpressed_value = axis_value_with_released_button To implement the control over the robot prototype, a configuration file of the keyboard module has been created, which includes the "go" and "rotate" axes. The "go" axis is used to indicate the direction of robot movement. When the “up arrow” button is pressed, the axis is set to 100, and when the “down arrow” button is pressed, the axis is set to -50. The rotate axis is used for setting the front wheels turn angle. When the "left arrow" button is pressed, the axis is set to -5, and when the "right arrow" button is pressed, the axis is set to 5. Listing of configuration file config.ini for the keyboard module. [mapped_axis] go = 0x26 go = 0x28 rotate = 0x25 rotate = 0x27 [go] upper_value = -100 lower_value = 100 [rotate] upper_value = -100 lower_value = 100 [go_0x26] pressed_value = 100 unpressed_value = 0 [go_0x28] pressed_value = -50 unpressed_value = 0 [rotate_0x25] pressed_value = -5 unpressed_value = 0 [rotate_0x27] pressed_value = 5 unpressed_value = 0 Next, for control implementation using a gamepad, configure the gamepad. Configuring the module includes creating configuration file config.ini next to gamepad_module.dll in the control_modules directory, followed by gamepad. Listing of configuration file config.ini for the gamepad module. [axis] Exit = 9 B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 start = 10 T1 = 11 T2 = 12 RTUD = 13 RTLR = 16 LTUD = 15 LTLR = 14 arrowsUD = 17 arrowsLR = 18 [b1] upper_value = 1 lower_value = 0 [b2] upper_value = 1 lower_value = 0 [b3] upper_value = 1 lower_value = 0 [b4] upper_value = 1 lower_value = 0 [L1] upper_value = 1 lower_value = 0 [L2] upper_value = 1 lower_value = 0 [R1] upper_value = 1 lower_value = 0 [R2] upper_value = 1 lower_value = 0 [start] upper_value = 1 lower_value = 0 [T1] upper_value = 1 lower_value = 0 [T2] upper_value = 1 lower_value = 0 [RTUD] upper_value = 0 lower_value = 65535 [RTLR] upper_value = 0 lower_value = 65535 [LTUD] upper_value = 0 lower_value = 65535 [LTLR] upper_value = 0 lower_value = 65535 [arrowsUD] upper_value = 1 lower_value = -1 [arrowsLR] upper_value = 1 lower_value = -1 Step 3 The next step is writing a program in the RCML language. At the root of the created directory, create the program file. The name and extension of the program file may be anything, however, Cyrillic characters are to be avoided. In the example, the filename is hello.rcml. For the lego_ev3 module, the robot redundancy program code looks like: @tr = robot_lego_ev3; The lego_ev3 module connection page contains description of the majority of the features supported by the controller. As a test example, a program for automatic robot drifting has been created. The algorithm of the program is as follows: function main() { @tr = robot_lego_ev3; //Reservation robot @tr->setTrackVehicle("B","C",0,0); //Installing the engine synchronization @tr->motorMoveTo("D",100,0,0); system.sleep(500); @tr->trackVehicleForward(-100); system.sleep(1000); @tr->motorMoveTo("D",50,-50,0); system.sleep(4000); @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000); } After reserving the first available robot, two motors are paired for further operation as one. After that, the robot starts drifting. Program description of robot actions makes it possible to precisely set front wheels turn angles and rear wheels rotation speed. Using this method allows achieving the results that are difficult to replicate by manual piloting from a keyboard or a gamepad. The program is compiled in the windows command line. First, navigate to the new directory with the rcml_compiler.exe and rcml_intepreter.exe executables. Then enter the following commands. The command for compiling the hello.rcml file: rcml_compiler.exe hello.rcml hello.rcml.pc The result of compilation is a new hello.rcml.pc file in the created directory. Now make sure the EV3 controller is enabled, and paired to the Bluetooth adapter. A gamepad should be connected to the PC. After that, run the program file execution command: rcml_intepreter.exe hello.rcml A video showing the robot motion program is located below this article. Step 4 The next step is controlling the robot manually, using a keyboard. The following describes the process of software pairing of robot motors to the keyboard. Keyboard can be used for controlling any motor of the robot. Within the framework of the example, control over the following mechanisms has been implemented: Front wheels turn angle, Direction of rear wheels rotation. The algorithm of the program is as follows: function main() { @tr = robot_lego_ev3; @tr->setTrackVehicle("B","C",0,0); system.hand_control(@tr,"keyboard", "straight","go", "speedMotorD","rotate"); } Then the program should be compiled and executed. The result of manual controlling a Lego robot via a keyboard is shown in the video at the bottom of the page. Step 5 In addition to the keypad module, the gamepad module is available, which makes it possible to manipulate the robot using the gamepad. For implementing control over the robot via a gamepad, one should describe at the program level what axes of the robot will be set to the values of the gamepad axes. The algorithm of the program is as follows: function main() { @tr = robot_lego_ev3; @tr->setTrackVehicle("B","C",0,0); system.hand_control(@tr,"gamepad", "straight"," RTUD", "speedMotorD"," RTLR"); } Then recompile the program and execute it. Below is the result of manual control over a Lego robot via a gamepad, and all previously connected methods: Control Lego Ev3 by using RCML The article briefly shows only certain RCML features. A more detailed description is available in the reference guide.
-
I built this over Xmas as a way to use up my yellow studded LEGO. Just forgot to release it! Powered by 16XL motors and an NXT
- 17 replies
-
- LEGO
- MINDSTORMS
-
(and 5 more)
Tagged with:
-
This is my first MOC on this site! Bear in mind that I have only been building for slightly more than 2 years and don't have a very large collection, so my builds aren't exactly Sheepo standard... The car is a 1:10 model, although I had to deviate from the scale slightly in order to fit the functionality I wanted into the car (width was increased to 25 studs for example). Here are the features (LONG list): Remote control drive with three EV3 Large motors. Top speed around 5mph. Drive goes to all four wheels via two diffs. Remote-control steering with EV3 Medium motor. Turning radius is rather large though. 8-speed automatic hybrid gearbox. Basically a 4-speed automatic and a 2-speed ratchet gearbox (inspired by Sariel) used together. A model piston engine (V6) in the front with engine capacity scaled to the real car (I measured mine at 3.77cc, real car is 3.8l). Lever in cabin with Drive/Neutral/Brake settings. Handbrake system and rear friction brakes. Full independent suspension with negative camber angle. Adjustable ride height for each wheel through tuning dials (front ones are under the hood, rear ones are hidden next to the spoiler). Adjustable castor angle for each of the front wheels (adjusted by rotating the turntables). Opening sprung doors with locks. Opening sprung front hood. Cabin with fake steering wheel (non-rotating), FOUR SEATS and a floor. Pic with doors and hood open, revealing the model engine. The red pads on the hood are rubber friction pads (from EV3 Education Expansion set) - these keep the hood closed. Close ups showing the piston engine and suspension. When the tuning screws are turned, a worm gear system rotates the arm where the shock absorbers are mounted. Adjustment range is about 2 studs. Castor is adjusted by turning the turntables - this effectively rotates the entire suspension system relative to the chassis. Beams from the chassis are placed to interfere with the rotation of the turntables - this keeps the turntables in place when not adjusted. The cabin is fitted with a full set of 4 seats, as in the real car. The occupants of the rear seat are given the rare treat of having gears from the 2-speed ratchet gearbox right next to them. When the drive setting is enabled, a driving ring allows the motors to drive the 4-speed gearbox. In neutral, the driving ring meshes with nothing, letting the car roll freely. In Handbrake, the driving ring locks the input shaft of the 4-speed gearbox to the output using a gear ratio that isn't part of the gearbox, effectively locking the shaft. This is like solving the equation 3x=x (x is the rotation speed of the shaft) - x can only be zero. Part of the drivetrain is shown here. The differential and elastic system measures the resistance on the input. The system on the bottom-left shifts gears when the resistance is too low or high. The 4-speed gearbox is a standard 5/3/1.67/1 design - the 2-speed's gear ratios fit "in between" these. Notice the towball links and lever below (remember this is an upside-down view) the gearbox. Those control the rear brakes. In Handbrake mode, the brakes are engaged. Here is a graph showing the 8 power bands (created with Microsoft Excel). The lines are cut off when the spreadsheet calculates that the motors run out of torque. This graph used data from my test runs, so the performance shown here is similar to that in real life. Top view of the rear with the body removed. The drive motors are visible, and the 16-tooth gears (used as tuning dials for the rear suspension) can be seen. This is the underside of the rear axle. When the towball link is pulled, the red rubber pad swings outwards and grips the inside of the wheel. I made the rather radical decision to leave the EV3 brick exposed at the back. I decided that covering it up would require too many parts, add too much weight and deviate from the scale. The GTR's four red rear lights are modelled with new-type 16-tooth clutch gears. Overall, I think this has been a successful build for me, cramming in far more features than any of my prior builds (in fact, I am yet to see a 1:10 supercar model with more functionality). However, some things could have been improved: It isn't a perfect scale mode. The seats are way too far forward - I had to do this to fit the monstrous powertrain inside. The rear end aesthetic requires, well, some getting used to. Rear wheels sometimes rub against the top of their fenders. Can be solved by setting the tuning to maximum ride-height. Negative camber angle is too pronounced. Steering lock is very small, and gets even smaller if castor angle is set to extremes. Gearbox tends to be rather "reluctant" to shift gear - this was the only way to stop it from constantly alternating between two gears. It isn't exactly GTR like when driven. GTRs are known for their acceleration, but the model takes ages to get up to speed. It drives more like a truck. My next build will be my Porsche competition entry - no EV3 will be involved for that, although plenty more features (did someone mention 4-wheel steering?)...
- 5 replies
-
- TECHNIC
- MINDSTORMS
- (and 4 more)
-
Hello lego fans I am teaching lego mindstorms to 8 people and have 3 NXT's and wanted to know what simple robots they could build. I am teaching a 4 week course and thinking of going through 1 sensor / week. (US, touch, color. 4th week TBD) I have only 1 hour for them to build and program the robot so it has to be an easy build but with all of the sensors. (4 people /course and 2 hours a day for a total of 8 people.) [EDIT] These kids are aged 7-12. Thanks! William "NXT45"
- 4 replies
-
- LEGO
- Mindstorms
-
(and 3 more)
Tagged with: