I'm trying to use USARsim(UT3) and MOAST to develop a simulation of a snake-like robot (the robot is an expansion of the robot created by Dr Boyle shown in this video http://www.bbc.co.uk/news/uk-england-leeds-14123555.
I therefore need to create a new robot model in order to be able to simulate it however I can't find any information on how to do this, I am on quite a short deadline (5 weeks left). The only thing I have found is https://sourceforge.net/apps/mediawiki/usarsim/index.php?title=Creating_a_Human_for_USARSim however this is for UT2004 not UT3, is it a similar method? (if so a small update on the wiki might be useful to help others) if not is there a better tutorial located somewhere else?
on a related note I will probably also need to create a sensor, again the only tutorial I have found is for UT2004 https://sourceforge.net/apps/mediawiki/usarsim/index.php?title=Advanced_User_b (as a side note advanced user B and advanced user A seem to be showing the same page).
See below for what documentation there is, however the documentation is not great in this area. It would be great if you were willing to update the document as you go. In addition, I would highly recommend using the UDK version of USARSim since we are not supporting the UT3 version.
For a brief introduction on how to create a robot, see https://sourceforge.net/apps/mediawiki/usarsim/index.php?title=Tutorials_-_Getting_Started.
If I remember correctly, there was a snake robot in the UT2004 version that never made it to UT3 or UDK. See http://usarsim.cvs.sourceforge.net/viewvc/usarsim/usarsim/USARBot/Classes/Soryu.uc?view=log for more information.
In terms of sensors, what kind of sensor are you speaking of? The easiest way to create a new sensor is to expand on an existing one (it there is one that is close).
Please also note that we would love for you to contribute your creations back to the community. If you would like developer access to the code or wiki, please let me know.
I would be perfectly willing once I know what I am doing to update the documentation. I will also try using the UDK version of USARsim.
I will look through those links, so thanks for them.
The sensor that I would need would need to mimic the effects of a pizoelectric strip, i.e it would need to be able to measure the angle between the different segments of the robot. if you are aware of a good starting point or even if this is possible then please let me know.
One of the nice things about simulation is that you have perfect ground truth. Therefore you can know the exact angle between any two parts. You would need to know the noise model of the actual pizo strip in order to mimic it accurately. I would look at the encoder as an example of such a sensor.
I'm having a bit of an issue creating the robot, I have created a file called CElegans.uc and placed it in Development->Src->USARBot->Classes->
The code with in is as follows:
class CElegans extends SkidSteeredVehicle config(USAR);
// Create Front body part
Begin Object Class=Part Name=Frontbody
// Front Right Wheel
Begin Object Class=Part Name=FRWheel
// Front Left Wheel
Begin Object Class=Part Name=FLWheel
Begin Object Class=WheelJoint Name=FRWheelRoll
Begin Object Class=WheelJoint Name=FLWheelRoll
I have also created a package called CElegans_static which contains the static meshes referred to in the code. I created the CElegans.uc script by copying the P3AT.uc script and editing it in notepad++. When I try to call the robot and place it in the world I get the error "can't find the class named USARbot.CElegans" I'm sure that I must have missed some step in creating the class but I'm not sure what, do you have any suggestions?
You may have missed some steps like adding the Sensors and Actuators.
If you have already added the Meshes (.upk files), I suggest you add your robot in UDKGame/Config/UDKUsar.ini file, which is the config file used for simulation in usarsim in order to make the sensors available for your robot (assuming that everything your robot needs are already defined in UsarSensor and UsarActuator).
But all these are not related to the error "can't find the class named USARbot.CElegans", because even without mentioning the robot in the config file, you should be able to load the robot without any sensors attached.
Are you sure you've rebuilt Usarsim after you made the changes to UsarBot/Classes?
I'm not sure if I have rebuilt it, how would I go about rebuilding it?
run the batch files make OR make_clean to recompile the modified project.
Hi thanks for the advice, I have now got the first section of the robot(with wheels and sensors) working! :) I'm now in the last 48 hours or so that I have to finish this project off and the only real problem I have left is figuring out how to develop a flexible link between the different sections of the robot (the robot is made up of 12 "cylinders")
Would you have any advice at all as to how to accomplish this?
Thanks alot and once this project is over I would be more than willing to help update the documentation with regards to developing a new robot, if you would still like me to.
I am not an expert on robot development, but I would suggest that you look at the robotic arm code to develop your flexible links. It seems like the link between your sections could be modeled by one or more rotary joints.
Adding the documentation would be great!