Add Kuka arm to Pioneer

Hi!

Is there an easy way to attach a kukaLBR3 to a pioneer base to build up a mobile manipulator?
I tried several ways but the arm doesn't move with the pioneer.

[172 byte] By [MikeR.] at [2008-1-8]
# 1
There's no easy way to make the kuka arm a child entity of another entity in the May CTP. We're working on fixing this right now though!
Stanlo at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...
# 2
Hi there!

I just wanna ask if its now possible (1.5 final) to add a kuka arm on a pioneer?

I tried to do it analog to inserting sensors to Pioneer but it doesnt work. The arm stays fixed at its initial position.

PS: How can I use codeHighligting in this circumstantial edito?

Code Snippet

Pioneer3DX _robotBaseEntity;

void AddPioneer3DXRobot(Vector3 position)
{
_robotBaseEntity = CreateMotorBase(ref position);

SimulationEngine.GlobalInstancePort.Insert(_robotBaseEntity);

}

private Pioneer3DX CreateMotorBase(ref Vector3 position)
{
// use supplied entity that creates a motor base
// with 2 active wheels and one caster
Pioneer3DX robotBaseEntity = new Pioneer3DX(position);

// specify mesh.
robotBaseEntity.State.Assets.Mesh = "Pioneer3dx.bos";
// specify color if no mesh is specified.
robotBaseEntity.ChassisShape.State.DiffuseColor = new Vector4(0.8f, 0.25f, 0.25f, 1.0f);

// the name below must match manifest
robotBaseEntity.State.Name = "P3DXMotorBase";

// Start simulated arcos motor service
drive.Contract.CreateService(ConstructorPort,

Microsoft.Robotics.Simulation.Partners.CreateEntityPartner(
"http://localhost/" + robotBaseEntity.State.Name)

);
return robotBaseEntity;
}

arm.ArticulatedArmState _cachedArmState;
KukaLBR3Entity armEntity;

IEnumerator<ITask> AddArticulatedArm()
{
Vector3 position = new Vector3(0, 1.25f, 1);
// Create an instance of our custom arm entity.
// Source code for this entity can be found under
// Samples\Simulation\Entities\Entities.cs
armEntity = new KukaLBR3Entity(position);

// Name the entity
armEntity.State.Name = "LBR3Arm";

// Insert entity in simulation.
//SimulationEngine.GlobalInstancePort.Insert(armEntity);
_robotBaseEntity.InsertEntity(armEntity);

// create simulated arm service
DsspResponsePort<CreateResponse> resultPort = CreateService(

Microsoft.Robotics.Services.Simulation.LBR3Arm.Proxy.Contract.Identifier,
Microsoft.Robotics.Simulation.Partners.CreateEntityPartner("http://localhost/" + armEntity.State.Name));


// asynchronously handle service creation result.
yield return Arbiter.Choice(resultPort,
delegate(CreateResponse rsp)
{
_armServicePort = ServiceForwarder<arm.ArticulatedArmOperations>(rsp.Service);
},
delegate(Fault fault)
{
LogError(fault);
});

if (_armServicePort == null)
yield break;

// we re-issue the get until we get a response with a fully initialized state
do
{
yield return Arbiter.Receive(false, TimeoutPort(1000), delegate(DateTime signal) { });

yield return Arbiter.Choice(

_armServicePort.Get(new GetRequestType()),
delegate(arm.ArticulatedArmState state)
{

_cachedArmState = state;
},

delegate(Fault f)
{
LogError(f);
});

// exit on error
if (_cachedArmState == null)
yield break;
} while (_cachedArmState.Joints == null);
}

MikeR. at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...
# 3

Mike, did you figure this out?

I'm interested in doing the same thing.


Erik

ErikOppedijk at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...
# 4
Hi Erik
I guessed that the problem was due to the kinematic = true entry for the armbase entity.
I copied the code and set it false, but still the arm is fixed at its point (even when I spawn it one meter uppon the ground where it usually should fall down).
I cannot figure out why this arm is fixed at its position.
In the editor, everything seems to be correct and the arm is displayed as child of the Pioneer.

greets

Mike

MikeR. at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...
# 5
No one has a solution?
MikeR. at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...
# 6

Check out the new Kuka Educational Framework, in here is the source code (and a lot of examples of the Kuka arm) for placing this on a robot

Erik

ErikOppedijk at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...
# 7

Hi, i'm wandering how to do something similar.

I need to attach a Lynxmotion SES arm to an iRobot Create base. Me and my team have already done a 3D model that we added to an scenario, the base with the arm and everything moves around the world, the problem that we have is that the upper part of the robot acts as a "ghost"(i mean, if the "head" hits a table or something, it doesn't move the table as it should, but it crosses the table like a ghost). In addition, of course, we also need to move the arm and we haven't been able to do it.

We belive that a solution could be editing the iRobot Create entity that comes in the file C:\Microsoft Robotics Studio (1.5)\samples\simulation\Entities\Entities.cs, but we aren't quite sure about that theory.

Could somebody tell me his opinion? Are we wasting our time going that way or it seems something workable?

All suggestions or opinions are welcome

Thank you very much

Majandy at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...
# 8
Great thanks!
Thats it!
MikeR. at 2007-10-2 > top of Msdn Tech,Microsoft Robotics Studio,Microsoft Robotics - Simulation...

Microsoft Robotics Studio

Site Classified