Swedish competition projekt, (T.R.A.I.N)

1 Like

Are there any links for the project or descriptions as to how and what this was designed for in the competition?
Just thinking you might want to add a little more in your first post, as I haven’t heard of this swedish competition.

We are working on a robot for a new competition in Sweden called SweArc. Here is a link to the rules: http://www.technox.se/swearc_rules_2016.pdf

We have less than one month left before everything has to be finished, and a lot of work left to do…

The mechanical construction is mostly done, and will start installing the electronics this week. We are planning to use a kinect and a lidar from a neato for perception and a fairly modern laptop with an nvidia 850M and i5 processor running indigo.

My plan is to try to get the navigation and people-stack working as soon as possible since theese should be useful for solving some of the tasks.

I am fairly new to ROS so I would greatly appreciate suggestions for packages and stacks that could be useful for solving the subtasks listed in the pdf linked above :slight_smile:

There have not really been any good Swedish robot-competitions, so a friend of mine is trying to get one started :slight_smile: It is sort of a trial-run…

We made some videos of the construction work if anyone is interested:



And we made a mini-plattform to try and figure out how to control the sevos and wheels for the semi-holonomic base.

1 Like

I tried looking at the base controller of the pr2 for controlling the wheel angles and motor speeds form the twist message, but could not quite figure it out at that time so I wrote my own…

Not really sure how to calculate the odometry form wheel encoders and servo-angles taking the rotation into account somehow… My current thinking is to use an mpu9250 for absolute angle, subtract the rotational component from each wheel and take an avrage of all the wheels remaining x and y components. Not sure if that would work or if I’m explaining it well engouh though… :stuck_out_tongue:

Suggestions are welcome :slight_smile:

Actually, each velocity component (vx, vy, vtheta) contributes to the measured wheel velocity in a linear fashion (given a fixed wheel orientation). You can formulate this problem as A * v = b, where v is the robot velocity (vx, vy, vtheta) and b are the wheel velocity measurements. Since the problem is usually over-constrained, you have to use SVD or similar methods to obtain a least square solution.

Hope that helps. Nice robot!

Thanks ^^

Not sure that I understand what you mean though. The problem I am trying to solve is mapping back the measured wheel rotational velocities and angles of the weels (which are not fixed right?) to the base_link frame in terms of vx, vy and vtheta and figuring out some sort of least square sulotion that wold account for slippage and similar things. Can you use tf for this somehow? What am I missing?

You don’t have the wheel position in relation to base_link as part of A * v = b right? Would you not need that information to calculate vtheta for base_link?

This information would be part of the A matrix. For example, the 3rd column (corresponding to vtheta) contains the 2D distance of the wheel from base_link, since vtheta * distance / wheel_diameter is the wheel velocity generated by vtheta. The other columns contain sin/cos terms depending on the wheel orientation. Just think about the influence of the single vx, vy and vtheta values on wheel velocity.

With “fixed orientation” I meant “you know the orientation”, sorry.

1 Like

Hi, just a side note since this thread is regarding robot competition in Sweden. There are a couple of others as well. We’ve been attending the RobotSM (www.robotsm.se) in Göteborg, and Robot Championship (robotchampion.se) in Stockholm for the past few years. Both are very popular, and has a lot of visitors and participants.