RN1 in MSRS

Hitec robotics including ROBONOVA humanoid, HSR-8498HB servos, MR C-3024 Controllers and RoboBasic
12 postsPage 1 of 1
12 postsPage 1 of 1

RN1 in MSRS

Post by Fritzoid » Fri Sep 07, 2007 12:05 pm

Post by Fritzoid
Fri Sep 07, 2007 12:05 pm

Here's a screen shot of my simulated Robonova-1 in Microsoft Robotics Studio.

Image

The underlying physical structure is shown in this shot.

Image
Here's a screen shot of my simulated Robonova-1 in Microsoft Robotics Studio.

Image

The underlying physical structure is shown in this shot.

Image
Fritzoid offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Post by limor » Mon Sep 10, 2007 12:30 am

Post by limor
Mon Sep 10, 2007 12:30 am

Great!
Can you please upload the files?
And.. a video capture of the simulated RN1 rolling off something under influence of gravity would be cool
:lol:
Great!
Can you please upload the files?
And.. a video capture of the simulated RN1 rolling off something under influence of gravity would be cool
:lol:
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by Humanoido » Tue Sep 11, 2007 6:43 am

Post by Humanoido
Tue Sep 11, 2007 6:43 am

I would be interested in seeing the files
and learning how you accomplished this!
Fritzoid, great job!

humanoido
I would be interested in seeing the files
and learning how you accomplished this!
Fritzoid, great job!

humanoido
Humanoido offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 574
Joined: Tue Dec 05, 2006 1:00 am
Location: Deep in the Heart of Asia

Post by Fritzoid » Thu Sep 13, 2007 2:56 pm

Post by Fritzoid
Thu Sep 13, 2007 2:56 pm

I have uploaded a package for roboteers to examine and/or extend the code used to create the images above.

http://robosavvy.com/Builders/Fritzoid/RoboSim.zip

To compile and run this package you will need both Visual Studio with C# installed and a copy of Microsoft Robotics Studio (1.5) running on an appropriate machine.

MSRS is available for download at...

http://msdn2.microsoft.com/en-us/robotics/default.aspx

Further instructions can be found in the Readme file.
I have uploaded a package for roboteers to examine and/or extend the code used to create the images above.

http://robosavvy.com/Builders/Fritzoid/RoboSim.zip

To compile and run this package you will need both Visual Studio with C# installed and a copy of Microsoft Robotics Studio (1.5) running on an appropriate machine.

MSRS is available for download at...

http://msdn2.microsoft.com/en-us/robotics/default.aspx

Further instructions can be found in the Readme file.
Fritzoid offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Post by Robo1 » Thu Sep 13, 2007 3:35 pm

Post by Robo1
Thu Sep 13, 2007 3:35 pm

Hi

I like what you have done. Have you got any where with the sim yet e.g. have you got the RN to walk around. Would love to hear what you have got to say about MS Robot studio.

bren
Hi

I like what you have done. Have you got any where with the sim yet e.g. have you got the RN to walk around. Would love to hear what you have got to say about MS Robot studio.

bren
Robo1 offline
Savvy Roboteer
Savvy Roboteer
Posts: 501
Joined: Fri Jun 30, 2006 1:00 am
Location: UK - Bristol

Post by Fritzoid » Thu Sep 13, 2007 4:45 pm

Post by Fritzoid
Thu Sep 13, 2007 4:45 pm

Thanks Robo1,

I'm still in the design phase of the service(s) for the simulation. There's no manual for MSRS so you have to learn by reading the tutorials and a lot of trial and error. With any luck I'll have him moving in a week or two.

MSRS is a work in progress, particularly with respect to articulated robots. Most of the samples are written in C# which will be new to many programmers. This is bleeding-edge technology so bugs and a general lack of documentation are a definite challenge.

That being said, more and more manufacturers are getting on the MSRS bandwagon along with some universities and hobbyists. Many of the up and coming platforms are releasing videos in MSRS to promote their as yet unreleased products. It looks like the future to me!

For RN1 the simulator offers computational abilities only dreamed of with the onboard AVR. It should be a simple matter to extract velocity and momentum telemetry from the simulator which can be used to improve stability and motion control, calculating the ZMP for example.

Since Hitec has shown no indication that it will (or even can) enter this arrena it is up to us to fill in the gaps or be left by the wayside. Note, Kondo has been involved with MSRS for some time now!
Thanks Robo1,

I'm still in the design phase of the service(s) for the simulation. There's no manual for MSRS so you have to learn by reading the tutorials and a lot of trial and error. With any luck I'll have him moving in a week or two.

MSRS is a work in progress, particularly with respect to articulated robots. Most of the samples are written in C# which will be new to many programmers. This is bleeding-edge technology so bugs and a general lack of documentation are a definite challenge.

That being said, more and more manufacturers are getting on the MSRS bandwagon along with some universities and hobbyists. Many of the up and coming platforms are releasing videos in MSRS to promote their as yet unreleased products. It looks like the future to me!

For RN1 the simulator offers computational abilities only dreamed of with the onboard AVR. It should be a simple matter to extract velocity and momentum telemetry from the simulator which can be used to improve stability and motion control, calculating the ZMP for example.

Since Hitec has shown no indication that it will (or even can) enter this arrena it is up to us to fill in the gaps or be left by the wayside. Note, Kondo has been involved with MSRS for some time now!
Fritzoid offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Post by limor » Fri Sep 14, 2007 12:27 am

Post by limor
Fri Sep 14, 2007 12:27 am

The belief that C# bytecode running on a Windows doing closed-loop-control of an articulated robot is a bit challenging mentally for those who have dealt with real-time control.
But with the state of MONO project, maybe one day this bytecode can run as it is on a gumstix and actually control a real robot
:idea:
The belief that C# bytecode running on a Windows doing closed-loop-control of an articulated robot is a bit challenging mentally for those who have dealt with real-time control.
But with the state of MONO project, maybe one day this bytecode can run as it is on a gumstix and actually control a real robot
:idea:
limor offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1845
Joined: Mon Oct 11, 2004 1:00 am
Location: London, UK

Post by i-Bot » Fri Sep 14, 2007 12:26 pm

Post by i-Bot
Fri Sep 14, 2007 12:26 pm

As the first step to motion control, it may be good to emulate the Robobasic motion engine. this engine relies on setting defined angles on the servos. The angle changes are determined based on speed and PTP parmeters as well as current and desired position. The angle changes are executed according to a 3 phase timebase with 4 ms per phase. The robobasic or any other script commands simply set data input and monitor progress of the engine.

This way you will have emulation of the actual RN motion with speed and PTP.

I can document the motion engine pseudo code if you want to use it
As the first step to motion control, it may be good to emulate the Robobasic motion engine. this engine relies on setting defined angles on the servos. The angle changes are determined based on speed and PTP parmeters as well as current and desired position. The angle changes are executed according to a 3 phase timebase with 4 ms per phase. The robobasic or any other script commands simply set data input and monitor progress of the engine.

This way you will have emulation of the actual RN motion with speed and PTP.

I can document the motion engine pseudo code if you want to use it
i-Bot offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by Fritzoid » Mon Sep 17, 2007 12:56 pm

Post by Fritzoid
Mon Sep 17, 2007 12:56 pm

The belief that C# bytecode running on a Windows doing closed-loop-control of an articulated robot is a bit challenging mentally for those who have dealt with real-time control.


I'm not talking about real-time control here. The simulation can be used to refine movements and develop new ones by providing the kinematic data necessary for evaluating the stability of one move vs. another. Additionaly, it can provide the expectation values for positional (or accelerometer) feedback that might be integratable into some future onboard operating system (that we would then have to design).

As the first step to motion control, it may be good to emulate the Robobasic motion engine.


Thanks to your previous good work in disassembling and documenting the RoboBasic operating system. The basic PTP concept will certainly be maintained, however, to my mind the particulars related to the PWM control loop are not worth emulating. The underlying MSRS physics engine supports joint control using a target angle (position) and a target velocity (speed). This maps well to the type of control necessary when using the serial servo protocols. I have prototyped just such a routine in my SerialMode demo program.
The belief that C# bytecode running on a Windows doing closed-loop-control of an articulated robot is a bit challenging mentally for those who have dealt with real-time control.


I'm not talking about real-time control here. The simulation can be used to refine movements and develop new ones by providing the kinematic data necessary for evaluating the stability of one move vs. another. Additionaly, it can provide the expectation values for positional (or accelerometer) feedback that might be integratable into some future onboard operating system (that we would then have to design).

As the first step to motion control, it may be good to emulate the Robobasic motion engine.


Thanks to your previous good work in disassembling and documenting the RoboBasic operating system. The basic PTP concept will certainly be maintained, however, to my mind the particulars related to the PWM control loop are not worth emulating. The underlying MSRS physics engine supports joint control using a target angle (position) and a target velocity (speed). This maps well to the type of control necessary when using the serial servo protocols. I have prototyped just such a routine in my SerialMode demo program.
Fritzoid offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am

Post by NovaOne » Mon Sep 17, 2007 7:42 pm

Post by NovaOne
Mon Sep 17, 2007 7:42 pm

I'm very impressed with your work, how long did it take you to learn MSRS, before being able to even contemplate this task?

You must have a programming background?

How many hours to put the model together?

The simulation can be used to refine movements and develop new ones by providing the kinematic data necessary for evaluating the stability of one move vs. another. Additionally, it can provide the expectation values for positional (or accelerometer) feedback that might be integratable into some future on board operating system (that we would then have to design).


You may not have real time control in mind, in the short term, but do you agree, that in the long term there seems to be only two options to model and predict the kinematic motions and dynamic forces:
1. Physics engine on board.
2. Artificial neural network. :roll: ie Program the robot to learn how to walk from scratch. This option seems less likely to be scalable as soon?

Chris
I'm very impressed with your work, how long did it take you to learn MSRS, before being able to even contemplate this task?

You must have a programming background?

How many hours to put the model together?

The simulation can be used to refine movements and develop new ones by providing the kinematic data necessary for evaluating the stability of one move vs. another. Additionally, it can provide the expectation values for positional (or accelerometer) feedback that might be integratable into some future on board operating system (that we would then have to design).


You may not have real time control in mind, in the short term, but do you agree, that in the long term there seems to be only two options to model and predict the kinematic motions and dynamic forces:
1. Physics engine on board.
2. Artificial neural network. :roll: ie Program the robot to learn how to walk from scratch. This option seems less likely to be scalable as soon?

Chris
Last edited by NovaOne on Sun Sep 30, 2007 5:02 pm, edited 1 time in total.
NovaOne offline
Savvy Roboteer
Savvy Roboteer
Posts: 405
Joined: Thu Jul 05, 2007 7:30 am

Post by NovaOne » Mon Sep 17, 2007 9:02 pm

Post by NovaOne
Mon Sep 17, 2007 9:02 pm

:oops:
:oops:
Last edited by NovaOne on Sun Sep 30, 2007 5:07 pm, edited 1 time in total.
NovaOne offline
Savvy Roboteer
Savvy Roboteer
Posts: 405
Joined: Thu Jul 05, 2007 7:30 am

Post by Fritzoid » Tue Sep 18, 2007 11:56 am

Post by Fritzoid
Tue Sep 18, 2007 11:56 am

The 3D mesh files used to create the rendered images in this project took between 60 and 80 hours of work using the 3D graphics and animation package Blender. If you haven't already heard of Blender, it is an extremely powerful program on the level of a Maya or 3D Studio. It could be marketed for thousands of dollars a seat, but it is distributed freely on the web at
http://www.blender.org
Like Robotics Studio, Blender suffers from the lack of a good user's manual. Unlike MSRS however there is a large Blender community on the web including many excellent tutorials and a Wiki.

I've been working in Robotics Studio for a couple of months now, having to first learn C#. I knew C but had never heard of C# before last winter. I found it easy to pickup and well worth the effort to learn. A somewhat slimmed-down version of the compiler environment, called Visual Studio C# Express, is available free from Microsoft at
http://msdn2.microsoft.com/en-us/express/default.aspx
The 3D mesh files used to create the rendered images in this project took between 60 and 80 hours of work using the 3D graphics and animation package Blender. If you haven't already heard of Blender, it is an extremely powerful program on the level of a Maya or 3D Studio. It could be marketed for thousands of dollars a seat, but it is distributed freely on the web at
http://www.blender.org
Like Robotics Studio, Blender suffers from the lack of a good user's manual. Unlike MSRS however there is a large Blender community on the web including many excellent tutorials and a Wiki.

I've been working in Robotics Studio for a couple of months now, having to first learn C#. I knew C but had never heard of C# before last winter. I found it easy to pickup and well worth the effort to learn. A somewhat slimmed-down version of the compiler environment, called Visual Studio C# Express, is available free from Microsoft at
http://msdn2.microsoft.com/en-us/express/default.aspx
Fritzoid offline
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 331
Joined: Mon Dec 18, 2006 1:00 am


12 postsPage 1 of 1
12 postsPage 1 of 1