27

Compare the following two images: The path planning is somewhat trivial. There's only one path: the rope. The motion planning on the other hand is not that easy. In a maze the path planning is hard and motion planning is easy: Of course both planning tasks can be easy or hard at the same time or anything in between. They are linked to one another in that ...


10

Holonomic is a precise mathematical term; one definition is velocity constraints can be integrated into the form $$\begin{align} f(q1,q2,...,t) = 0. \end{align}$$ Roughly, that means the controllable degrees of freedom at any instant matches the total degrees of freedom for the robot. By this definition, a train is holonomic b/c it has one controllable ...


9

The math involved for controlling a holonomic robot is really not too bad. It is basically just high-school trigonometry and knowing how to set up the problem. First, lets start with the joystick. I think the easiest way to deal with joysticks is to convert it's cartesian $(x,y)$ readings into polar $(r,\phi)$ coordinates. This will allow us to control ...


8

Did you say dirt? May I recommend a Roomba? It has wheels and tracks. A cat wouldn't be able to flip it over. It already knows how to move randomly around a room, turning at walls. It already makes sounds and has some LEDs. You should be able to hack how they behave. Some cats like Roombas. Others are highly indifferent to them. Bonus: it can pick up ...


7

I think you misunderstand what a landmark is. It is a generic, catch-all term for anything that a robot can recognize and use as part of a map. In particular, "landmarks" are important for feature-based SLAM algorithms, such as EKF-based slam. What you use for "landmarks" depends on what sensors are available to the robot. In your case, since you haven't ...


7

Robots with two opposing wheels and usually a castor wheel for balancing reasons (no motor attached) are called Differential Drive Robots.


7

Yes. As @hauptmech mentioned, you can use your forward kinematics to get the center of mass of each link in the base frame. Then you can simply compute the weighted average of the masses and positions to get the overall center of mass. In other words: $$ M = \sum_{i=0}^n m_i $$ $$ \mathbf{P}_i^0 = pos( \mathbf{T}_i^0(\mathbf{q}) \mathbf{T}_{i_m}^i) $$ $...


7

If you have some budget for your project, both Maxon and Faulhaber have good DC motors and motor-gearhead combinations. Maxon publishes a nice set of formulas and background theory on electric motors. When it comes to getting the maximum performance out of motors, thermal issues are the main factor. One starts asking questions like: What's the actual duty ...


7

A robot swarm is defined by its behaviour, rather than the number of robots it contains. Swarm robots: "... are coordinated in a distributed and decentralised way" [Iñaki Navarro and Fernando Matía: An Introduction to Swarm Robotics, 2012] The key feature of swarm behaviour is self-organisation, i.e. the emergence of a global, complex pattern of ...


6

Here are a few possible points of consideration. Certainly the UKF has many counterpoints where it has an advantage too. The most obvious advantage is computation power. Don't forget that traditionally, these filters are implemented on embedded systems with very limited computational resources. Also, while I don't have much experience with UKFs myself, one ...


6

Stereo vision and SLAM are pretty heavy algorithms, both in terms of the processing power and RAM required. You can forget about running this on a little microcontroller like an Arduino. These run at tens of MHz, and have only a few KB RAM. At the very least you'll need something running at hundreds of MHz with hundreds of MBs of RAM. You didn't say exactly ...


6

Assuming that you keep the payload in the bin or near the top of the robot, 9 kg is a safe amount of max payload weight on a flat floor. Create doesn't dynamically balance, so having the weight in both a statically and a dynamically stable location is important. We've also provided files for printing a bin with a caster, in the case that you find your robot ...


6

What's the difference between turn-by-turn GPS and driving a car? GPS is path planning: high-level commands like, "turn right in 1 mile." Driving is motion planning, which means following a route established by path planning while at the same time taking care of the minutia: interfacing with the car, staying in lane, watching for pedestrians, obeying ...


6

The main difference between accelerometer and gyroscope vs magnetometer is that first two give only relative information - you may calculate heading relative to your starting position, but you won't have any idea how this heading relates to world directions. What's more, as both gyroscope and accelerometer give you only accelerations values, calculation of ...


6

There are lots of ways to solve this problem, which falls into the category of Control Engineering. There are two standard approaches: Classical Control: The control command has to be proportional to a linear combination of the error, the rate of change of the error, and the integral over time of the error, a.k.a. a PID controller. This approach ...


6

20kg is a mass. It makes a force on Earth (20*9.81 = 196N), but that's not a torque. Motors make torque - what is your maximum torque specification? Once you know how much torque you need (that will be based on the load, gearbox, wheel/pulley diameter, friction and other losses, etc.) then you can ballpark feasibility by evaluating your required torque ...


6

That's not obvious. If I'm in a tank, going 0.5 km/h, I don't need to slow down at all. If I'm in a bobsled going 100km/h and the track banks, I don't need to slow down at all. When you steer, you begin to move around a circle with a particular radius of curvature. This means you also begin to experience centrifugal force. $$ F_c = mv^2/r $$ where $F_c$ ...


6

There are now some sub and around ~1000USD 3D Lidars available. I wanted to provide an answer for future reference if anyone else comes looking for "cheap" Lidars. LeddarTech M16 ~500 USD on Ebay Range: 110 m FOV: 19x3.0 degrees (up to 8.0 degrees depending on model, with 30 m range at that FoV) Refresh rate: 6.25 Hz https://store.leddartech.com/ ...


6

I think you are getting confused between the basic ROS possibilities and some more advanced libraries which are integrated but do not need to be used by users without 'advanced' requirements. If you find it too difficult most likely those are functionalities which are not necessary for your project. That being said, ROS is a middleware that makes the glue ...


6

I realize this question already has an accepted answer, but I'd like to provide some additional input. The question of sensor fusion is a good one, but, depending on the application, you don't typically want to "convert" (i.e., integrate twice) the IMU to obtain xyz position. Frankly, in my experience, the best way to approach fusing GPS and IMU data for a ...


6

what you are looking for is written in the paper. Position refers only to x,y,z translational measurements while pose means position and orientation.


5

Monte Carlo localization is just another name for a particle filter. Monte Carlo methods are a broader name for computational algorithms that rely on random sampling. A particle filter is a specific application of the general Monte Carlo method for localization, and so it is simply referred to sometimes as Monte Carlo localization. If you ask Lord Google, ...


5

The short answer is, frustratingly, "it depends". Nearly every established language can be used to program one robot platform or another. In my short career as a roboticist I have already used Python, Java and C++ to program different robots. There are even tools to program the Lego NXT in Ada, would you believe that? So whatever programming language you ...


5

Looks like wikipedia calls it Active Four-Wheel Steering. Although, what you're talking about is the left and right side steering opposite of each, whereas Active Four-Wheel Steering in automobile usually refers to the front and rear steering opposite of each other, I still think your case can still be considered Active Four-Wheel Steering the way it is ...


5

You haven't define what's the limit of your budget. However, for cheap programmable robots you can use: the DFRobot 2WD Mobile Platform and interface it with an Arduino Uno. You can also use a Pololu 3pi Robot or even a PICAXE Microbot which is already equiped with a front bumper Look a this for more kits: 47 Programmable Robotic Kits


5

Honestly it depends what you want, I will cover some options from cheapest to most expensive Ultrasonic sensor on a servo 5-50$ depending on the model. It can be fairly accurate with around 1cm accurcy and 255 steps on a full circle, but it can have poor performance in dusty environments and can have poor results with curved items. Ir distance sensor, 10-...


5

Ball detection using vision is not extremely difficult, especially if the ball is easy to recognize. There are a lot of tutorials and blogs which give a detailed explanation on how to implement an algorithm to solve this problem: Raspberry Pi Ball tracking Using OpenCV on the Beagleboard to track an Aibo pink ball OpenCV Tutorial C++ - Color Detection & ...


5

A system is (marginally) stable if all of the poles are (equal to or) less than zero. In general, the poles of a system determine whether a system is stable or not, and the zeros of a system determine the approach to stability (rise time, settling time, overshoot, etc.) A PID controller operates with no system model taken into account. A PID controller ...


5

I did a little step-by-step tutorial with images, but if my other answer regarding aligning frames didn't work well for you, or the definition of "Front Plane" or "Top Plane" is confusing in Solidworks (spoiler: it is), then consider making your own axes. From the assembly tab, go to reference geometry -> axis, then select the assembly planes to make an ...


5

if you aren't moving, the accelerometer will give you the direction of gravity. if you are moving and hoping to use this orientation data for control you'll need to incorporate at least one more sensor. The extra sensor is needed because you have no method separating the acceleration of gravity and the acceleration of the sensor. The other drawback is that ...


Only top voted, non community-wiki answers of a minimum length are eligible