<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/12481" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2018-11-06T04:53:49+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/12481</id>

		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2018-11-06T04:53:49+00:00</updated>

		<published>2018-11-06T04:53:49+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41564#p41564</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41564#p41564"/>
		<title type="html"><![CDATA[Re: Joint_spherical]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41564#p41564"><![CDATA[
The spherical joint is not exposed yet in PyBullet, we haven't had a robot using them. Also we don't have a motor for the spherical joint yet.<br><br>If we would expose the spherical joint, how would you actuate it?<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Tue Nov 06, 2018 4:53 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[VedantFNO]]></name></author>
		<updated>2018-11-05T21:31:25+00:00</updated>

		<published>2018-11-05T21:31:25+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41563#p41563</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41563#p41563"/>
		<title type="html"><![CDATA[Joint_spherical]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=41563#p41563"><![CDATA[
New to Pybullet.<br><br>I am trying to make a Satellite model with solar panels that have spherical joints between them. I use the createemultibody function for this. Currently I have revolute joints between each panel, but I want to replace each revolute joint with a spherical. What would be the best way of doing this?<br><br>Current Code:<br><br><span style="font-size:85%;line-height:116%"></span><div class="codebox"><p>Code: </p><pre><code>import pybullet as pimport timeimport numpy as np    p.connect(p.GUI)p.createCollisionShape(p.GEOM_PLANE)p.createMultiBody(0,0)#Sat part shapesSat_body = p.createCollisionShape(p.GEOM_BOX,halfExtents=[2.0  , 2.3, 3.0])Panel_right = p.createCollisionShape(p.GEOM_BOX,halfExtents=[2, 0.2, 3])Panel_left = p.createCollisionShape(p.GEOM_BOX,halfExtents=[2, 0.2, 3])#The with other shapes linked to itbody_Mass = 500visualShapeId = -1link_Masses=[10, 10, 10, 10]linkCollisionShapeIndices=[Panel_right, Panel_right, Panel_left, Panel_left]nlnk=len(link_Masses)linkVisualShapeIndices=[-1]*nlnk    #=[-1,-1,-1, ... , -1]#link positions wrt the link they are attached toBasePositionR_body = [4.2,0,0]BasePositionR_panel = [4.2,0,0]BasePositionL_body = [-4.2,0,0]BasePositionL_panel = [-4.2,0,0]linkPositions=[BasePositionR_body, BasePositionR_panel, BasePositionL_body, BasePositionL_panel,]linkOrientations=[[0,0,0,1]]*nlnklinkInertialFramePositions=[[0,0,0]]*nlnk#linkInertialFramePositions = [BasePositionR_body, BasePositionR_body+BasePositionR_panel, BasePositionL_body, BasePositionL_body+BasePositionL_panel,]print(linkInertialFramePositions)#Note the orientations are given in quaternions (4 params). There are function to convert of Euler angles and backlinkInertialFrameOrientations=[[0,0,0,1]]*nlnk#indices determine for each link which other link it is attached to# for example 3rd index = 2 means that the front left knee jjoint is attached to the front left hipindices=[0, 1, 0, 3]#Most joint are revolving. The prismatic joints are kept fixed for nowjointTypes=[p.JOINT_REVOLUTE, p.JOINT_REVOLUTE, p.JOINT_REVOLUTE, p.JOINT_REVOLUTE]# JOINT_SPHERICAL,JOINT_REVOLUTE#revolution axis for each revolving jointaxis=[[0,0,1], [0,0,1], [0,0,1], [0,0,1]]#Drop the body in the scene at the following body coordinatesbasePosition = [0,0,0]baseOrientation = [0,0,0,1]#Main function that creates the dogsat = p.createMultiBody(body_Mass,Sat_body,visualShapeId,basePosition,baseOrientation,                        linkMasses=link_Masses,                        linkCollisionShapeIndices=linkCollisionShapeIndices,                        linkVisualShapeIndices=linkVisualShapeIndices,                        linkPositions=linkPositions,                        linkOrientations=linkOrientations,                        linkInertialFramePositions=linkInertialFramePositions,                        linkInertialFrameOrientations=linkInertialFrameOrientations,                        linkParentIndices=indices,                        linkJointTypes=jointTypes,                        linkJointAxis=axis)##Add earth like gravityp.setGravity(0,0,0)</code></pre></div>[/size]<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=13076">VedantFNO</a> — Mon Nov 05, 2018 9:31 pm</p><hr />
]]></content>
	</entry>
	</feed>
