Items tagged with robot robot Tagged Items Feed

My desk was covered with papers, a glass of water, and a big shipping container. Even though my chair was there, I was sitting on the floor with my laptop, having a bad hair day, and a robot was seated next to me.  This was a typical day at Maplesoft for an engineering co-op student.

For this project, at the request of my manager, I left my duties as Spanish translator and marketing assistant and I started to work with the robot NAO from Aldebaran Robotics. The purpose of this project was to program NAO using Aldebaran’s Choreographe software to make new movements and dances that I would later use to create new MapleSim models for Maplesoft’s Model Gallery. Maplesoft’s marketing team would then use these models in some of their promotional activities.

Given that NAO was going to travel to Taiwan in a short period of time, I wanted to focus on doing one elaborate dance and a couple of simple movements.Thanks to F.U.N. lab from the University of Notre Dame, I was able to focus on the detailed dance because they had an amazing Choreographe database of behaviour/movement code.   

I started this project with zero knowledge about Choreographe, but with a good understanding of NAO´s MapleSim model that the Maplesoft engineers had previously created. After a few weeks with NAO and some YouTube tutorials, I discovered that programming NAO was really easy. I would move NAO’s joints to the positions I wanted to, and then I would tap its head to record and save them. I did this for a couple of weeks making sure that the sequence of movements wouldn’t make NAO fall or break a finger. At this point I was already a NAO expert.

After finishing up all the movements and dances it was time to move on to the next phase of the project: obtaining the data for the MapleSim model. The MapleSim model was created using the Denavit-Hartenber (DH) convention; therefore, I needed the values of the degrees of rotation of each joint while the robot performed a dance. These numbers were easily obtained using the “record” button in Choreographe and exporting them into a CSV file. This file was later attached to the MapleSim model, so it could be used in a time look up table. The input of NAO´s joints were then specified by using the values within this table.

I started by recording the simplest movements: NAO blowing kisses and doing the sprinkler. These were the best ones to start working on because in these examples, the robot only needs to move its upper body, meaning that the lower body didn’t need any flexibility. This gave me and Abtin Athari, Application Engineer at Maplesoft, the freedom to simplify the original model by removing unnecessary degrees of freedom on the lower body. Abtin and I also realized that at the beginning of some of the new movements the robot would have too much torque, so we extended some of the recorded position of the rotational joints so the robot could stay in the same position for a longer time. These modifications ensured that the model wouldn´t have any problems during any of the simulations.

To finish the project, I worked with the Marketing team to create some videos where we could display the real robot next to the MapleSim model doing the same movements. The purpose of these videos was to showcase the essence of the high-fidelity models that MapleSim allowed us to create. It was amazing to see how the MapleSim model corresponded so closely to the physical robot.

After three weeks of intense work and meetings, my days as a robot whisperer ended. I learned new things about robots, how to build models with MapleSim, and the processes behind developing videos. It was a project that allowed me to wear both an engineer’s and a marketer’s shoes.  I was able to put into practice my technical knowledge and problem solving skills; and at the same time I was able to enhance my creative and analytical skills by evaluating the quality and impact of my work.


I was trying to find the solution for two theta variables in a couple of simultaneous equations (infact this is an iverse kinematics problem for a two link system pendulum).
The following are the initial inputs/equations to be manipulated:

Then I use the folowing command to rearrange for the theta values which I am after:

which gives me the result:

This is all fine until I give in values for l1, l2, x and y:


I have a RootOf in there with a _Z term poping up here and there. I know that this configuration of the two link mechanism in fact dows have a solution and that these numbers are reasonable. Thus I have three questions:

Why does this happen?
What does the "signum" mean here?
how do I go about getting the nummerical values?

Many thanks,
- pjf


I trying to simulate a force sensor on robot arm, but every time I try something, I get nothing from my sensor, can you help me?


Here it's my "design":


Also, if I add a rigid body I get this error:




On Monday, August 6 at 1:31 a.m. EDT, NASA will attempt the landing of a new planetary rover, named Curiosity, on the surface of Mars.  The Mars Science Laboratory project is managed by the NASA Jet Propulsion Laboratory (JPL) in Pasadena, California, a world-renowned center for robotic space exploration and advanced science and engineering.  JPL recently began a widespread adoption of Maplesoft technology, and Maplesoft’s products are expected to help JPL save...

Dr. Gilbert Lai is a mentor for the FIRST Robotics team SWAT 771. He is helping an all girls team from grades 7-12 design a basketball-shooting robot for this year’s annual FIRST Robotics Competition. Dr. Lai is using MapleSim and Maple to help the team understand the principles involved and design their robot. This blog post is part of a series that chronicles the progress of the team.  Posts in the series include:

  • Part 1 - 

I am building a robot arm,now I want to replace the rigid arm with the flexible arm. How can I control the arm's form?

This week I decided to do some research and find out the details of how to make model animations with MapleSim, by adding in CAD drawing files of the component parts. To see what I mean, take a look at this quick animated movie that shows a robot arm with five degrees of freedom:

Page 1 of 1