I've uploaded the InMoov models and ROS code and tutorials/parts list to Github

1,518 views
Skip to first unread message

Devon Ash

unread,
Jun 27, 2015, 8:31:32 PM6/27/15
to inm...@googlegroups.com

If you are familiar with Github, this can be a place for massive collaboration. https://github.com/inmoov-ros/inmoov_model
If you are not familiar with Github, you can use Windows or Linux to download and create your own version of the print files/STLs. 

Benefits of this: we can create branches and versions of the robot model so that people can make a version that uses dynamixel servos for example, or a version that has legs. I will take charge of this repository and handle all of the merges/pull requests for now, but feel free to fork it.

I copied Peter Heim's ROS repositories as well and would like to house development of the inmoov ROS software as the main development software repository going forward. Myself, I' have good experience with ROS so I will be sticking with this rather than MyRobotLab. 

So, here are two repositories ready for contributions and collaborations (entirely free as in freedom and beer)


inmoov_model contains the STLs for the robot organized.
inmoov_ros contains the software (we don't have any tutorials how to load it in yet, but as I work on this project further I will be adding tutorials/documentation)

You can email me at noob...@gmail.com to become a maintainer. I will be looking for respected maintainers with experience, so do not be upset if I do not accept you into the organization as a maintainer. Gael, since you are lead of STL development, if you message me for example I can make you owner of repository too.

Unlike the STLs, the software will remain 100% BSD, free for commercial use and free to modify in any way you see fit but you must provide the BSD license and attribution. 

Once you have git installed on Linux or Windows, you can open the terminal or Git shell to download files:



Kevin Watters

unread,
Jun 27, 2015, 11:11:55 PM6/27/15
to inm...@googlegroups.com
Hi Devon,
  I'm very interested in the kinematics models that you have.  I've been working on coming up with a proper kinematics model for the InMoov.  Have you worked out the reference frames for the joint linkages for the InMoov arm?  If you could share any more detail about what you've done with the moveit package in ROS, I would love to hear more about what state the project is in, and perhaps I can help.
  As for the STL files, those are already hosted, I'm pretty sure the official hosted spot for the InMoov STLs is https://www.wevolver.com/gael.langevin/inmoov-robot.
Best
  -Kevin

peter heim

unread,
Jun 28, 2015, 5:21:57 AM6/28/15
to inm...@googlegroups.com
If you want to use gear motors with Inmoov here is the link
I don't recommend using the motor driver just yet unless you have lots of L298n laying around
I have plans to update the motor drivers to BTS 7960 they are around $2 on Aliexpress and use magnetic encoders  instead of potentiometers

regards
Peter

Devon Ash

unread,
Jun 28, 2015, 10:02:21 PM6/28/15
to inm...@googlegroups.com
You would have to ask Peter Heim on that one. I haven`t looked at the code of the URDF yet. We can get accurate physics values by running the robot in blender, or just plugging in values ourselves, or by measuring the real robot.

It might differ between each robots and it have to be a collaboration between all of us to come up with good values. 

I know the STL are already hosted, but wevolver sucks and Github allows for version control, multi person contribution, and recognition of contribution. It also has file history.

Kevin Watters

unread,
Jun 29, 2015, 12:47:01 AM6/29/15
to inm...@googlegroups.com
Amazing, I just saw some of the videos of the motion planning.  Those are great innovations.  I'd love to collaborate on the kinematic model.  Maybe I'm old skewl , but I've been working on coming up with some DH parameters to describe the translation/rotation between the frames to the end effector of the inmoov.  I came up with a basic model, but some of the measurements are a bit out.  


I think the video describes the basic configuration (more or less) of the InMoov arm.  I did a basic implementations of an IK algorithm to move it, but it still needs considerable work.  We need to better define our reference frames.  I mean to say, what's the global origin for the InMoov robot?  Personally, I think it would make sense for the global origin to be aligned with the kinect sensor.  I would like to get some community consensus around that.  The kinect provides a nice depth map orientated from the center of the inmoov.  The x,y,z data can be easily known from the OpenNI data ( kinect depth map ).

Personally, I like the wevolver site.  Please remember, this is a community, and that we should be supportive of the people in it.  Open source communities thrive because we work together.  Perhaps you/we could chat with the wevolver guys directly and see if there's a way to to make community contribution better.

Best,
  -Kevin

Devon Ash

unread,
Jun 29, 2015, 1:03:10 AM6/29/15
to inm...@googlegroups.com
This is new school, and I`ve got some new school tech you should probably start using. No need to write transforms for the EE, just use tf_ros and learn ROS. I don`t see why everyone is trying to re-engineer the wheel here. 

Github does all of the community things that I described, no need to use Wevolver. Maybe someone can enlighten me on the benefits wevolver provides that Github does not. Also, ROS has IK algorithms built in and no need to write from scratch. Tons of libraries available with openRAVE for fastIK as well. MoveIt is nice. Check out MoveIt! for ROS. It comes with simulation and visualization available for free. Yes, kinect has been integrated into InMoov for ROS as well. We can recognize objects already.

I am supportive as I am honest and opinionated. It looks like my community of software robotics developers from Github & ROS should merge our technology and solutions to better help eachother out. It seems this community focuses on open source hardware, where the land I come from focuses on open source software. 

In software land, we are not afraid of voicing opinions and being rude in criticizing others work. Implementation is all that matters, not anyone`s feelings or concerns. If you feel indifferent about something, you write better code or make better hardware.

Here is a video describing how MoveIt + Kinematics is done in ROS. https://www.youtube.com/watch?v=6RvjivJ-oRI

peter heim

unread,
Jun 29, 2015, 2:42:26 AM6/29/15
to inm...@googlegroups.com
Hi Kevin
Nice video. 
I spent a long time trying to learn ROS TF(slow learner ) once I arranged the reference frames correctly Moveit was able to place the hand correctly with out smashing the base or head all transformations come from the base footprint when I ask Robbie to get a beer he knows the location of the beer using the TF and ROS move base he drives to the pick position gets the beer and brings it to me. I dont have to know Kinematics s simple python script will do it. Look at get_beer.py in robbie_sim
to run the sim in ROS open 3 terminal windows
term1 roscore
term 2 roslaunch robbie_sim fake_robbie.launch
term 3 rosrun robbie_sim get_beer_beer.py

Dash has provided a repo where we can all share our programs since we all have the same robot(more or less) there is no need to reinvent the wheel I have spent a long time getting this far it would be nice for others to take it further

Regards
Peter

theuserbl

unread,
Jun 29, 2015, 3:52:04 PM6/29/15
to inm...@googlegroups.com
Very nice. Thanks for the github-upload.

That is something which was really needed.
Because until today existing no history of the files.
And until today there wasn't an easy way to fork and merge with history.

Thanks.

Greatings
theuserbl
Message has been deleted

Muhammad Badr

unread,
Jun 30, 2015, 7:32:03 AM6/30/15
to inm...@googlegroups.com
Good work Devon, I'm glad to see my inmoov rviz photo useful, I've not checked the files yet. I've checked Robbie files on thingiverse long time ago when I wanted urdf package for Kermit, however Robbie uses very modified parts.

I've made my own urdf and control packages, I converted the parts to collada and have quite good dimensions for the location of the joints. I'm willing to share the files with anyone who wants them keeping in mind that its unfinished work. I've also added the Cyberleg for bipedal locomotion and a basic "waist" to fill in the space. For non-bipedal option I made a simple "lift" to place the torso on a pioneer mobile robot.

I'm stuck with moovit thou, I think it's because of the 5DoF, any pose I try to move the arm to is invalid, the only time I got a valid pose it made such a weird path that took like 3 minutes just to display it, I don't have ROS controlling the real robot yet so I never tried it.

As for the reference frame, ROS REP 120 - http://www.ros.org/reps/rep-0120.html - recommends the waist as the main reference point, which is what I did. I attached the main "base_link" frame right under the currently released top stomach parts, which would be at the point of waist rotation. I think the waist rotation should be branched from the base_link towards the torso, with each leg - or other mobile base - branching down.

Devon Ash

unread,
Jun 30, 2015, 10:47:25 AM6/30/15
to inm...@googlegroups.com
Muhammad, perhaps we can merge them into an inmoov-biped and inmoov-mobile-base branches that exist within the inmoov-ros tree. This will allow users to have multiple options on deciding what inmoov to build/simulate.

For MoveIt, it is very troublesome but thankfully I have good experience with it. When any position you move the arm to is invalid (red) it means you need to look at the status tab in RViz and disable those collisions in your srdf. The srdf is inside _moveit_config/config/*srdf file. If the arm does not plan in MoveIt, it is because the joint ranges are broken and you should Google about MoveIt and joint ranges.

The out of the box planner is VERY VERY slow for anything more than 3DOF. We will most likely have to implement an OpenRave IKFAST solutionn for this specific robot. 

peter heim

unread,
Jun 30, 2015, 5:36:29 PM6/30/15
to inm...@googlegroups.com
Hi Muhammad 
Robbie is a lot closer to Inmoov now then what is on thingiverse from the forearm to the hand is different, I had a lot of trouble with Moveit finding a valid position even with 8 DOF I found my reference frames were all over the place, once i aligned them Moveit worked better. I dont think moveit likes the way the shoulder joint is arranged, the tilting motion causes the most issues(the previous version didnt have it and it worked much better). The good news is with the waist joint in the kinematic chain tou will find more valid positions. The other problem is the pose of the wrist, because of the shoulders geometry the wrist needs 3DOF  to put the hand in the correct position. Robbie's right wrist has only 2 DOF it works OK for pick and place on a table in front but if its to one side the pose will be out. The main reason I changed the hand to grippers was the issue of finding a valid pose with what i have learnt so far I will go back to the Inmoov hand soon maybe when Gael releases his new hand design 

Peter

Muhammad Badr

unread,
Jul 2, 2015, 9:59:16 AM7/2/15
to inm...@googlegroups.com
Devon; I'm very busy these days trying to wrap up my phd, I don't have time to do anything with the files, are you okay with taking a look into them yourself and see if you can extract anything useful?!? btw I think the collada files I'm using cannot be printed because I tried to remove as much of it as I can to make them smaller and faster for rendering

Peter; I'm glade you're getting moveit working, unfortunately I don't have time to work with it anytime soon, but I hope I can get it working too, I don't understand your explanation very well, as far as I know 8DoF will also be problematic due to redundancy, I was hoping I can get at least correct position and get it to ignore orientation, and I didn't know you can include waist rotation in the kinematic chain, does that mean you'll include it only in one arm chain since moveit doesn't do branched kinematics?!?

peter heim

unread,
Jul 2, 2015, 5:49:45 PM7/2/15
to inm...@googlegroups.com
Muhammad
the waist joint is in both kinematic chains the right arm is 7 DOF and works well both in sim and real I haven't tested the left arm(8DOF) much in real life due to a blown motor driver since the 7DOF works I have given up on the 8DOF. But having a wrist with only 2 DOF the rotation axis will be important. The ability to rotate the wrist  in yaw and pitch is more helpful than Inmoovs roll and yaw

peter

Igor Schmidlapp

unread,
Jul 6, 2015, 12:24:45 PM7/6/15
to inm...@googlegroups.com


Outstanding!  a single compressed organized downloadable parts archive was sorely needed.  Gael is doing his absolute best that he can on the InMoov site, but the individual parts downloads can be tedious, and version control needed to be more defined.  a simple upload/submission date is better than the unspecific "newer" designation ("latest" works as a better search term).

Sorry, my mechanical design and computer science/I.T. background  drives me to robotics, but also makes me a nitpicker... ;-)

I thank you so much for your efforts!

BTW, my planned design (an idea that I freely put out there for anyone to use), is to crreate a telepresence personal assistant/valet ( a robotic Jarvis, if you will).  This would mount the "pipe stand" stationary InMoov to a mobile base (using hub motor wheels and a Roomba like sensor/navigation/recharge system.  It would have JIBO or Amazon Echo type interactive software,  a chest mounted tablet for interface/displays, and a vertically mounted linear actuator to rise from a "seated" level to a "standing" level.  This allows a separate legs/walking mobility design effort, which seems a large obstacle for many (I don't have the resources of Honda or DARPA).  My concept is kind of an amalgam of different things, I guess.

Thanks again for the collection!

arvin asokan

unread,
Dec 13, 2016, 6:38:24 PM12/13/16
to InMoov
Hi Devon,
I just wanted to check and see if you still get to work on Inmoov ROS.
I understand that Robbie is a slightly modified version of Inmoov.
However I am guessing that Robbie's URDF should work for most parts in terms of transforms and Moveit!
Do let me know if there are other resources for successfully integrating Inmoov with ROS

Thanking you,
-Arvin Asokan  

peter heim

unread,
Dec 13, 2016, 9:46:42 PM12/13/16
to InMoov
Hi Arvin
That is a very old branch of Robbie while it will (and did).  A lot of changes have happened since then 
the biggest change was to the origin and orientation of the joints in the URDF with out those changes 
moveit will fail to find a solution. Use the files  from the master branch

Regards
Peter

Anton Fosselius

unread,
Dec 17, 2016, 4:24:58 AM12/17/16
to InMoov
AWESOME! :D

gael langevin

unread,
Dec 19, 2016, 4:28:15 AM12/19/16
to Anton Fosselius, InMoov
Hello everyone,
This is an interesting post and I think there is definitely a lot of potential of using ROS for InMoov.
A bit of history for Devon about InMoov and why it seems like we are reinventing the wheel.
When I started the project a few years ago, I never used Arduino or a servo motor, so when I started to search for a software that would allow me to synchronize the two arms together using Arduino, I searched for various softwares on the internet.
There was of course ROS, but as a beginner in robotic, it was just impossible to start with such a complex software.

MyRobotLab  was OpenSource and I felt like it was at my level and at the level of many of my followers. Plus it could be installed on different OS. And the most important, I could talk with Greg Perry which could understand me and how I had built the concept of InMoov. This is definitely what was missing with ROS.


I definitely think there is a lot we can merge to increase the robot's potential.

For those that work with ROS, you might be interested in this repository:
https://github.com/alansrobotlab/inmoov_ros
https://youtu.be/XK2Qzxxmk8c


If only I had more time I would try ROS on my InMoov, I think I know enough about robotics now.

Personnaly, we are not reinventing the wheel, we are learning how to make a new kind of wheel. Seeing things from another point of view always brings brightness!
:)






Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



--
You received this message because you are subscribed to the Google Groups "InMoov" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inmoov+unsubscribe@googlegroups.com.
To post to this group, send email to inm...@googlegroups.com.
Visit this group at https://groups.google.com/group/inmoov.

For more options, visit https://groups.google.com/d/optout.

gael langevin

unread,
Dec 19, 2016, 8:14:30 AM12/19/16
to Anton Fosselius, InMoov
Important points to note,

Many of the STL's on this repository are out of date:
https://github.com/inmoov-ros/inmoov_model

To make sure you have the latest STL files:
http://inmoov.fr/inmoov-stl-parts-viewer/


If you need derivatives, I try to keep track on a regular basis of what is modified and made a collection available here:
http://inmoov.fr/inmoov-parts-and-derivatives/


Do not use the repository of Wevolver it is not maintained updated. They were supposed to do it on a regular basis when we agreed to host InMoov, but I think they are too busy getting big!

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



Reply all
Reply to author
Forward
0 new messages