<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="https://community.wolfram.com">
    <title>Community RSS Feed</title>
    <link>https://community.wolfram.com</link>
    <description>RSS Feed for Wolfram Community showing questions tagged with Robotics sorted by active.</description>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3569623" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/3393069" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2915661" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2261887" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2111005" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2072126" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2060199" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/2060187" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1992385" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1943343" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1873580" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/491285" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1898868" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1809357" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1805445" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1721060" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1552047" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1335470" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1278327" />
        <rdf:li rdf:resource="https://community.wolfram.com/groups/-/m/t/1276016" />
      </rdf:Seq>
    </items>
  </channel>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3569623">
    <title>Stabilizing the spherical pendulum: request for advice</title>
    <link>https://community.wolfram.com/groups/-/m/t/3569623</link>
    <description>&amp;amp;[Wolfram Notebook][1]&#xD;
&#xD;
&#xD;
  [1]: https://www.wolframcloud.com/obj/b9eccdca-8b2d-4b79-8372-d7ce68b860ab</description>
    <dc:creator>Brian Beckman</dc:creator>
    <dc:date>2025-11-02T21:07:34Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/3393069">
    <title>Optimisation of linkage design in Wolfram SystemModeler?</title>
    <link>https://community.wolfram.com/groups/-/m/t/3393069</link>
    <description>Hello :)  I am a beginner in the Wolfram system. &#xD;
&#xD;
I have produced a basic model of a 6-bar linkage leg mechanism in wolfram system modeler. &#xD;
&#xD;
![enter image description here][1]&#xD;
&#xD;
Using the model here: &#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
I am using the BaseBlocks as a way to position the rotational points of the 2 link arms. I currently have placeholder values for the linkage lengths to allow the simulation to be generated. My objective is to simulate different linkage lengths (and positioning of the base links), to determine the optimal design for forward linear motion (walking forward). &#xD;
&#xD;
I would be immensely grateful for any feedback on how I should best proceed with running simulations and optimising the design, what sensor/metric I should use to measure design success, and whether i should do this through Wolfram Mathematica or SystemModeler (i have seen videos of SystemModeler designs being imported into Mathematica)?&#xD;
&#xD;
My sincere thanks in advance!&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Screenshot2025-02-13122230.png&amp;amp;userId=3393039&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=3309Screenshot2025-02-12124602.png&amp;amp;userId=3393039</description>
    <dc:creator>Zane Kelly</dc:creator>
    <dc:date>2025-02-13T02:45:10Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2915661">
    <title>How to use Wolfram Alpha to calculate location of three overlapping Circles</title>
    <link>https://community.wolfram.com/groups/-/m/t/2915661</link>
    <description>I have three sensors, and each sensor provides the distance to a person. The distance sensed provides a Radius for the person in a circle around the sensor. But the distances sensed are not exact, only approximate. It may be off by several feet. So the Radii of the three circles may not overlap, or they may intersect at one point, or the circles may overlap without intersecting exactly at one point. This may be corrected, if necessary, by increasing the radii proportionally until the three circles overlap each other. Once the circles overlap each other, the person&amp;#039;s approximate location can be found by calculating the center of the overlapped area.&#xD;
&#xD;
How can Wolfram Alpha give the person&amp;#039;s location from the distance reported by three sensors? What are the methods to do this?</description>
    <dc:creator>Don Baechtel</dc:creator>
    <dc:date>2023-05-06T16:41:29Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2261887">
    <title>Remote opportunity in Sciton</title>
    <link>https://community.wolfram.com/groups/-/m/t/2261887</link>
    <description>Hi Mathematics Gurus, &#xD;
&#xD;
I&amp;#039;d like to share an opportunity that I hope you find intriguing. Our founder and laser inventor, Jim Hobart, is seeking Mathematica gurus to help drive new technologies poised to change the aesthetics industry radically. Are you interested in being a part of this once-in-a-lifetime remote opportunity?&#xD;
&#xD;
We are holding a special Zoom meeting with Jim Hobart and his lead scientist to share the details of this exciting project. Please email your resume to me at carolyn.wells@sciton.com to be added to the Zoom invitation. &#xD;
&#xD;
We appreciate your time and consideration. &#xD;
&#xD;
Warm regards, &#xD;
&#xD;
Carolyn Wells&#xD;
carolyn.wells@sciton.com&#xD;
Sciton Talent Acquisition</description>
    <dc:creator>Carolyn Wells</dc:creator>
    <dc:date>2021-05-06T21:52:02Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2111005">
    <title>Collaboration needed: Program Human Bio Machine Interfaces</title>
    <link>https://community.wolfram.com/groups/-/m/t/2111005</link>
    <description>I believe I have a enough biological data to make accurate high-quality immune system compatible synthetic human body limbs and organs to help injured American Patriots.  I need a high-quality Mathematica coder to help me program the bio-mechanical drivers &amp;amp; interfaces software components needed. The work will be done in Northern Colorado.</description>
    <dc:creator>John Remillard</dc:creator>
    <dc:date>2020-11-09T05:57:28Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2072126">
    <title>Correct way to model/approximate force disturbance for force controller</title>
    <link>https://community.wolfram.com/groups/-/m/t/2072126</link>
    <description>I&amp;#039;m currently working on simulating (in a very basic way) and designing a force controller for a linear drive. &#xD;
&#xD;
There is a circular saw blade mounted on the linear drive cart. The linear drive will be set at a specific feedrate, given through a single between 1 and 10. (Unimportant atm for the question I think anyways...). Eventually the sawblade will come into contact with an object that will produce dampening feedforce of something around 40N that will jump +/- 10N...(learned through experiments). I would like to design the controller (PI, or LQI) with mathematica to reduce the feedrate in order to reduce the process forces, or rather control them to a specific referenced feedforce (25N for example)....Eventually a function of feedforce will be given and tracked during the entire cutting process. In this case, when reference force rises, the controller should increase the feedrate, and respectively drop it when the referenced force drops. &#xD;
&#xD;
The feedforces can be directly measured with dynometer, and the feedrate adjusted programmatically. There is currently no position control for this system. Only feedrate can be given...hence the want to design this controller. &#xD;
&#xD;
At the moment I&amp;#039;m completely unsure how to even model the collision of the sawblade with an object...Though for my purposes at the moment, I believe it&amp;#039;s not required, as the saw motor dynamics are unimportant for the current form of simulation. I would like to model the linear movement of an object, that encounters a breaking/dampening/load force to approximate this collision/cutting process..If this is at all possible. &#xD;
&#xD;
So far, as pictured, I have designed a simple rotational to linear rail, with a mass and force, plus position sensors. &#xD;
&#xD;
![model][1]&#xD;
&#xD;
This is agreeably *very* basic. However, if this load or dampening force or breaking force can be added to the system the way I imagine it.... I believe it will be accurate enough for my current purposes (Though I will gladly be taught how to do it better! :) ) &#xD;
&#xD;
My first thoughts were to add the breaking as pictured with a simple pulse signal...however I am unsure if this is ideal. How would one go about this? &#xD;
&#xD;
Thanks for the help!&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Screenshot2020-09-07at01.52.23.png&amp;amp;userId=1222283</description>
    <dc:creator>Mor Bo</dc:creator>
    <dc:date>2020-09-06T22:49:47Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2060199">
    <title>Support for More Microcontrollers in MicrocontrollerKit</title>
    <link>https://community.wolfram.com/groups/-/m/t/2060199</link>
    <description>Hello! I have really been enjoying the ```&amp;#034;MicrocontrollerKit`&amp;#034;``` and the ability to simply generate and deploy code for arbitrary discrete state space models. &#xD;
&#xD;
I have seen a few videos from Mr. Suba Thomas who seems to be working hard on this functionality. I believe he has mentioned the ongoing effort to add support for new devices a couple times. I was wondering what the status is for support of additional targets.&#xD;
&#xD;
Personally, I would love to see at least the Teensy4.0 supported (with its 600 MHz Cortex-M7). This would allow me to quickly build and test some really high-speed control systems using the beautiful, high-level MicrocontrollerKit.&#xD;
&#xD;
Next, I would love to see support for some STMicroelectroncis boards. One of the most common families of chips I have seen and used in projects in the past couple of years has been the [STM32 lineup](https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html).&#xD;
&#xD;
Does anyone out there know what boards are planning on being added to the MicrocontrollerKit, or what the timeline for that looks like?&#xD;
&#xD;
Also, what microcontrollers are you excited to see added?&#xD;
&#xD;
*Edit: I just saw [this](https://community.wolfram.com/groups/-/m/t/1676375?p_p_auth=rAxtSq7h) from a year ago, but I am still curious on the progress made!*</description>
    <dc:creator>Alec Graves</dc:creator>
    <dc:date>2020-08-18T04:24:39Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/2060187">
    <title>Issue with MicrocontrollerKit for ArduinoMirco?</title>
    <link>https://community.wolfram.com/groups/-/m/t/2060187</link>
    <description>Hello, I am trying to learn ```&amp;#034;MicrocontrollerKit`&amp;#034;```, and I came across a strange issue with some example code. It appears that when using a specific target, &amp;#034;ArduinoMicro&amp;#034;, compilation always fails with an error, regardless of what model I am trying to compile (state space, transfer function, etc.).&#xD;
&#xD;
I am using Wolfram Desktop version 12.1.0 on Windows 10.&#xD;
&#xD;
The following is an example notebook that I have uploaded demonstrating compilation of a simple model failing for &amp;#034;ArduinoMicro&amp;#034; and succeeding for &amp;#034;ArduinoUno&amp;#034;:&#xD;
&#xD;
&amp;amp;[Wolfram Notebook][1]&#xD;
&#xD;
When I hover my mouse over the second circle (which is red - I guess indicating a compilation error) I see the following message:&#xD;
&#xD;
```&#xD;
avr-gcc.exe: fatal error: no input files&#xD;
&#xD;
&#xD;
compilation terminated.&#xD;
```&#xD;
&#xD;
I am able to view the generated code for the Arduino Micro, but nothing beyond that.&#xD;
&#xD;
I hope this can help diagnose the problem. If anyone out there has suggestions or has experienced a similar problem, feel free to leave a comment. Thanks!&#xD;
&#xD;
&#xD;
[1]: https://www.wolframcloud.com/obj/2353a9ad-090d-49ee-aa4e-5ab8f4cadf09</description>
    <dc:creator>Alec Graves</dc:creator>
    <dc:date>2020-08-18T03:52:03Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1992385">
    <title>Reading &amp;amp; Plotting Sensor Data from a Webpage Dynamically</title>
    <link>https://community.wolfram.com/groups/-/m/t/1992385</link>
    <description>I want to read in sensor data  (temperature) from a web page and plot it in real time. I tested this in the attached notebook. &#xD;
&#xD;
The sensor is on a WiFi board (ESP8266 12E). I coded the board to send the data to a webpage. I want to read in this data and plot it in real time. All the code works besides the function I used to plot below. &#xD;
&#xD;
    Dynamic[DateListPlot[data, Joined -&amp;gt; True], &#xD;
     SynchronousUpdating -&amp;gt; False]&#xD;
&#xD;
The notebook is attached</description>
    <dc:creator>Imran Gholizadeh</dc:creator>
    <dc:date>2020-06-01T20:17:40Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1943343">
    <title>Convert Arduino IDE into Mathematica?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1943343</link>
    <description>I just started with Arduino so I do not have a firm background. I want to convert the code into Mathematica and alter it as I see fit. I am programming a NomeMCU ESP8226 12E standalone web server. The code is up and running and I can access sensor readings on my phone, so I know it works.</description>
    <dc:creator>Imran Gholizadeh</dc:creator>
    <dc:date>2020-04-17T19:48:36Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1873580">
    <title>Connect Arduino Uno to Mathematica with USB connection Properly?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1873580</link>
    <description>Hi All,&#xD;
I have read numerous posts on how to make this connection on many forums and the inconsistency i&amp;#039;ve experienced has led me to post my problem. I am trying to connect Mathematica to my Arduino Uno through the USB port. I just want to read the Analog Pins as input on the Arduino and save the values in a list so that I could start plotting. I connect the device as &#xD;
&#xD;
    ardu = DeviceOpen[&amp;#034;Arduino&amp;#034;, &amp;#034;/dev/tty.usbmodem14101&amp;#034;]&#xD;
And Mathematica returns&#xD;
![enter image description here][1]&#xD;
I am not sure what all the red here means. Then I ask Mathematica the following&#xD;
&#xD;
    DeviceRead[ardu, &amp;#034;A0&amp;#034;]&#xD;
and Mathematica gives me &#xD;
![enter image description here][2]&#xD;
If I re-evaluate cells 1 and 2 respectively I get&#xD;
![enter image description here][3]  &#xD;
I am so troubled by this because Mathematica arbitrarily decides whether it will read pin &amp;#034;A0&amp;#034; or not.&#xD;
Sometimes it evaluates and other times it does not. Could anyone explain how to connect and read &amp;#034;A0&amp;#034; the correct way? The last time Mathematica allowed me to read &amp;#034;A0&amp;#034; I saved the file. Ive attached this file. I have also tried this with Windows 10 and am getting the exact same inconsistencies and have attached that as well. Any help would be much appreciated!! Thanks in advance.&#xD;
I am using Mathematica 12.0.0.0 on both MacOS and Windows 10.&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=1stexecution.png&amp;amp;userId=1873532&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=2ndexecution.png&amp;amp;userId=1873532&#xD;
  [3]: https://community.wolfram.com//c/portal/getImageAttachment?filename=Finalexecutions.png&amp;amp;userId=1873532</description>
    <dc:creator>David Siegel</dc:creator>
    <dc:date>2020-02-05T21:11:54Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/491285">
    <title>How to get the result of a multiplication between a matrix and a vector?</title>
    <link>https://community.wolfram.com/groups/-/m/t/491285</link>
    <description>I want to get the result of a multiplication between a matrix and a vector, basically I want to do a change of reference frame of a vector, so I cannot perform this operation in mathematica.&#xD;
&#xD;
    A = {{2, 4}, {2, 1}} // MatrixForm&#xD;
    C2 = {{6}, {5}} // MatrixForm&#xD;
    A.C2 (*This does not work*)&#xD;
&#xD;
I want to get something like this:&#xD;
&#xD;
    {{2, 4}, {2, 1}}.{{6}, {5}} // MatrixForm&#xD;
&#xD;
Actually I have something more complex, but this is enough to show my problem.&#xD;
&#xD;
Do you have any suggestion?</description>
    <dc:creator>Alberto de la Torre</dc:creator>
    <dc:date>2015-05-04T18:17:40Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1898868">
    <title>How do parallel kernel JLink object methods execute?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1898868</link>
    <description>I am trying to execute a sequence of timed Java method calls in a manner that does not block the Mathematica front end. To this end I have been trying to make these calls from a parallel kernel, as one might ParallelSubmit native Mathematica code. This has produced results I&amp;#039;ve found confusing. Side effects of the Java methods are observed only when those methods are directly returned to the front end, and these methods are blocking execution sequences, leaving code unevaluated until it is returned to the front end.&#xD;
&#xD;
I have constructed the following small example to demonstrate.&#xD;
&#xD;
    (* Set up a dedicated parallel submission kernel *)&#xD;
    CloseKernels[]; LaunchKernels[1]; &#xD;
    reservedKernel =  First@Parallel`Protected`$sortedkernels;&#xD;
    &#xD;
    (* Parallel install a java robot class *)&#xD;
    Parallel`Developer`Send[reservedKernel,&#xD;
      JLink`ReinstallJava[];&#xD;
      robotclass = JLink`JavaNew[&amp;#034;java.awt.Robot&amp;#034;];&#xD;
    ];&#xD;
    &#xD;
    (* Parallel submit a command sequence *)&#xD;
    Parallel`Developer`Send[reservedKernel, &#xD;
      Unevaluated[robotclass[mouseMove[100, 100]]; Pause[1];]&#xD;
    ];&#xD;
&#xD;
    (* Wait for the expected completion of the sequence *)&#xD;
    Pause[2];&#xD;
&#xD;
    (* Time the reception of the results back into the front end *)&#xD;
    AbsoluteTiming[Parallel`Developer`Receive[reservedKernel]]&#xD;
&#xD;
A naive (or perhaps optimistic) expectation of this code is that it will, at the submission of the parallel command sequence, immediately move the mouse to the {100,100} coordinate, and then Pause the parallel kernel for one second. As this second is overlapped by the Pause[2] executed in the front end, one would then expect the blocking Receive command to execute extremely quickly.&#xD;
&#xD;
What actually happens is the code executes with no effect on the mouse, and the submitted Pause instruction is not run until the front end receives it, causing the Receive call to take more than one second.&#xD;
&#xD;
I do not understand why this is the case. Any input would be very welcome, both in order to work out what is actually going on, and also to meet my aim of submitting unblocking sequences with immediate side effects.</description>
    <dc:creator>David Gathercole</dc:creator>
    <dc:date>2020-03-16T13:10:26Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1809357">
    <title>Perform Newton Euler iterative method for dynamics of an RP manipulator?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1809357</link>
    <description>I am trying to perform iterative newton Euler method for dynamics of an RP manipulator but having trouble in finding the value of vdot. Please help.&#xD;
&#xD;
&#xD;
  DOF = 2 ;&#xD;
                        &#xD;
    (*  D-H PARAMETERS AND JOINT TYPE (0-revolute,1-prismatic) *)&#xD;
    &#xD;
    \[Alpha][0] = 0 ;             a[0] = 0 ;	&#xD;
    d[1] = 0    ;        \[Theta][1] = Subscript[\[Theta], 1][t] ;   &#xD;
    jtype[1] = 0 ;&#xD;
    \[Alpha][1] = Pi/2 ;     a[1] = 0 ;	&#xD;
    d[2] = Subscript[d, 2][t] ;  \[Theta][2] = 0 ;            &#xD;
    jtype[2] = 1 ;&#xD;
    m[1] = Subscript[m, 1] ;&#xD;
    m[2] = Subscript[m, 2] ;&#xD;
    &#xD;
    inertia[1] = {{Subscript[I, xx1], 0, 0}, {0, Subscript[I, yy1], &#xD;
        0}, {0, 0, Subscript[I, zz1]}} ;&#xD;
    inertia[2] = {{Subscript[I, xx2], 0, 0}, {0, Subscript[I, yy2], &#xD;
        0}, {0, 0, Subscript[I, zz2]}} ;&#xD;
    &#xD;
    &#xD;
    pcm[1] = {{0}, {-Subscript[L, 1]}, {0}} ;&#xD;
    pcm[2] = {{0}, {0}, {0}} ;&#xD;
    gravity = {{-g}, {0}, {0}} ;&#xD;
    Print[&amp;#034;       Denavit-Hartenburg Parameters&amp;#034;] ;&#xD;
    Print[&amp;#034;Link i    \[Alpha][i-1]    a[i-1]      d[i]      \[Theta][i]   \&#xD;
       J-type[i]&amp;#034;] ;&#xD;
    Print[&amp;#034;-------------------------------------------------------------&amp;#034;]\&#xD;
     ;&#xD;
    For [ i = 1, i &amp;lt;= DOF, i++,&#xD;
          Print[&amp;#034;  &amp;#034;, i, &amp;#034;         &amp;#034;, \[Alpha][i - 1], &amp;#034;        &amp;#034;, &#xD;
       a[i - 1], &amp;#034;         &amp;#034;, d[i],&#xD;
             &amp;#034;       &amp;#034;, \[Theta][i], &amp;#034;         &amp;#034;, jtype[i]]&#xD;
          ] ;&#xD;
    &#xD;
    Print[&amp;#034;               Mass Parameters&amp;#034;] ;&#xD;
    Print[&amp;#034;Link          m          pcm            inertia&amp;#034;] ;&#xD;
    Print[&amp;#034;---------------------------------------------------&amp;#034;] ;&#xD;
    For [ i = 1, i &amp;lt;= DOF, i++,&#xD;
      Print[&amp;#034;  &amp;#034;, i, &amp;#034;          &amp;#034;, m[i], &amp;#034;          &amp;#034;, MatrixForm[pcm[i]],&#xD;
        &amp;#034;           &amp;#034;, MatrixForm[inertia[i]]]&#xD;
      ] ;&#xD;
    Print[&amp;#034;gravity = &amp;#034;, MatrixForm[gravity]] ;&#xD;
    For [ i = 1, i &amp;lt;= DOF, i++,&#xD;
           {R[i] = {{Cos[\[Theta][i]], -Sin[\[Theta][i]], 0},&#xD;
                       {Sin[\[Theta][i]]*Cos[\[Alpha][i - 1]],&#xD;
                         Cos[\[Theta][i]]*Cos[\[Alpha][i - 1]],&#xD;
                        -Sin[\[Alpha][i - 1]]},&#xD;
                       {Sin[\[Theta][i]]*Sin[\[Alpha][i - 1]],&#xD;
                         Cos[\[Theta][i]]*Sin[\[Alpha][i - 1]],&#xD;
                         Cos[\[Alpha][i - 1]]}} ,&#xD;
             p[i] = {{a[i - 1]},&#xD;
                       {-Sin[\[Alpha][i - 1]]*d[i]},&#xD;
                       {Cos[\[Alpha][i - 1]]*d[i]}}&#xD;
             }&#xD;
      ] ;&#xD;
    &#xD;
    For [ i = 1, i &amp;lt;= DOF, i++,&#xD;
            Print[&amp;#034;p[&amp;#034;, i, &amp;#034;] = &amp;#034;, MatrixForm[p[i]], &amp;#034;     R[&amp;#034;, i, &amp;#034;] = &amp;#034;,&#xD;
        MatrixForm[R[i]]] &#xD;
          ] ;&#xD;
    CrossP[x_, y_] := {{x[[2, 1]]*y[[3, 1]] - x[[3, 1]]*y[[2, 1]]},&#xD;
                           {x[[3, 1]]*y[[1, 1]] - x[[1, 1]]*y[[3, 1]]},&#xD;
          		         {x[[1, 1]]*y[[2, 1]] - x[[2, 1]]*y[[1, 1]]}} ;&#xD;
    		         &#xD;
    (*  DEFINE Z-VECTOR  *)          &#xD;
    zhat = {{0}, {0}, {1}} ;&#xD;
    \[Omega][0] = Table[0, {3}, {1}] ;&#xD;
    \[Omega]dot[0] = Table[0, {3}, {1}] ;&#xD;
    vdot[0] = - gravity ;&#xD;
    For [ i = 1, i &amp;lt;= DOF, i++,&#xD;
          {\[Omega][i] = &#xD;
       Transpose[R[i]].\[Omega][i - 1] + zhat*D[\[Theta][i], t]; &#xD;
            \[Omega]dot[i] = Transpose[R[i]].\[Omega]dot[i - 1]&#xD;
                            + zhat*D[\[Theta][i], {t, 2}]&#xD;
                            + CrossP[Transpose[R[i]].\[Omega][i - 1],&#xD;
                                     zhat*D[\[Theta][i], t]] };&#xD;
     vdot = Transpose[&#xD;
        R[i]].(CrossP[\[Omega]dot[i - 1], p[i]] + &#xD;
         CrossP[\[Omega][i - 1], CrossP[\[Omega][i - 1], p[i]]] + &#xD;
         vdot[i - 1])&#xD;
     ] &#xD;
    For [ i = 1, i &amp;lt;= DOF, i++,&#xD;
           {Print[&amp;#034;\[Omega][&amp;#034;, i, &amp;#034;] = &amp;#034;, MatrixForm[\[Omega][i]], &#xD;
         &amp;#034;     \[Omega]dot[&amp;#034;,&#xD;
                 i, &amp;#034;] = &amp;#034;, MatrixForm[\[Omega]dot[i]]] ,&#xD;
              &#xD;
        Print[&amp;#034;-------------------------------------------------------------------\&#xD;
    &amp;#034;] }&#xD;
       {Print[&amp;#034;vdot[&amp;#034;, i, &amp;#034;] = &amp;#034;, MatrixForm[vdot[i]]]&#xD;
               &#xD;
         Print[&amp;#034;-------------------------------------------------------------------\&#xD;
    &amp;#034;] }&#xD;
      ] ;</description>
    <dc:creator>Anshuman Singh</dc:creator>
    <dc:date>2019-10-18T21:04:53Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1805445">
    <title>How to save matrices from each iteration of i.?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1805445</link>
    <description>I am trying to get the transformation matrices from DH parameter table and would like to save each matrix (Ai) getting after each iteration of i. How can I do that?&#xD;
 &#xD;
&#xD;
&#xD;
    DH = {{0, T1, 0, 0}, {0, T2, L1, Pi/2}, {0, T3, L2, 0}, {0, 0, L3, 0}} &#xD;
    For[i = 1, i &amp;lt;= 4, i++, &#xD;
    A = {&#xD;
     {Cos[DH[[i, 2]]], -Sin[DH[[i, 2]]], 0, DH[[i, 3]]}, &#xD;
     {Sin[DH[[i, 2]]] Cos[DH[[i, 4]]], Cos[DH[[i, 2]]] Cos[DH[[i, 4]]], -Sin[&#xD;
      DH[[i, 4]]], -Sin[DH[[i, 4]]] DH[[i, 1]]}, &#xD;
     {Sin[DH[[i, 2]]] Sin[DH[[i, 4]]], Cos[DH[[i, 2]]] Sin[DH[[i, 4]]], Cos[DH[[i, 4]]], Cos[DH[[i, 4]]] DH[[i, 1]]}, &#xD;
     {0, 0, 0, 1}&#xD;
    }; &#xD;
    Print[&amp;#034;A = &amp;#034;, MatrixForm[A]];&#xD;
    ]</description>
    <dc:creator>Anshuman Singh</dc:creator>
    <dc:date>2019-10-11T18:02:13Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1721060">
    <title>Making a mouse with an Arduino Uno and a joystick component</title>
    <link>https://community.wolfram.com/groups/-/m/t/1721060</link>
    <description>Introduction&#xD;
-------&#xD;
&#xD;
Behold the Arduino:&#xD;
&#xD;
```&#xD;
WolframAlpha[&amp;#034;Arduino Uno&amp;#034;]&#xD;
```&#xD;
&#xD;
![enter image description here][1]&#xD;
An Arduino Uno is an incredibly useful tool, and has enormous applications in all physical computing, (in particular, making a joystick mouse). However, it has it&amp;#039;s limitations: for example, my friend, Nadav, told me that mouse and keyboard control are impossible without specific editions of the Arduino  - the Arduino Leonardo, to name one example. This is due to the Arduino software limitations: certain libraries are only available on certain boards. Nadav and his friend, Alastair, had tried to make a Morse Code keyboard before coming across this problem, and then I realised that using Mathematica could, once again, be a solution. As Mathematica alone cannot manipulate mouse movements, a Java Link must be used.&#xD;
&#xD;
Hence, the joystick mouse was born.&#xD;
&#xD;
![enter image description here][2]&#xD;
&#xD;
Furthermore, the mouse is a problem for many with mobility difficulties. As the mouse, compared to a joystick, requires large motions, it makes it near impossible to use for many. A joystick, however, is far more practical to use with small movements. This makes the joystick mouse significant: it solves a problem efficiently with basic technology.&#xD;
&#xD;
Components&#xD;
----------&#xD;
&#xD;
* An Arduino Uno, of course! You will also need a fire-wire to connect to the computer (although this normally comes with the Arduino). You can buy these from the [official site][3], (although you do not need the latest version, or necessarily with Bluetooth, or WiFi: any Arduino Uno will do. I have not yet experimented with other editions, but I suspect that they will be fine, although the code may need a little adjusting according to the pins used).&#xD;
&#xD;
* Male-to-female wires (these can be found in abundance on Amazon - my personal preference is eBoot).&#xD;
&#xD;
* The joystick. I would recommend for anyone interested in to physical programming, to buy the 37 sensor kit by [Elegoo][4]. This has been incredibly useful for many projects: they are pretty much every sensor you will ever need, and in particular, the joystick.  However,  &#xD;
[this will do the trick as well.][5]&#xD;
&#xD;
That&amp;#039;s all (oh, and something that runs Mathematica - that is very important)!&#xD;
&#xD;
Assembly&#xD;
----------------&#xD;
&#xD;
This diagram shows how to wire the device: &#xD;
![enter image description here][6]&#xD;
Thanks to [Brainy Bits][7] for this (although they did not, much to my disappointment, use a rainbow colour scheme). This then needs to be connected to the computer via the fire-wire&#xD;
&#xD;
The code&#xD;
---------------&#xD;
&#xD;
**Arduino**&#xD;
&#xD;
&#xD;
At last, I hear you cry! The code!&#xD;
&#xD;
Well, first we need to connect the Arduino:&#xD;
&#xD;
```&#xD;
arduino = DeviceOpen[&amp;#034;Arduino&amp;#034;, &amp;#034;COM6&amp;#034; (*this depends on the port you connect the Arduino with and the OS*)&#xD;
```&#xD;
(Note that this may have to be adjusted according to USB connection and operating system).&#xD;
&#xD;
Then, we test the Arduino pins:&#xD;
&#xD;
```&#xD;
Dynamic[DeviceRead[arduino, {{&amp;#034;A0&amp;#034;, &amp;#034;A1&amp;#034;}}]]&#xD;
```&#xD;
which then returns &#xD;
&#xD;
![enter image description here][8]&#xD;
&#xD;
as the joystick is moved.&#xD;
&#xD;
**Java Link**&#xD;
&#xD;
Now we need to create a Java Link to manipulate mouse movements:&#xD;
&#xD;
```&#xD;
Needs[&amp;#034;JLink`&amp;#034;]; ReinstallJava[]&#xD;
```&#xD;
Then we need to create a robot:&#xD;
&#xD;
```&#xD;
robot = JavaNew[&amp;#034;java.awt.Robot&amp;#034;]&#xD;
```&#xD;
This will be used to create our mouse movements. Just a quick test:&#xD;
&#xD;
```&#xD;
robotclass@mouseMove[#, 300] &amp;amp; /@ Range@1920;&#xD;
```&#xD;
This drags the mouse across the screen like so:&#xD;
![enter image description here][9]&#xD;
&#xD;
**The final line**&#xD;
&#xD;
Now, all we have to do is connect the two together: create a live method to manoeuver the mouse from input with the joystick. We will make use of the `MousePosition[]` command so:&#xD;
&#xD;
```&#xD;
speed = 10; (*The speed of the mouse*)&#xD;
While[True, pos = Round/@(MousePosition[&amp;#034;ScreenScaled&amp;#034;]*{1920, 1080}); (*Reads mouse coordinates relative to entire screen*)&#xD;
robot@mouseMove[pos[[1]]+Round[(QuantityMagnitude[DeviceRead[arduino, &amp;#034;A0&amp;#034;]] - 2.5)*speed],pos[[2]]+Round[(QuantityMagnitude[DeviceRead[arduino, &amp;#034;A1&amp;#034;]] - 2.5)*speed]]]&#xD;
```&#xD;
This then enables us to control the mouse from the joystick; and can be stopped by using the abort command (Alt + .). &#xD;
&#xD;
(see https://youtu.be/hhGnYsJjlK8 for a video of this in action)&#xD;
&#xD;
The list {1920, 1080} refers to the screen pixel resolution, and may need to be altered according to the computer screen size. &#xD;
As the Arduino outputs range from 0 to 5 volts, we have to centre about 0 by subtracting 2.5. Along with these, corrections must be applied to stop it from drifting across the age (taking -0.1 for x and y seems to work well). One problem is that, once the mouse is connected, it is impossible to control with another (more purpose-built) mouse without it jerking around. However, this is not necessarily a difficulty (as long as the mouse is of sufficient quality).&#xD;
&#xD;
Conclusion&#xD;
----------------&#xD;
&#xD;
Using an Arduino Uno and a Java Link, it is possible to convert a joystick into a mouse. Although it has flaws, this will be in continual development (e.g, to add a button to simulate clicks) to improve it.&#xD;
Turns out, it takes a long time writing an entire article with a joystick for a mouse.&#xD;
&#xD;
See [my GitHub page][10] for further updates.&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=result_1.PNG&amp;amp;userId=1719931&#xD;
  [2]: https://community.wolfram.com//c/portal/getImageAttachment?filename=IMG_2715.JPG&amp;amp;userId=1719931&#xD;
  [3]: https://store.arduino.cc/arduino-uno-rev3&#xD;
  [4]: https://www.elegoo.com/product/elegoo-upgraded-37-in-1-sensor-modules-kit-v2-0/&#xD;
  [5]: https://www.amazon.co.uk/Arduino-Compatible-Analogue-Joystick-Controller/dp/B00DB76XIM/ref=asc_df_B00DB76XIM/?tag=googshopuk-21&amp;amp;linkCode=df0&amp;amp;hvadid=214458080830&amp;amp;hvpos=1o4&amp;amp;hvnetw=g&amp;amp;hvrand=734489599921561932&amp;amp;hvpone=&amp;amp;hvptwo=&amp;amp;hvqmt=&amp;amp;hvdev=c&amp;amp;hvdvcmdl=&amp;amp;hvlocint=&amp;amp;hvlocphy=9046833&amp;amp;hvtargid=pla-423435130497&amp;amp;psc=1 &amp;#034;this&amp;#034;&#xD;
  [6]: https://community.wolfram.com//c/portal/getImageAttachment?filename=fritzing.png&amp;amp;userId=1719931&#xD;
  [7]: https://www.brainy-bits.com/arduino-joystick-tutorial/&#xD;
  [8]: https://community.wolfram.com//c/portal/getImageAttachment?filename=gif.gif&amp;amp;userId=1719931&#xD;
  [9]: https://community.wolfram.com//c/portal/getImageAttachment?filename=mouse_control_test.nb-Wolfram-Mathematica-11.2-04_07_2019-18_02_24.gif&amp;amp;userId=1719931&#xD;
  [10]: https://github.com/OrigamiDrag0n/joystick_mouse/</description>
    <dc:creator>Henry Jaspars</dc:creator>
    <dc:date>2019-07-05T06:27:29Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1552047">
    <title>Constrain inputs for the gain function of LQR Controller?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1552047</link>
    <description>Hi there, I&amp;#039;m working on a small project, whereby I&amp;#039;m controlling an inverted pendulum via Flywheel and a bldc motor.  &#xD;
&#xD;
I have a NonlinearStateSpacemodel with a single input u[t] and single output theta[t] (the angle of the pendulum body) . &#xD;
&#xD;
I have completely simulated the system, and created a control scheme that seems to work well, even made a nice little animation to visualize. &#xD;
&#xD;
![pendulum][1] (please excuse the framerate)&#xD;
&#xD;
Now comes to the point of programming my micrcontroller, and running/verifying the experiment. However, I&amp;#039;ve come to notice the control equation ends up producing a solution that can could calculate thousands of ampres...However the motor itself can only take 2...Is there a way within Mathematica and the control system to constrain inputs for the gain function directly using builtin functions? Or must this be done via a semi-smooth newtonian solver or something &amp;#034;hand made&amp;#034;&#xD;
&#xD;
I can gladly post code should a person want to play with my system, or more info is required.&#xD;
&#xD;
Thanks for the help!&#xD;
&#xD;
&#xD;
  [1]: https://community.wolfram.com//c/portal/getImageAttachment?filename=test.gif&amp;amp;userId=1222283</description>
    <dc:creator>Mor Bo</dc:creator>
    <dc:date>2018-11-15T22:46:50Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1335470">
    <title>Feed data from a robot such as servo input and get a robot model?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1335470</link>
    <description>Hello,&#xD;
I am new to Wolfram, so forgive dumb question. &#xD;
I am designing a robot and developing control app. Is it possible to have a robot model (while real robot is developing) in Wolfram to complete control functions? Basically, I want to know,&#xD;
1) How to feed data such as servo input, from an app to Wolfram (to keep it simple say app is a Python script)?&#xD;
2) How to get back results from Wolfram to the app?&#xD;
&#xD;
Thanks</description>
    <dc:creator>Shahriar Pezeshki</dc:creator>
    <dc:date>2018-05-10T01:49:12Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1278327">
    <title>Get two dimensional Newton-Raphson in inverse kinematics of a plane robot?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1278327</link>
    <description>Hello,&#xD;
&#xD;
I just started with Mathematica a week ago and tried to implement inverse kinematics of a plane robot. &#xD;
Dependent of the length x1 and x2 the position (f1,f2) is described. The idea is to calculate (x1,x2) which will reach given point Xps. The vector X12l saves the initial and later on the iterating lengths of beams x1 and x2.&#xD;
&#xD;
The trouble I have is that the loop is not working at all, and I am only getting weird therms.&#xD;
&#xD;
&#xD;
&#xD;
    Xps = {4, 3};&#xD;
    X12l = {3, 3};&#xD;
    a := 4;&#xD;
    i = 0;&#xD;
    f1[x1_, x2_] = x1 (a^2 + x1^2 - x2^2)/(2 a x1) ;&#xD;
    f2[x1_, x2_] = x1* Sqrt[1 - (((a^2 + x1^2 - x2^2)/(2 a x1))^2) ];&#xD;
    J[x1_, x2_] = ( {{D[f1[x1, x2], x1], D[f1[x1, x2], x2]},{D[f2[x1, x2], x1], D[f2[x1, x2], x2]} } )  // MatrixForm;&#xD;
    dx = N[Norm[Xps - {f1[X12l[[1]], X12l[[2]]], f2[X12l[[1]], X12l[[2]]]}], 5];&#xD;
    &#xD;
    While[dx &amp;gt; 0.1, &#xD;
     	X12l = Inverse[J[X12l[[1]], X12l[[2]]]].(Xps - {f1[X12l[[1]], X12l[[2]]], f2[X12l[[1]], X12l[[2]]]});&#xD;
     	dx = Norm[Xps - {f1[X12l[[1]], X12l[[2]]], f2[X12l[[1]], X12l[[2]]]}];&#xD;
     	i++;&#xD;
     ]&#xD;
    i&#xD;
    N[{f1[X12l[[1]], X12l[[2]]], f2[X12l[[1]], X12l[[2]]]}, 3]  (*Position of the TCP after dx&amp;lt;0.1*)&#xD;
    N[X12l, 3] (*the lengths needed to reach Xps*)&#xD;
&#xD;
![Hope this hepls][1]&#xD;
&#xD;
&#xD;
  [1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=948120180203_035328.jpg&amp;amp;userId=1278312</description>
    <dc:creator>Ivan L.</dc:creator>
    <dc:date>2018-02-03T03:12:25Z</dc:date>
  </item>
  <item rdf:about="https://community.wolfram.com/groups/-/m/t/1276016">
    <title>[?] Manipulate a dynamicly generated expression?</title>
    <link>https://community.wolfram.com/groups/-/m/t/1276016</link>
    <description>Hello&#xD;
I wrote some code to calculate and demonstrate robotic like vectors. My functions allow to add vectors and links (changes from coordinate systems from elements) .&#xD;
So I can define the System with Rotation Matrices and vectors and creates a list of Vectors, dependend the los current angeles of the rotations. &#xD;
&#xD;
    data = {};&#xD;
    angles = {};&#xD;
    &#xD;
    Move[vec_] := Module[{},&#xD;
      (*Move existing vectors to new Position*)&#xD;
      move[dat_] := {dat[[1]] + vec, dat[[2]] + vec };&#xD;
       For[i = 1, i &amp;lt;= Length[data], i++, data[[i]] = move[data[[i]]] ];&#xD;
      (*Print[&amp;#034;moved: &amp;#034;,data//MatrixForm];*)&#xD;
      ]&#xD;
    &#xD;
    AddVector[vec_] := AppendTo[data, {{0, 0, 0}, vec}];&#xD;
    AddLink[vec_, rot_, angle_] := Module[{},&#xD;
       AddRot[rot, angle];&#xD;
       Move[vec]; &#xD;
       AddVector[vec];&#xD;
       ];&#xD;
    AddRot[rot_, angle_] := Module[{},&#xD;
       AppendTo[angles, angle];&#xD;
       (*Print[data//MatrixForm];*)&#xD;
       AddVector[{0.1, 0, 0}];&#xD;
       AddVector[{0, 0.1, 0}];&#xD;
       AddVector[{0, 0, 0.1}];&#xD;
       (*Print[data//MatrixForm];*)&#xD;
       &#xD;
       (*Alle vektoren im K-System rotieren*)&#xD;
       (*Print[&amp;#034;Rotating Vectors&amp;#034;];*)&#xD;
       conv[dat_] := {rot[angle].(dat[[1]]), rot[angle].(dat[[2]]) };&#xD;
        For[i = 1, i &amp;lt;= Length[data], i++, data[[i]] = conv[data[[i]]] ];&#xD;
       (*Print[&amp;#034;rotated: &amp;#034;,data//MatrixForm];*)&#xD;
       &#xD;
       ];&#xD;
    &#xD;
    ShowAll[] := Module[{},&#xD;
      arrows = Arrow[data];&#xD;
      region = &#xD;
       Point[{{0, 0, 2}, {0, 0, -2}, {0, 2, 0}, {2, 0, 0}, {0, -2, &#xD;
          0}, {-2, 0, 0}}];&#xD;
      Print[Graphics3D[{arrows, region}, Axes -&amp;gt; True, ViewPoint -&amp;gt; Front]]&#xD;
      ]&#xD;
    &#xD;
    &#xD;
    Ri1[q1_] := ( {&#xD;
        {Cos[q1], 0, -Sin[q1]},&#xD;
        {0, 1, 0},&#xD;
        {Sin[q1], 0, Cos[q1]}&#xD;
       } );&#xD;
    &#xD;
    AddVector[{1, 0, 0}];&#xD;
    &#xD;
    AddLink[{1, 1, 1}, Ri1, x];&#xD;
    data // MatrixForm&#xD;
    ShowAll[];&#xD;
    &#xD;
Output:&#xD;
&#xD;
  ![Output][1]&#xD;
&#xD;
When I set x to a value, y can display the result en this form: &#xD;
&#xD;
![system][2]&#xD;
&#xD;
My problem is, that i dont know how to put the system to the Manipulate function. I tried something like this, but the amount of variables is not defined:&#xD;
&#xD;
    arrows = Arrow[data]&#xD;
    region = Point[{{0, 0, 2}, {0, 0, -2}, {0, 2, 0}, {2, 0, 0}, {0, -2, &#xD;
        0}, {-2, 0, 0}}]&#xD;
    (*parameter  = {Graphics3D[{arrows,region}, Axes -&amp;gt; True,ViewPoint\&#xD;
    \[Rule]Front],Axes -&amp;gt; True,ViewPoint\[Rule]Front};&#xD;
    For[i= 1,i&amp;lt;=Length[angles],i++,AppendTo[parameter,{angles[[i]],0,Pi}];\&#xD;
    *)&#xD;
     y = Dynamic[&#xD;
      Graphics3D[{arrows, region}, Axes -&amp;gt; True, ViewPoint -&amp;gt; Front]]&#xD;
    Manipulate[y, {x, 0, Pi}]&#xD;
&#xD;
Any Ideas how to Manipulate this?&#xD;
&#xD;
&#xD;
  [1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=1.JPG&amp;amp;userId=1275884&#xD;
  [2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=2.JPG&amp;amp;userId=1275884</description>
    <dc:creator>zare bozas</dc:creator>
    <dc:date>2018-01-31T21:39:12Z</dc:date>
  </item>
</rdf:RDF>

