Line following BubbleRob tutorial dont work

Typically: "How do I... ", "How can I... " questions
Post Reply
lyl
Posts: 8
Joined: 15 Sep 2021, 07:40

Line following BubbleRob tutorial dont work

Post by lyl »

I followed the user's manual to the Line Following BubbleRob tutorial, but one of the things I made was spinning backwards in place for some reason!The code uses the official website——https://www.coppeliarobotics.com/helpFiles/index.html[img]C:\Users\风继续吹\Desktop\Line following BubbleRob tutorial [/img]

coppelia
Site Admin
Posts: 8888
Joined: 14 Dec 2012, 00:25

Re: Line following BubbleRob tutorial dont work

Post by coppelia »

That's correct, but the tutorial scene should contain the working script. Here again for info (that's for CoppeliaSim V4.2.0):

Code: Select all

function sysCall_init()
    bubbleRobBase=sim.getObjectHandle(sim.handle_self)
    leftMotor=sim.getObjectHandle("bubbleRob_leftMotor")
    rightMotor=sim.getObjectHandle("bubbleRob_rightMotor")
    noseSensor=sim.getObjectHandle("bubbleRob_sensingNose")
    minMaxSpeed={50*math.pi/180,300*math.pi/180}
    backUntilTime=-1 -- Tells whether bubbleRob is in forward or backward mode
    floorSensorHandles={-1,-1,-1}
    floorSensorHandles[1]=sim.getObjectHandle("bubbleRob_leftSensor")
    floorSensorHandles[2]=sim.getObjectHandle("bubbleRob_middleSensor")
    floorSensorHandles[3]=sim.getObjectHandle("bubbleRob_rightSensor")
    robotTrace=sim.addDrawingObject(sim.drawing_linestrip+sim.drawing_cyclic,2,0,-1,200,{1,1,0},nil,nil,{1,1,0})
    -- Create the custom UI:
    xml = '<ui title="'..sim.getObjectName(bubbleRobBase)..' speed" closeable="false" resizeable="false" activate="false">'..[[
                <hslider minimum="0" maximum="100" on-change="speedChange_callback" id="1"/>
            <label text="" style="* {margin-left: 300px;}"/>
        </ui>
        ]]
    ui=simUI.create(xml)
    speed=(minMaxSpeed[1]+minMaxSpeed[2])*0.5
    simUI.setSliderValue(ui,1,100*(speed-minMaxSpeed[1])/(minMaxSpeed[2]-minMaxSpeed[1]))
    
end

function sysCall_sensing()
    local p=sim.getObjectPosition(bubbleRobBase,-1)
    sim.addDrawingObjectItem(robotTrace,p)
end 

function speedChange_callback(ui,id,newVal)
    speed=minMaxSpeed[1]+(minMaxSpeed[2]-minMaxSpeed[1])*newVal/100
end

function sysCall_actuation() 
    result=sim.readProximitySensor(noseSensor)
    if (result>0) then backUntilTime=sim.getSimulationTime()+4 end
    
    -- read the line detection sensors:
    sensorReading={false,false,false}
    for i=1,3,1 do
        result,data=sim.readVisionSensor(floorSensorHandles[i])
        if (result>=0) then
            sensorReading[i]=(data[11]<0.5) -- data[11] is the average of intensity of the image
        end
    end
    
    -- compute left and right velocities to follow the detected line:
    rightV=speed
    leftV=speed
    if sensorReading[1] then
        leftV=0.03*speed
    end
    if sensorReading[3] then
        rightV=0.03*speed
    end
    if sensorReading[1] and sensorReading[3] then
        backUntilTime=sim.getSimulationTime()+2
    end
    
    if (backUntilTime<sim.getSimulationTime()) then
        -- When in forward mode, we simply move forward at the desired speed
        sim.setJointTargetVelocity(leftMotor,leftV)
        sim.setJointTargetVelocity(rightMotor,rightV)
    else
        -- When in backward mode, we simply backup in a curve at reduced speed
        sim.setJointTargetVelocity(leftMotor,-speed/2)
        sim.setJointTargetVelocity(rightMotor,-speed/8)
    end
end 

function sysCall_cleanup() 
    simUI.destroy(ui)
end 
Cheers

lyl
Posts: 8
Joined: 15 Sep 2021, 07:40

Re: Line following BubbleRob tutorial dont work

Post by lyl »

I tried putting your code into bubbleRob's Child script, but the results didn't change and my three visual sensors were black all the time as if they couldn't pick up the line![img]C:\Users\风继续吹\Desktop[/img]

coppelia
Site Admin
Posts: 8888
Joined: 14 Dec 2012, 00:25

Re: Line following BubbleRob tutorial dont work

Post by coppelia »

So which version of CoppeliaSim are you running? And what platform?
Is there any error message?

lyl
Posts: 8
Joined: 15 Sep 2021, 07:40

Re: Line following BubbleRob tutorial dont work

Post by lyl »

coppelia wrote:
16 Sep 2021, 09:05
So which version of CoppeliaSim are you running? And what platform?
Is there any error message?
version 4.2.0,. Just inside coopeliasim with the embedded script inside run, no error message.

coppelia
Site Admin
Posts: 8888
Joined: 14 Dec 2012, 00:25

Re: Line following BubbleRob tutorial dont work

Post by coppelia »

Please post your scene. Something must be wrong.

Cheers

lyl
Posts: 8
Joined: 15 Sep 2021, 07:40

Re: Line following BubbleRob tutorial dont work

Post by lyl »

soory!I have not inserted the picture, I wonder if you can see it, if not, please tell me!

Image

coppelia
Site Admin
Posts: 8888
Joined: 14 Dec 2012, 00:25

Re: Line following BubbleRob tutorial dont work

Post by coppelia »

You need to post the scene file, not the picture, if you want us to have a look at it!

Cheers

lyl
Posts: 8
Joined: 15 Sep 2021, 07:40

Re: Line following BubbleRob tutorial dont work

Post by lyl »

Can I transfer files in this forum? How does it work?

fferri
Posts: 815
Joined: 09 Sep 2013, 19:28

Re: Line following BubbleRob tutorial dont work

Post by fferri »

Use any file sharing service that allows you sharing a public link, e.g. Google Drive, Dropbox, OneDrive, etc...

Post Reply