PDA

View Full Version : [Project] WinRME ( Robot Motion Editor for Windows )



r3n33
08-03-2015, 10:43 PM
I'm definitely getting ahead of myself here but I'm already too excited about this new project named WinRME for the HR-OS1. Using a modified version of RME ( netRME ) on the HR-OS1 UDP packets can be sent to and from the robot you've bound to during the discovery process. This will allow for multiple robots to play nicely on the same wifi network. On the windows side of things we have a .Net application that's capable of relaying all the standard RME commands to the robot via manual entry as well as a growing list of features which make a GUI special.

Some of the current features from early development:


Easy page selection with a list that's always visible.
Quickly turn joints on and off by clicking their label in the Pose Manager.
Quickly set new values by double clicking the cell.
Easily Insert, Cut, Paste or Remove a step via contextual menu.
Drag and drop steps to re-order the page via the Pose Manager.


We are diligently working on this project when time is available. There are many plans for features but if anyone has any ideas they'd like to throw in while the development is getting started they are more than welcome. I hope to hear there will be interest in others using this application.

6118

KurtEck
08-04-2015, 08:34 AM
Nice tease! Looking Great and Promising.

Will be fun to play with once you have a version that you wish to release.

I would guess that you have already looked at some different editors out there for ideas, but in case you have missed a few, here are a few different ones I have played with:

Probably starting with the one that came with the Robonova (sitting somewhere in a box for many years now :( ). Don't remember much about it.

But mainly I used to play with the one that Lynxmotion used to sell: http://www.lynxmotion.com/p-443-lynxmotion-visual-sequencer-seq-01.aspx It worked pretty well, especially since it was used on servos without feedback. Some of the interesting things you could do was to setup a more visual setup showing where the servos are located in the robot. This was in addition to the tabular views... This program was more or less replaced with a version written in flowstone (http://www.lynxmotion.com/p-832-free-download-lynx-servo-sequencer.aspx), which I never got in to.

Then if you are someone like Kåre (Zenta), you can do it all in Excel with his PEP spreadsheet (http://www.lynxmotion.com/images/html/proj098.htm

Things of interest for someone like me who is all thumbs ;)
Things like: having some way for relationships to between servos or groups of servos to be expressed and used. Like if I want the left arm to do the same as right arm, somehow express this, such that the capture of one arm is reflected in other, taking servo directions into account. Also maybe some smart capturing/roundings, could be some form of snap to logical settable grid. Could also be comparing the different sides and either round or the like. IK? FK? ...

Again looks great and like you may be having some fun!
Kurt

r3n33
08-04-2015, 04:57 PM
Thanks Kurt!

For the initial release we are shooting for emulating all the current workings of RME plus some extras that I've yet to mention. That way there will be a baseline version available for testing and feedback as we move towards making it do new things. I like your idea of matching/inverting the movements between arms; it's something I was thinking about doing for fun on the side but it makes more sense to incorporate into this application.

So hopefully within the next week or two I'll make something available.

r3n33
08-07-2015, 04:58 PM
A quick update on WinRME..

An overview of the current state of the application. There is the "main" window pictured in the upper right corner that allows you to find your HR-OS1 on the network, select it from a list, and bind so it will accept commands from you. The RoboPose window is a multifunction tool that gives a graphical representation of each servo. And the PoseManager window represents what you'd be used to seeing with RME in a terminal but with some new features.

6122

Some new features of the PoseManager are the ability to save and load "poses" on your local machine. Any pose loaded from the robot that is not in the list will automatically be added to the pose manager so it can be saved later. This is all in hopes that it will make sharing custom poses easier. You can select what Pose you are viewing/editing from the drop down menu in the upper right corner. Just as well as the main window if you query the robot for it's saved data.

6121

The RoboPose window is all new and by default automatically queries the robot for the servo information and generates a linear but customizable view of each servo, it's current position, id, and label. Customized layouts can easily be created by clicking the edit page and dragging the servos into the desired position. You then have the ability to save and load or even share these layouts. The servo icons are interactive meaning you can click and drag them to change the setpoint value or for fine control you can mouse over and use your scroll wheel to adjust the setpoint up or down.

A neat feature of RoboPose is the ability to mirror joints. When this option is selected if a setpoint for a left servo is changed the right side will mirror the same position. Just the same when you change a right servo the left servo moves into a mirrored position. This is extremely fun with the arms but also makes standing up with only using my scroll wheel super easy.

6123

One last thing to mention is safety limits. By right clicking any of the servo icons you can not only adjust the displayed label but set a minimum and maximum position to help limit chances of a collision. These limits are also saved and loaded with the customized RoboPose layout.

6124

There are still more features planned but the software is coming along smoothly and I'm already finding new ways to have fun with my robot. Stay tuned!

jwatte
08-07-2015, 07:13 PM
That's funny; I'm building a very similar system right now in C# to build poses for my customized Darwin Mini. (I didn't get along with RoboPlus 2 after I modified the leg structure)
It's interesting to see how similar requirements end up with similar solutions :-)

r3n33
08-10-2015, 04:34 PM
I'd be interested to see what you come up with. WinRME is C# WPF and... has a new servo "linking" feature that I'll post about as soon as the final touches are complete. Basically it allows you to select two or more servos and create a "link" that appears as a servo icon in in the RobotPose window. You can specify an offset, inversion, and create an exponential curve (visually, without math) for each servo in the link to manipulate how the link value is applied to each servo. That allows for one value to possibly change.. all the arm joints at once in different ways.. or the arms plus hips and ankles to do a little dance. I can already see this feature being a lot of fun.

r3n33
08-18-2015, 05:14 PM
Still making progress on WinRME.

The linking feature works quite well by allowing you to select what servos you'd like included in the link, each servo's offset in the link, the curve the servo's value follows in the link, and if the servo's output should be reversed/mirrored.

6132

And most recently a 3D visualizer was added with all the joints mimicking the robot! Watch out RViz.. just kidding.

6133

*Warning. Do not attempt to make your HR-OS1 fly :p

6134

More to come.

KurtEck
08-18-2015, 05:40 PM
Looking great. I like your RVIZ!

I could not tell from your description if when you are saying servo angle and offset, are you saying you have the length of each segment (coxa femur tibia...). If so are you then using it to generate the FK for different parts of the robot? That is great.

Kurt

r3n33
08-19-2015, 03:18 PM
Thanks Kurt :) I'll pass the message along to Eric who has been coding the 3D rendering for days now. It's working amazingly well and is fun to see the rendered robot mimic the movements of the real thing and vice versa.

Sorry for the misunderstanding. No kinematics are being performed in this software. When I say offset I'm talking about the difference between the servo's position value ( 0-1023 ) and the value of the link containing the servo. Now that I'm thinking about it, that gets negated by the output curve, currently kinda mislabeled as "scale" in the LinkOptions window. The offset was introduced early on and now it's not likely needed with the more recent output curve editor. Anyway I'm just about to start thinking out loud. Hah.

It's all in the works right now. Things are coming and going and getting better definition as the project grows.

6135

r3n33
09-03-2015, 07:39 PM
After much development and testing I'd like to present the first public beta of WinRME. While it currently doesn't replace 100% of functionality found in rme there are enough features implemented to (hopefully) find this application useful. At the same time feedback and ideas are more than welcome during this period of development.

Things to note:


WinRME does not require a connection to an HR-OS1 to visualize, create, edit poses so feel free to explore the program before controlling your robot.
Establishing a connection to your HR-OS1 will require netrme to be running on the robot. You can download netrme from my github: https://github.com/r3n33/HROS1-Framework/tree/netrme
Compile netrme with the make command as you would the other programs within the framework. Execute with ./netrme or see the extras directory for an Intel Edison startup service to handle automatic execution of netrme.
If you should run into a major problem please note the steps required to reproduce the issue and if things go horribly wrong please send the bug report provided by WinRME at the time of the error.

Tips:


On first load the RoboPose window will look pretty square and I recommend using the File menu to open the provided HR-OS1 Servo Layout.
Some new poses are provided in the Chair Poses file.
Explore. Try right clicking. There are lots of details to discover.
Use your mouse wheel when hovered over a servo's icon in the RoboPose window for fine position control.
Double click a servo's icon in the RoboPose window to set it's position to 512 (centered).
Poses/Pages can be played, saved, duplicated, modified, and imported via the PoseAnimator window.


And finally.. the download link:
http://labrats.io/download.php?file=WinRME

wiweet
09-04-2015, 08:30 AM
Awesome!!!

We only need to download a small size archive, extract it and its ready to run,and best of all it has a smooth animation.

Thank You r3n33

r3n33
09-05-2015, 12:22 AM
Thank you for downloading wiweet. I hope you find it useful. :veryhappy:

vehemens
09-05-2015, 06:01 AM
After much development and testing I'd like to present the first public beta of WinRME. While it currently doesn't replace 100% of functionality found in rme there are enough features implemented to (hopefully) find this application useful. At the same time feedback and ideas are more than welcome during this period of development.

...

And finally.. the download link:
http://labrats.io/download.php?file=WinRME

Where would one find the WinRME source code?

r3n33
09-05-2015, 10:05 PM
Minor bug fix applied and a check for updates menu option now exists. It doesn't auto update but rather checks the version and provides the link so you can download an updated copy manually.


Where would one find the WinRME source code?

Good question.. currently this is a personal project and the source is going to be kept private until I'm ready to move on to something new. There are still some big updates in planning/active development.

LloydF
09-25-2015, 08:26 AM
Beta, Beta tester here. :cool: Love what you have done and you're HROS1-expermintal, made on/with this program. It only had compiling errors for me in the extra head code. The get up routines were a nice addition, i'll keep in my library.
Thank you Very Much.

guoshihui
10-28-2015, 01:28 AM
Thanks for this. Bug comes...

To reproduce the bug, we select the PoseAnimator (HROS1 is not connected), click the *scale values* button, when the window pops up, click cancel. Then you got this image:
6224

The error log is the following:


MESSAGE:
Object reference not set to an instance of an object.


STACKTRACE:
at WinRME.Windows.PoseAnimator.<MenuItem_Click>d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilder Core.<ThrowAsync>b__0(Object state)
at System.Windows.Threading.ExceptionWrapper.Internal RealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCat chWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)


INNER EXCEPTION:




Data:
System.Collections.ListDictionaryInternal


HelpLink:


TargetSite:
Void MoveNext()




I am now connecting the robot and will give more feedback later

guoshihui
10-28-2015, 03:23 AM
Hi r3n33,

I am not sure if I did it correct, but WinRME can't find my HROS1. My steps are:
- download the repository, and transfer the folder of netrme to HROS1
- make
- run *sudo ./netrme*. The console shows the message "Setting robot's name to HR-OS1_CHAP", and keep alive
- Open the WinRME.exe, click *find*

Then no magic happens..did I miss anything? I am running RP2, and only transfer the folder of netrme, are these two factors causing the problem?

Shihui

tician
10-28-2015, 08:18 AM
You have to transfer the entire repository to the HROS-1 and perform the netrme build locally on the system actually inside the HROS-1. Once the build is complete, you do not move anything before starting netrme.

r3n33
10-28-2015, 09:56 AM
Thanks for this. Bug comes...

To reproduce the bug, we select the PoseAnimator (HROS1 is not connected), click the *scale values* button, when the window pops up, click cancel.
[/CODE]


This is a legitimate bug. The scale values button was very recently added for use with MX servos and doesn't apply to the HR-OS1. Some recent changes were made to allow use on both the HROS1 or HROS5 and that button was one of them. Likely that button will be hidden from users when the application is in HR-OS1 mode.



I am not sure if I did it correct, but WinRME can't find my HROS1. My steps are:
- download the repository, and transfer the folder of netrme to HROS1
- make
- run *sudo ./netrme*. The console shows the message "Setting robot's name to HR-OS1_CHAP", and keep alive
- Open the WinRME.exe, click *find*

Then no magic happens..did I miss anything? I am running RP2, and only transfer the folder of netrme, are these two factors causing the problem?


What you did sounds reasonable. Granted I haven't tested on a RPi2 yet it should work with the addition of sudo like you found. The fact that you are getting the message "Setting robot's name to HR-OS1_CHAP" makes me think the application compiled without problems. I'm not sure about "keep alive".. is that something in the program's output or just the fact that the application is left running on the robot?

If both the robot's application (netrme) and the windows application (WinRME) are both able to execute they should be able to communicate over the network using UDP packets. There is a chance of a firewall (hardware or software) blocking communication. The network ports required for these applications are:

UDP 4240
UDP 4242
UDP 4243

I hope this helps but in the event you are still having trouble I'll see what I can do to get a RPi2 setup and tested to see if there are any unexpected inconsistencies.


You have to transfer the entire repository to the HROS-1 and perform the netrme build locally on the system actually inside the HROS-1. Once the build is complete, you do not move anything before starting netrme.

This is also correct. Perhaps I misunderstood. You would need to download the entire HROS1-Framework on the robot (or copy the netrme folder to your HROS1-Framework/Linux/projects/ folder and compile and run from there. The robot's application, netrme, is dependent on several components of the framework as it's a spin-off of the original rme program.

guoshihui
10-29-2015, 02:52 AM
copy the netrme folder to your HROS1-Framework/Linux/projects/ folder and compile and run from there


Hi r3n33,

The above is what I did.

Your suggestion about the UDP ports remind me one thing, how WinRME knows the IP address of my HROS1? In putty, I entered the IP address and logged in, so I can use the rme and netrme. But in WinRME, I just clicked the exe, and there is no where to enter the IP address?

Shihui

r3n33
10-29-2015, 02:15 PM
Oh yes. Because I'm using UDP I take advantage of the ability to send a broadcast packet which sends from WinRME to address 255.255.255.255 port 4240. Anyone listening on the same network and port number (netrme on the robot) will respond with their name and IP address. When this happens successfully you'll see the robot's name listed in WinRME and can click the Bind button to establish a connection.

Unfortunately there is something with your network hardware or computer's software that is preventing this from happening successfully. I've added myself a note to investigate adding the ability to connect by entering the IP address to bypass the robot discovery process.

guoshihui
10-30-2015, 06:47 AM
Oh yes. Because I'm using UDP I take advantage of the ability to send a broadcast packet which sends from WinRME to address 255.255.255.255 port 4240. .

Okay, then things get a bit interesting.

When I check the ports in use on Windows via the command line, it shows that port 4243 is in use, but no 4240 or 4242
6234

But when I check from pi, I found that port 4240 and 4242 are listening, but no 4243.
6233

The firewall on Windows allows the outbound on all ports.

Anything I missed? Thanks. Shihui

r3n33
10-30-2015, 10:07 AM
I don't think you've missed anything but there are still some unknowns. It could very well be something with the network hardware/router.

There is now an updated version of WinRME available for download which has a new connection method added. If you update your copy and check the File menu there is a new option to connect by IP address.

We tested this new feature on a robot here this morning and I'm hopeful it will allow you to make a connection :)

KurtEck
10-30-2015, 12:40 PM
I thought I would download and check it out again. :D

I did a git pull in my clone of your project to make sure I had the updated netrme code and built it and ran it.

[email protected]:~/HROS1-framework-r3n33/Linux/project/netrme$ ./netrme
Setting robot's name to: HR-OS1_CHAP
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: DISCOVER
netrme: UDP Control Packet Received: BIND
netrme: Setting TorqueAllServos to 1

I probably should mention I am running this on Odroid C1...

I downloaded the latest winrme that you posted about today. I accepted it after McAfee complained that it may contain a virus... I then extracted and ran it.

Note: on my machine I get another warning:
6235
Which I then said accept on my local network... As you can see from the messages above the find was able to find the robot :D

FYI - I then clicked on Tools/Robopose ... And got an error message:
6236

File contained:

MESSAGE:
Object reference not set to an instance of an object.

STACKTRACE:
at WinRME.Controls.LinkKnob.PropertyChanged(String propertyName)
at WinRME.Controls.LinkKnob.set_JOINT_MAX(Int32 value)
at WinRME.Controls.LinkKnob..ctor()
at WinRME.Windows.RoboPose.LoadFile(String filename)
at WinRME.Windows.RoboPose..ctor(UDPClass incomingudp)
at WinRME.MainWindow.<MenuItem_Click>d__33.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilder Core.<>c__DisplayClass2.<ThrowAsync>b__3(Object state)
at System.Windows.Threading.ExceptionWrapper.Internal RealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatch When(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

INNER EXCEPTION:


Data:
System.Collections.ListDictionaryInternal

HelpLink:

TargetSite:
Void PropertyChanged(System.String)


Saying continue, does not bring up anything, the pose Visualizer and Pose Animator do come up.

Now back to my normal unscheduled stuff :D

r3n33
10-30-2015, 01:31 PM
Thanks Kurt! It's now fixed and the new version is online.

Good to know the discover and bind process worked but strange McAfee gave a warning. Do you have more information about it's complaint? My first thought is it detected the file was new, opening, and contained an executable but I don't have much to go from :happy:

KurtEck
10-30-2015, 07:03 PM
Thanks Renee,

I downloaded and yep can now run that part. Thanks again!

Not sure what you can do a McAfee complaining...
6242

OldBotBuilder
11-03-2015, 11:34 AM
I am new to the github repository - Framework build - Linux environment.

I have built my HROS1 Framework with both the master and dev branches. It's with the dev branch now. PS3 works and my 'bot almost walks without falling. Needs more tuning.

I wish to add the WinRME application but I don't know what steps to take to build the netrme onto my existing HROS1-Framework/Linux/project build.

Can you provide a step-by-step procedure?

Thank you for all the help I have gotten from you all.

r3n33
11-03-2015, 03:40 PM
I am new to the github repository - Framework build - Linux environment.

I have built my HROS1 Framework with both the master and dev branches. It's with the dev branch now. PS3 works and my 'bot almost walks without falling. Needs more tuning.

I wish to add the WinRME application but I don't know what steps to take to build the netrme onto my existing HROS1-Framework/Linux/project build.

Can you provide a step-by-step procedure?

Thank you for all the help I have gotten from you all.

In the near future netrme will likely be included with the framework but for now what you'll need to do is download netrme on your robot. I'll try to make it easier and give you two options here.

1: You can download the attached zip file: 6257 and copy this to your robot. The best place to copy the file is the HROS1-Framework/Linux/project/ folder. Extract the contents.. I believe you can run
unzip netrme.zip

2: You can download the netrme branch of my forked copy of the repository. Here are the commands I'd use to create a temp directory, clone the framework with the netrme branch, copy the directory to your framework, and remove the temporary files:


cd ~
mkdir temp_framework_dir
cd ~/temp_framework_dir
git clone https://github.com/r3n33/HROS1-Framework.git -b netrme
cd ~/temp_framework_dir/HROS1-Framework/Linux/project/
cp -r netrme ~/HROS1-Framework/Linux/project
cd ~
rm -r temp_framework_dir


Now hopefully you have the netrme directory copied into your framework and are ready to compile then execute.



cd ~/HROS1-Framework/Linux/project/netrme
make
./netrme (OR) sudo ./netrme

OldBotBuilder
11-03-2015, 04:29 PM
r3n33,

All worked well. Now I have more tools to work with.

Again, thank you.

r3n33
11-03-2015, 05:30 PM
You're welcome. I'm glad I could help :)

LloydF
11-03-2015, 07:14 PM
WoW, Holy. Cow.:o I was just playing with (netrme and winrme) and it runs so well, with my new chair I printed thanks to you.
You do such good work ,you need a hip, hip woot! (any chance of getting a version with the Jimmy Head, Hay xmas is coming LOL,
I fell like you should get flowers and candy and a day at the spa or something).

LloydF
11-04-2015, 01:44 PM
Just a note. I noted a read error when you launch the RoBoPose A file read error box comes up. After which if you select ok everything seems to run fine. (I am running on a rpi2-rt kernel)

r3n33
11-05-2015, 12:50 AM
Just a note. I noted a read error when you launch the RoBoPose A file read error box comes up. After which if you select ok everything seems to run fine. (I am running on a rpi2-rt kernel)

I think Kurt mentioned this issue just the other day and an update was released. Have to checked to see if you are running the latest version? It was 5 days ago ( post 25 ).

guoshihui
11-05-2015, 03:07 AM
Sorry for the late reply, I am trying printing out some armors for my Jimmy.

Yes, winRME is working for me now.

Note to others when first-time trying winRME, WINDOWS will ask for your permission to allow winRME through the FireWall. You need to tick the *PUBLIC* profile as well, in addition to the default choice of *PRIVATE*. This stops me from connecting to Jimmy properly. Or you need to go to the firewall setting to allow winRME to connect.

Another thing is that you need to make sure the ports (4240, 4242, 4243) are open in the firewall settings.

Shihui

r3n33
11-05-2015, 01:47 PM
WoW, Holy. Cow.:o I was just playing with (netrme and winrme) and it runs so well, with my new chair I printed thanks to you.
You do such good work ,you need a hip, hip woot! (any chance of getting a version with the Jimmy Head, Hay xmas is coming LOL,
I fell like you should get flowers and candy and a day at the spa or something).

I'm glad you like it and the chair worked out so well! Did you see some custom poses for sitting in the chair are included with WinRME?

You know, as long as the origin point of the models match you can replace the 3D file (obj) for the head and it shouldn't require any extra programming. Candy might work to get me motivated since it's an important programming tool ;) but something like a day at a science center is more my style :)


Sorry for the late reply, I am trying printing out some armors for my Jimmy.

Yes, winRME is working for me now.

Note to others when first-time trying winRME, WINDOWS will ask for your permission to allow winRME through the FireWall. You need to tick the *PUBLIC* profile as well, in addition to the default choice of *PRIVATE*. This stops me from connecting to Jimmy properly.

Shihui

Hooray! Thank you for the note. It is good to have that information out there and would be even better in some documentation. Oh time, where do you go?

LloydF
11-05-2015, 03:46 PM
Yes I Loaded the custom chair poses, there cool. Then Load the poses off the robot and this is just a nice tool. It does get lost in wonderland now and then but, get current position seems too straiten it all out :veryhappy:, Thank you again.

LloydF
11-08-2015, 08:45 AM
Ya know with very little change this could be a Windows Remote for the HROS1, just saying.:robotsurprised:

LloydF
11-09-2015, 09:19 PM
Just got a update to version 1.0.1318 and that error box is gone and all the tools Launch without errors. Yea! :veryhappy:
Note. (I really love your walking gate, this is my first robot to actually walk on carpet, good job thanks. Well does fall, but can get up now, woot!. I am on windows 10 if that helps)

guoshihui
11-19-2015, 07:26 PM
Hi r3n33,

We are building an app similar to WinRME, and wish to use the netRME as the communication tool. Could you tell me a bit more about the difference between the port 4242 and 4240, one is for sending data and the other is about sending control. I understand that the data is the motion page, but what exactly is the *control*?

Thanks

Shihui

r3n33
11-21-2015, 05:53 PM
4240 is the port used for finding robots running the application
4242 is the port used to send commands to the robot

LloydF
11-22-2015, 07:52 AM
That File Read error is back again when you Launch the RoboePose tool. It was fixed it version 1.0.131.8 Everything still works, just thought you should know.(I am on a windows 10 system)

LloydF
11-22-2015, 10:41 AM
Ha my bad. If you save you're layout the error goes away. Yea!!:happy:

LloydF
11-27-2015, 09:04 PM
Yikes, ok this last update just crashes when you launch the robopose tool, ill wait a bit before i download it again. 1.0336 is the last version I have that works. It had that error box but did not crash and you could save your layout and all was fine.

LloydF
11-30-2015, 06:48 AM
Yea and it's fixed again, yea!:cool: v1.0.1342 is works good.

r3n33
11-30-2015, 12:03 PM
Yea and it's fixed again, yea!:cool: v1.0.1342 is works good.

That's great to hear. The fix was applied last night and sorry for the delay. With the holidays here, my ROS work, plus Fallout 4 getting released I've been a bit distracted.

OldBotBuilder
12-28-2015, 01:28 PM
Renee,

I have broken my WinRME.
I 'updated' my laptop to Windows 10 but the WiFi connection was unreliable. I switched back to Windows 7, now most of my applications work. When I clicked to start WinRME nothing happened. I assumed it was another conversion issue so I deleted all WinRME files and folders. I then from the link: http://labrats.io/download.php?file=WinRME I downloaded and extracted the folders and files. When I click on the WinRME .exe file icon and choose 'run' from the Open File - Security Warning window, nothing happens. Any ideas?

r3n33
12-28-2015, 02:00 PM
Renee,

I have broken my WinRME.
I 'updated' my laptop to Windows 10 but the WiFi connection was unreliable. I switched back to Windows 7, now most of my applications work. When I clicked to start WinRME nothing happened. I assumed it was another conversion issue so I deleted all WinRME files and folders. I then from the link: http://labrats.io/download.php?file=WinRME I downloaded and extracted the folders and files. When I click on the WinRME .exe file icon and choose 'run' from the Open File - Security Warning window, nothing happens. Any ideas?

Okay.. let's see if we can figure out what is wrong. When switching back to Windows 7 you may have used a restore disk? It's possible you do not have .NET installed. This might be a good first step towards figuring out why the application will not load. I'm pretty sure Windows Update will offer to install .NET Framework but you can also invoke installation manually: https://www.microsoft.com/en-us/download/details.aspx?id=30653 Will you please try to install/verify installation of .NET 4.5 on your system?

OldBotBuilder
12-28-2015, 04:17 PM
I jumped through many Microsoft hoops to finely download Microsoft .NET 4.5.2. WinRME still will not run.

OldBotBuilder
12-30-2015, 01:04 PM
My WinRME problems were not caused by WinRME. They were all caused by Microsoft's very poor implementation of the Windows 10 free update and the assurance that you could easily go back to Windows 7.
W10 didn't work for me because of WiFi connection problems. Others have had this same problem as reported in various forums.
When I went back to W7 several of my applications no longer worked. One program would not update due to corrupted registry keys.
When WinRME didn't work, Renee suggested I reload .NET 4.5.2. I did that but WinRME still would not load. I tried several other programs and found others that would not work. After searching Google and trying out many "solutions" with no joy, I finally bit the bullet and did a full System Restore. I finally got W7 back but lost all my programs and personal data. I had made a backup but not with any tools, just copied files and folders to a zip drive. I am now in the process of restoring the other programs and data. The first ones I did was 'putty' and WinRME. Now WinRME works!

The reason I posted this long winded reply was to offer others that have gone from Windows 7 to Windows 10 and back, a heads up on what could be their fate.

Also to, once again, thank Renee for a great addition to the HROS1 tool set.

KurtEck
12-30-2015, 01:41 PM
Sound painful!

So far I have upgraded two different machines. One from Windows 7 and the other from Windows 8.1 (and installed a third copy under Parallels on a Mac). So far (several months) no major problems.

The biggest problem I had/have was Putty was not launching properly with my different configurations (i.e. it just always opened the default open dialog). My work around for this was to install Kitty instead. I have not updated my portable yet as my usage of it has been replaced by the Mac, but may do so at some point soon. By chance did you try the fixes shown in: http://www.redmondpie.com/fix-no-wi-fi-available-after-windows-10-upgrade-issue-heres-how/


Hopefully the rest of your stuff restores for you...

I also 2nd thanking Renee!

drachels
12-30-2015, 03:22 PM
I've done three Windows 10 upgrades since it came out. My main computer went from 7 to 10 with no problems. I have two, one Intel and one iView, computers-on-a-stick that came with Windows 8.1 and both of them had the wifi problem after the upgrade to 10. The fix linked to in Kurt's message is the same one that I found back then, and used to fix both computers. I have the same deal with Putty opening with the default open dialog, so I think I'll try Kitty. Thanks Kurt.

LloydF
12-31-2015, 07:03 PM
The pose animator will not load any longer?MESSAGE:
Object reference not set to an instance of an object.

STACKTRACE:
at WinRME.Classes.HROSBody.PopulateModel()
at WinRME.Windows.PoseVisualizer.<LoadData>b__10_0()
at WinRME.Classes.HROSBody.<LoadModels>b__68_1(Object , RunWorkerCompletedEventArgs )
at System.ComponentModel.BackgroundWorker.OnRunWorker Completed(RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.AsyncOperat ionCompleted(Object arg)
at System.Windows.Threading.ExceptionWrapper.Internal RealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatch When(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

INNER EXCEPTION:


Data:
System.Collections.ListDictionaryInternal

HelpLink:

TargetSite:
Void PopulateModel()


is the error I am getting.

r3n33
01-01-2016, 11:48 AM
My WinRME problems were not caused by WinRME. They were all caused by Microsoft's very poor implementation of the Windows 10 free update and the assurance that you could easily go back to Windows 7.


I'm glad you were able to solve the problem but sorry to hear about your Microsoft woes.


The pose animator will not load any longer?

There is actually nothing wrong with WinRME in this situation. Outside of not displaying an clearer error message of course. This means it could not load the models required to display the visualizer. Also noticing there are no line numbers in the error message which means you are missing the .pdb file. My guess is you've not extracted the complete archive provided from the website.

Also a new version was posted this morning that clearly tells you which file is missing in place of the cryptic error message.

Oh and also also.. there is a checkbox in the lower left of the error messages in WinRME that will send the necessary debug information required to provide a fix or update. You can even type a message to be sent with your debug information to describe what you were doing or trying to do that caused the problem. It's up to you of course.. posting here is just fine too.

LloydF
01-01-2016, 01:47 PM
Yep. A manual download was all it took, V1351 is good to go . :cool:

OldBotBuilder
01-03-2016, 01:20 PM
Is it possible to export WinRME poses to /project/rme?
Do you have any hints on how to use node_server? I want to control Oscar from an additional controller (EZ Robots EZ-B4)
BTW - After you quit WinRMe, the Putty session is hung up and you can't exit ./netrme to path to other projects.

r3n33
01-04-2016, 05:11 PM
Yep. A manual download was all it took, V1351 is good to go . :cool:

Wonderful!


Is it possible to export WinRME poses to /project/rme?
Do you have any hints on how to use node_server? I want to control Oscar from an additional controller (EZ Robots EZ-B4)
BTW - After you quit WinRMe, the Putty session is hung up and you can't exit ./netrme to path to other projects.

1. Yes. From WinRME open the PoseAnimator in the Tools menu. From the PoseAnimator open Pages menu and select Transfer Pages. Now from the TransferPages window you can copy WinRME pages to the robot's motion file.
2. No. Sorry. I haven't yet tested node_server.
3. I'll have to look into the behavior you are describing. Will Ctrl+c not shutdown the netrme application?

OldBotBuilder
01-05-2016, 12:44 PM
I was able to transfer all the Chair, Get Up, and original poses to a file 'Combined-Poses-numbered.pagelist.
How do I get those poses/pages into ./rme?

Ctrl+c does shutdown onetime properly. Thank you.

BTW - I have Eclipse working so I can list and edit all the C++ files in the Framework.

r3n33
01-06-2016, 11:19 AM
I was able to transfer all the Chair, Get Up, and original poses to a file 'Combined-Poses-numbered.pagelist.
How do I get those poses/pages into ./rme?



From WinRME open the PoseAnimator in the Tools menu. From the PoseAnimator open Pages menu and select Transfer Pages. Now from the TransferPages window you can copy WinRME pages to the robot's motion file.

To elaborate.

rme uses the binary file /HROS1-Framework/Data/motion_4096.bin as it's motion file. This is where your poses are saved.

The transferred pages via WinRME are automatically saved in the motion_4096.bin file for use in rme or other parts of the framework. To transfer you must be running netrme and connected to your robot via WinRME. When connected to a robot you'll see the current list of action pages on the right side of the TransferPages window and your currently available WinRME pages on the left side.

Click the page/pose on the left you wish to transfer and page number you want to transfer to on the right. Then click the arrow to perform the transfer. At this point you can exit netrme and load rme, navigate to the page number you saved to and you should see the transfer was successful.

6391

OldBotBuilder
01-06-2016, 01:45 PM
I feel so stupid.
You made the transfer so easy. I thought I would have to copy WinRME pages to the robot's motion file.
You did it automatically and I was too dumb to look in the ./rme list. It's all there!

Again - thank you for your great tools and willingness to help.

r3n33
01-07-2016, 10:13 AM
No worries. We all miss a small detail every now and again.

You're welcome.. I'm glad it's working out for you.

LloydF
01-08-2016, 09:10 AM
Is labrats.io on a web server that's down?

r3n33
01-08-2016, 11:07 AM
It was, temporarily. Thank you. Should be resolved now.

LloydF
02-14-2016, 12:47 PM
How do you use this Link LegPitch button?

r3n33
02-16-2017, 01:28 PM
How do you use this Link LegPitch button?

Sorry I missed this. At the moment I don't recall. I haven't used the software for a while. If you are still interested let me know and I'll get it in my queue. The WinRME source would serve more purpose on git in case anyone wanted to build on it or see how the 3d visualizer was put together.

Another member informed me netrme from my old experimentation branch on git was no longer compatible with the updated HR-OS1 framework. This was due to a number of objects being refactored and I've just finished updating netrme so that it will work with the latest OS1 codebase. You can find this here: https://github.com/r3n33/netrme Simply copy the contained netrme folder to your HROS1Framework/Linux/project directory and make.