Dorian Tsai

Hello! I'm Dorian, a PhD Researcher with the Australian Centre for Robotic Vision researching computational imaging and light field cameras for more robust robotic vision with transparent objects.
Location Brisbane, Australia
Activity
-
Dorian Tsai replied to Simon Whitehead
Hi @SimonWhitehead I have not used the Arduino support package myself, but I have heard great things about it. Let us know how it goes!
-
Dorian Tsai replied to Walter Mills
Glad to hear it @WalterMills !
-
Dorian Tsai replied to Walter Mills
Hi @WalterMills for running matlab on pi, you can't run Matlab's desktop version on a pi, but you can interact with the pi through Matlab, and you can use Matlab Coder (which probably isn't included in this course's Matlab license) to run your algorithm on the pi as an application.
https://au.mathworks.com/hardware-support/raspberry-pi-matlab.html
Re:...
-
Dorian Tsai replied to Mark Williams
HI @MarkWilliams, I agree that Matlab is a giant install. Try going through the install process for Matlab of this course, and see if you can get an activation code or license file. If so, you probably don't need to re-download. Otherwise, you might have to do a full re-install for the latest version of Matlab.
-
Dorian Tsai replied to Rainaire Hansford
Hi @RainaireHansford , as mentioned below, these are functions that you'll need to code yourself, as they are specific to your robot. For an explanation on the forward and inverse kinematics, and how to do them for your robot, check out the Move a Robot arm course, Peter's textbook, wiki, or any other robot arm info source. Hope that goes well. Cheers!
-
Dorian Tsai replied to SACHIN GUPTA
H i @SACHINGUPTA these are functions that you'll need to code yourself, as they are specific to your robot. For an explanation on the forward and inverse kinematics, and how to do them for your robot, check out the Move a Robot arm course, Peter's textbook, wiki, or any other robot arm info source. Hope that goes well. Cheers!
-
Dorian Tsai replied to Raul Villaseca
Looking pretty cool @RaulVillaseca ! How close are you to putting the marker on the end effector and drawing paths with it?
-
Dorian Tsai replied to Matthew Matin
Hi @MatthewMatin be sure to read some of the comments below. One of the keys to getting smooth operation out of the arm is reducing the friction of the pencil/pen on the paper. Counter balance works well. Soft pencil/marker might also work well, especially if you put a clear plastic sheet on top of your worksheet. This way you can wipe the excess marks away...
-
Dorian Tsai replied to Matthew Matin
@MatthewMatin Glad to hear! It's all about trying to remove possible sources of error as you work on/debug a system. As a general approach, it's often useful and instructive to try and build the most basic thing from the ground up, and then add on fancy features, rather than aiming for the most complex design from the get-go. Instead, start with a simple...
-
Dorian Tsai replied to Lancelot Allison
Welcome @LancelotAllison enjoy the course and feel free to ask away as you progress!
-
Dorian Tsai replied to Matthew Matin
@MatthewMatin Liam's working with the NXT because that was this course and these videos were developed back around 2012. EV3 is the next generation of LEGO Mindstorms products, and definitely the preferred hardware for this course, as it has the most support from many other platforms. If you continue to have trouble with the NXT, I would definitely go for...
-
Dorian Tsai replied to Raul Villaseca
Hi @RaulVillaseca it's always a struggle to get the hardware talking with the software. All of us roboticists know the struggle. :)
-
Hi @SimonWhitehead to manage acceleration and deceleration, check out trapezoidal motion profiles. There's a variety of youtube videos that show how to set this things up. As for getting them to work together, can arduino send signals to both motors at the same time? I think it can.
https://blog.smartelectronics.ca/triangular-speed-trajectory-calculations/
-
Dorian Tsai replied to Sujan Pandey
What hardware are you working with/trying to get to move through Matlab? There are a variety of software packages and step-by-step instructions available on many sites on t he internet/Youtube that can show you how to get the Lego Mindstorms NXT/EV3 motors moving.
-
Dorian Tsai replied to Sujan Pandey
Hi @SujanPandey this Futurelearn course uses/provides the most recent version, which is MATLAB 2019b.
-
Dorian Tsai replied to Andres Corredor
Hi @AndresCorredor the intent is for you to write your own code that would control the robot in a correct path to accomplish the task. You can then test the algorithm using the arm simulator that we've provided to make sure that the code works/your theoretical understanding of the problem is correct *before* trying to get the whole thing working in hardware.
-
Dorian Tsai replied to Matthew Matin
Hi Matt, just replied to your email. With respect to the error verLessThan(arg1,arg2), it does sound like there are compatibility issues. verLessThan(arg1,arg2) is a function in MATLAB that returns true if the version of the specified toolbox (arg1) is older than the required version specified in the string (arg2). Either you are missing the Control Systems...
-
Dorian Tsai replied to Aditya.kumar jha
Hi @Aditya.kumarjha If you're just trying to learn Matlab, consider going to the source, which is mathworks.com. They have an e-learning academy as well:
-
Dorian Tsai replied to Lavish K
Hi @LavishK I'm not certain the Matlab course on Futurelearn is still active; however, if you're just trying to learn Matlab, consider going to the source, which is mathworks.com. They have an e-learning academy as well:
-
Dorian Tsai replied to Colin Lythall
An alternative might be to reduce the friction of the writing utensil by giving it wheels or ball-bearings. Consider creating a "rig" that fastens to the pen/pencil , but can easily roll about on a flate plane in any direction (eg, omni-directional wheels or ball-bearings). Such a rig would also stabilize the manipulator a bit more, since a single point of...
-
@EricPoole No worries. It's easy to lose track of all the comments and responses.
-
Great to hear! Hope you learned a lot from the course and the other people interested in robotics :)
-
Hi @LalaGadimovaLalaGadimova glad you had a good experience with the feedback and your peers. :)
-
Dorian Tsai replied to Larissa Deck
Incidentally, moving slow is a nice way to simplify the robot control problem because you can often ignore a lot of the dynamics of the system. They should be pretty negligible for the low-mass robot systems that most people are developing in this course, but for the big heavy industrial robots, inertia and dynamics must be weighed against the...
-
Dorian Tsai replied to Walter Mills
And you will learn much more, while embracing open-source. :)
-
Dorian Tsai replied to Basit Jacob
Hi @BasitJacob it looks like the imread function cannot find the bra_worksheet.png.
This can occur for a number of reasons, but the most likely are:
1) the file does not exist on your computer
2) the code cannot find the file (it has an incorrect file path)
3) the filepath has the correct folder names, but possibly the wrong folder separator (eg "/" in... -
Dorian Tsai replied to Walter Mills
@WalterMills Awesome. I love how you are recycling old devices that still have good parts!
-
Dorian Tsai replied to Colin Lythall
Feel free to let us know if there are still other errors with the app. Cheers!
-
Dorian Tsai replied to Colin Lythall
Hi @ChrisGarrard @ColinLythall we're working with Peter to patch the app, but for now here's what you need to do to make the app work on MATLAB 2019b:
1) Open up MATLAB 2019b and try to run the simulator. You get an error "Error in SerialLink/plot>create_robot (line 467)
d = norm( d(4:6)-d(1:3) ) / 72;". You should also be able to click on the "plot" file... -
Dorian Tsai replied to Sujan Pandey
Hi @SujanPandey I believe the Matlab scripts are available back in 1.7
https://www.futurelearn.com/courses/build-a-robot-arm/6/steps/570360
-
Hi @MiguelMartinez what is the reason for building a 3DOF robot for the task? Does the robot need 3DOF?
-
Dorian Tsai replied to Alan Clark
Hi @AlanClark if the base is not sturdy enough, any thoughts on how you might improve it and make it more rigid, or perhaps balance the weight a bit better?
-
Dorian Tsai replied to Larissa Deck
Hi @LarissaDeck the wires might get in the way. I recommend using tape , velcro wire organisers, or quick ties to secure the wires to the arm.
-
Dorian Tsai replied to Larissa Deck
Hi @LarissaDeck just wondering, what's the motivation for using a planetary gear?
Also, the rack and pinion look pretty good. Hope the print turns out well! -
Dorian Tsai replied to Raul Villaseca
Hi @RaulVillaseca it matters for precision, but for the given task, the motors should be sufficiently accurate. Ultimately, it depends on how accurate you want to be. To be more accurate, you would need to account for these effects. You could model these effects and predict what they would be. Or you could have an independent sensor/measurement device (to...
-
Dorian Tsai replied to Larissa Deck
@LarissaDeck lego is awesome, until you discover 3D printing. Then it's like you can make your own LEGO!
-
Dorian Tsai replied to Chris Garrard
@ChrisGarrard how will you make the arm linkages (ie, the structural components) of the arm?
-
Dorian Tsai replied to Chris Garrard
Looks pretty cool @ChrisGarrard ! Will you mount the arm onto your mobile robot platform?
-
Dorian Tsai replied to Larissa Deck
Awesome progress so far @LarissaDeck . Time is definitely one of the world's most precious resources. I'm glad to hear you are spending some of it exploring the area of robotics! It also sounds like you're on the right path. Happy tinkering!
-
Dorian Tsai replied to Larissa Deck
Hi @LarissaDeck inaccurate gears/joints are a real-world challenge for robots. It often helps to have an independent method of measuring joint angles if your mechanics are slightly unreliable. This gets into the concept of feedback control. If you can measure your joint angles independently, you can move your robot a bit (still generally in the correct...
-
Dorian Tsai replied to Patrick cavan
Awesome. Welcome to the course Patrick!
-
Dorian Tsai replied to Walter Mills
Hi @WalterMills what kind of motors are you controlling and how are you controlling them? You can often control the speed of motors based on what voltage/PWM frequency you send the motors without needing a reduction drive/gears. This may simplify your design.
-
Dorian Tsai replied to Walter Mills
Hi @WalterMills it's interesting to see how you have related the robot arm to the relative motions of the human body. From a theoretical point, if we consider motion on a plane (as we are for this exercise), a rotating waist joint and a shoulder joint are both revolute joints. Similarly, a bending elbow joint and a wrist joint are simply revolute joints. So...
-
Dorian Tsai replied to Walter Mills
@AlanClark that's a common situation. Python is an interpretted language (higher-level); whereas, C/C++ is compiled for machine hardware. Thus, C/C++ can run much faster. We still often use C++ when we want robots to run fast. :)
-
Dorian Tsai replied to Larissa Deck
Sounds good. I'm keen to see how the robot turns out! :D
-
Dorian Tsai replied to Simon Whitehead
@AlanClark the MG996R servos come in a 360deg and 180deg versions. So achieving 180deg rotation with the servos shouldn't be a problem. If you are having trouble getting the full rotation when controlling the motor through the Arduino, what units do you need to use to communicate with your specific servo motor?
-
Dorian Tsai replied to Colin Lythall
Hi @ColinLythall sounds like a pretty well thought setup. Small motors should suffice for this project. Just bear in mind that the joint resolution of the stepper motors will ultimately affect how fine/coarse your trajectory will be for the robot end effector. Also consider how to attach your pencil/pen/marker, and how to add or subtract mass from the tip to...
-
Dorian Tsai replied to Walter Mills
Hi @WalterMills sounds good. If you have any questions, feel free to post them along the course and we'll do our best to answer them. Cheers!
-
Dorian Tsai replied to Chunduru Bharath
Hi @ChunduruBharath some important considerations would be:
- make sure that your microcontroller has sufficient input/output pins for controlling the actuators and reading from the sensors.
- what kind of sensors will you be using? Some actuators have built-in feedback sensors in them.
- what coding platform and microcontroller will you be using? Certain... -
Dorian Tsai replied to Mushfika Anjum
Hi @MushfikaAnjum yes, we go through the steps needed to access the Matlab robot arm simulator in section 1.7
https://www.futurelearn.com/courses/build-a-robot-arm/6/steps/570361
-
Dorian Tsai replied to Federica Spadazzi
Hi @FedericaSpadazzi if you have any specific questions, feel free to directly message one of the mentors (Obadiah, Edward, or myself). Brandon Armstrong is also available to answer questions related to Matlab. The key is to have specific questions prepared so that we can answer them. An alternative is to simply learn Matlab directly from the Matlab academy,...
-
Dorian Tsai replied to Walter Mills
Hi folks, there's also Octave, which is an open-source Matlab. I'm not sure what the support is for Raspbian, but if it's open-source, it probably plays very well with Linux and thus Raspbian. Cheers!
-
Dorian Tsai replied to Larissa Deck
Hi @LarissaDeck it should be possible. So long as you can control a few motor positions (ie, robot arm joints), any device can work. The Arduino Leonardo has 7 PWM outputs. You'll likely only need at least 2 to control 2 servo motors. Of course, you're free to build a more advanced robot arm. In this course, we're just covering one of the simplest arms. As...
-
Dorian Tsai replied to Larissa Deck
Hi @LarissaDeck I've never encountered gcode, but from a quick look on Wiki, my guess is that gcode is more of a framework/programming language for the CNC manipulators and 3D printers. Underneath the framework, you still need to have the theory/math in place. In this course and the related courses on Robotics, we are focusing on the theory and math, and...
-
Dorian Tsai replied to KOLAWOLE AKEREDOLU
Welcome back @KOLAWOLEAKEREDOLU
-
Dorian Tsai replied to Manuela Raso
Hi @ManuelaRaso welcome to the course, this should be a good compliment to your background then. Feel free to ask questions as you go along. Either the mentors or other course-mates will respond to your posts. Cheers!
-
Dorian Tsai replied to Chris Garrard
Hi @ChrisGarrard welcome to the course! Sounds pretty exciting!
-
Dorian Tsai replied to Eric Poole
Hi @EricPoole well put. It will also be interesting to see how both genetic algorithms and machine learning (more specifically deep learning) will play a role in robot design and automation. I suspect it will be quite significant.
Regarding your last point on robot perception, it reminds me of Roy Batty's speech from Blade Runner. :) I do agree! Thanks for...
-
Dorian Tsai replied to Guus Löhlefink
Hi @GuusLöhlefink well put!
-
Dorian Tsai replied to Guus Löhlefink
Many surgery robots need to have tiny/minimally-invasive manipulators. In these cases, there's simply no space for large actuators, so a lot of it is still made with cables. I think at QUT, there's also some fairly novel snake robots being proposed for surgical purposes that rely on cables. :)
-
Hi @EricPoole what is your expression for calculating q1? What error are you receiving?
Here's part of the MATLAB solution for q1:
P = mtraj(@tpoly, pA, pB, 50);
x = squeeze(P(:,1)); y = squeeze(P(:,2));
q2 = sqrt(x.^2 + y.^2 - (a1+a2)^2);
q1 = -atan2(x, y) + atan2(q2, a1 + a2);
qtraj = [q1 q2];You should be able to tell whether or not your q1...
-
Dorian Tsai replied to Jarrod McCarthy
Hi @JarrodMcCarthy good question. It's very similar to the process we did in 2D last week. q1.. qn are joint variables - they move. a1, an are fixed link lengths - they do not move. a1 ...an will always be the same, regardless of our arm's orientation, so we do not constantly need to update them. q1...qn on the otherhand - they define the position and...
-
Dorian Tsai replied to Shreyas Agrawal
Hi @ShreyasAgrawal good question. It's all a question of what frame of reference we are in -- a question of relativity. Without any of the math, let's consider a robot facing forwards and looking at you, 2 meters away. You are not facing the robot. In your frame of reference, or from your perspective, the robot is to your left 2 meters. If you tell the robot...
-
Hi @DaxRosales analytically, we want to follow the same steps we made a few steps ago (see link below). We're simply combining the rotational and prismatic equations now. There are equations for rotational links, and equations for translational links. Since our system is linear, we can simply multiple each of these equations in sequence, providing us with a...
-
Hi @GuusLöhlefink you are correct in the max and min workspace. The arm's workspace (the area where its end-effector can reach) is described by a ring. The point of the exercise is to figure out the kinematics: given a Cartesian coordinate, tell me the joint angles required by the manipulator to get to that spot.