Aswin

Eurobricks Vassals
  • Content Count

    20
  • Joined

  • Last visited

About Aswin

Recent Profile Visitors

740 profile views
  1. @Lipko I did use linkage to model the legs myself to find optimum dimensions using lego units and existing lego parts. This was fun to do. I like the crab a lot. @BrickHat With controlled acceleration I mean that I am able to specify the maximum acceleration (both linear and angular) of the robot. Whenever I issue a move command the brick calculates how long it would take to go from the current speed (both linear and angular) to the desired speed when taking the max acceleration into account. The brick also measures the current speed of the motors and calculates their end speed given the desired move and shape of the robot. Using the difference between the two and the time needed for acceleration it calculates the desired acceleration of each of the motors. This is all done by a standard leJOS class called the Chassis, so I don't have to bother with it. (Although I wrote this class myself some time ago.) the acceleration and end speed are then issued to each of the motor drivers. The leJOS motor drivers offer excellent speed and acceleration control. As all this functionality is provided by leJOS. All I had to do for this robot is to tell the Chassis object what move to make next, like for example make an arc (with some parameters to define the arc). Everything else to get smooth moves and transitions is done by the chassis and motor drivers. As a result the program for this robot is very short. I used about 25 lines of code to implement the behavior of this robot. both the Chassis and the leJOS motor drivers are featured in articles on leJOSNews if you want to know more about them.
  2. Thanks for all the positive remarks! Regarding the questions. At first I had two IR sensors as eyes. But also these interfered with each other. I know they shouldn't but still they do at fixed intervals. The IR sensors are much harder to shut down in leJOS than the US sensors. Therefor I switched to US. Also, the range of the US sensors is much larger and therefor better suited for a robot this big. The grey pins that hold the wheels haven't slipped out a single time. There is not much strain on them. The main reason is that the robot accelerates in a controlled way to its final speed and from one move to another. Also, the four legs on each side are synchronized with a quarter phase shift between each leg. There is always a leg on the ground already when another one steps on the ground.
  3. This is Lobst3r, the walking robot that can walk in any direction. It goes forward, sideways, it can turn and even rotate on the spot. Robots that can go in any direction are called holonomic or omnidirectional robots. Most holonomic robots are made with special wheels. This robot however is a walking robot. Its legs implement Klan linkage to walk. But the real trick is in the toes of the legs. The wheel on the tip of each leg is the secret to its holonomic capabilities. This small wheel is mounted perpendicular to the direction of the leg. As a result, the leg can roll sideways without any friction whilst still having friction in the walking direction. The base of the robot is triangular, the simplest form to create a holonomic robot. On each side are 4 legs that are linked to a single medium EV3 motor. An additional NXT motor under the tail of Lobst3r powers the claws of the robot. The robot has two ultrasonic sensors that are used to detect objects in front of the robot. If it sees an object it will try to walk around it. If that doesn't work it will snap it claws in self defence, back up, rotate and walk away. The US sensors are switched on and off to prevent one sensor picking up the echo's from the other sensor. As a result the robot seems to blink with its eyes The program is written in leJOS. LeJOS offers standard code to implement holonomic robots.
  4. This is an impressive robot in every aspect! You mentioned the sloppy EV3 motors. In my experience the NXT motors are a bit less sloppy. Probably because the internal gear train is shorter.
  5. Hi, Writing a program to control a holonomic robot can be a pain. If you do not want to go down that path yourself you can consider using leJOS. It has classes to control a holonomic robot with three or more wheels. There is no limit to the maximum number of wheels so it fits a modular design very well. Using this class is really easy. You describe the robot once: what is the placement of the wheels, the wheel size, gearing etc. Then all you have to do is to instruct the robot to move: specify forward speed, direction, and rotational speed. The class then takes care of everything else, even ramping up or down and the smooth transition from one move to another. I developed this class for my holonomic robots. It even works for my holonomic walker: https://www.facebook.com/groups/legomindstorms/permalink/678340108980885/ More info about the class can be found here: https://lejosnews.wordpress.com/2015/05/12/lejos-navigation-the-chassis/
  6. Building Blu3s was relatively simple. Programming it was hard.
  7. You're right. I got the inspiration from your bass guitar; http://www.eurobricks.com/forum/index.php?showtopic=100902&view=&hl=&fromsearch=1
  8. Here is an image of the system that explains it bit. The midi file is processed by a sequencer. This sequencer sends the individual midi events real time (one by one). The BoR server program distributes the individual events over all the bricks (I call them musicians) that are connected to the system. The midi events are sent to the musicians by wifi, but BT or USB would also work. You can tell the server program which midi channel(s) should be passed on to each musician. The delay is there to delay the audible music. This gives the robot some time to react to the midi events before the music is actually played by the synthesizer. Everything is written in Java. The sequencer and synthesizer are standard java components. The server and musician are written for this purpose. If you were to build another musician you would need to make your own musician program. But then you would only need to code how to react to the events, The communication stuff is already there.
  9. @all Thanks for all the kind words Actually I plan to make a band. The software is such that I can assign different bricks to different midi channels. This means that different robots can play different instruments. I can use some help or inspiration. Do you have any pictures of your drummer?
  10. Introducing my latest robot, Blu3s Brick. Blu3s Brick is a Robot that plays along with midi music. It does not make the sounds, but its movements are in sync with the Midi music that is played by a synthesizer. It is able to play and sing along with any midi file. For those who like the technique behind it. Here is a very short explanation. Midi files do not contain sound like MP3's. instead they contain instructions for electronic instruments like synthesizers. These instructions have the form of "play note x". On my computer I have a sequencer running that sequences these instructions and sends them both to a synthesizer and this robot. The robot is programmed to react in a appropriate way to the instructions using lejos. The heart of the robot is an EV3 brick. Enjoy!
  11. @DrJB I suppose you can do this in any language, including NXT-G and it's successor. I would use Excel to calculate the constants and the inverse matrix if you need that. The constants can be used in your program. @EV3Noob The math for mechanum wheels is almost the same. WheelAngle should be the angle of the rollers, not the wheel assembly. And there is a small complication regarding angular speed. In a typical mechanum wheel setup the axis of the rollers does not go through the center of the robot as in most holonomic robots. You have to take this into account in the angular speed component.