Towards an improved framework for YaMoR Kevin Drapel - Cyril Jaquier - - PowerPoint PPT Presentation

towards an improved framework for yamor
SMART_READER_LITE
LIVE PREVIEW

Towards an improved framework for YaMoR Kevin Drapel - Cyril Jaquier - - PowerPoint PPT Presentation

Introduction Bluemove Simulator Closing words Towards an improved framework for YaMoR Kevin Drapel - Cyril Jaquier 21 juin 2005 Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR Introduction Bluemove The YaMoR project


slide-1
SLIDE 1

Introduction Bluemove Simulator Closing words

Towards an improved framework for YaMoR

Kevin Drapel - Cyril Jaquier 21 juin 2005

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-2
SLIDE 2

Introduction Bluemove Simulator Closing words The YaMoR project

The YaMoR project

1 Bluemove

Real-time control

2 Simulator

Eve

3 Closing words

Future development Conclusion Questions

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-3
SLIDE 3

Introduction Bluemove Simulator Closing words The YaMoR project

Previous work

YaMoR is a modular robot composed of wireless modules. A module contains three boards : a Xilinx FPGA, a Zeevo Bluetooth chip and a power board. During the winter semester, we developed a Java software called Bluemove to remotely control the modules from a computer.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-4
SLIDE 4

Introduction Bluemove Simulator Closing words The YaMoR project Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-5
SLIDE 5

Introduction Bluemove Simulator Closing words The YaMoR project

Project description

We had to : Improve Bluemove and add a real-time control system with scripting Design a simulator receiving orders from Bluemove Integrate the FPGA programming project of J´ erˆ

  • me Maye

into Bluemove

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-6
SLIDE 6

Introduction Bluemove Simulator Closing words The YaMoR project

Project description

We had to : Improve Bluemove and add a real-time control system with scripting Design a simulator receiving orders from Bluemove Integrate the FPGA programming project of J´ erˆ

  • me Maye

into Bluemove

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-7
SLIDE 7

Introduction Bluemove Simulator Closing words The YaMoR project

Project description

We had to : Improve Bluemove and add a real-time control system with scripting Design a simulator receiving orders from Bluemove Integrate the FPGA programming project of J´ erˆ

  • me Maye

into Bluemove

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-8
SLIDE 8

Introduction Bluemove Simulator Closing words Real-time control

Real-time control in Bluemove

Our real-time control uses plugins which act like generators, filters,

  • modifiers. It behaves like an interactive signal processing box.

Main features : Organized in a graph with connected nodes representing the different plugins Each plugin can be fully configured, new options can be added Each plugin has its own script (BeanShell language) Plugins can receive keys events in real-time

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-9
SLIDE 9

Introduction Bluemove Simulator Closing words Real-time control

Real-time control in Bluemove

Our real-time control uses plugins which act like generators, filters,

  • modifiers. It behaves like an interactive signal processing box.

Main features : Organized in a graph with connected nodes representing the different plugins Each plugin can be fully configured, new options can be added Each plugin has its own script (BeanShell language) Plugins can receive keys events in real-time

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-10
SLIDE 10

Introduction Bluemove Simulator Closing words Real-time control

Real-time control in Bluemove

Our real-time control uses plugins which act like generators, filters,

  • modifiers. It behaves like an interactive signal processing box.

Main features : Organized in a graph with connected nodes representing the different plugins Each plugin can be fully configured, new options can be added Each plugin has its own script (BeanShell language) Plugins can receive keys events in real-time

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-11
SLIDE 11

Introduction Bluemove Simulator Closing words Real-time control

Real-time control in Bluemove

Our real-time control uses plugins which act like generators, filters,

  • modifiers. It behaves like an interactive signal processing box.

Main features : Organized in a graph with connected nodes representing the different plugins Each plugin can be fully configured, new options can be added Each plugin has its own script (BeanShell language) Plugins can receive keys events in real-time

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-12
SLIDE 12

Introduction Bluemove Simulator Closing words Real-time control

Real-time control in Bluemove

Our real-time control uses plugins which act like generators, filters,

  • modifiers. It behaves like an interactive signal processing box.

Main features : Organized in a graph with connected nodes representing the different plugins Each plugin can be fully configured, new options can be added Each plugin has its own script (BeanShell language) Plugins can receive keys events in real-time

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-13
SLIDE 13

Introduction Bluemove Simulator Closing words Real-time control

Graph layout

The user adds new plugins on a panel and connects the nodes

  • together. The values are transmitted along the links and finally

sent to the modules. Different types of plugins can be created : Inputs : generators, trajectories Filters : processors, modifiers, multiplexers, etc. Outputs : modules Constraint : no cycles allowed in the graph !

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-14
SLIDE 14

Introduction Bluemove Simulator Closing words Real-time control

Graph layout

The user adds new plugins on a panel and connects the nodes

  • together. The values are transmitted along the links and finally

sent to the modules. Different types of plugins can be created : Inputs : generators, trajectories Filters : processors, modifiers, multiplexers, etc. Outputs : modules Constraint : no cycles allowed in the graph !

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-15
SLIDE 15

Introduction Bluemove Simulator Closing words Real-time control

Graph layout

The user adds new plugins on a panel and connects the nodes

  • together. The values are transmitted along the links and finally

sent to the modules. Different types of plugins can be created : Inputs : generators, trajectories Filters : processors, modifiers, multiplexers, etc. Outputs : modules Constraint : no cycles allowed in the graph !

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-16
SLIDE 16

Introduction Bluemove Simulator Closing words Real-time control

Graph layout

The user adds new plugins on a panel and connects the nodes

  • together. The values are transmitted along the links and finally

sent to the modules. Different types of plugins can be created : Inputs : generators, trajectories Filters : processors, modifiers, multiplexers, etc. Outputs : modules Constraint : no cycles allowed in the graph !

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-17
SLIDE 17

Introduction Bluemove Simulator Closing words Real-time control

Graph layout

The user adds new plugins on a panel and connects the nodes

  • together. The values are transmitted along the links and finally

sent to the modules. Different types of plugins can be created : Inputs : generators, trajectories Filters : processors, modifiers, multiplexers, etc. Outputs : modules Constraint : no cycles allowed in the graph !

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-18
SLIDE 18

Introduction Bluemove Simulator Closing words Real-time control

BeanShell scripts

Each plugin can be fully configured and programmed using a BeanShell script. BeanShell is a subset of Java language, powerful and easy to learn. Options are limited to a set of common types Internal variables for state machines Scripts can be evaluated several times (for integration) Scripts have access to pressed keys and current frame Recently accepted by the Java Community Process as JSR-274. Will be included in the J2SE.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-19
SLIDE 19

Introduction Bluemove Simulator Closing words Real-time control

BeanShell scripts

Each plugin can be fully configured and programmed using a BeanShell script. BeanShell is a subset of Java language, powerful and easy to learn. Options are limited to a set of common types Internal variables for state machines Scripts can be evaluated several times (for integration) Scripts have access to pressed keys and current frame Recently accepted by the Java Community Process as JSR-274. Will be included in the J2SE.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-20
SLIDE 20

Introduction Bluemove Simulator Closing words Real-time control

BeanShell scripts

Each plugin can be fully configured and programmed using a BeanShell script. BeanShell is a subset of Java language, powerful and easy to learn. Options are limited to a set of common types Internal variables for state machines Scripts can be evaluated several times (for integration) Scripts have access to pressed keys and current frame Recently accepted by the Java Community Process as JSR-274. Will be included in the J2SE.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-21
SLIDE 21

Introduction Bluemove Simulator Closing words Real-time control

BeanShell scripts

Each plugin can be fully configured and programmed using a BeanShell script. BeanShell is a subset of Java language, powerful and easy to learn. Options are limited to a set of common types Internal variables for state machines Scripts can be evaluated several times (for integration) Scripts have access to pressed keys and current frame Recently accepted by the Java Community Process as JSR-274. Will be included in the J2SE.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-22
SLIDE 22

Introduction Bluemove Simulator Closing words Real-time control

BeanShell scripts

Each plugin can be fully configured and programmed using a BeanShell script. BeanShell is a subset of Java language, powerful and easy to learn. Options are limited to a set of common types Internal variables for state machines Scripts can be evaluated several times (for integration) Scripts have access to pressed keys and current frame Recently accepted by the Java Community Process as JSR-274. Will be included in the J2SE.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-23
SLIDE 23

Introduction Bluemove Simulator Closing words Real-time control

BeanShell scripts

Each plugin can be fully configured and programmed using a BeanShell script. BeanShell is a subset of Java language, powerful and easy to learn. Options are limited to a set of common types Internal variables for state machines Scripts can be evaluated several times (for integration) Scripts have access to pressed keys and current frame Recently accepted by the Java Community Process as JSR-274. Will be included in the J2SE.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-24
SLIDE 24

Introduction Bluemove Simulator Closing words Real-time control

Other features in Bluemove

We added other useful features in Bluemove : Function generator in the timelines manager For example : sin(t ∗ 2) + exp(t) Remote programming of the FPGA via Bluetooth (J´ erome Maye project) We also fixed bugs that we discovered during the inauguration and further tests.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-25
SLIDE 25

Introduction Bluemove Simulator Closing words Real-time control

Other features in Bluemove

We added other useful features in Bluemove : Function generator in the timelines manager For example : sin(t ∗ 2) + exp(t) Remote programming of the FPGA via Bluetooth (J´ erome Maye project) We also fixed bugs that we discovered during the inauguration and further tests.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-26
SLIDE 26

Introduction Bluemove Simulator Closing words Real-time control

Other features in Bluemove

We added other useful features in Bluemove : Function generator in the timelines manager For example : sin(t ∗ 2) + exp(t) Remote programming of the FPGA via Bluetooth (J´ erome Maye project) We also fixed bugs that we discovered during the inauguration and further tests.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-27
SLIDE 27

Introduction Bluemove Simulator Closing words Real-time control

Other features in Bluemove

We added other useful features in Bluemove : Function generator in the timelines manager For example : sin(t ∗ 2) + exp(t) Remote programming of the FPGA via Bluetooth (J´ erome Maye project) We also fixed bugs that we discovered during the inauguration and further tests.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-28
SLIDE 28

Introduction Bluemove Simulator Closing words Eve

Eve - The YaMoR simulator

A simulator that could receive the positions sent by Bluemove would be useful to test and validate different configurations. Main features of our simulator ”Eve” : C++ code Physics and collisions (ODE) Polyvalent and portable 3D engine (Irrlicht) Interoperation with remote calls (XML-RPC) XML files for configuration

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-29
SLIDE 29

Introduction Bluemove Simulator Closing words Eve

Eve - The YaMoR simulator

A simulator that could receive the positions sent by Bluemove would be useful to test and validate different configurations. Main features of our simulator ”Eve” : C++ code Physics and collisions (ODE) Polyvalent and portable 3D engine (Irrlicht) Interoperation with remote calls (XML-RPC) XML files for configuration

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-30
SLIDE 30

Introduction Bluemove Simulator Closing words Eve

Eve - The YaMoR simulator

A simulator that could receive the positions sent by Bluemove would be useful to test and validate different configurations. Main features of our simulator ”Eve” : C++ code Physics and collisions (ODE) Polyvalent and portable 3D engine (Irrlicht) Interoperation with remote calls (XML-RPC) XML files for configuration

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-31
SLIDE 31

Introduction Bluemove Simulator Closing words Eve

Eve - The YaMoR simulator

A simulator that could receive the positions sent by Bluemove would be useful to test and validate different configurations. Main features of our simulator ”Eve” : C++ code Physics and collisions (ODE) Polyvalent and portable 3D engine (Irrlicht) Interoperation with remote calls (XML-RPC) XML files for configuration

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-32
SLIDE 32

Introduction Bluemove Simulator Closing words Eve

Eve - The YaMoR simulator

A simulator that could receive the positions sent by Bluemove would be useful to test and validate different configurations. Main features of our simulator ”Eve” : C++ code Physics and collisions (ODE) Polyvalent and portable 3D engine (Irrlicht) Interoperation with remote calls (XML-RPC) XML files for configuration

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-33
SLIDE 33

Introduction Bluemove Simulator Closing words Eve

3D world and physics

Thanks to Irrlicht and ODE, we tried to produce something realistic. No more flat floors : Quake III levels Other objects or obstacles can be added to the scene Collisions with the world, robot physics with ODE Quake III : a good game and a good test for YaMoR (stairs, holes, bridges, etc)

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-34
SLIDE 34

Introduction Bluemove Simulator Closing words Eve

3D world and physics

Thanks to Irrlicht and ODE, we tried to produce something realistic. No more flat floors : Quake III levels Other objects or obstacles can be added to the scene Collisions with the world, robot physics with ODE Quake III : a good game and a good test for YaMoR (stairs, holes, bridges, etc)

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-35
SLIDE 35

Introduction Bluemove Simulator Closing words Eve

3D world and physics

Thanks to Irrlicht and ODE, we tried to produce something realistic. No more flat floors : Quake III levels Other objects or obstacles can be added to the scene Collisions with the world, robot physics with ODE Quake III : a good game and a good test for YaMoR (stairs, holes, bridges, etc)

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-36
SLIDE 36

Introduction Bluemove Simulator Closing words Eve

3D world and physics

Thanks to Irrlicht and ODE, we tried to produce something realistic. No more flat floors : Quake III levels Other objects or obstacles can be added to the scene Collisions with the world, robot physics with ODE Quake III : a good game and a good test for YaMoR (stairs, holes, bridges, etc)

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-37
SLIDE 37

Introduction Bluemove Simulator Closing words Eve

Communication and configuration

The simulator can run on a computer while Bluemove sends data from another station. It is also easy to change the shape of the robot by giving the name of the two modules and the sides where they are connected. Bluemove uses remote calls to communicate with Eve. Used protocol : XML-RPC == XML files encoded and sent

  • n HTTP

Robot configuration : XML with modules and connections Drawback : ping on network must be low and stable to ensure smooth motion

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-38
SLIDE 38

Introduction Bluemove Simulator Closing words Eve

Communication and configuration

The simulator can run on a computer while Bluemove sends data from another station. It is also easy to change the shape of the robot by giving the name of the two modules and the sides where they are connected. Bluemove uses remote calls to communicate with Eve. Used protocol : XML-RPC == XML files encoded and sent

  • n HTTP

Robot configuration : XML with modules and connections Drawback : ping on network must be low and stable to ensure smooth motion

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-39
SLIDE 39

Introduction Bluemove Simulator Closing words Eve

Communication and configuration

The simulator can run on a computer while Bluemove sends data from another station. It is also easy to change the shape of the robot by giving the name of the two modules and the sides where they are connected. Bluemove uses remote calls to communicate with Eve. Used protocol : XML-RPC == XML files encoded and sent

  • n HTTP

Robot configuration : XML with modules and connections Drawback : ping on network must be low and stable to ensure smooth motion

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-40
SLIDE 40

Introduction Bluemove Simulator Closing words Eve

Communication and configuration

The simulator can run on a computer while Bluemove sends data from another station. It is also easy to change the shape of the robot by giving the name of the two modules and the sides where they are connected. Bluemove uses remote calls to communicate with Eve. Used protocol : XML-RPC == XML files encoded and sent

  • n HTTP

Robot configuration : XML with modules and connections Drawback : ping on network must be low and stable to ensure smooth motion

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-41
SLIDE 41

Introduction Bluemove Simulator Closing words Eve

Video

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-42
SLIDE 42

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Future development

This first prototype clearly suffers of many problems. The 2nd generation should try to fix them. Modular robotics problem : weak velcro connectors Security problem : serial batteries Hardware problem : too many wires And of course : add sensors

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-43
SLIDE 43

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Future development

This first prototype clearly suffers of many problems. The 2nd generation should try to fix them. Modular robotics problem : weak velcro connectors Security problem : serial batteries Hardware problem : too many wires And of course : add sensors

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-44
SLIDE 44

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Future development

This first prototype clearly suffers of many problems. The 2nd generation should try to fix them. Modular robotics problem : weak velcro connectors Security problem : serial batteries Hardware problem : too many wires And of course : add sensors

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-45
SLIDE 45

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Future development

This first prototype clearly suffers of many problems. The 2nd generation should try to fix them. Modular robotics problem : weak velcro connectors Security problem : serial batteries Hardware problem : too many wires And of course : add sensors

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-46
SLIDE 46

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Conclusion

We have developed a complete framework to test and play around with YaMoR. Unfortunately, we always missed more working modules to fully test our system. Traveling modules : Yverdon, Z¨ urich, EPFL, etc. Unreliable electronics : shortcuts, CRC errors, etc. From the wireless point of view, YaMoR does a good job. However, we hope the 2nd generation will be more reliable than the first prototype.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-47
SLIDE 47

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Conclusion

We have developed a complete framework to test and play around with YaMoR. Unfortunately, we always missed more working modules to fully test our system. Traveling modules : Yverdon, Z¨ urich, EPFL, etc. Unreliable electronics : shortcuts, CRC errors, etc. From the wireless point of view, YaMoR does a good job. However, we hope the 2nd generation will be more reliable than the first prototype.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-48
SLIDE 48

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Conclusion

We have developed a complete framework to test and play around with YaMoR. Unfortunately, we always missed more working modules to fully test our system. Traveling modules : Yverdon, Z¨ urich, EPFL, etc. Unreliable electronics : shortcuts, CRC errors, etc. From the wireless point of view, YaMoR does a good job. However, we hope the 2nd generation will be more reliable than the first prototype.

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR

slide-49
SLIDE 49

Introduction Bluemove Simulator Closing words Future development Conclusion Questions

Questions ?

Kevin Drapel - Cyril Jaquier Towards an improved framework for YaMoR