142,113 research outputs found
Automatic Differentiation of Rigid Body Dynamics for Optimal Control and Estimation
Many algorithms for control, optimization and estimation in robotics depend
on derivatives of the underlying system dynamics, e.g. to compute
linearizations, sensitivities or gradient directions. However, we show that
when dealing with Rigid Body Dynamics, these derivatives are difficult to
derive analytically and to implement efficiently. To overcome this issue, we
extend the modelling tool `RobCoGen' to be compatible with Automatic
Differentiation. Additionally, we propose how to automatically obtain the
derivatives and generate highly efficient source code. We highlight the
flexibility and performance of the approach in two application examples. First,
we show a Trajectory Optimization example for the quadrupedal robot HyQ, which
employs auto-differentiation on the dynamics including a contact model. Second,
we present a hardware experiment in which a 6 DoF robotic arm avoids a randomly
moving obstacle in a go-to task by fast, dynamic replanning
Formally based semi-automatic implementation of an open security protocol
International audienceThis paper presents an experiment in which an implementation of the client side of the SSH Transport Layer Protocol (SSH-TLP) was semi-automatically derived according to a model-driven development paradigm that leverages formal methods in order to obtain high correctness assurance. The approach used in the experiment starts with the formalization of the protocol at an abstract level. This model is then formally proved to fulfill the desired secrecy and authentication properties by using the ProVerif prover. Finally, a sound Java implementation is semi-automatically derived from the verified model using an enhanced version of the Spi2Java framework. The resulting implementation correctly interoperates with third party servers, and its execution time is comparable with that of other manually developed Java SSH-TLP client implementations. This case study demonstrates that the adopted model-driven approach is viable even for a real security protocol, despite the complexity of the models needed in order to achieve an interoperable implementation
An Experiment in Interoperable Cryptographic Protocol Implementation Using Automatic Code Generation
Spi2Java is a tool that enables semi-automatic generation of cryptographic protocol implementations, starting from verified formal models. This paper shows how the last version of spi2Java has been enhanced in order to enable interoperability of the generated implementations. The new features that have been added to spi2Java are reported here. A case study on the SSH transport layer protocol, along with some experiments and measures on the generated code, is also provided. The case study shows, with facts, that reliable and interoperable implementations of standard security protocols can indeed be obtained by using a code generation tool like spi2Jav
Kranc: a Mathematica application to generate numerical codes for tensorial evolution equations
We present a suite of Mathematica-based computer-algebra packages, termed
"Kranc", which comprise a toolbox to convert (tensorial) systems of partial
differential evolution equations to parallelized C or Fortran code. Kranc can
be used as a "rapid prototyping" system for physicists or mathematicians
handling very complicated systems of partial differential equations, but
through integration into the Cactus computational toolkit we can also produce
efficient parallelized production codes. Our work is motivated by the field of
numerical relativity, where Kranc is used as a research tool by the authors. In
this paper we describe the design and implementation of both the Mathematica
packages and the resulting code, we discuss some example applications, and
provide results on the performance of an example numerical code for the
Einstein equations.Comment: 24 pages, 1 figure. Corresponds to journal versio
- ā¦