Page 1 of 1

How to move a robot using regular API?

Posted: 29 Jun 2020, 14:22
by suri
Hallo Admin,


I need to move the robot using regular API(currently using sim.setObjectPosition, if any other options is there kindly let me know). When I tried to set the position of robot during simulation on, robot breaks apart.

Code: Select all

RoboHandle = sim.getObjectHandle("kira_b50")
sim.setObjectPosition(RoboHandle,-1,{1,1,0})

When I use the above code, robot breaks apart. I tested the same code for KUKA YouBot robot, same thing happened.

How can I move my robot using regular API without breaking it?

I went through design consideration for dynamic simulation. I didn't find any error in the robot design(which are critical ).

https://www.coppeliarobotics.com/helpFi ... ations.htm.

Kindly have a look into my robot design consideration and breaking of robot when moving using regular API.


https://drive.google.com/file/d/1s4zgrv ... sp=sharing

https://drive.google.com/file/d/1ZZxv3I ... sp=sharing

Currently kira_b50 is a base model. I set the robot_base(convex shape) as a model, it works without ros velocity command, but not with ros velocity command.

I need to make base_ref(dummy) as a base of model and also I need to move the robot using setObjectPosition without breaking robot.

Hope for a hint or suggestion.

Thanks in advance.

Re: How to move a robot using regular API?

Posted: 30 Jun 2020, 14:18
by coppelia
Hello,

if your robot is dynamically enabled, i.e. has a mass, will fall, etc., then you can't instantaneously change its position. It would be like teleportation in real life. You need to drive to robot towards the position you wish, via a controller that actuates the wheels of the robot.
Of course, if you need to reset your robot, that's another story, but I guess that's not what you want to do.

Cheers

Re: How to move a robot using regular API?

Posted: 01 Jul 2020, 06:51
by suri
Hello Admin,

If you don't mind, may I know another way as you mentioned in your last comment?
Of course, if you need to reset your robot, that's another story, but I guess that's not what you want to do.
Thanks in advance

Re: How to move a robot using regular API?

Posted: 03 Jul 2020, 12:21
by coppelia
Edit in May 2021:
--------------------
See also how to reset/teleport a dynamic model in CoppeliaSim V4.2.0+: in scenes/teleportDynamicModel.ttt), or here (requires CoppeliaSim V4.2.0).
--------------------

Have a look at this thread, that explains how to instentaneously move a dynamically enabled model.

Cheers