[Robotics] Force/torque/collision sensor

Fernando Garcia Bermudez fgb at eecs.berkeley.edu
Fri Jun 10 19:00:29 CEST 2011


Anna Chiara,

Can you provide more info on the issue/change? I'm using 2.57 and not seeing
anything wrong, but I might be overlooking it. If you can send the changed
script I can test it and update it on github for future users. Thanks,

-- Fernando


On Fri, Jun 10, 2011 at 02:56, Anna Chiara Bellini <
annachiara.bellini at gmail.com> wrote:

> Ciao Fernando,
> I've been playing around with this for a while, and I think I got the hang
> of it, thank you :-)
> I just had to change the script a little because the mathutils.Matrix api
> has changed in Blender 2.56 (namely: I had to copy() and then .transpose()
> the beam rotation Matrix), but it works very well.
>
> I'm working on the linear springs now, and I'm planning to transform this
> in a Morse-style sensor, even though a few peculiarities will apply.
>
> Thank you again for your kind help
>
> Anna Chiara Bellini
>
>
> On 7 June 2011 17:40, Fernando Garcia Bermudez <fgb at eecs.berkeley.edu>wrote:
>
>> Since the e-mail below was being held due to a large attachment, I
>> decided to re-post without it. You can grab the attachment from:
>>
>> http://github.com/fgb/passive_compliant_joint
>>
>> Thanks,
>>
>> -- Fernando
>>
>> On Mon, Jun 6, 2011 at 12:05, Fernando Garcia Bermudez
>> <fgb at eecs.berkeley.edu> wrote:
>> > Anna,
>> >
>> > I've constructed passive compliant joints in the past using a mixture
>> > of rigid body joints and a python script controller, since there are
>> > no generic spring constraints in Blender that I know of.
>> >
>> > In a nutshell, I create a generic 6 DoF rigid body joint between two
>> > bodies, disabling collisions between them. I then proceed to allow
>> > only the rotations that the spring joint I'm envisioning has. I setup
>> > rigid body physics for both bodies and then add some parameters to the
>> > game property editor (spring constant, damping constant, and resting
>> > position for the joint). Finally, I add an always sensor connected to
>> > a python script which effectively controls the passive compliant
>> > joint. The script implements torque feedback based on the game
>> > property parameters. You could easily implement force feedback for a
>> > linear spring joint in a similar way. For clarity, I'm including a
>> > demonstration blend file.
>> >
>> > As you can see, the forces/torques are available to you as part of the
>> > simulation, but as Gilberto notes, they might not be very precise due
>> > to Bullet's limitations.
>> >
>> > I hope this helps you solve your issue. Let me know if you have any
>> questions,
>> >
>> > -- Fernando
>> >
>> >
>> > On Mon, Jun 6, 2011 at 11:09, Anna Chiara Bellini
>> > <annachiara.bellini at gmail.com> wrote:
>> >> Hello Gilberto,
>> >>
>> >> I'll try to explain it better... I need to detect forces for two
>> reasons:
>> >>
>> >> 1 - our robot is an UAV, and as it flies, it will get in touch with
>> objects
>> >> and environment. On the robot I need to have a few force/torque
>> sensors,
>> >> that will tell me the force/torque applied in that spot, and then we
>> combine
>> >> the different values to get a resulting force that will get back to the
>> user
>> >> using a force-feedback device.
>> >>
>> >> 2 - the robot features a grasp/manipulate tool, and I need to read the
>> force
>> >> applied on it.
>> >>
>> >> Now, my first idea is this: if I model the sensor as a small pivoting
>> >> damper, then I could read the position and pose of the damper to
>> calculate
>> >> force and torque... but this is just a very basic idea, I don't know if
>> it's
>> >> correct or if there are better ways. (Ideally, this should end up being
>> a
>> >> MORSE sensor, but that would be a second step, hence why I posted the
>> >> question here instead on the morse mailing list)
>> >>
>> >> I have also found this on the Bullet forum:
>> >> http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?p=&f=9&t=3637,
>> but
>> >> I'm not understanding it completely, for instance I do not know what a
>> >> "proxy" object is and how to set it up.
>> >>
>> >> Hope this is clear enough :-)
>> >>
>> >> You are saying that the Bullet engine is not extremely precise... can
>> you
>> >> tell me what are the limitations, or point me to a place where I can
>> get
>> >> more information?
>> >>
>> >> Thank you again
>> >>
>> >> Anna Chiara Bellini
>> >>
>> >>
>> >> On 6 June 2011 18:09, Gilberto Echeverria <gilberto.echeverria at laas.fr
>> >
>> >> wrote:
>> >>>
>> >>> Hello Anna Chiara,
>> >>>
>> >>> For the moment, MORSE does not include this sort of force sensors in
>> >>> joints. So far, the main developers of MORSE have not approached this
>> sort
>> >>> of simulation, so it remains an open area for development. However,
>> maybe
>> >>> other people in the Blender community may have worked on similar
>> problems.
>> >>>
>> >>> It should be possible to measure forces in Blender, but the physics
>> engine
>> >>> used by default (Bullet) is not extremely precise. It will depend on
>> what
>> >>> exactly you want to model.
>> >>> If you can provide more details, we can give you a better insight on
>> how
>> >>> to deal with this kind of sensors.
>> >>>
>> >>> Best regards,
>> >>> Gilberto Echeverria
>> >>>
>> >>> On 06/06/2011 04:16 PM, Anna Chiara Bellini wrote:
>> >>>
>> >>> Dear all,
>> >>>
>> >>> I am working on a robot simulation project ( http://www.airobots.eu/)
>> >>> with Blender and I am trying to do something which I'm sure someone
>> else has
>> >>> already done, so I'm asking for directions: I need to model passive
>> >>> compliant joints and detect the forces acting on them. I guess that
>> the way
>> >>> is through Blender's rigid body joint constraint , possibly the
>> >>> 6DofSpringConstraint, but I'm not really sure about it and I really
>> don't
>> >>> know which would be the best solution.
>> >>>
>> >>> In our project, we are using MORSE for sensors/actuators/middleware,
>> so if
>> >>> anyone had a MORSE-specific solution or suggestion, that would be
>> great.
>> >>>
>> >>> Any ideas?
>> >>>
>> >>> Thank you in advance
>> >>>
>> >>> Anna Chiara Bellini
>> >>>
>> >>> _______________________________________________
>> >>> Robotics mailing list
>> >>> Robotics at blender.org
>> >>> http://lists.blender.org/mailman/listinfo/robotics
>> >>>
>> >>>
>> >>> --
>> >>> Gilberto Echeverria
>> >>> Research Engineer
>> >>> Robotics and Interactions Group (RIS)
>> >>> LAAS/CNRS, Toulouse
>> >>> +33 (0)5 61 33 78 95
>> >>>
>> >>> _______________________________________________
>> >>> Robotics mailing list
>> >>> Robotics at blender.org
>> >>> http://lists.blender.org/mailman/listinfo/robotics
>> >>>
>> >>
>> >>
>> >> _______________________________________________
>> >> Robotics mailing list
>> >> Robotics at blender.org
>> >> http://lists.blender.org/mailman/listinfo/robotics
>> >
>> _______________________________________________
>> Robotics mailing list
>> Robotics at blender.org
>> http://lists.blender.org/mailman/listinfo/robotics
>>
>
>
> _______________________________________________
> Robotics mailing list
> Robotics at blender.org
> http://lists.blender.org/mailman/listinfo/robotics
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/robotics/attachments/20110610/7fb98472/attachment.htm 


More information about the Robotics mailing list