﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Community%3AScience%2FRobotics</id>
	<title>Community:Science/Robotics - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Community%3AScience%2FRobotics"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Community:Science/Robotics&amp;action=history"/>
	<updated>2026-05-14T21:23:33Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Community:Science/Robotics&amp;diff=87295&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Community:Science/Robotics&amp;diff=87295&amp;oldid=prev"/>
		<updated>2018-06-28T18:41:14Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 18:41時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Community:Science/Robotics&amp;diff=87294&amp;oldid=prev</id>
		<title>wiki&gt;Mindrones: removed spam</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Community:Science/Robotics&amp;diff=87294&amp;oldid=prev"/>
		<updated>2012-02-03T13:50:34Z</updated>

		<summary type="html">&lt;p&gt;removed spam&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Blender For Robotics  =&lt;br /&gt;
&lt;br /&gt;
This Wiki is dedicated to [http://en.wikipedia.org/wiki/Robotics robotic] projects using Blender in some way. It's goals are:&lt;br /&gt;
* to collect all information that is generic for all applications of the Blender software in the context of robotics research or systems.&lt;br /&gt;
* to form enough ''critical mass'' in the robotics community, in order to influence development of Blender, in directions that make Blender more usable for robotics.&lt;br /&gt;
* to list and briefly explain the currently ongoing activities and projects, and link to their websites.&lt;br /&gt;
Hence, this Wiki is not the best place to post and discuss scripts and patches for Blender that are useful for robotic applications; you'd rather use the [http://lists.blender.org/mailman/listinfo/robotics Blender for Robotics mailing list] for that purpose. This mailing list is also the best place to distribute your opinions, questions and suggestions to a set of ''robotics people'', about how Blender's design, implementation and user interface could be improved in a way that would make the use of Blender in robotics applications more attractive.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:yarp_python_simulator_workspace_overview.png|none|650px|Screenshot from the MORSE simulator]]&lt;br /&gt;
&lt;br /&gt;
== What do we want to achieve?  ==&lt;br /&gt;
This section discusses the expectations behind this ''Blender for Robotics'' initiative, as well as the ongoing activities and collaborations.&lt;br /&gt;
&lt;br /&gt;
===The big picture ===&lt;br /&gt;
Because the programming of complex robotics systems has a lot in common with the computer animation of simulated creatures, it makes sense to advocate the use of Blender within the robotics community (both research and industry!), as well as to advocate the implementation within Blender of ''robotics algorithms'' (motion control, inverse kinematics and dynamics, robot task specification, sensor processing, etc.) that have proven their value in robotics. In addition to these ''functional'' opportunities, Blender has another potentially very valuable tool for robot programming, namely its Game Engine, a graphical programming environment to define the ''behaviour'' of actors in a ''game'', allowing to interface to the ''world'' via sensors and actuators, and to control the actors' actions via controllers. The result could be a very flexible and powerful '''robotics integrated development environment''' that could become the open source foundation of various toolchains in robotics and other engineering domains (automation, traffic control, gait analysis, motion capturing for animation, etc.).&lt;br /&gt;
&lt;br /&gt;
Here is a summary of the different ways that Blender can be used in robotics, from simple to more advanced:&lt;br /&gt;
# '''Visualisation''': to show (a virtual version of) the world, representing the real robot world, up to a specific level of detail and realism. This is a useful tool to understand better what is going on in the real system, e.g., by visualising what the robot (thinks it) sees. Similarly, the visualisation can show the output of planners, that provide (the actions of a robot in) a set of possible virtual versions of the real world.&lt;br /&gt;
# '''Simulation''': run a program in Blender that could also run on a real setup, in order to get a qualitative idea about its behaviour and effectiveness.&lt;br /&gt;
# '''Emulation''': simulation in the loop, with the aim of representing the real world to a ''guaranteed'' quantitative level of detail. For example, to try a robot control algorithm first on a Blender version of it instead of on the real robot, in order to tune its control gains or check its behaviour in a wide variety of situations that are costly or dangerous to create in the real world.&lt;br /&gt;
# '''[http://en.wikipedia.org/wiki/High_Level_Architecture_%28simulation%29 High Level Architecture]''' component: one or more Blender executables act as emulators/simulators of parts of a bigger system, which has a Coordinator to keep als parts synchronized on the same virtual time.&lt;br /&gt;
None of the current ''Blender for Robotics'' projects has chosen to implement this HLA architecture. ([[Robotics:Middleware|Here]] is more explanation about the consequences of that architecture.)&lt;br /&gt;
&lt;br /&gt;
===Active projects===&lt;br /&gt;
&lt;br /&gt;
*The [http://morse.openrobots.org  Modular Open Robots Simulator Engine], maintained by [http://www.laas.fr LAAS-CNRS] in Toulouse, France. Status:&lt;br /&gt;
** One dedicated full-time engineer working on the project, until June/July 2012&lt;br /&gt;
** Various robots and robotics sensors implemented in the simulation&lt;br /&gt;
** Modular architecture based on Blender and Python files&lt;br /&gt;
** Compatibility with various middlewares: sockets, yarp, pocolibs, ROS.&lt;br /&gt;
** Driven by, and validated in, multi-robot cooperation scenarios&lt;br /&gt;
** Ported to Blender 2.5 and Python 3&lt;br /&gt;
*[http://opengrasp.sourceforge.net/RobotEditor.html Robot Editor] provides a tool that allows easily to create new or convert existing models of robot hands. Collada in version 1.5 has been chosen as the common content exchange format.&lt;br /&gt;
*[http://www.orocos.org/kdl KDL] (Orocos' ''Kinematics &amp;amp; Dynamics Library'') integration into Blender, with focus on improving Blender's IK (''inverse kinematics''), with constraint-aware and dynamic algorithms.&lt;br /&gt;
*[http://sourceforge.net/projects/robotsim/ R2D3 Robotic Development 3nvironment], with a simulation of SCORBOT ER-5 Robot.&lt;br /&gt;
*[http://sourceforge.net/projects/fanucrobotlrmat/ Fanuc robot LR Mate 200]&lt;br /&gt;
&lt;br /&gt;
===Normalized interfaces to robotics hardware===&lt;br /&gt;
A first step towards the above-mentioned ''big picture'' is the definition of ''normalized'' (''harmonized'', or ''standardized'') interfaces and naming of all common ''objects'' used in robotics contexts. For example, the class of ''actuators'' and ''sensors'' that we want to interface with, the set of ''control algorithms'' that are common in robotics, or the motion interfaces to the ''kinematic families'' of most common robotics platforms (arms, hands, as well as mobile platforms). In principle, this is a task for the whole robotics community, and not just for the subset that is interested in Blender; however, very little concrete collaboration has taken place in this context until now, so maybe this smaller sub-community can make the difference&lt;br /&gt;
&lt;br /&gt;
===What does Blender already offer?===&lt;br /&gt;
Here is an overview of the generic aspects of the ''robotics components'' that are already available in the Blender [http://wiki.blender.org/index.php/Doc:Manual/Game_Engine Game Engine] (outdated documentation, i.e., for 2.49 only), ''actuators'', ''sensors'' and ''controllers'':&lt;br /&gt;
* '''actuators''' in robotics have basically four ''control modes'': ''position'', ''velocity'', ''acceleration'', or ''torque''. (Also ''current'' is an actual control mode, but only when one wants to take the dynamics of the ''electric motor'' into account!) The ''torque'' control mode requires a dynamic model of the robot that the actuator is acting on, in order to calculate the position update of the robot under the applied torque. ''Position'' is the simplest to interface in Blender, currently, since computer animation packages typically work only at position level. ''Velocity'' and ''acceleration'' require some for of ''state information'' to be integrated into the Game Engine. (Or does that exist already?). Anyway, (most) actuator interfaces are rather simple, at least at the ''setpoint'' specification level; for non-position interfaces, Blender must be extended with ''integrators'' that transform the instantaneous velocity, acceleration or torque inputs into (a time series of) position updates. &lt;br /&gt;
* '''sensors''' in robotics can be (roughly) of two different kinds:&lt;br /&gt;
** ''proprioceptive'': that means, 'sensing the internal state' of the robot, and that almost always boils down to the complement of the 'actuators' above, that is the sensing of the position, velocity, acceleration and/or the torque at the robot's joints.&lt;br /&gt;
** ''exteroceptive'', that means, 'sensing the interaction of the robot with its environment'. This category carries many sub-categories:&lt;br /&gt;
*** distance sensors (laser range scanners, for example)&lt;br /&gt;
*** force sensors (at the &amp;quot;wrist&amp;quot; of a robot arm, the &amp;quot;foot&amp;quot; of a humanoid robot, or the &amp;quot;fingertip&amp;quot; of a robothand)&lt;br /&gt;
*** camera's, that take images of the scene around the robot.&lt;br /&gt;
:Again, each of these categories is not too difficult to give an interface.&lt;br /&gt;
* '''controllers''': the number of robot control algorithms is rich, but still ''enumerably finite'', so some initial standardization would be possible to: 1 DOF PID control; simple trajectory planning to reach goals; full dynamic control of humanoid robot armatures;...&lt;br /&gt;
&lt;br /&gt;
The Inverse Kinematics (IK) in Blender provides a [http://math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/index.html selectively damped least-squares ] algorithm, which is applicable to highly redundant tree-structured kinematic chains, as found in humanoid robots and mobile manipulators.&lt;br /&gt;
&lt;br /&gt;
Via a Python script, a controller in the Game Engine can communicate with external programs (e.g., TCP/IP sockets, or any other ''middleware''), which is an essential feature for the seemless integration of Blender as a visualisation and/or simulation component in a more complex, distributed robotics system.&lt;br /&gt;
&lt;br /&gt;
The 2.5x developments of Blender dramatically improved its configurability, not just in improving the Python interface to all internals of Blender, but also to provide opportunities to build customized interfaces for various robotics applications and development work flows. The customization can take multiple complementary forms:&lt;br /&gt;
* configuration of windows, layout, properties, keyboard shortcuts, etc.&lt;br /&gt;
* [http://wiki.blender.org/index.php/Doc:2.5/Manual/Extensions/Python/Add-Ons adding] new panels or GUI elements. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Expected/Wished features  ===&lt;br /&gt;
&lt;br /&gt;
''Please mention your lab/contact after features!'' &lt;br /&gt;
&lt;br /&gt;
*[[Robotics:Middleware|Controllable by external middleware]] (like [http://ros.org ROS], [http://eris.liralab.it/yarp/ YARP], [http://www.cs.unc.edu/Research/vrpn/ VRPN], [http://purple.blender.org/about-purple/ Purple], [http://orca-robotics.sourceforge.net/ ORCA], [http://omniorb.sourceforge.net/ CORBA], [http://zeroc.com/ ICE], ...) (KULeuven, LAAS)&lt;br /&gt;
*On-line visualisation of ''robot experiments'': when connecting a running robotics demo to a corresponding simulated version in Blender, the latter could graphically display a selection of all available measurement values that the demo programmers want to monitor. (KULeuven)&lt;br /&gt;
*Improved support for realistic inverse and forward dynamics. (KULeuven)&lt;br /&gt;
*Easier user interface to build robot systems, and to program the motions of these systems, including motions that are based on current sensor measurements. (KULeuven)&lt;br /&gt;
*Improved simulation of robotics sensors.&lt;br /&gt;
*In conjunction with the point above, imprecise readings and measurements from sensors and with respect to actuators -- the real world does not provide 26 digits of precision to its actions. It makes for a better simulation and transition to an actual robotics platform is the inputs and outputs have a small bit of noise (it also forces the developer to pay attention when designing control systems! ;) (douglas-dot-thom-at-gmail-dot-com)&lt;br /&gt;
*Good, open, durable file formats for robots. Since version 1.5 of [[Robotics:COLLADA|COLLADA]] introduced kinematics, it may become a good candidate.&lt;br /&gt;
*[[Robotics:Repository|Repository with reusable components]], i.e., models of robots, sensors, actuators,... (KULeuven, LAAS)&lt;br /&gt;
&lt;br /&gt;
=== Internal Wiki Links ===&lt;br /&gt;
*[[Robotics:Tutorial| Getting started tutorial]]&lt;br /&gt;
*[[Robotics:GameEngineFeaturesForRobotics | Game Engine capabilities]]&lt;br /&gt;
*[[Robotics:Blender25Panels | Creation and modification of UI panels]]&lt;br /&gt;
*[[Robotics:Scripts/viewPanel| View Control Panel]]&lt;br /&gt;
*[[Robotics:Scripts/ImageGrabber| Image grabber]]&lt;br /&gt;
* [[Robotics:Middleware/YARP| Integration with middleware]], e.g., using Yarp for accessing [[Robotics:Yarp_Camera_Example| cameras ]] in Blender.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.formgames.com/blender/command-port/ Blender command-port] to remotely control Blender with Python commands.&lt;br /&gt;
*[http://forexrobot.eu.com/ Forex Robot]&lt;br /&gt;
*[http://www.vimeo.com/groups/blenderandrobotics Blender and robotics videos @ Vimeo]&lt;br /&gt;
*[http://www.youtube.com/watch?v=boLx9HYriTQ Camera Frame Simulator] simulation.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Pages in the ''Robotics'' namespace'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dpl&amp;gt;&lt;br /&gt;
  namespace=Robotics&lt;br /&gt;
  titlematch=%&lt;br /&gt;
&amp;lt;/dpl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:DPL]]&lt;/div&gt;</summary>
		<author><name>wiki&gt;Mindrones</name></author>
		
	</entry>
</feed>